MapServer / MapServer-import

3 stars 2 forks source link

Mapserver compilation flags should be added to the SWIG command line #1881

Open tbonfort opened 12 years ago

tbonfort commented 12 years ago

Reporter: szekerest Date: 2006/08/26 - 21:49

Currently most of the SWIG bindings does not add mapserver compilation flags to the 
SWIG command line and therefore the interface might not be generated properly.
For example missing -DUSE_POINT_Z_M will prevent from generating z amd m members
for pointObj.

For the Win32 builds $(MS_DEFS), for the others $(FLAGS) should be added.
tbonfort commented 12 years ago

Author: szekerest Date: 2006/08/26 - 21:50


Fixed for the C# makefiles.
tbonfort commented 12 years ago

Author: dmorissette Date: 2006/08/28 - 17:17

Does something need to be done for this for the other wrappers? There used to be
a 'mapscriptvars' file with all the compile flags used by the Perl wrappers. Is
this not used by the other bindings?
tbonfort commented 12 years ago

Author: szekerest Date: 2006/08/31 - 10:58

Daniel,

Are the other bindings use the mapscriptvars file to set the compilation flag
for SWIG during the interface generation?
tbonfort commented 12 years ago

Author: dmorissette Date: 2006/08/31 - 19:08

After writing comment #2, I read on the -dev list that a design decision was
made a while ago by Sean (then the MapScript maintainer) to not use the compile
flags in the generation of the SWIG interfaces, making usage of the
mapscriptvars for this purpose irrelevant. FYI PHP doesn't use mapscriptvars, it
uses the configure vars described in bug 1884 comment #1. 

That's all the information I have and I will leave it up to you and the other
MapScript devs (Steve and Umberto?) to decide what to do on that front.
tbonfort commented 12 years ago

Author: hobu Date: 2007/08/07 - 23:54 We need to address this in 5.2 I got killed on #2205 because of it.

tbonfort commented 12 years ago

Author: sdlime Date: 2008/05/26 - 16:37 Does anyone have an outline of the necessary fix?

Steve

tbonfort commented 12 years ago

Author: dmorissette Date: 2008/07/07 - 23:27 FWIW, PHP MapScript's mapscript/php3/Makefile.in uses the following:

MS_DEFINE = @ALL_ENABLED@
MS_INC =    @MS_INC@ @ALL_INC@
MS_STATIC = @ALL_STATIC_LIB@
MS_LIBS =   $(RUNPATHS) @MS_LIB@ @ALL_LIB@ @XTRALIBS@ $(MS_STATIC)

The @ALL_ENABLED@, @ALL_INC@ and @ALL_LIB@ are compiled by the configure.in script and contain all the flags for all compiled options. @ALLENABLED@ contains all the -DUSE* flags, @ALL_INC@ all the -I include paths, and @ALL_LIB@ all the libs to link with.

You could possibly do the same with the SWIG MapScript makefile... I see that the mapscript/csharp/Makefile.in chose to explicitly set each option instead (which means more maintenance as new options are added)... dunno about the other SWIG languages.

tbonfort commented 12 years ago

Author: sdlime Date: 2008/07/07 - 23:57 Each language owner will have to take a look at this. I'll do so for Perl. I know the Perl Makefile.PL leverages mapscriptvars. It could instead use 'mapserver-config' which has everything we'd need.

Does the C# makefile run the swig interface generator (e.g. swig -perl5 ...)?

Steve

tbonfort commented 12 years ago

Author: dmorissette Date: 2008/07/08 - 17:33 I had forgotten that we now have a mapserver-config ... sounds like the best way to go.

tbonfort commented 12 years ago

Author: sdlime Date: 2008/07/09 - 05:36 I don't think changing build processes at this late date make sense though so moving this to 5.4...

Steve

tbonfort commented 12 years ago

Author: hobu Date: 2009/10/25 - 05:00 Python MapScript's building process now invokes mapserver-config on all platforms except MSVC, which uses the old (hand) build process. I don't think we should pollute the makefiles with this stuff, and individual MapScript's should invoke the mapserver-config as part of their build process. I propose we "won't fix" this bug, and new bugs be opened for MapScript's as needed to update them to use mapserver-config.

I would note that a successful mapserver-config invocation is also a reliable way to find out whether or not MapServer has been successfully built.

tbonfort commented 12 years ago

Author: dmorissette Date: 2011/03/15 - 17:19 Closing: mapserver-config is the way to go.