summaryrefslogtreecommitdiff
path: root/config.lib
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /config.lib
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'config.lib')
-rw-r--r--config.lib2212
1 files changed, 2212 insertions, 0 deletions
diff --git a/config.lib b/config.lib
new file mode 100644
index 000000000..bbbaf0d9f
--- /dev/null
+++ b/config.lib
@@ -0,0 +1,2212 @@
+
+log() {
+ if [ $1 = "1" ]; then echo "$2"; fi
+ echo "$2" >> $config_log
+}
+
+set_default() {
+ ignore_extra_parameters="0"
+ # We set all kinds of defaults for params. Later on the user can override
+ # most of them; but if they don't, this default is used.
+ build=""
+ host=""
+ cc_build=""
+ cc_host=""
+ cxx_host=""
+ windres=""
+ strip=""
+ lipo=""
+ os="DETECT"
+ endian="AUTO"
+ revision=""
+ config_log="config.log"
+ prefix_dir="/usr/local"
+ binary_dir="games"
+ data_dir="share/games/openttd"
+ icon_dir="share/pixmaps"
+ personal_dir=""
+ custom_lang_dir=""
+ second_data_dir=""
+ install_dir="/"
+ enable_install="0"
+ enable_debug="0"
+ enable_profiling="0"
+ enable_dedicated="0"
+ enable_network="1"
+ enable_static="1"
+ enable_translator="0"
+ enable_assert="1"
+ enable_strip="1"
+ enable_universal="1"
+ enable_osx_g5="0"
+ with_osx_sysroot="1"
+ with_application_bundle="1"
+ with_sdl="1"
+ with_cocoa="1"
+ with_zlib="1"
+ with_png="1"
+ with_makedepend="1"
+ with_direct_music="1"
+ with_sort="1"
+ with_iconv="1"
+ with_midi=""
+ with_midi_arg=""
+ with_freetpye="1"
+ with_fontconfig="1"
+
+ save_params_array="build host cc_build cc_host cxx_host windres strip lipo os revision endian config_log prefix_dir binary_dir data_dir icon_dir personal_dir install_dir custom_lang_dir second_data_dir enable_install enable_debug enable_profiling enable_dedicated enable_network enable_static enable_translator enable_assert enable_strip with_osx_sysroot enable_universal enable_osx_g5 with_application_bundle with_sdl with_cocoa with_zlib with_png with_makedepend with_direct_music with_sort with_iconv with_midi with_midi_arg with_freetype with_fontconfig CC CXX CFLAGS LDFLAGS"
+}
+
+detect_params() {
+ # Walk over all params from the user and override any default settings if
+ # needed. This also handles any invalid option.
+ for p in "$@"
+ do
+ if [ -n "$prev_p" ]
+ then
+ eval "$prev_p=\$p"
+ prev_p=
+ continue
+ fi
+
+ optarg=`expr "x$p" : 'x[^=]*=\(.*\)'`
+
+ case "$p" in
+ --help | -h)
+ showhelp
+ exit 0
+ ;;
+
+ --config-log)
+ prev_p="config_log"
+ ;;
+ --config-log=*)
+ config_log="$optarg"
+ ;;
+
+ --build)
+ prev_p="build"
+ ;;
+ --build=*)
+ build="$optarg"
+ ;;
+
+ --host)
+ prev_p="host"
+ ;;
+ --host=*)
+ host="$optarg"
+ ;;
+
+ --os)
+ prev_p="os"
+ ;;
+ --os=*)
+ os="$optarg"
+ ;;
+
+ --revision=*)
+ revision="$optarg"
+ ;;
+
+ --cc-build)
+ prevp_p="cc_build"
+ ;;
+ --cc-build=*)
+ cc_build="$optarg"
+ ;;
+ --cc-host)
+ prevp_p="cc_host"
+ ;;
+ --cc-host=*)
+ cc_host="$optarg"
+ ;;
+ --cxx-host)
+ prevp_p="cxx_host"
+ ;;
+ --cxx-host=*)
+ cxx_host="$optarg"
+ ;;
+ --windres)
+ prevp_p="windres"
+ ;;
+ --windres=*)
+ windres="$optarg"
+ ;;
+ --strip)
+ prevp_p="strip"
+ ;;
+ --strip=*)
+ strip="$optarg"
+ ;;
+ --lipo)
+ prevp_p="lipo"
+ ;;
+ --lipo=*)
+ lipo="$optarg"
+ ;;
+
+ --endian)
+ prev_p="endian"
+ ;;
+ --endian=*)
+ endian="$optarg"
+ ;;
+
+
+
+ --prefix-dir)
+ prevp_p="prefix-dir"
+ ;;
+ --prefix-dir=*)
+ prefix_dir="$optarg"
+ ;;
+
+ --binary-dir)
+ prevp_p="binary-dir"
+ ;;
+ --binary-dir=*)
+ binary_dir="$optarg"
+ ;;
+
+ --data-dir)
+ prevp_p="data-dir"
+ ;;
+ --data-dir=*)
+ data_dir="$optarg"
+ ;;
+
+ --icon-dir)
+ prevp_p="icon-dir"
+ ;;
+ --icon-dir=*)
+ icon_dir="$optarg"
+ ;;
+
+ --personal-dir)
+ prevp_p="personal-dir"
+ ;;
+ --personal-dir=*)
+ personal_dir="$optarg"
+ ;;
+
+ --install-dir)
+ prevp_p="install-dir"
+ ;;
+ --install-dir=*)
+ install_dir="$optarg"
+ ;;
+
+# TODO: The next few cases will be removed when the search path patch is applied
+ --custom-lang-dir)
+ prevp_p="custom-lang-dir"
+ ;;
+ --custom-lang-dir=*)
+ custom_lang_dir="$optarg"
+ ;;
+
+ --second-data-dir)
+ prevp_p="second-data-dir"
+ ;;
+ --second-data-dir=*)
+ second_data_dir="$optarg"
+ ;;
+
+ --enable-install)
+ enable_install="1"
+ ;;
+ --enable-install=*)
+ enable_install="$optarg"
+ ;;
+# TODO: End of to be removed cases
+
+
+ --enable-debug)
+ enable_debug="1"
+ ;;
+ --enable-debug=*)
+ enable_debug="$optarg"
+ ;;
+ --enable-profiling)
+ enable_profiling="1"
+ ;;
+ --enable-profiling=*)
+ enable_profiling="$optarg"
+ ;;
+ --enable-dedicated)
+ enable_dedicated="1"
+ ;;
+ --enable-dedicated=*)
+ enable_dedicated="$optarg"
+ ;;
+ --enable-network=*)
+ enable_network="$optarg"
+ ;;
+ --disable-network)
+ enable_network="0"
+ ;;
+ --disable-static)
+ enable_static="0"
+ ;;
+ --enable-static)
+ enable_static="2"
+ ;;
+ --enable-static=*)
+ enable_static="$optarg"
+ ;;
+ --disable-translator)
+ enable_translator="0"
+ ;;
+ --enable-translator)
+ enable_translator="2"
+ ;;
+ --enable-translator=*)
+ enable_translator="$optarg"
+ ;;
+ --disable-assert)
+ enable_assert="0"
+ ;;
+ --enable-assert)
+ enable_assert="2"
+ ;;
+ --enable-assert=*)
+ enable_assert="$optarg"
+ ;;
+ --disable-strip)
+ enable_strip="0"
+ ;;
+ --enable-strip)
+ enable_strip="2"
+ ;;
+ --enable-strip=*)
+ enable_strip="$optarg"
+ ;;
+ --disable-universal)
+ enable_universal="0"
+ ;;
+ --enable-universal)
+ enable_universal="2"
+ ;;
+ --enable-universal=*)
+ enable_universal="$optarg"
+ ;;
+ --disable-osx-g5)
+ enable_osx_g5="0"
+ ;;
+ --enable-osx-g5)
+ enable_osx_g5="2"
+ ;;
+ --enable-osx-g5=*)
+ enable_osx_g5="$optarg"
+ ;;
+
+ --with-sdl)
+ with_sdl="2"
+ ;;
+ --without-sdl)
+ with_sdl="0"
+ ;;
+ --with-sdl=*)
+ with_sdl="$optarg"
+ ;;
+
+ --with-cocoa)
+ with_cocoa="2"
+ ;;
+ --without-cocoa)
+ with_cocoa="0"
+ ;;
+ --with-cocoa=*)
+ with_cocoa="$optarg"
+ ;;
+
+ --with-zlib)
+ with_zlib="2"
+ ;;
+ --without-zlib)
+ with_zlib="0"
+ ;;
+ --with-zlib=*)
+ with_zlib="$optarg"
+ ;;
+
+ --with-png)
+ with_png="2"
+ ;;
+ --without-png)
+ with_png="0"
+ ;;
+ --with-png=*)
+ with_png="$optarg"
+ ;;
+ --with-libpng)
+ with_png="2"
+ ;;
+ --without-libpng)
+ with_png="0"
+ ;;
+ --with-libpng=*)
+ with_png="$optarg"
+ ;;
+
+ --with-freetype)
+ with_freetype="2"
+ ;;
+ --without-freetype)
+ with_freetype="0"
+ ;;
+ --with-freetype=*)
+ with_freetype="$optarg"
+ ;;
+ --with-libfreetype)
+ with_freetype="2"
+ ;;
+ --without-libfreetype)
+ with_freetype="0"
+ ;;
+ --with-libfreetype=*)
+ with_freetype="$optarg"
+ ;;
+
+ --with-fontconfig)
+ with_fontconfig="2"
+ ;;
+ --without-fontconfig)
+ with_fontconfig="0"
+ ;;
+ --with-fontconfig=*)
+ with_fontconfig="$optarg"
+ ;;
+ --with-libfontconfig)
+ with_fontconfig="2"
+ ;;
+ --without-libfontconfig)
+ with_fontconfig="0"
+ ;;
+ --with-libfontconfig=*)
+ with_fontconfig="$optarg"
+ ;;
+
+ --with-makedepend)
+ with_makedepend="2"
+ ;;
+ --without-makedepend)
+ with_makedepend="0"
+ ;;
+ --with-makedepend=*)
+ with_makedepend="$optarg"
+ ;;
+
+ --with-direct-music)
+ with_direct_music="2"
+ ;;
+ --without-direct-music)
+ with_direct_music="0"
+ ;;
+ --with-direct-music=*)
+ with_direct_music="$optarg"
+ ;;
+
+ --with-sort)
+ with_sort="2"
+ ;;
+ --without-sort)
+ with_sort="0"
+ ;;
+ --with-sort=*)
+ with_sort="$optarg"
+ ;;
+
+ --with-iconv)
+ with_iconv="2"
+ ;;
+ --without-iconv)
+ with_iconv="0"
+ ;;
+ --with-iconv=*)
+ with_iconv="$optarg"
+ ;;
+
+ --with-midi=*)
+ with_midi="$optarg"
+ ;;
+ --with-midi-arg=*)
+ with_midi_arg="$optarg"
+ ;;
+
+ --without-osx-sysroot)
+ with_osx_sysroot="0"
+ ;;
+ --with-osx-sysroot)
+ with_osx_sysroot="2"
+ ;;
+ --with-osx-sysroot=*)
+ with_osx_sysroot="$optarg"
+ ;;
+
+ --without-application-bundle)
+ with_applicant_bundle="0"
+ ;;
+ --with-application-bundle)
+ with_applicant_bundle="1"
+ ;;
+ --with-application-bundle=*)
+ with_applicant_bundle="$optarg"
+ ;;
+
+ CC=* | --CC=*)
+ CC="$optarg"
+ ;;
+ CXX=* | --CXX=*)
+ CXX="$optarg"
+ ;;
+ CFLAGS=* | --CFLAGS=*)
+ CFLAGS="$optarg"
+ ;;
+ LDFLAGS=* | --LDFLAGS=*)
+ LDFLAGS="$optarg"
+ ;;
+
+ --ignore-extra-parameters)
+ ignore_extra_parameters="1"
+ ;;
+
+ --*)
+ if [ "$ignore_extra_parameters" = "0" ]
+ then
+ echo "Unknown option $p"
+ exit 1
+ else
+ echo "Unknown option $p ignored"
+ fi
+ ;;
+ esac
+ done
+
+ if [ -n "$prev_p" ]
+ then
+ echo "configure: error: missing argument to --$prev_p"
+ exit 1
+ fi
+
+ # Clean the logfile
+ echo "" > $config_log
+}
+
+save_params() {
+ # Here we save all params, so we can later on do an exact redo of this
+ # configuration, without having the user to re-input stuff
+
+ echo "Running configure with following options:" >> $config_log
+ echo "" >> $config_log
+
+ configure="$0 --ignore-extra-parameters"
+ for p in $save_params_array
+ do
+ eval "v=\$$p"
+ p=`echo "$p" | sed 's/_/-/g;s/\n//g;'`
+ # Only save those params that aren't empty
+ configure="$configure --$p=$v"
+ done
+
+ echo "$configure" >> $config_log
+ echo "$configure" > config.cache
+ echo "" >> $config_log
+}
+
+check_params() {
+ # Some params want to be in full uppercase, else they might not work as
+ # expected.. fix that here
+
+ endian=`echo $endian | tr [:lower:] [:upper:]`
+ os=`echo $os | tr [:lower:] [:upper:]`
+
+ # Check if all params have valid values
+
+ # Endian only allows AUTO, LE and, BE
+ if ! echo $endian | grep -q "^AUTO$\|^LE$\|^BE$"
+ then
+ echo "configure: error: invalid option --endian=$endian"
+ echo " Available options are: --endian=[AUTO|LE|BE]"
+ exit 1
+ fi
+ # OS only allows DETECT, UNIX, OSX, FREEBSD, MORPHOS, BEOS, SUNOS, CYGWIN, and MINGW, OS2
+ if ! echo $os | grep -q "^DETECT$\|^UNIX$\|^OSX$\|^FREEBSD$\|^MORPHOS$\|^BEOS$\|^SUNOS$\|^CYGWIN$\|^MINGW$\|^OS2"
+ then
+ echo "configure: error: invalid option --os=$os"
+ echo " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2]"
+ exit 1
+ fi
+ # enable_debug should be between 0 and 4
+ if ! echo $enable_debug | grep -q "^0$\|^1$\|^2$\|^3$"
+ then
+ echo "configure: error: invalid option --enable-debug=$enable_debug"
+ echo " Available options are: --enable-debug[=0123]"
+ exit 1
+ fi
+
+ check_build
+ check_host
+
+ detect_os
+
+# We might enable universal builds always on OSX targets.. but currently we don't
+# if [ "$enable_universal" = "1" ] && [ "$os" != "OSX" ]
+ if [ "$enable_universal" = "1" ]
+ then
+ enable_universal="0"
+ fi
+ if [ "$enable_universal" = "2" ] && [ "$os" != "OSX" ]
+ then
+ log 1 "configure: error: --enable-universal only works on OSX"
+ exit 1
+ fi
+ if [ "$enable_universal" = "0" ]
+ then
+ log 1 "checking universal build... no"
+ else
+ log 1 "checking universal build... yes"
+ fi
+
+ # Already detected by check_build
+ log 1 "checking for build gcc... $cc_build"
+ log 1 "checking for host gcc... $cc_host"
+
+ check_cxx
+ check_windres
+ check_strip
+ check_lipo
+ check_makedepend
+
+ if [ "$enable_static" = "1" ]
+ then
+ if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "OSX" ]
+ then
+ enable_static="2"
+ else
+ enable_static="0"
+ fi
+ fi
+
+ if [ "$enable_static" != "0" ]
+ then
+ log 1 "checking for static... yes"
+
+ if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "OSX" ] && [ "$os" != "MORPHOS" ]
+ then
+ log 1 "WARNING: static is only known to work on Windows, MacOSX and MorphOS"
+ log 1 "WARNING: use static at your own risk on this platform"
+
+ sleep 5
+ fi
+ else
+ log 1 "checking for static... no"
+ fi
+
+ # Show what we configured
+ if [ "$enable_debug" = "0" ]
+ then
+ log 1 "using debug level... no"
+ elif [ "$enable_profiling" != "0" ]
+ then
+ log 1 "using debug level... profiling (debug level $enable_debug)"
+ else
+ log 1 "using debug level... level $enable_debug"
+ fi
+
+ detect_sdl
+ detect_cocoa
+
+ if [ "$enable_dedicated" != "0" ]
+ then
+ log 1 "checking GDI video driver... skipping"
+ log 1 "checking dedicated... found"
+
+ if [ "$enable_network" != "0" ]
+ then
+ log 1 "WARNING: compiling a dedicated server without network is pointless"
+ sleep 5
+ fi
+ else
+ if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]
+ then
+ log 1 "checking GDI video driver... found"
+ else
+ log 1 "checking GDI video driver... not Windows, skipping"
+ fi
+
+ if [ -z "$sdl_config" ] && [ "$with_cocoa" = 0 ] && [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]
+ then
+ log 1 "WARNING: no video driver found, building dedicated only"
+ enable_dedicated="1"
+ sleep 1
+
+ log 1 "checking dedicated... found"
+ else
+ log 1 "checking dedicated... not selected"
+ fi
+ fi
+
+ if [ "$enable_network" != "0" ]
+ then
+ log 1 "checking network... found"
+ else
+ log 1 "checking network... disabled"
+ fi
+
+ if [ "$enable_translator" != "0" ]
+ then
+ log 1 "checking translator... debug"
+ strgen_flags=""
+ else
+ log 1 "checking translator... no"
+ # -t shows TODO items, normally they are muted
+ strgen_flags="-t"
+ fi
+
+ if [ "$enable_assert" != "0" ]
+ then
+ log 1 "checking assert... enabled"
+ else
+ log 1 "checking assert... disabled"
+ fi
+
+ detect_zlib
+ detect_png
+ detect_freetype
+ detect_fontconfig
+ detect_iconv
+
+ if [ "$with_direct_music" = "1" ] || [ "$with_direct_music" = "2" ]
+ then
+ if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]
+ then
+ if [ "$with_direct_music" = "2" ]
+ then
+ log 1 "configure: error: direct-music is only supported on Win32 targets"
+ exit 1
+ fi
+ with_direct_music="0"
+
+ log 1 "checking direct-music... not Windows, skipping"
+ else
+ check_direct_music
+ fi
+ fi
+
+ detect_sort
+
+ if [ "$os" = "OSX" ] && [ "$endian" = "AUTO" ]
+ then
+ endian="PREPROCESSOR"
+ fi
+
+ log 1 "checking endianess... $endian"
+
+ # Suppress language errors when there is a version defined, indicating a release
+ # It just isn't pretty if any release produces warnings in the languages.
+ if [ -f "$ROOT_DIR/version" ]
+ then
+ lang_suppress="yes"
+ log 1 "suppress language errors... yes"
+ else
+ lang_suppress=""
+ log 1 "suppress language errors... no"
+ fi
+
+ if [ "$enable_debug" = "0" ] && [ "$enable_profiling" = "0" ] && [ "$enable_strip" != "0" ]
+ then
+ if [ "$os" = "MORPHOS" ]
+ then
+ strip_arg="--strip-all --strip-unneeded --remove-section .comment"
+ elif [ "$os" = "OSX" ]
+ then
+ strip_arg=""
+ else
+ strip_arg="-s"
+ fi
+
+ log 1 "checking stripping... $strip $strip_arg"
+ else
+ strip=""
+ log 1 "checking stripping... skipped"
+ fi
+
+ if [ "$os" != "OSX" ] && [ "$with_osx_sysroot" != "0" ]
+ then
+ if [ "$with_osx_sysroot" = "1" ]
+ then
+ with_osx_sysroot="0"
+
+ log 1 "checking OSX sysroot... not OSX, skipping"
+ else
+ log 1 "configure: error: --with-osx-sysroot only works if OSX is the target"
+ exit 1
+ fi
+ fi
+
+ if [ "$with_osx_sysroot" != "0" ]
+ then
+ if [ "$enable_universal" = "0" ] && [ "$with_osx_sysroot" != "1" ] && [ "$with_osx_sysroot" != "2" ]
+ then
+ log 1 "checking OSX sysroot... $with_osx_sysroot"
+ else
+ # If autodetect and no universal, use system default
+ if [ "$with_osx_sysroot" = "1" ] && [ "$enable_universal" = "0" ]
+ then
+ log 1 "checking OSX sysroot... no (use system default)"
+ with_osx_sysroot="0"
+ else
+ log 1 "checking OSX sysroot... automaticly"
+ with_osx_sysroot="3"
+ fi
+ fi
+ else
+ if [ "$os" = "OSX" ]
+ then
+ log 1 "checking OSX sysroot... no (use system default)"
+ fi
+ fi
+
+ if [ "$os" != "OSX" ] && [ "$with_application_bundle" != "0" ]
+ then
+ if [ "$with_application_bundle" = "1" ]
+ then
+ with_application_bundle="0"
+
+ log 1 "checking OSX application bundle... not OSX, skipping"
+ else
+ log 1 "configure: error: --with-application-bundle only works if OSX is the target"
+ exit 1
+ fi
+ fi
+
+ if [ "$os" = "OSX" ] && [ "$with_application_bundle" = "1" ]
+ then
+ OSXAPP="OpenTTD.app"
+
+# TODO: remove next few lines of code when the search path patch has been applied
+ if [ -n "$custom_lang_dir" ] && [ "$custom_lang_dir" != "$(OSXAPP)/Contents/Lang/" ]
+ then
+ log 1 "configure: error: --custom-lang-dir and --with-application-bundle are not compatible
+ exit 1
+ fi
+
+ if [ -n "$custom_lang_dir" ] && [ "$second_data_dir" != "$(OSXAPP)/Contents/Data/" ]
+ then
+ log 1 "configure: error: --second-data-dir and --with-application-bundle are not compatible
+ exit 1
+ fi
+
+ custom_lang_dir="${OSXAPP}/Contents/Lang/"
+ second_data_dir="${OSXAPP}/Contents/Data/"
+# TODO: remove till here
+ else
+ OSXAPP=""
+ fi
+
+ if [ "$os" = "OSX" ]
+ then
+ # Test on G5
+
+ if [ "$enable_osx_g5" != "0" ]
+ then
+ log 1 "detecting G5... yes (forced)"
+ else
+ # First, are we a real OSX system, else we can't detect it
+ native=`LC_ALL=C uname | tr [:upper:] [:lower:] | grep darwin`
+ # If $host doesn't match $build , we are cross-compiling
+ if [ -n "$native" ] && [ "$build" != "$host" ]
+ then
+ $cc_build $SRC_DIR/os/macosx/G5_detector.c -o G5_detector
+ res=`./G5_detector`
+ rm -f G5_detector
+ if [ -n "$res" ]
+ then
+ # This is G5, add flags for it
+ enable_osx_g5="2"
+
+ log 1 "detecting G5... yes"
+ else
+ enable_osx_g5="0"
+
+ log 1 "detecting G5... no"
+ fi
+ else
+ enable_osx_g5="0"
+
+ log 1 "detecting G5... no (cross-compiling)"
+ fi
+ fi
+ else
+ if [ "$enable_osx_g5" != "0" ]
+ then
+ log 1 "configure: error: OSX G5 selected, but not compiling for OSX"
+ log 1 "configure: error: either select OSX as OS, or deselect OSX G5"
+
+ exit 1
+ fi
+ fi
+}
+
+make_cflags_and_ldflags() {
+ # General CFlags for BUILD
+ CFLAGS_BUILD=""
+ # General CFlags for HOST
+ CFLAGS="$CFLAGS -D$os -DWITH_REV"
+ # CFlags for HOST and C-Compiler
+ CC_FLAGS=""
+ # Libs to compile. In fact this is just LDFLAGS
+ LIBS="-lstdc++"
+ # LDFLAGS used for HOST
+ LDFLAGS="$LDFLAGS"
+
+ # Each debug level reduces the optimalization by a bit
+ if [ $enable_debug -ge 1 ]
+ then
+ CFLAGS="$CFLAGS -g -D_DEBUG"
+ OBJS_SUBDIR="debug"
+ else
+ OBJS_SUBDIR="release"
+ fi
+ if [ $enable_debug -ge 2 ]
+ then
+ CFLAGS="$CFLAGS -fno-inline"
+ fi
+ if [ $enable_debug -ge 3 ]
+ then
+ CFLAGS="$CFLAGS -O0"
+ fi
+ if [ $enable_debug = 0 ]
+ then
+ # No debug, add default stuff
+ if [ "$os" = "OSX" ]
+ then
+ # these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer
+ CFLAGS="$CFLAGS -O3 -funroll-loops -fsched-interblock -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-jumps-max-skip=15 -falign-loops-max-skip=15 -mdynamic-no-pic"
+ else
+ if [ "$os" = "MORPHOS" ]
+ then
+ CFLAGS="$CFLAGS -I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations"
+ CFLAGS="$CFLAGS -mcpu=604 -fno-inline -mstring -mmultiple"
+ fi
+
+ CFLAGS="$CFLAGS -O2 -fomit-frame-pointer"
+ fi
+
+ if [ "$enable_profiling" != "0" ]
+ then
+ CFLAGS="$CFLAGS -pg"
+ LDFLAGS="$LDFLAGS -pg"
+ fi
+ else
+ if [ "$enable_profiling" != "0" ]
+ then
+ CFLAGS="$CFLAGS -p"
+ LDFLAGS="$LDFLAGS -pg"
+ fi
+ fi
+
+ # Enable some things only for certain GCC versions
+ cc_version=`$cc_host -dumpversion | cut -c 1,3`
+
+ if [ $cc_version -ge 29 ]
+ then
+ CFLAGS="$CFLAGS -O -Wall -Wno-multichar -Wsign-compare -Wundef"
+ CFLAGS="$CFLAGS -Wwrite-strings -Wpointer-arith"
+
+ CC_CFLAGS="$CC_CFLAGS -Wstrict-prototypes"
+ fi
+
+ if [ $cc_version -ge 30 ]
+ then
+ CFLAGS="$CFLAGS -W -Wno-unused-parameter"
+ fi
+
+ if [ $cc_version -ge 34 ]
+ then
+ CC_CFLAGS="$CC_CFLAGS -Wdeclaration-after-statement -Wold-style-definition"
+ fi
+
+ if [ "$os" = "CYGWIN" ]
+ then
+ CFLAGS="$CFLAGS -mwin32"
+ LDFLAGS="$LDFLAGS -mwin32"
+ fi
+ if [ "$os" = "MINGW" ]
+ then
+ CFLAGS="$CFLAGS -mno-cygwin"
+ LDFLAGS="$LDFLAGS -mno-cygwin"
+ fi
+
+ if [ "$os" = "CYGWIN" ] || [ "$os" = "MINGW" ]
+ then
+ LDFLAGS="$LDFLAGS -Wl,--subsystem,windows"
+ LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32"
+ fi
+
+ if [ "$os" != "CYGWIN" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ]
+ then
+ LIBS="$LIBS -lpthread"
+ LIBS="$LIBS -lrt"
+ fi
+
+ if [ "$os" != "MINGW" ]
+ then
+ LIBS="$LIBS -lc"
+ fi
+
+ if [ "$os" = "MORPHOS" ]
+ then
+ # -Wstrict-prototypes generates much noise because of system headers
+ CFLAGS="$CFLAGS -Wno-strict-prototypes"
+ fi
+
+ if [ "$os" = "OSX" ]
+ then
+ LDFLAGS="$LDFLAGS -framework Cocoa"
+ if [ "$enable_dedicated" = "0" ]
+ then
+ LIBS="$LIBS -framework QuickTime"
+ fi
+ fi
+
+ if [ "$os" = "BEOS" ]
+ then
+ LIBS="$LIBS -lmidi -lbe"
+ fi
+
+ # Most targets act like UNIX, just with some additions
+ if [ "$os" = "BEOS" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]
+ then
+ CFLAGS="$CFLAGS -DUNIX"
+ fi
+ # And others like Windows
+ if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]
+ then
+ CFLAGS="$CFLAGS -DWIN"
+ fi
+
+ if [ -n "$sdl_config" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_SDL"
+ CFLAGS="$CFLAGS `$sdl_config --cflags`"
+ if [ "$enable_static" != "0" ]
+ then
+ LIBS="$LIBS `$sdl_config --static-libs`"
+ else
+ LIBS="$LIBS `$sdl_config --libs`"
+ fi
+ fi
+
+ if [ "$with_cocoa" != "0" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_COCOA"
+ LIBS="$LIBS -F/System/Library/Frameworks -framework Cocoa -framework Carbon -framework AudioUnit"
+ fi
+
+ if [ "$with_zlib" != "0" ]
+ then
+ if [ "$enable_static" != "0" ] && [ "$os" != "OSX" ]
+ then
+ LIBS="$LIBS $zlib"
+ else
+ LIBS="$LIBS -lz"
+ fi
+ CFLAGS="$CFLAGS -DWITH_ZLIB"
+ fi
+
+ if [ -n "$png_config" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_PNG"
+ CFLAGS="$CFLAGS `$png_config --cppflags --I_opts | tr '\n\r' ' '`"
+
+ # The extra flags are unneeded for latest libpng-config, but some versions are so broken...
+ if [ "$enable_static" != "0" ]
+ then
+ if [ "$os" = "OSX" ]
+ then
+ LIBS="$LIBS `$png_config --prefix`/lib/libpng.a"
+ else
+ LIBS="$LIBS `$png_config --static --ldflags --libs --L_opts | tr '\n\r' ' '`"
+ fi
+ else
+ LIBS="$LIBS `$png_config --ldflags --libs --L_opts | tr '\n\r' ' '`"
+ fi
+ fi
+
+ if [ -n "$freetype_config" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_FREETYPE"
+ CFLAGS="$CFLAGS `$freetype_config --cflags | tr '\n\r' ' '`"
+
+ if [ "$enable_static" != "0" ]
+ then
+ if [ "$os" = "OSX" ]
+ then
+ LIBS="$LIBS `$freetype_config --prefix`/lib/libfreetype.a"
+ else
+ # Is it possible to do static with freetype, if so: how?
+ LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`"
+ fi
+ else
+ LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`"
+ fi
+ fi
+
+ if [ -n "$fontconfig_config" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_FONTCONFIG"
+ CFLAGS="$CFLAGS `$fontconfig_config --cflags | tr '\n\r' ' '`"
+
+ if [ "$enable_static" != "0" ]
+ then
+ if [ "$os" = "OSX" ]
+ then
+ LIBS="$LIBS `$fontconfig_config --prefix`/lib/libfontconfig.a"
+ else
+ LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`"
+ fi
+ else
+ LIBS="$LIBS `$fontconfig_config --libs | tr '\n\r' ' '`"
+ fi
+ fi
+
+ if [ "$with_direct_music" != "0" ]
+ then
+ CFLAGS="$CFLAGS -DWIN32_ENABLE_DIRECTMUSIC_SUPPORT"
+ fi
+
+ if [ "$with_iconv" != "0" ]
+ then
+ CFLAGS="$CFLAGS -DWITH_ICONV"
+ LIBS="$LIBS -liconv"
+ if [ "$with_iconv" != "2" ]
+ then
+ CFLAGS="$CFLAGS -I$with_iconv/include"
+ LIBS="$LIBS -L$with_iconv/lib"
+ fi
+ fi
+
+ if [ -n "$with_midi" ]
+ then
+ CFLAGS="$CFLAGS -DEXTERNAL_PLAYER=\"$with_midi\""
+ fi
+ if [ -n "$with_midi_arg" ]
+ then
+ CFLAGS="$CFLAGS -DMIDI_ARG=\"$with_midi_arg\""
+ fi
+
+ if [ "$enable_dedicated" != "0" ]
+ then
+ CFLAGS="$CFLAGS -DDEDICATED"
+ fi
+
+ if [ "$enable_network" != "0" ]
+ then
+ CFLAGS="$CFLAGS -DENABLE_NETWORK"
+
+ if [ "$os" = "BEOS" ]
+ then
+ LDFLAGS="$LDFLAGS -lbind -lsocket"
+ fi
+
+ if [ "$os" = "SUNOS" ]
+ then
+ LDFLAGS="$LDFLAGS -lnsl -lsocket"
+ fi
+ fi
+
+ if [ "$enable_static" != "0" ]
+ then
+ # OSX can't handle -static in LDFLAGS
+ if [ "$os" != "OSX" ]
+ then
+ LDFLAGS="$LDFLAGS -static"
+ fi
+ fi
+
+ if [ "$enable_assert" = "0" ]
+ then
+ CFLAGS="$CFLAGS -DNDEBUG"
+ fi
+
+ if [ "$enable_osx_g5" != "0" ]
+ then
+ CFLAGS="$CFLAGS -mtune=970 -mcpu=970 -mpowerpc-gpopt"
+ fi
+
+ if [ "$with_osx_sysroot" != "0" ] && [ "$with_osx_sysroot" != "3" ]
+ then
+ CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
+ LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
+ fi
+
+# TODO: remove next few lines of code when the search path patch has been applied
+ if [ -n "$second_data_dir" ]
+ then
+ CFLAGS="$CFLAGS -DSECOND_DATA_DIR=\\\\\"$second_data_dir\\\\\""
+ fi
+
+ if [ -n "$custom_lang_dir" ]
+ then
+ CFLAGS="$CFLAGS -DCUSTOM_LANG_DIR=\\\\\"$custom_lang_dir\\\\\""
+ fi
+# TODO: remove till here
+
+ if [ "$enable_install" = "1" ]
+ then
+ if [ -n "$personal_dir" ]
+ then
+ CFLAGS="$CFLAGS -DUSE_HOMEDIR=1 -DPERSONAL_DIR=\\\\\"$personal_dir/\\\\\""
+ fi
+
+ if [ -n "$data_dir" ]
+ then
+ CFLAGS="$CFLAGS -DGAME_DATA_DIR=\\\\\"$prefix_dir/$data_dir/\\\\\""
+ fi
+
+ if [ -n "$icon_dir" ]
+ then
+ CFLAGS="$CFLAGS -DICON_DIR=\\\\\"$prefix_dir/$icon_dir/\\\\\""
+ fi
+ fi
+
+ if [ -n "$revision" ]
+ then
+ log 1 "checking revision... $revision"
+ log 1 "WARNING: we do not advise you to use this setting"
+ log 1 "WARNING: in most cases it is not safe for network use"
+ log 1 "WARNING: USE WITH CAUTION!"
+
+ sleep 5
+ elif [ -f "$ROOT_DIR/version" ]
+ then
+ revision="`cat $ROOT_DIR/version`"
+
+ log 1 "checking revision... $revision"
+ else
+ revision=""
+
+ log 1 "checking revision... svn detection"
+ fi
+
+ log 1 "using CFLAGS... $CFLAGS $CC_CFLAGS"
+ log 1 "using LDFLAGS... $LIBS $LDFLAGS"
+
+ # Makedepend doesn't like something like: -isysroot /OSX/blabla
+ # so convert it to: -isysroot -OSX/blabla. makedepend just ignores
+ # any - command it doesn't know, so we are pretty save.
+ # Lovely hackish, not?
+ # Btw, this almost always comes from outside the configure, so it is
+ # not something we can control.
+ if [ "$with_makedepend" != "0" ]
+ then
+ cflags_makedep="` echo "$CFLAGS" | sed 's# /# -#g'`"
+ else
+ makedepend=""
+ fi
+}
+
+check_compiler() {
+ # Params:
+ # $1 - Type for message (build / host)
+ # $2 - What to fill with the found compiler
+ # $3 - System to try
+ # $4 - Compiler to try
+ # $5 - Env-setting to try
+ # $6 - GCC alike to try
+ # $7 - CC alike to try
+ # $8 - "0" gcc, "1" g++, "2" windres, "3" strip, "4" lipo
+ # $9 - What the command is to check for
+
+ if [ -n "$3" ]
+ then
+ # Check for system
+ machine=`$3-$6 $9 2>/dev/null`
+ ret=$?
+ eval "$2=$3-$6"
+
+ log 2 "executing $3-$6 $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]
+ then
+ log 1 "checking $1... $3-$6 not found"
+ log 1 "I couldn't detect any $6 binary for $3"
+ exit 1
+ fi
+
+ if [ "$machine" != "$3" ] && ( [ "$8" = "0" ] || [ "$8" = "1" ] )
+ then
+ log 1 "checking $1... expected $3, found $machine"
+ log 1 "the compiler suggests it doesn't build code for the machine you specified"
+ exit 1
+ fi
+ elif [ -n "$4" ]
+ then
+ # Check for manual compiler
+ machine=`$4 $9 2>/dev/null`
+ ret=$?
+ eval "$2=$4"
+
+ log 2 "executing $4 $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]
+ then
+ log 1 "checking $1... $4 not found"
+ log 1 "the selected binary doesn't seem to be a $6 binary"
+ exit 1
+ fi
+ else
+ # Nothing given, autodetect
+
+ if [ -n "$5" ]
+ then
+ machine=`$5 $9 2>/dev/null`
+ ret=$?
+ eval "$2=$5"
+
+ log 2 "executing $5 $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ # The user defined a GCC that doesn't reply to $9.. abort
+ if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]
+ then
+ log 1 "checking $1... $5 unusable"
+ log 1 "the CC environment variable is set, but it doesn't seem to be a $6 binary"
+ log 1 "please redefine the CC/CXX environment to a $6 binary"
+ exit 1
+ fi
+ else
+ log 2 "checking $1... CC/CXX not set (skipping)"
+
+ # No $5, so try '$6'
+ machine=`$6 $9 2>/dev/null`
+ ret=$?
+ eval "$2=$6"
+
+ log 2 "executing $6 $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]
+ then
+ # Maybe '$7'?
+ machine=`$7 $9 2>/dev/null`
+ ret=$?
+ eval "$2=$7"
+
+ log 2 "executing $7 $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ # All failed, abort
+ if [ -z "$machine" ]
+ then
+ log 1 "checking $1... $6 not found"
+ log 1 "I couldn't detect any $6 binary on your system"
+ log 1 "please define the CC/CXX environment to where it is located"
+
+ exit 1
+ fi
+ fi
+ fi
+ fi
+
+ if [ "$8" != "0" ]
+ then
+ eval "res=\$$2"
+ log 1 "checking $1... $res"
+ else
+ log 1 "checking $1... $machine"
+ fi
+}
+
+check_build() {
+ check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "gcc" "cc" "0" "-dumpmachine"
+}
+
+check_host() {
+ # By default the host is the build
+ if [ -z "$host" ]; then host="$build"; fi
+ check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "gcc" "cc" "0" "-dumpmachine"
+}
+
+check_cxx() {
+ check_compiler "host g++" "cxx_host" "$host" "$cxx_host" "$CXX" "g++" "c++" 1 "-dumpmachine"
+}
+
+check_windres() {
+ if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]
+ then
+ check_compiler "host windres" "windres" "$host" "$windres" "$WINDRES" "windres" "windres" "2" "-V"
+ fi
+}
+
+check_strip() {
+ if [ "$os" = "OSX" ]
+ then
+ # Most targets have -V in strip, to see if they exists... OSX doesn't.. so execute something
+ echo "int main(int argc, char *argv[]) { }" > strip.test.c
+ $cc_host strip.test.c -o strip.test
+ check_compiler "host strip" "strip" "$host" "$strip" "$STRIP" "strip" "strip" "3" "strip.test"
+ rm -f strip.test.c strip.test
+ else
+ check_compiler "host strip" "strip" "$host" "$strip" "$STRIP" "strip" "strip" "3" "-V"
+ fi
+}
+
+check_lipo() {
+ if [ "$os" = "OSX" ] && [ "$enable_universal" != "0" ]
+ then
+ echo "int main(int argc, char *argv[]) { }" > lipo.test.c
+ $cc_host lipo.test.c -o lipo.test
+ check_compiler "host lipo" "lipo" "$host" "$lipo" "$LIPO" "lipo" "lipo" "4" "-info lipo.test"
+ rm -f lipo.test.c lipo.test
+ fi
+}
+
+check_direct_music() {
+ echo "
+ #include <windows.h>
+ #include <dmksctrl.h>
+ #include <dmusici.h>
+ #include <dmusicc.h>
+ #include <dmusicf.h>
+ int main(int argc, char *argv[]) { }" > direct_music.test.c
+ $cxx_host $CFLAGS direct_music.test.c -o direct_music.test 2> /dev/null
+ res=$?
+ rm -f direct_music.test.c direct_music.test
+
+ if [ "$res" != "0" ]
+ then
+ if [ "$with_direct_music" = "2" ]
+ then
+ log 1 "configure: error: direct-music is not available on this system"
+ exit 1
+ fi
+ with_direct_music="0"
+
+ log 1 "checking direct-music... not found"
+ else
+ log 1 "checking direct-music... found"
+ fi
+}
+
+check_makedepend() {
+ if [ "$with_makedepend" = "0" ]
+ then
+ log 1 "checking makedepend... disabled"
+ return
+ fi
+
+ if [ "$with_makedepend" = "1" ] || [ "$with_makedepend" = "2" ]
+ then
+ makedepend="makedepend"
+ else
+ makedepend="$with_makedepend"
+ fi
+
+ rm -f makedepend.tmp
+ touch makedepend.tmp
+ res=`$makedepend -fmakedepend.tmp 2>/dev/null`
+ res=$?
+ log 2 "executing $makedepend -f makedepend.tmp"
+ log 2 " returned `cat makedepend.tmp`"
+ log 2 " exit code $ret"
+
+ if [ -z "`cat makedepend.tmp`" ]
+ then
+ rm -f makedepend.tmp makedepend.tmp.bak
+
+ if [ "$with_makedepend" = "2" ]
+ then
+ log 1 "checking makedepend... not found"
+
+ log 1 "I couldn't detect any makedepend on your system"
+ log 1 "please locate it via --makedepend=[binary]"
+
+ exit 1
+ elif [ "$with_makedepend" != "1" ]
+ then
+ log 1 "checking makedepend... $makedepend not found"
+
+ log 1 "the selected file doesn't seem to be a valid makedepend binary"
+
+ exit 1
+ else
+ log 1 "checking makedepend... not found"
+
+ with_makedepend="0"
+ return
+ fi
+ fi
+
+ rm -f makedepend.tmp makedepend.tmp.bak
+
+ log 1 "checking makedepend... $makedepend"
+}
+
+detect_os() {
+ if [ $os = "DETECT" ]
+ then
+ # Detect UNIX, OSX, FREEBSD, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW and OS2
+
+ # Try first via dumpmachine, then via uname
+ os=`echo "$host" | tr [:upper:] [:lower:] | awk '
+ /linux/ { print "UNIX"; exit}
+ /darwin/ { print "OSX"; exit}
+ /freebsd/ { print "FREEBSD"; exit}
+ /morphos/ { print "MORPHOS"; exit}
+ /beos/ { print "BEOS"; exit}
+ /sunos/ { print "SUNOS"; exit}
+ /cygwin/ { print "CYGWIN"; exit}
+ /mingw/ { print "MINGW"; exit}
+ /os\/2/ { print "OS2"; exit}
+ '`
+
+ if [ -z "$os" ]
+ then
+ os=`LC_ALL=C uname | tr [:upper:] [:lower:] | awk '
+ /linux/ { print "UNIX"; exit}
+ /darwin/ { print "OSX"; exit}
+ /freebsd/ { print "FREEBSD"; exit}
+ /morphos/ { print "MORPHOS"; exit}
+ /beos/ { print "BEOS"; exit}
+ /sunos/ { print "SUNOS"; exit}
+ /cygwin/ { print "CYGWIN"; exit}
+ /mingw/ { print "MINGW"; exit}
+ /os\/2/ { print "OS2"; exit}
+ '`
+ fi
+
+ if [ -z "$os" ]
+ then
+ log 1 "detecting OS... none detected"
+ log 1 "I couldn't detect your OS. Please use --with-os=OS to force one"
+ log 1 "Allowed values are: UNIX, OSX, FREEBSD, MORPHOS, BEOS, SUNOS, CYGWIN, and MINGW"
+ exit 1
+ fi
+
+ log 1 "detecting OS... $os"
+ else
+ log 1 "forcing OS... $os"
+ fi
+}
+
+detect_sdl() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_sdl" = "0" ]
+ then
+ log 1 "checking SDL... disabled"
+
+ sdl_config=""
+ return 0
+ fi
+
+ if [ "$with_sdl" = "2" ] && [ "$with_cocoa" = "2" ]
+ then
+ log 1 "configure: error: it is impossible to compile both SDL and COCOA"
+ log 1 "configure: error: please deselect one of them and try again"
+ exit 1
+ fi
+
+ if [ "$with_sdl" = "2" ] && [ "$enable_dedicated" != "0" ]
+ then
+ log 1 "configure: error: it is impossible to compile a dedicated with SDL"
+ log 1 "configure: error: please deselect one of them and try again"
+ exit 1
+ fi
+
+ if [ "$enable_dedicated" != "0" ]
+ then
+ log 1 "checking SDL... skipping"
+
+ sdl_config=""
+ return 0
+ fi
+
+ # By default on OSX we don't use SDL. The rest is auto-detect
+ if [ "$with_sdl" = "1" ] && [ "$os" = "OSX" ] && [ "$with_cocoa" != "0" ]
+ then
+ log 1 "checking SDL... OSX, skipping"
+
+ sdl_config=""
+ return 0
+ fi
+
+ if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]
+ then
+ if [ "$os" = "FREEBSD" ]
+ then
+ sdl_config="sdl11-config"
+ else
+ sdl_config="sdl-config"
+ fi
+ else
+ sdl_config="$with_sdl"
+ fi
+
+ version=`$sdl_config --version 2>/dev/null`
+ ret=$?
+ log 2 "executing $sdl_config --version"
+ log 2 " returned $version"
+ log 2 " exit code $ret"
+
+ if [ -z $version ] || [ "$ret" != "0" ]
+ then
+ log 1 "checking SDL... not found"
+
+ # It was forced, so it should be found.
+ if [ "$with_sdl" != "1" ]
+ then
+ log 1 "configure: error: sdl-config couldn't be found"
+ log 1 "configure: error: you supplied '$with_sdl', but it seems invalid"
+ exit 1
+ fi
+
+ sdl_config=""
+ return 0
+ fi
+
+ log 1 "checking SDL... found"
+}
+
+detect_cocoa() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_cocoa" = "0" ]
+ then
+ log 1 "checking COCOA... disabled"
+
+ return 0
+ fi
+
+ if [ "$with_cocoa" = "2" ] && [ "$enable_dedicated" != "0" ]
+ then
+ log 1 "configure: error: it is impossible to compile a dedicated with COCOA"
+ log 1 "configure: error: please deselect one of them and try again"
+ exit 1
+ fi
+
+ if [ "$enable_dedicated" != "0" ]
+ then
+ log 1 "checking COCOA... skipping"
+
+ with_cocoa="0"
+ return 0
+ fi
+
+ # By default on OSX we use COCOA. The rest doesn't support it
+ if [ "$with_cocoa" = "1" ] && [ "$os" != "OSX" ]
+ then
+ log 1 "checking COCOA... not OSX, skipping"
+
+ with_cocoa="0"
+ return 0
+ fi
+
+ if [ "$os" != "OSX" ]
+ then
+ log 1 "checking COCOA... not OSX"
+
+ log 1 "configure: error: COCOA video driver is only supported for OSX"
+ exit 1
+ fi
+
+ log 1 "checking COCOA... found"
+}
+
+detect_zlib() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_zlib" = "0" ]
+ then
+ log 1 "checking zlib... disabled"
+
+ zlib=""
+ return 0
+ fi
+
+ log 2 "detecting zlib"
+
+ if [ "$with_zlib" = "1" ] || [ "$with_zlib" = "" ] || [ "$with_zlib" = "2" ]
+ then
+ zlib=`ls -1 /usr/include/*.h 2>/dev/null | grep "\/zlib.h$"`
+ if [ -z "$zlib" ]
+ then
+ log 2 " trying /usr/include/zlib.h... no"
+ zlib=`ls -1 /usr/local/include/*.h 2>/dev/null | grep "\/zlib.h$"`
+ fi
+ if [ -z "$zlib" ]
+ then
+ log 2 " trying /usr/local/include/zlib.h... no"
+ fi
+
+ if [ -n "$zlib" ] && [ "$enable_static" != "0" ] && [ "$os" != "OSX" ]
+ then
+ log 2 " trying $zlib... found"
+ # Now find the static lib, if needed
+ zlib=`ls /lib/*.a 2>/dev/null | grep "\/libz.a$"`
+ if [ -z "$zlib" ]
+ then
+ log 2 " trying /lib/libz.a... no"
+ zlib=`ls /usr/lib/*.a 2>/dev/null | grep "\/libz.a$"`
+ fi
+ if [ -z "$zlib" ]
+ then
+ log 2 " trying /usr/lib/libz.a... no"
+ zlib=`ls /usr/local/lib/*.a 2>/dev/null | grep "\/libz.a$"`
+ fi
+ if [ -z "$zlib" ]
+ then
+ log 2 " trying /usr/local/lib/libz.a... no"
+ log 1 "configure: error: zlib couldn't be found"
+ log 1 "configure: error: you requested a static link, but I can't find zlib.a"
+
+ exit 1
+ fi
+ fi
+ else
+ # Make sure it exists
+ zlib=`ls $with_zlib 2>/dev/null`
+ fi
+
+ if [ -z "$zlib" ]
+ then
+ log 1 "checking zlib... not found"
+ if [ "$with_zlib" = "2" ]
+ then
+ log 1 "configure: error: zlib couldn't be found"
+
+ exit 1
+ elif [ "$with_zlib" != "1" ]
+ then
+ log 1 "configure: error: zlib couldn't be found"
+ log 1 "configure: error: you supplied '$with_zlib', but it seems invalid"
+
+ exit 1
+ fi
+
+ return 0
+ fi
+
+ log 2 " trying $zlib... found"
+
+ log 1 "checking zlib... found"
+}
+
+detect_png() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_png" = "0" ]
+ then
+ log 1 "checking libpng... disabled"
+
+ png_config=""
+ return 0
+ fi
+
+ if [ "$with_zlib" = "0" ] || [ "$zlib" = "" ]
+ then
+ log 1 "configure: error: libpng depends on zlib, which couldn't be found / was disabled"
+ log 1 "configure: error: please supply --with-zlib, with a valid zlib location"
+ exit 1
+ fi
+
+ if [ "$with_png" = "1" ] || [ "$with_png" = "" ] || [ "$with_png" = "2" ]
+ then
+ png_config="libpng-config"
+ else
+ png_config="$with_png"
+ fi
+
+ version=`$png_config --version 2>/dev/null`
+ ret=$?
+ log 2 "executing $png_config --version"
+ log 2 " returned $version"
+ log 2 " exit code $ret"
+
+ if [ -z "$version" ] || [ "$ret" != "0" ]
+ then
+ log 1 "checking libpng... not found"
+
+ # It was forced, so it should be found.
+ if [ "$with_png" != "1" ]
+ then
+ log 1 "configure: error: libpng-config couldn't be found"
+ log 1 "configure: error: you supplied '$with_png', but it seems invalid"
+ exit 1
+ fi
+
+ png_config=""
+ return 0
+ fi
+
+ log 1 "checking libpng... found"
+}
+
+detect_freetype() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_freetype" = "0" ]
+ then
+ log 1 "checking libfreetype... disabled"
+
+ freetype_config=""
+ return 0
+ fi
+
+ if [ "$with_zlib" = "0" ] || [ "$zlib" = "" ]
+ then
+ log 1 "configure: error: libfreetype depends on zlib, which couldn't be found / was disabled"
+ log 1 "configure: error: please supply --with-zlib, with a valid zlib location"
+ exit 1
+ fi
+
+ if [ "$with_freetype" = "1" ] || [ "$with_freetype" = "" ] || [ "$with_freetype" = "2" ]
+ then
+ freetype_config="freetype-config"
+ else
+ freetype_config="$with_freetype"
+ fi
+
+ version=`$freetype_config --version 2>/dev/null`
+ ret=$?
+ log 2 "executing freetype_config --version"
+ log 2 " returned $version"
+ log 2 " exit code $ret"
+
+ if [ -z "$version" ] || [ "$ret" != "0" ]
+ then
+ log 1 "checking libfreetype... not found"
+
+ # It was forced, so it should be found.
+ if [ "$with_freetype" != "1" ]
+ then
+ log 1 "configure: error: freetype-config couldn't be found"
+ log 1 "configure: error: you supplied '$with_freetype', but it seems invalid"
+ exit 1
+ fi
+
+ freetype_config=""
+ return 0
+ fi
+
+ log 1 "checking libfreetype... found"
+}
+
+detect_fontconfig() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_fontconfig" = "0" ]
+ then
+ log 1 "checking libfontconfig... disabled"
+
+ fontconfig_config=""
+ return 0
+ fi
+
+ if [ "$with_fontconfig" = "1" ] || [ "$with_fontconfig" = "" ] || [ "$with_fontconfig" = "2" ]
+ then
+ fontconfig_config="pkg-config fontconfig"
+ else
+ fontconfig_config="$with_fontconfig"
+ fi
+
+ version=`$fontconfig_config --modversion 2>/dev/null`
+ ret=$?
+ shortversion=`echo $version | cut -c 1,3`
+ log 2 "executing $fontconfig_config --modversion"
+ log 2 " returned $version"
+ log 2 " exit code $ret"
+
+ if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$shortversion" -le "22" ]
+ then
+ if [ -n "$shortversion" ] && [ "$shortversion" -le "22" ]
+ then
+ log 1 "checking libfontconfig... needs at least version 2.3.0, fontconfig NOT enabled"
+ else
+ log 1 "checking libfontconfig... not found"
+ fi
+
+ # It was forced, so it should be found.
+ if [ "$with_fontconfig" != "1" ]
+ then
+ log 1 "configure: error: fontconfig-config couldn't be found"
+ log 1 "configure: error: you supplied '$with_fontconfig', but it seems invalid"
+ exit 1
+ fi
+
+ fontconfig_config=""
+ return 0
+ fi
+
+ log 1 "checking libfontconfig... found"
+}
+
+detect_iconv() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_iconv" = "0" ]
+ then
+ log 1 "checking iconv... disabled"
+
+ return 0
+ fi
+
+ if [ "$with_iconv" = "1" ] && [ "$os" != "OSX" ]
+ then
+ log 1 "checking iconv... not OSX, skipping"
+ with_iconv="0"
+
+ return 0
+ fi
+
+ # Try to find iconv.h, seems to only thing to detect iconv with
+
+ if [ "$with_iconv" = "1" ] || [ "$with_iconv" = "" ] || [ "$with_iconv" = "2" ]
+ then
+ iconv=`ls -1 /usr/include 2>/dev/null | grep "iconv.h"`
+ if [ -z "$iconv" ]
+ then
+ iconv=`ls -1 /usr/local/include 2>/dev/null | grep "iconv.h"`
+ fi
+ else
+ # Make sure it exists
+ iconv=`ls $with_iconv/include/iconv.h 2>/dev/null`
+ fi
+
+ if [ -z "$iconv" ]
+ then
+ log 1 "checking iconv... not found"
+ if [ "$with_iconv" = "2" ]
+ then
+ log 1 "configure: error: iconv couldn't be found"
+
+ exit 1
+ elif [ "$with_iconv" != "1" ]
+ then
+ log 1 "configure: error: iconv couldn't be found"
+ log 1 "configure: error: you supplied '$with_iconv', but I couldn't detect iconv in it"
+
+ exit 1
+ fi
+
+ return 0
+ fi
+
+ if [ "$with_iconv" = "1" ]
+ then
+ with_iconv="2"
+ fi
+
+ log 2 "found iconv in $iconv"
+
+ log 1 "checking iconv... found"
+}
+
+_detect_sort() {
+ sort_test_in="d
+a
+c
+b"
+
+ sort_test_out="a
+b
+c
+d"
+
+ log 2 "running echo <array> | $1"
+
+ if [ "`echo \"$sort_test_in\" | $1 2>/dev/null`" = "$sort_test_out" ]
+ then
+ sort="$1"
+ log 2 " result was valid"
+ else
+ log 2 " result was invalid"
+ fi
+}
+
+detect_sort() {
+ if [ "$with_sort" = "0" ]
+ then
+ log 1 "checking sort... disabled"
+
+ return
+ fi
+
+ if [ "$with_sort" = "1" ] || [ "$with_sort" = "2" ]
+ then
+ _detect_sort "sort"
+ if [ -z "$sort" ]; then _detect_sort "/sbin/sort"; fi
+ if [ -z "$sort" ]; then _detect_sort "/usr/sbin/sort"; fi
+ if [ -z "$sort" ]; then _detect_sort "/usr/local/sbin/sort"; fi
+ if [ -z "$sort" ]; then _detect_sort "/bin/sort"; fi
+ if [ -z "$sort" ]; then _detect_sort "/usr/bin/sort"; fi
+ if [ -z "$sort" ]; then _detect_sort "/usr/local/bin/sort"; fi
+ else
+ _detect_sort "$with_sort"
+ fi
+
+ if [ -z "$sort" ]
+ then
+ if [ "$with_sort" = "2" ]
+ then
+ log 1 "checking sort... not found"
+
+ log 1 "configure: error: couldn't detect sort on your system"
+ exit 1
+ elif [ "$with_sort" != "1" ]
+ then
+ log 1 "checking sort... $with_sort not found"
+
+ log 1 "configure: error: '$with_sort' doesn't look like a sort to me"
+ log 1 "configure: error: please verify its location and function and try again"
+
+ exit 1
+ else
+ log 1 "checking sort... not found"
+ fi
+ else
+ log 1 "checking sort... $sort"
+ fi
+}
+
+make_sed() {
+ # We check here if we are PPC, because then we need to enable FOUR_BYTE_BOOL
+ # We do this here, and not sooner, so universal builds also have this
+ # automaticly correct
+ # FOUR_BYTE_BOOL is needed, because C++ uses 4byte for a bool on PPC, where
+ # we use 1 byte per bool normally in C part. So convert that last one to 4
+ # bytes too, but only for PPC.
+ ppc=`$cc_host -dumpmachine | grep "powerpc\|ppc"`
+ if [ -n "$ppc" ]
+ then
+ T_CFLAGS="$CFLAGS -DFOUR_BYTE_BOOL"
+ osx_sysroot_version=10.3.9
+ else
+ T_CFLAGS="$CFLAGS"
+ osx_sysroot_version=10.4u
+ fi
+
+ T_LDFLAGS="$LDFLAGS"
+ if [ "$with_osx_sysroot" = "3" ]
+ then
+ T_CFLAGS="$T_CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
+ T_LDFLAGS="$T_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
+ fi
+
+ SRC_OBJS_DIR="$BASE_SRC_OBJS_DIR/$OBJS_SUBDIR"
+
+ # All the data needed to compile a single target
+ # Make sure if you compile multiple targets to
+ # use multiple OBJS_DIR, because all in-between
+ # binaries are stored in there, and nowhere else.
+ SRC_REPLACE="
+ s#!!CC_HOST!!#$cc_host#g;
+ s#!!CXX_HOST!!#$cxx_host#g;
+ s#!!CC_BUILD!!#$cc_build#g;
+ s#!!WINDRES!!#$windres#g;
+ s#!!STRIP!!#$strip $strip_arg#g;
+ s#!!LIPO!!#$lipo#g;
+ s#!!CC_CFLAGS!!#$CC_CFLAGS#g;
+ s#!!CFLAGS!!#$T_CFLAGS#g;
+ s#!!CFLAGS_BUILD!!#$CFLAGS_BUILD#g;
+ s#!!STRGEN_FLAGS!!#$strgen_flags#g;
+ s#!!LIBS!!#$LIBS#g;
+ s#!!LDFLAGS!!#$T_LDFLAGS#g;
+ s#!!BIN_DIR!!#$BIN_DIR#g;
+ s#!!ROOT_DIR!!#$ROOT_DIR#g;
+ s#!!MEDIA_DIR!!#$MEDIA_DIR#g;
+ s#!!SOURCE_LIST!!#$SOURCE_LIST#g;
+ s#!!SRC_OBJS_DIR!!#$SRC_OBJS_DIR#g;
+ s#!!LANG_OBJS_DIR!!#$LANG_OBJS_DIR#g;
+ s#!!SRC_DIR!!#$SRC_DIR#g;
+ s#!!OSXAPP!!#$OSXAPP#g;
+ s#!!LANG_DIR!!#$LANG_DIR#g;
+ s#!!TTD!!#$TTD#g;
+ s#!!BINARY_DIR!!#$prefix_dir/$binary_dir#g;
+ s#!!DATA_DIR!!#$prefix_dir/$data_dir#g;
+ s#!!ICON_DIR!!#$prefix_dir/$icon_dir#g;
+ s#!!PERSONAL_DIR!!#$personal_dir#g;
+ s#!!INSTALL_DIR!!#$install_dir#g;
+ s#!!STRGEN!!#$STRGEN#g;
+ s#!!ENDIAN_CHECK!!#$ENDIAN_CHECK#g;
+ s#!!ENDIAN_FORCE!!#$endian#g;
+ s#!!STAGE!!#$STAGE#g;
+ s#!!MAKEDEPEND!!#$makedepend#g;
+ s#!!CFLAGS_MAKEDEP!!#$cflags_makedep#g;
+ s#!!SORT!!#$sort#g;
+ s#!!CONFIG_CACHE_COMPILER!!#config.cache.compiler#g;
+ s#!!CONFIG_CACHE_LINKER!!#config.cache.linker#g;
+ s#!!CONFIG_CACHE_ENDIAN!!#config.cache.endian#g;
+ s#!!CONFIG_CACHE_SOURCE!!#config.cache.source#g;
+ s#!!CONFIG_CACHE_VERSION!!#config.cache.version#g;
+ s#!!CONFIG_CACHE_SOURCE_LIST!!#config.cache.source.list#g;
+ s#!!LANG_SUPPRESS!!#$lang_suppress#g;
+ s#!!OBJS_C!!#$OBJS_C#g;
+ s#!!OBJS_CPP!!#$OBJS_CPP#g;
+ s#!!OBJS_M!!#$OBJS_M#g;
+ s#!!OBJS_RC!!#$OBJS_RC#g;
+ s#!!SRCS!!#$SRCS#g;
+ s#!!OS!!#$os#g;
+ s#!!CONFIGURE_FILES!!#$CONFIGURE_FILES#g;
+ s#!!REVISION!!#$revision#g;
+ s#!!ENABLE_INSTALL!!#$enable_install#g;
+ "
+}
+
+generate_main() {
+ STAGE="[MAIN]"
+
+ make_sed
+
+ # Create the main Makefile
+ echo "Generating Makefile..."
+ cat $ROOT_DIR/Makefile.in | sed "$SRC_REPLACE" > Makefile
+ echo "# Auto-generated file -- DO NOT EDIT" > Makefile.am
+ echo "" > Makefile.am
+ # Make the copy of the source-list, so we don't trigger an unwanted recompile
+ cp $SOURCE_LIST config.cache.source.list
+ # Make sure config.cache is OLDER then config.cache.source.list
+ touch config.cache
+}
+
+generate_lang() {
+ STAGE="[LANG]"
+
+ make_sed
+
+ # Create the language file
+ mkdir -p $LANG_OBJS_DIR
+
+ echo "Generating lang/Makefile..."
+ cat $ROOT_DIR/Makefile.lang.in | sed "$SRC_REPLACE" > $LANG_OBJS_DIR/Makefile
+ echo "DIRS += $LANG_OBJS_DIR" >> Makefile.am
+ echo "LANG_DIRS += $LANG_OBJS_DIR" >> Makefile.am
+}
+
+generate_src_normal() {
+ STAGE=$1
+
+ make_sed
+
+ # Create the source file
+ mkdir -p $SRC_OBJS_DIR
+
+ echo "Generating $2/Makefile..."
+ cat $ROOT_DIR/Makefile.src.in | sed "$SRC_REPLACE" > $SRC_OBJS_DIR/Makefile
+ echo "DIRS += $SRC_OBJS_DIR" >> Makefile.am
+ echo "SRC_DIRS += $SRC_OBJS_DIR" >> Makefile.am
+}
+
+generate_src_osx() {
+ cc_host_orig="$cc_host"
+ cxx_host_orig="$cxx_host"
+
+ BASE_SRC_OBJS_DIR="$OBJS_DIR/ppc"
+ cc_host="$cc_host_orig -arch ppc"
+ cxx_host="$cxx_host_orig -arch ppc"
+ generate_src_normal "[PowerPC]" "objs/ppc"
+
+ BASE_SRC_OBJS_DIR="$OBJS_DIR/i386"
+ cc_host="$cc_host_orig -arch i386"
+ cxx_host="$cxx_host_orig -arch i386"
+ generate_src_normal "[i386]" "objs/i386"
+
+ BASE_SRC_OBJS_DIR="$OBJS_DIR/ppc970"
+ cc_host="$cc_host_orig -arch ppc970"
+ cxx_host="$cxx_host_orig -arch ppc970"
+ CFLAGS="$CFLAGS -mtune=970 -mcpu=970 -mpowerpc-gpopt"
+ generate_src_normal "[PowerPC G5]" "objs/ppc970"
+}
+
+generate_src() {
+ if [ "$os" = "OSX" ] && [ "$enable_universal" != "0" ]
+ then
+ generate_src_osx
+ else
+ generate_src_normal "[SRC]" "objs"
+ fi
+}
+
+showhelp() {
+ echo "'configure' configures OpenTTD."
+ echo ""
+ echo "Usage: $0 [OPTION]... [VAR=VALUE]..."
+ echo ""
+ echo "To assign environment variables (e.g., CC, CFLAGS...), specify them as"
+ echo "VAR=VALUE. See below for descriptions of some of the useful variables."
+ echo ""
+ echo "Defaults for the options are specified in brackets."
+ echo ""
+ echo "Configuration:"
+ echo " -h, --help display this help and exit"
+ echo ""
+ echo "System types:"
+ echo " --build=BUILD configure for building on BUILD [guessed]"
+ echo " --host=HOST cross-compile to build programs to run on HOST [BUILD]"
+ echo " --windres=WINDRES the windres to use [HOST-windres]"
+ echo " --strip=STRIP the strip to use [HOST-strip]"
+ echo " --lipo=LIPO the lipo to use (OSX ONLY) [HOST-lipo]"
+ echo " --os=OS the OS we are compiling for [DETECT]"
+ echo " DETECT/UNIX/OSX/FREEBSD/MORPHOS/BEOS/SUNOS/CYGWIN/MINGW"
+ echo " --endian=ENDIAN set the endian of the HOST (AUTO/LE/BE) [AUTO]"
+ echo " --revision=rXXXX overwrite the revision detection. Use with care!"
+ echo ""
+ echo "Paths:"
+ echo " --prefix-dir=dir specifies the prefix for all installed files [/usr/local]"
+ echo " --binary-dir=dir location of the binary. Will be prefixed with the"
+ echo " prefix-dir [games]"
+ echo " --data-dir=dir location of data files (lang, data, gm, scenario)."
+ echo " Will be prefixed with the prefix-dir [share/games/openttd]"
+ echo " --icon-dir=dir location of icons. Will be prefixed with the"
+ echo " prefix-dir [share/pixmaps]"
+ echo " --personal-dir=dir location of the personal directory []"
+ echo " --install-dir=dir specifies the root to install to. Useful to install"
+ echo " into jails [/]"
+ echo ""
+# TODO: The Following 3 tags will be removed when the 'search path patch' is applied
+ echo " --second-data-dir=dir specifies a second directory for the data files"
+ echo " --custom-lang-dir=dir specifies a custom directory for the language files"
+ echo " --enable-install make a binary that uses the specified data-dir and icon-dir"
+ echo ""
+ echo "Features and packages:"
+ echo " --enable-debug[=LVL] enable debug-mode (LVL=[0123], 0 is release) [LVL=0]"
+ echo " --enable-profiling enables profiling (can be mixed with --enable-debug)"
+ echo " --enable-dedicated compile a dedicated server (without video-drivers)"
+ echo " --enable-static enable static compile (doesn't work for all HOSTs)"
+ echo " --enable-translator enable extra output for translators"
+ echo " --enable-universal enable universal builds (OSX ONLY)"
+ echo " --enable-osx-g5 enables optimalizations for G5 (OSX ONLY)"
+ echo " --disable-network disable network support"
+ echo " --disable-assert disable asserts (on error, program just continues)"
+ echo " --disable-strip disable any possible stripping"
+ echo " --without-osx-sysroot disable the automatic adding of sysroot (OSX ONLY)"
+ echo " --without-application-bundle disable generation of application bundle (OSX ONLY)"
+ echo " --with-direct-music enable direct music support (Win32 ONLY)"
+ echo " --with-sort=sort define a non-default location for sort"
+ echo " --with-midi=midi define which midi-player to use"
+ echo " --with-midi-arg=arg define which args to use for the midi-player"
+ echo " --with-cocoa enables COCOA video driver (OSX ONLY) support"
+ echo " --with-sdl[=sdl-config] enables SDL video driver support"
+ echo " --with-zlib[=zlib.a] enables zlib support"
+ echo " --with-png[=libpng-config] enables libpng support"
+ echo " --with-freetype[=freetype-config]"
+ echo " enables libfreetype support"
+ echo " --with-fontconfig[=pkg-config fontconfig]"
+ echo " enables fontconfig support"
+ echo " --with-iconv[=iconv-path] enables iconv support"
+ echo " --with-makedepend[=makedepend] enables makedepend support"
+ echo ""
+ echo "Some influential environment variables:"
+ echo " CC C compiler command"
+ echo " CXX C++ compiler command"
+ echo " CFLAGS C compiler flags"
+ echo " WINDRES windres command"
+ echo " LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries"
+ echo " in a nonstandard directory <lib dir>"
+ echo ""
+ echo "Use these variables to override the choices made by 'configure' or to help"
+ echo "it to find libraries and programs with nonstandard names/locations."
+}