Am Dienstag, 24. Oktober 2006 09:35 schrieb Yaroslav Kolomiyets: > Dear Warzone2100 Developers, > > Sometimes it is necessary (and easy) to have multiple deployments of > SDL. FreeBSD ports maintainters organize things so there may be many > instances of one thing: autoconf253 and autoconf259, automake14 and > automake19. > > To build Warzone2100 on such system it is requered to make several > changes in code: > > I. AutoTools part: > > a) make the autogen.sh accept alternative autoconf/automake binary > names. After patch-A-autgen.sh applied it is possible to run it as: > > $ env AUTOCONF_VERSION=259 AUTOMAKE_VERSION=19 ./autogen.sh You mean provide an autotools wrapper in our autogen.sh? This is really the task of the OS and not our, IMHO. You should provide a wrapper script around autoconf/automake which you can instruct to use a specific version of autotools, eg with WANT_AUTOCONF=2.60 or WANT_AUTOMAKE=1.10 Other OS/Distros handle this completely different and I don't think we could provide a specific hack for all of them. Gentoo eg. has autoconf-2.60 and not autoconf260...
> b) Slightly modify m4/sdl.m4 so it accepts alternative name of > sdl-config script via SDL_CONFIG environment variable. > This modification is in patch-B-m4__sdl.m4 Seems like a bug in the sdl.m4... Did they forgot the : or did they intendedly leave it out? (Doesn't make so much sense as they could then also have left out the +set entirely...) - AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) + AC_PATH_PROGS(SDL_CONFIG, [$SDL_CONFIG sdl-config], no, [$PATH]) Is this needed? Can we just change sdl-config to $SDL_CONFIG? SDL_CONFIG get's defined to a default value if it is missing on the lines before... > c) Modify m4/sdl_net.m4 so it includes not "SDL/SDL_net.h" but > "SDL_net.h" Necessarity of this modification is explained below. > This change is in patch-C-m4__sdl_net.m4 > > II. Source code part. > > All sources include SDL headers as SDL/``header''. But what to do if > SDL headers is in SDL11/ or SDL12/ ? To build in such environment, > it is necessary to: > > a) include -I``sdl_prefix''/include/SDL``suffix'' into CFLAGS. > > In autotoolized build this is done automaticaly by > `sdl-config --cflags`. > > In static makefiles build this may be achieved by putting > CFLAGS+=-I$(DEVDIR)/include/SDL in model config.mk. > > b) replace -lSDL with call to `${SDL_CONFIG:-sdl-config} --libs` > > This is done properly in autotoolized build with provided > patches applied. > > In static makefiles this may be done by stripping out '-lSDL' > from LDFLAGS and putting LDFLAGS+=-lSDL in model config.mk. > > c) replace all > #include <SDL/``header''> > with > #include <``header''> I guess this was also intended by the SDL guys? (Otherwise they wouldn't have set the SDL includepath... Still seems a bit ugly to me, but ok, if they like it that way... > This can be done by applying the patch-D-lib+src =================================================================== --- src/projectile.h (revision 435) +++ src/projectile.h (working copy) @@ -11,7 +11,7 @@ /***************************************************************************/ -#include "lib/framework/types.h" +#include "lib/framework/frame.h" #include "base.h" #include "statsdef.h" #include "movedef.h" Is that a mistake or intended? > After all proposed changes will be done, build can be done in > different environments with different autotools and sdls installed > without source code patching -- only setting around some environment > variables or fixing config.mk. > > My freebsd configuration script is: > : ${LOCALBASE:=/usr/local} > : ${X11BASE:=/usr/X11R6} > : ${SDL_CONFIG:=sdl11-config} > > SDL_CFLAGS=`${SDL_CONFIG} --cflags` > SDL_LIBS=`${SDL_CONFIG} --libs` > CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include $SDL_CFLAGS" > LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib $SDL_LIBS" > > SDLNETINC="$SDL_CFLAGS" > SDLNETLIB="$SDL_LIBS" > > export CPPFLAGS LDFLAGS SDL_CFLAGS SDL_LIBS SDLNETINC SDLNETLIB > export SDL_CONFIG > > ./configure > > That's all. > > Thank you. I'm looking forward to your positive replies. You're welcome... --Dennis
pgphC87WNSgMs.pgp
Description: PGP signature
_______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev