hi all
i have adapted gÃŒnter's build system (and of course, overcomplicated
things again ;-) :-( )
i have checked it into Gem/src and i do think it is ready for testing by
now.
features:
moved from src/Gnu to src
checks work (e.g. for ARB-extensions)
dependencies are generated on the fly (no need for Make.depend)
source-files are generated on the fly (no need for Make.source)
source-files containing white-spaces are ignored
partial compilation support (e.g. skip openGL/ if you don't want it)
usage of pkg-config
automatic checking for apple-frameworks
...
caveats:
i just _had_ to: add my own m4-code, esp. for package-detection (this
is: per default use PKG_CHECK_MODULES, fall back to AC_CHECK_LIB
ffmpeg-detection seems to work on my machines, but i am not sure
whether it really does.
GemLibs might be a bit ignored without manual tuning.
m4-features:
added checks for flags supported by the compiler
overcomplicated package-detection (see above: using PKG_CHECK_MODULES
and as a fallback AC_CHECK_LIB)
m4-caveats:
haven't found a way yet how to test for special linker flags.
file-layout:
src/acinclude.m4-(aclocal)->src/aclocal.m4-+
|-(autoconf)-> src/configure
src/configure.ac---------------------------+
src/Make.config.in ---------------(./configure)-->src/Make.config
src/Base/config${KERN}.h.in --(./configure)-->src/Base/config${KERN}.h
with ${KERN} being $(uname -s) (Linux, Darwin,...)
src/Makefile
includes src/Make.include
includes src/Make.config
master-makefile, cd's into subdirs and calls make there
src/Makefile.subdir
includes src/Make.include
includes src/Make.config
makefile for subdirectories (called via "make -f ../Makefile.subdir")
both the old and the new build-system can live together (with the old
build-system having files in src/*/ and the new one _only_ in src/)
in theory, you just need to check it out, cd to Gem/src and run "make"
everything (including aclocal.m4 and configure) should be built as needed.
would be great if someone could test it (at least on linux-flavours and
osX; i fear w32 will not work out of the box, but who knows)
mfg.asd.r
IOhannes