[mapserver-dev] AGG dependency

Thomas Bonfort thomas.bonfort at camptocamp.com
Sat Apr 25 06:32:06 EDT 2009


I've committed the changes in https://svn.osgeo.org/mapserver/sandbox/aggfork

* remove dependency on external agg library
* agg support is added by default unless disabled with --with-agg=no
* imported the agg 2.4 source directory, and patched it to be in the
mapserver:: namespace
* patched mapagg.cpp and mapagg.h do use the correct headers and the
mapserver:: namespace

the win32 build will have be updated to compile and link the .cpp/.o
files in renderers/agg/src

a quick test on my system shows no problem (aside from some configure
quirks, you have to add --enable-freetype, but I'll fix that soon),
and I can now load the python mapscript module without a hiccup.

Please test if you can, I'll commit this to the trunk around the end
of next week if no problems arise until then.

best regards,

thomas

On Fri, Apr 24, 2009 at 5:41 PM, Howard Butler <hobu.inc at gmail.com> wrote:
> I am also generally supportive of this because of the user and maintenance
> headaches, but I would caution that a concern of mine is the MapScript side
> of the fence.  For example, matplotlib is a Python library that uses AGG
> underneath.  When we had GD in the mix, a problem was our clashing with
> PHP's internal GD.  Since AGG is fancy C++ :), I'm wondering if it would be
> possible to put our fork of the AGG under a namespace to prevent symbol
> clashes.
>
>
> On Apr 24, 2009, at 8:53 AM, Yewondwossen Assefa wrote:
>
>> For windows build, we have a mscv makefile which I believe is not part of
>> the agg project. We are using it as part of the ms4w/osgeo4w build process.
>> If we go ahead with this, I can commit that makefile.
>> Overall, I don't see any problems for people building on windows so I am
>>  +1
>>
>> Assefa
>>
>> Thomas Bonfort wrote:
>>>
>>> Devs,
>>> I foresee this might by stirring a can of worms given the precedent
>>> with the GD library, but I would like to propose that we stop relying
>>> on an external agg library, and pull in our own subset of agg in the
>>> mapserver source tree:
>>> * most of the agg code is templated, which means that the agg external
>>> library actually only contains a tiny subset of what we're using
>>> anyways.
>>> * building agg is a pain for our users (Makefile needs to be patched
>>> (adding -fPIC and building a shared library), and some distro's
>>> package are just plain broken (rhel notably). This is my primary
>>> motivation for the modification.
>>> * the design intent of the library was to be directly included in
>>> project trees rather than being built as a library
>>> * the agg project is to the least not very lively. It has been taken
>>> over by the community, but for the time being this has limited itself
>>> to having a large list of commiters but no actual coding going on. As
>>> such I do not see it evolving in a near future.
>>> * there would be no change in the mapserver code, only Makefile
>>> modifications.
>>> If we decide to go down this route, I volunteer to maintain the
>>> imported code and the corresponding Makefiles.
>>> so:
>>> - can the mapscript maintainers speak up if this can be disruptive ?
>>> - bring on the flames :)
>>> best regards,
>>> thomas
>>
>>
>> --
>> ----------------------------------------------------------------
>> Assefa Yewondwossen
>> Software Analyst
>>
>> Email: assefa at dmsolutions.ca
>> http://www.dmsolutions.ca/
>>
>> Phone: (613) 565-5056 (ext 14)
>> Fax:   (613) 565-0925
>> ----------------------------------------------------------------
>>
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>



-- 
www.camptocamp.com
+33 4 79 26 57 97


More information about the mapserver-dev mailing list