From 02944c9fcb8b457c9b0af53384ce449c12da502e Mon Sep 17 00:00:00 2001 From: nehalmistry <> Date: Sat, 8 Feb 2003 18:20:25 +0000 Subject: [PATCH] remove configure script --- configure | 1246 ----------------------------------------------------- 1 file changed, 1246 deletions(-) delete mode 100755 configure diff --git a/configure b/configure deleted file mode 100755 index ec843b1ba..000000000 --- a/configure +++ /dev/null @@ -1,1246 +0,0 @@ -#!/bin/bash -## ___________ _________ _____ __ -## \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_ -## | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __\ -## | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | | -## \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__| -## \/ \/ \/ \/ \/ -## ______________________ ______________________ -## T H E W A R B E G I N S -## FreeCraft - A free fantasy real time strategy game engine -## -## configure - Configure Rules.make (GNU MAKE rules). -## -## (c) Copyright 2000-2002 by Dan Hensley, Nehal Mistry. -## Additional sections (c) Copyright 2002 Patrick McFarland -## -## FreeCraft is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published -## by the Free Software Foundation; only version 2 of the License. -## -## FreeCraft is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## $Id$ -## -##----------------------------------------------------------------------------- -## HERE ARE SOME USER-CONFIGURABLE VARIABLES - -EXTRA_CFLAGS="-DUNIT_ON_MAP -DNEW_AI -DUSE_LIBMODPLUG -DUSE_HP_FOR_XP -DNEW_FOW" - -## These could be used for experimental versions -## --------------------------------------------- -## SLOW_INPUT If you have problems that events aren't fetched. -## BPP8_* Only for X11 8bpp common palette: -## BPP8_NORMAL disables default, like other Xbpp (delivers errors) -## BPP8_WINSAFE Uses a windows safe palette instead. -## BPP8_IRGB Uses a palette based on 4x4x4 RGB in 4 intensities -## There are some still not well tested code parts or branches. -## UNIT_ON_MAP Fast lookup of units -## UNITS_ON_MAP Faster lookup of units -## NEW_AI New better improved AI code -## USE_TILECACHE Faster tile drawing, costs memory. -## USE_SMART_TILECACHE Faster tile drawing, slow with hardware video memory. -## USE_HP_FOR_XP Use hit-points for XP calculations. -## USE_LIBMODPLUG Use modplug audio player support. -## USE_FLAC Use flac audio player support (asked by setup). -## USE_OGG Use ogg audio player support (asked by setup). -## USE_MAD Use mad mp3 audio player support (asked by setup). -## These aren't working yet: -## NEW_MAPDRAW Stephans new map draw code (value>1 shows update) -## USE_FFMPEG Use ffmpeg video player support. -## NEW_FOW New fog of war code, should work correct -## NEW_SHIPS New correct ship movement. -## HIERARCHIC_PATHFINDER Use hierarchic pathfinder -## USE_LUA Lua scripting support - -##----------------------------------------------------------------------------- - -# if your system/distribution lacks libpng, you may install the source -# in the freecraft directory and name that directory here! -# Default (tested) version is 1.0.12, anything above should also be ok. -# Adjust as required - ignored if the directory does not exist. -LOCAL_PNG="libpng-1.0.12" - -# Please note that on most systems libpng also requires libz, so -# you might additionally need to install the following: - -# if your system/distribution lacks libz, you may install the source -# in the freecraft directory and name that directory here! -# Default (tested) version is 1.1.4, anything above should also be ok. -# Adjust as required - ONLY USED IF SYSTEM HAS NO ZLIB INSTALLED BY DEFAULT! -LOCAL_ZLIB="zlib-1.1.4" - -BEOS_CONFIGFILE=/boot/home/config/settings/FreeCraft/FreeCraft.cfg - -##----------------------------------------------------------------------------- -## Everything below this line should only be changed by FreeCraft developers. - -if [ "`echo $* | grep \"\-\-win32\"`" = "" ]; then - RULESFILE=Rules.make - DEPEND=depend -else - RULESFILE=Rules.make.WIN32 - DEPEND=win32new - CROSS=" win32" -fi - -if [ x`read -n 1 -t 0 2>&1 | grep e` = x ]; then - N="-n1" -fi - -cat << .. > $RULESFILE -## ___________ _________ _____ __ ## -## \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\_/ |_ ## -## | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \ \ _\ \_ _\ ## -## | \ | | \/\ ___/\ ___/\ \____| | \// __ \ | | | | ## -## \___ / |__| \___ >\___ >\______ /|__| (____ /|__| |__| ## -## \/ \/ \/ \/ \/ ## -## ## -## AUTO CONFIGURING PROGRAM ## -.. - -# NOTE! Never put \\ back to back in an acsii art drawing like above! - -## -- The part I cut out, to make it fit. -## ______________________ ______________________ ## -## T H E W A R B E G I N S ## -## FreeCraft - A free fantasy real time strategy game engine ## -## -- - -# Compile commands -CC=gcc -CCLD=$CC -RM="rm -f" -if [ "x`uname -a | grep -is bsd`" != x ] ; then - MAKE=gmake - EXTRA_CFLAGS="$EXTRA_CFLAGS -DBSD" -else - MAKE=make -fi -if [ "x`uname -a | grep -is bsd`" != x ] ; then - DL= -else - DL=-ldl -fi - -#------------------------------------------------------------------------------ -# DON'T CHANGE ANYTHING FROM HERE DOWN UNLESS YOU KNOW WHAT YOU ARE DOING - -VERSION="-DVERSION=\"1.18pre1\"" -UNIX=0 -BEOS=0 -WIN32=0 -DARWIN=0 - -# Choose optimization level -#DEBUG_CFLAGS="-g -O0 -fsigned-char \$(PROFILE) -pipe -Wall \$(IFLAGS) \$(DFLAGS)" -DEBUG_CFLAGS="-g -O1 -fsigned-char -W -Wall \$(IFLAGS) \$(DFLAGS)" -#-- Production (default) -NORMAL_CFLAGS="-O2 -pipe -fsigned-char -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math \$(IFLAGS) \$(DFLAGS)" - -# Note, -fconserve-space is really not recommended for gcc 3.x. Rtfm on gcc, -# in the -fconserve-space section. - -# Additionally selected ops. Email unknown@panax.com before ever changing -# these. - -SUPEROPT="-O3 -pipe -fsigned-char -fomit-frame-pointer -foptimize-sibling-calls -ffast-math -fstrength-reduce -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop -frerun-loop-opt -fgcse -fgcse-lm -fgcse-sm -fdelete-null-pointer-checks -fexpensive-optimizations -fschedule-insns2 -funroll-loops -frename-registers -fno-cprop-registers \$(IFLAGS) \$(DFLAGS) -Wno-comment" - -#------------------------------------------------------------------------------ -# Function declarations - -function check_for_libs() { - - TEMPFILE=temp$$ - cat << " EOF" > $TEMPFILE.c - int main(){ int i; } - EOF - if [ "x`cc -o $TEMPFILE.a -w $TEMPFILE.c $LIBCHECK 2>&1`" = x ] ; then - rm -f $TEMPFILE.[coa] > /dev/null 2>&1 - return 0 - elif [ "x`gcc -o $TEMPFILE.a -w $TEMPFILE.c $LIBCHECK 2>&1`" = x ] ; then - rm -f $TEMPFILE.[coa] > /dev/null 2>&1 - return 0 - else - rm -f $TEMPFILE.[coa] > /dev/null 2>&1 - return 1 - fi -} - -#------------------------------------------------------------------------------ -# Parse input arguments - -while [ $# != 0 ] ; do - case $1 in - "-?"|"--help") - echo - echo "usage: setup [--static] [--unix] [--beos] [--win32] [--darwin] [--debug] [--profile]" - echo - echo "Setup will create a Rules.make file (or Rules.make.WIN32" - echo "if --win32 forced) that Freecraft needs to compile." - echo "Supported command-line arguments (you may use more than one at a time):" - echo " static : Compile Freecraft using static libraries (default dynamic)" - echo " unix : Force Unix/Linux compile options (default auto check)" - echo " beos : Force BeOS compile options (default auto check)" - echo " win32 : Force WIN32 compile options (default auto check)" - echo " darwin : Force Darwin compile options (default auto check)" - echo " debug : Compile with debug options (default no)" - echo " profile : Compile with profile support (default off)" - echo - exit - ;; - - "--static") - STATIC=-static - ;; - - "--unix") - UNIX=1 - BEOS=0 - WIN32=0 - DARWIN=0 - ;; - - "--beos") - UNIX=0 - BEOS=1 - WIN32=0 - DARWIN=0 - ;; - - "--win32") - UNIX=0 - BEOS=0 - WIN32=1 - DARWIN=0 - ;; - - "--darwin") - UNIX=0 - BEOS=0 - WIN32=0 - DARWIN=1 - ;; - - "--profile") - PROFILE=-pg - ;; - - "--debug") - CFLAGS=$DEBUG_CFLAGS - DEBUG=1 - ;; - - *) - echo "Unknown command-line option '$1'" - exit - - esac - - shift -done - -# -# Display banner - -cat $RULESFILE -echo >> $RULESFILE -echo - -#------------------------------------------------------------------------------ -# Determine if this is for UNIX, BEOS, or WIN32 - -if [ "$UNIX" != 1 ] ; then - if [ "$BEOS" != 1 ] ; then - if [ "$WIN32" != 1 ] ; then - if [ "$DARWIN" != 1 ] ; then - -if [ "$WIN32" = 0 ] ; then - if [ "x`uname | grep -is cygwin`" != x ] \ - || [ "x`uname | grep -is MINGW`" != x ] ; then - UNIX=0 - BEOS=0 - WIN32=1 - DARWIN=0 - echo "Cygwin/win32 environment detected.. Use --darwin, --unix or --beos to override" - fi -fi - -if [ "$BEOS" = 0 ] ; then - if [ "x`uname -a | grep -is beos`" != x ] ; then - UNIX=0 - BEOS=1 - WIN32=0 - DARWIN=0 - echo "BeOS environment detected. Use --darwin, --unix or --win32 to override" - fi -fi - -if [ "$DARWIN" = 0 ] ; then - if [ "x`uname -a | grep -is darwin`" != x ] ; then - DARWIN=1 - UNIX=0 - BEOS=0 - WIN32=0 - CC=cc - CCLD=c++ - NORMAL_CFLAGS="$NORMAL_CFLAGS -traditional-cpp" - SUPEROPT="$SUPEROPT -traditional-cpp" - DEBUG_CFLAGS="$DEBUG_CFLAGS -tranditional-cpp" - echo "Darwin environment detected. Use --beos, --win32 or --unix to override." - fi -fi - -if [ "$UNIX" = 0 ] ; then - if [ "$BEOS" = 0 ] ; then - if [ "$WIN32" = 0 ] ; then - if [ "$DARWIN" = 0 ] ; then - UNIX=1 - BEOS=0 - WIN32=0 - DARWIN=0 - echo "UNIX environment detected. Use --beos, --win32 or --darwin to override." - fi - fi - fi -fi - -fi -fi -fi -fi - -echo - -#------------------------------------------------------------------------------ -# libpng support part -#------------------------------------------------------------------------------ -echo "VIDEO DRIVER SETUP" -echo -echo -n "Checking for PNG library..." - -# libpng most likely requires libz.a, so check for it first.. -LIBCHECK="-lz"; check_for_libs -if [ "$?" = 0 ] ; then - HAVE_LIBZ=1 - PNG_EXTRA="-lz" -else - LIBCHECK="-lz -L./$LOCAL_ZLIB"; check_for_libs - if [ "$?" = 0 ] ; then - HAVE_LIBZ=2 - PNG_EXTRA="$LIBCHECK" - fi -fi - -PNG_PATH="-L/usr/local/lib" -PNG_LOCAL=0 -if [ -d $LOCAL_PNG ] ; then - PNG_PATH="-L./\$LOCAL_PNG" - PNG_LOCAL=1 -fi -LIBCHECK="$PNG_PATH -lpng $PNG_EXTRA"; check_for_libs -if [ "$?" = 0 ] ; then - if [ "$PNG_LOCAL" = 1 ] ; then - echo " Found, (local: $LOCAL_PNG)."; - else - echo " Found."; - fi -else -# Newer libpng (1.2.5 up) may need pow() from libm - LIBCHECK="$PNG_PATH -lpng $PNG_EXTRA -lm"; check_for_libs - if [ "$?" = 0 ] ; then - PNG_EXTRA="$PNG_EXTRA -lm" - if [ "$PNG_LOCAL" = 1 ] ; then - echo " Found, (local: $LOCAL_PNG)."; - else - echo " Found."; - fi - else - echo " NOT FOUND!"; - echo - echo "...You do not appear to have a working PNG library installed!" - echo - echo "libpng is required for freecraft to compile. Please " - echo "refer to the LOCAL_PNG section in the setup script to " - echo "find out how to install a local copy to compile freecraft." - echo - echo "Please also note that the PNG library most likely also" - echo "requires the GZIP compression library. If you are sure" - echo "to have libpng installed, but this test still fails," - echo "check out for libz. You may refer to the LOCAL_ZLIB" - echo "section of this script to find out how to install a local" - echo "local copy of the libz." - echo - - exit 1 - fi -fi - -#------------------------------------------------------------------------------ -# Compile commands -#------------------------------------------------------------------------------ - -echo "# Compile commands" >> $RULESFILE -echo "CC=$CC" >> $RULESFILE -echo "CCLD=$CCLD" >> $RULESFILE -echo "RM=$RM" >> $RULESFILE -echo "MAKE=$MAKE" >> $RULESFILE -echo >> $RULESFILE - -#------------------------------------------------------------------------------ -# Install part -#------------------------------------------------------------------------------ - -if [ "$WIN32" = 0 ] ; then - echo "# Prefix for 'make install'" >> $RULESFILE - echo "PREFIX=${PREFIX-/usr/local}" >> $RULESFILE - echo >> $RULESFILE -fi - -#------------------------------------------------------------------------------ -# SIOD support part -#------------------------------------------------------------------------------ - -echo "# Use SIOD support" >> $RULESFILE -if [ "$BEOS" != 1 ] ; then - if [ "$DARWIN" != 1 ] ; then - echo "CCL = -DUSE_CCL" >> $RULESFILE - echo "CCLLIB = -lm" >> $RULESFILE - else - echo "CCL = -DUSE_CCL" >> $RULESFILE - echo "CCLLIB = -dl" >> $RULESFILE - fi -else - echo "CCL = -DUSE_CCL -DUSE_BEOS" >> $RULESFILE - echo "CCLLIB =" >> $RULESFILE -fi -echo >> $RULESFILE - -#------------------------------------------------------------------------------ -# Video driver part -#------------------------------------------------------------------------------ - -# Check for various libraries -echo -n "Checking for various video libraries..." - -# Check for SDL >= 1.x -if [ "x`uname -a | grep -is bsd`" != x ] ; then - SDL_CONFIG=sdl11-config -else - SDL_CONFIG=sdl-config -fi -if [ "x`$SDL_CONFIG --version 2>/dev/null`" = x ] ; then - echo " SDL not found..." - ALL_YOUR_BASE=0 -else - HAVESDL=1 - echo -n " Found SDL..." -fi - -if [ "$BEOS" != 1 ] ; then - -if [ "$DARWIN" != 1 ] && [ "$WIN32" != 1 ] ; then - # Check for SVGALIB - LIBCHECK="-lvga -lvgagl" - check_for_libs - if [ "$?" = 0 ] ; then - HAVESVGA=1 - echo " Found SVGALIB..." - else - echo " SVGALIB not found..." - ARE_BELONG_TO_US=0 - fi -fi - -if [ "$WIN32" = 0 ] ; then - echo - echo "What video outputs do you wish to be enabled?" - echo - echo " X-X11 Support (default)" - - if [ $HAVESDL = 1 ] ; then - echo " S-SDL Support" - fi - if [ "$HAVESVGA" = 1 ] ; then - echo " V-SVGALIB Support" - fi - if (test "$HAVESVGA" = 1 && test $HAVESDL = 1) ; then - echo " B-SDL/SVGALIB Support" - fi - echo - echo -n "Please enter selection: " - read $N VIDSEL - echo -fi - -else - -if [ $HAVESDL = 1 ] ; then - VIDSEL="S" -else - echo "FreeCraft on BeOS currently only supports SDL for video" - echo "Please install SDL and try again." - exit -1 -fi - -fi - -# - -echo "# Video support" >> $RULESFILE -case $VIDSEL in - [sS]) - echo -n "Using SDL.." - USESDL=1 - SDLLIB="\$(shell $SDL_CONFIG --libs)" - echo "SDL = -DUSE_SDL -DUSE_SDLA \$(SDL_CFLAGS)" >> $RULESFILE - echo "SDL_CFLAGS := \$(shell $SDL_CONFIG --cflags)" >> $RULESFILE - - if [ x$STATIC != x ] ; then - SDLLIB="\$(shell $SDL_CONFIG --static-libs)" - fi - - echo "SDLLIB := $SDLLIB" >> $RULESFILE - echo >> $RULESFILE - echo "VIDEO = \$(SDL)" >> $RULESFILE - if [ "$BEOS" != 1 ] ; then - echo "VIDEOLIB = \$(SDLLIB) $DL" >> $RULESFILE - else - echo "VIDEOLIB = \$(SDLLIB)" >> $RULESFILE - fi - - echo - ;; - - [vV]) - echo "Using SVGALIB..." - echo "VIDEO = -DUSE_SVGALIB" >> $RULESFILE - echo "VIDEOLIB = -lvga $DL" >> $RULESFILE - ;; - - [bB]) - echo -n "Using SDL/SVGALIB..." - USESDL=1 - SDLLIB="\$(shell $SDL_CONFIG --libs)" - echo "SDL = -DUSE_SDL -DUSE_SDLA \$(SDL_CFLAGS)" >> $RULESFILE - echo "SDL_CFLAGS := \$(shell $SDL_CONFIG --cflags)" >> $RULESFILE - - if [ x$STATIC != x ] ; then - SDLLIB="$SDLLIB -lesd" - fi - - echo "SDLLIB := $SDLLIB" >> $RULESFILE - echo >> $RULESFILE - echo "VIDEO = \$(SDL)" >> $RULESFILE - echo "VIDEOLIB = \$(SDLLIB) -lvga -lvgagl $DL" >> $RULESFILE - echo - ;; - - *) - if [ "$WIN32" = 1 ] ; then - echo "Using SDL..." - USESDL=1 - SDLLIB="\$(shell $SDL_CONFIG --libs)" - echo "SDL = -DUSE_SDL -DUSE_SDLA \$(SDL_CFLAGS)" >> $RULESFILE - echo "SDL_CFLAGS := \$(shell $SDL_CONFIG --cflags)" >> $RULESFILE - if [ x$STATIC != x ] ; then - SDLLIB="$SDLLIB -lesd" - fi - echo "SDLLIB := $SDLLIB" >> $RULESFILE - echo >> $RULESFILE - else - echo "Using X11..." - echo "VIDEO = -DUSE_X11" >> $RULESFILE - echo "VIDEOLIB = -lXext -lX11 $DL" >> $RULESFILE - fi - ;; - -esac -echo "" >> $RULESFILE - -# -# Put in Cygwin/win32 stuff if necessary, and test for mingw32 - -if [ "$WIN32" = 1 ] ; then - echo "VIDEO = -DUSE_WIN32 \$(SDL)" >> $RULESFILE - if [ "x`gcc -v 2>&1 | grep -is mingw32`" = x ] ; then - echo "VIDEOLIB = \$(SDLLIB) -lwsock32 -lws2_32" >> $RULESFILE - else - echo "VIDEOLIB = \$(SDLLIB) -lwsock32 -lws2_32" >> $RULESFILE - fi -fi - -#------------------------------------------------------------------------------ -# Sound part -#------------------------------------------------------------------------------ - -echo -echo -echo SOUND DRIVER OPTIONS -echo -n "Do you want to compile with sound? (y) " -read $N ANSWER -echo -case $ANSWER in - [nN]) - echo "No sound support..." - ;; - - *) - echo "Compiling with sound support..." - echo - echo "# Sound support" >> $RULESFILE - echo "DSOUND = -DWITH_SOUND" >> $RULESFILE - - echo -n "Checking for various sound libraries..." - # Check for arts client - if [ "x`artsc-config --version 2>/dev/null`" = x ] ; then - echo -n " ARTS not found..." - else - echo " ARTS Found..." - echo -n "Do you want use the ARTS Daemon sound output? (y) " - read $N ANSWERA - echo - case $ANSWERA in - [nN]) - echo "ARTS Daemon support disabled." - echo - echo -n "Checking for various sound libraries..." - ;; - *) - HAVEARTS=1 - echo "ARTSC = -DWITH_ARTSC \$(shell artsc-config --cflags)" >> $RULESFILE - echo "ARTSCLIB = \$(shell artsc-config --libs)" >> $RULESFILE - echo "Using ARTS Daemon Support..." - echo - echo -n "Checking for various sound libraries..." - ;; - esac - fi - - if (test "$USESDL" != 1 -a "$HAVEARTS" != 1) ; then - # Check for libpthread - LIBCHECK="-lpthread" - check_for_libs - if [ "$?" = 0 ] ; then - echo - echo - echo "Assuming you have a thread-safe X11 (libc6 or glibc)," - echo -n "Do you want to compile with threaded OSS sound? (n) " - read $N ANSWER2 - echo - case $ANSWER2 in - [yY]) - echo "THREAD = -D_REENTRANT -DUSE_THREAD" >> $RULESFILE - if [ "x`uname -a | grep -is bsd`" != x ] ; then - echo "THREADLIB = -pthread" >> $RULESFILE - else - echo "THREADLIB = -lpthread" >> $RULESFILE - fi - echo "Using Threaded OSS Sound Output..." - echo - echo -n "Checking for various sound libraries..." - ;; - *) - echo "Threaded OSS Sound Ouput Disabled." - echo - echo -n "Checking for various sound libraries..." - ;; - esac - fi - fi - - LIBCHECK="-lFLAC -lm"; check_for_libs - if [ "$?" = 0 ] ; then - echo " LibFLAC Found..." - echo -n "Would you like FLAC support? (n) " - read $N ANSWER - echo - case $ANSWER in - [yY]) - echo "FLAC = -DUSE_FLAC" >> $RULESFILE - echo "FLACLIB = -lFLAC" >> $RULESFILE - echo "Using FLAC support..." - echo - echo -n "Checking for various sound libraries..." - ;; - *) - echo "Disabling FLAC support." - echo - echo -n "Checking for various sound libraries..." - ;; - esac - else - echo " LibFLAC not found..." - fi - - LIBCHECK="-lvorbisfile -lvorbis -logg"; check_for_libs - if [ "$?" = 0 ] ; then - echo " Vorbis Found..." - echo -n "Would you like Vorbis OGG support? (n) " - read $N ANSWER - echo - case $ANSWER in - [yY]) - echo "OGG = -DUSE_OGG" >> $RULESFILE - echo "OGGLIB = -lvorbisfile -lvorbis -logg" >> $RULESFILE - echo "Using Vorbis OGG support..." - echo - echo -n "Checking for various sound libraries..." - ;; - *) - echo "Disabling Vorbis OGG support." - echo - echo -n "Checking for various sound libraries..." - ;; - esac - else - LIBCHECK="-lvorbisfile"; check_for_libs - if [ "$?" != 0 ] ; then - echo -n "libvorbisfile " - fi - LIBCHECK="-lvorbis"; check_for_libs - if [ "$?" != 0 ] ; then - echo -n "libvorbis " - fi - LIBCHECK="-logg"; check_for_libs - if [ "$?" != 0 ] ; then - echo -n "libogg " - fi - echo "not found" - fi - - LIBCHECK="-lmad"; check_for_libs - if [ "$?" = 0 ] ; then - echo " LibMAD found..." - echo -n "Would you like MAD MP3 support? (n) " - read $N ANSWER - echo - case $ANSWER in - [yY]) - echo "MAD = -DUSE_MAD" >> $RULESFILE - echo "MP3LIB = -lmad" >> $RULESFILE - echo "Using MAD MP3 support..." - ;; - *) - echo "Disabling MAD MP3 support." - ;; - esac - else - echo " LibMAD not found..." - fi - echo - - echo -n "Would you like to use [I]nternal" - if [ $HAVESDL = 1 ] ; then - echo -n ", [S]DL," - fi - echo -n " or [N]o " - echo -n "CD Audio support? (n) " - read $N CDMode - echo - case $CDMode in - [sS]) - echo "Using SDL CD Audio Support..." - USE_SDLCD=1 - USE_LIBCDA=0 - echo "SDLCD = -DUSE_SDLCD" >> $RULESFILE - if [ "$USESDL" != 1 ]; then - echo "SDLCD := $SDLCD \$(shell $SDL_CONFIG --cflags)" >> $RULESFILE - echo "CLONELIBS := \$(shell $SDL_CONFIG --libs)" >> $RULESFILE - fi - echo >> $RULESFILE - ;; - [iI]) - echo "Using Internal (libcda) CD Audio Support..." - USE_SDLCD=0 - USE_LIBCDA=1 - echo "LIBCDA = -DUSE_LIBCDA" >> $RULESFILE - echo >> $RULESFILE - ;; - *) - echo "Disabling CD Audio Support." - USE_SDLCD=0 - USE_LIBCDA=0 - ;; - esac - - ;; -esac - -echo >> $RULESFILE -echo - -#------------------------------------------------------------------------------ -# Compression options part -#------------------------------------------------------------------------------ - -# Check for compression libraries -echo -echo "COMPRESSION OPTIONS" -echo -echo -n "Checking for compression libraries..." - -# libbz2 -LIBCHECK="-lbz2"; check_for_libs -if [ "$?" = 0 ] ; then -HAVE_LIBBZ2=1 -echo -n " LibBZ2 found..." -fi - -# libzzip -LIBCHECK="-lzzip"; check_for_libs -if [ "$?" = 0 ] ; then -HAVE_LIBZZIP=1 -echo -n " LibZZip found..." -fi - -# Determine default compression option based on what's available - -if (test "$HAVE_LIBZ" = 1 -o "$HAVE_LIBZ" = 2 && test "$HAVE_LIBBZ2" = 1) ; then - DEF4=" (default)"; COMPDEF="O" -elif [ "$HAVE_LIBBZ2" = 1 ] ; then - DEF3=" (default)"; COMPDEF="B" -elif [ "$HAVE_LIBZ" = 1 -o "$HAVE_LIBZ" = 2 ] ; then - DEF2=" (default)"; COMPDEF="G" -else - DEF1=" (default)"; COMPDEF="N" -fi - -# Display menu -echo -echo Which compression types do you wish to enable? -echo -echo " N-None"$DEF1 -if [ "$HAVE_LIBZ" = 1 ] ; then - echo " G-GZip"$DEF2 -fi -if [ "$HAVE_LIBZ" = 2 ] ; then - echo " G-GZip"$DEF2 " (local: $LOCAL_ZLIB)" -fi -if [ "$HAVE_LIBBZ2" = 1 ] ; then - echo " B-Bzip2"$DEF3 -fi -if (test "$HAVE_LIBZ" = 1 -o "$HAVE_LIBZ" = 2 && test "$HAVE_LIBBZ2" = 1) ; then - echo " O-Both GZip and Bzip2"$DEF4 -fi -if (test "$HAVE_LIBZ" = 1 -o "$HAVE_LIBZ" = 2 && test "$HAVE_LIBBZ2" = 1 && test "$HAVE_LIBZZIP" = 1 ) ; then - echo " A-All ZZip and GZip and Bzip2"$DEF5 -fi -echo -echo -n "Please enter selection ($COMPDEF): " -read $N COMPOPT -echo - -if [ x$COMPOPT = x ]; then COMPOPT=$COMPDEF; fi - -echo "# Compression support" >> $RULESFILE - -case $COMPOPT in - [nN]) - echo "Disabling All Compression." - echo "ZDEFS =" >> $RULESFILE - echo "ZLIBS =" >> $RULESFILE - ;; - - [bB]) - echo "Using Bzip2 compression..." - echo "ZDEFS = -DUSE_BZ2LIB" >> $RULESFILE - echo "ZLIBS = -lbz2" >> $RULESFILE - ;; - - [oO]) - echo "Using GZ and Bzip2 compression..." - echo "ZDEFS = -DUSE_ZLIB -DUSE_BZ2LIB" >> $RULESFILE - echo "ZLIBS = -lz -lbz2" >> $RULESFILE - ;; - [aA]) - echo "Using GZ, Bzip2, ZZip compression..." - echo "ZDEFS = -DUSE_ZZIPLIB -DUSE_ZLIB -DUSE_BZ2LIB" >> $RULESFILE - echo "ZLIBS = -lzzip -lz -lbz2" >> $RULESFILE - ;; - - *) - echo "Using GZ compression..." - echo "ZDEFS = -DUSE_ZLIB" >> $RULESFILE - echo "ZLIBS = -lz" >> $RULESFILE - ;; - -esac -echo "" >> $RULESFILE - -#------------------------------------------------------------------------------ -# Complining/Optimization Stuff -#------------------------------------------------------------------------------ -echo -echo -echo COMPILE OPTIONS - -if [ "$DEBUG" != 1 ] ; then - echo "Debug Support allows you to debug Freecraft more easily, but disables a lot of" - echo "optimization support, which may cause Freecraft to run much slower." - echo - echo Enable Debug Support? - echo - echo " Y - Yes." - echo " N - No." - echo - echo -n "Please enter selection (n): " - read $N DEBUGASK - case $DEBUGASK in - [yY]) - echo - echo "Debug Support Enabled..." - CFLAGS=$DEBUG_CFLAGS - DEBUG=1 - ;; - [nN]) - echo - echo "Debug Support Disabled." - ;; - esac -fi - - -CCVERS=`$CC -dumpversion` -CCMAJOR=`echo $CCVERS | cut -d. -f 1` -CCMINOR=`echo $CCVERS | cut -d. -f 2` -CCREALLYMINOR=`echo $CCVERS | cut -d. -f 3` - -if [ $CCMAJOR -gt 3 -o $CCMAJOR -eq 3 -a $CCMINOR -ge 2 ] ; then -if [ "$DEBUG" != 1 ] ; then - echo - echo - echo Compiler is $CC $CCMAJOR.$CCMINOR.$CCREALLYMINOR - echo - echo "This autoconfiguring program allows you to tell GCC to use different" - echo "optimizations, based on how stable you want Freecraft. The higher the" - echo "optimization, the more unstable Freecraft is. High Optimization also" - echo "may cause Freecraft to fail to compile, but usually doesnt. High" - echo "Optimization will also increase compile times." - echo - echo " *** DO NOT REPORT BUGS ABOUT A HIGHLY OPTIMIZED FREECRAFT FAILING ***" - echo - echo "Which Optimization Mode do you wish to use?" - echo - echo " N - Normal Optimization, used in Production Binaries." - echo " H - High Optimization, not recommended." - echo - echo -n "Please enter selection (N): " - read $N OPTASK - case $OPTASK in - [hH]) - echo - echo "Using High Optimization." - CFLAGS="$CFLAGS $SUPEROPT" - ;; - *) - echo - echo "Using Normal Optimization." - CFLAGS="$CFLAGS $NORMAL_CFLAGS" - ;; - esac - echo - case $OPTASK in - [hH]) - echo - echo "Specific Processor Optimization:" - echo - echo "You are a brave soul indeed. You can additionally optimize Freecraft, depending" - echo "on what architecture (target machine) you run. If you dont know, or your target" - echo "machine isnt listed, simply press enter." - echo - echo " I - Pentium, Pentium MMX, Pentium Pro Pentium 2, Pentium 3, Pentium 4," - echo " Celeron" - echo " A - AMD K6, K6-2, K6-3, Athlon, Ahtlon Thunderbird, Athlon 4," - echo " Athlon XP, Athlon MP, Duron" - echo - echo -n "Please enter selection: " - read $N TYPEASK - echo - case $TYPEASK in - [iI]) - CFLAGS="$CFLAGS -fno-branch-count-reg" - echo - echo "Choose one:" - echo - echo " A - Pentium" - echo " B - Pentium MMX" - echo " C - Pentium Pro" - echo " D - Pentium 2 or Celeron/Celeron A" - echo " E - Pentium 3 or Celeron with Coppermine Core" - echo " F - Pentium 4" - echo - echo "To choose none, just press enter." - echo -n "Please enter selection: " - read $N PROCASK - case $PROCASK in - [aA]) - CFLAGS="$CFLAGS -march=pentium -malign-double -mpreferred-stack-boundary=3" - ;; - [bB]) - CFLAGS="$CFLAGS -march=pentium-mmx -malign-double -mmmx -mpreferred-stack-boundary=3" - ;; - [cC]) - CFLAGS="$CFLAGS -march=pentiumpro -malign-double -mpreferred-stack-boundary=3" - ;; - [dD]) - CFLAGS="$CFLAGS -march=pentium2 -mmmx" - ;; - [eE]) - CFLAGS="$CFLAGS -march=pentium3 -mmmx -msse -mpreferred-stack-boundary=4 -mfpmath=sse,387" - ;; - [fF]) - CFLAGS="$CFLAGS -march=pentium4 -mmmx -msse -msse2 -mpreferred-stack-boundary=4 -mfpmath=sse,387" - ;; - esac - echo - ;; - [aA]) - CFLAGS="$CFLAGS -fno-branch-count-reg" - echo - echo "Choose one:" - echo - echo " A - K6" - echo " B - K6-2" - echo " C - K6-3" - echo " D - Athlon or Duron (Choose this one if you dont know)" - echo " E - Athlon or Duron /w Thunderbird Core" - echo " F - Athlon 4" - echo " G - Athlon XP" - echo " H - Athlon MP" - echo - echo "To choose none, just press enter." - echo -n "Please enter selection: " - read $N PROCASK - case $PROCASK in - [aA]) - CFLAGS="$CFLAGS -march=k6 -malign-double" - ;; - [bB]) - CFLAGS="$CFLAGS -march=k6-2 -m3dnow -mmmx -malign-double" - ;; - [cC]) - CFLAGS="$CFLAGS -march=k6-3 -m3dnow -mmmx -malign-double" - ;; - [dD]) - CFLAGS="$CFLAGS -march=athlon -m3dnow -mmmx -malign-double" - ;; - [eE]) - CFLAGS="$CFLAGS -march=athlon-tbird -m3dnow -mmmx -malign-double" - ;; - [fF]) - CFLAGS="$CFLAGS -march=athlon-4 -m3dnow -mmmx -msse -malign-double -mfpmath=sse,387 -mpreferred-stack-boundary=4" - ;; - [gG]) - CFLAGS="$CFLAGS -march=athlon-xp -m3dnow -mmmx -msse -malign-double -mfpmath=sse,387 -mpreferred-stack-boundary=4" - ;; - [hH]) - CFLAGS="$CFLAGS -march=athlon-mp -m3dnow -mmmx -msse -malign-double -mfpmath=sse,387 -mpreferred-stack-boundary=4" - ;; - esac - ;; - esac - ;; - esac -fi -fi -if [ $CCMAJOR -ne 3 -o $CCMAJOR -eq 3 -a $CCMINOR -ne 2 ] ; then - if [ "$DEBUG" != 1 ] ; then - echo - echo - echo Compiler is $CC $CCMAJOR.$CCMINOR.$CCREALLYMINOR - echo - echo "Optimization Menu Disabled: Not running GCC 3.2.x" - echo "Using Normal Optimization" - CFLAGS="$CFLAGS $NORMAL_CFLAGS" - fi -fi - -############################################################################### - -############################################################################### -# Write required information to the file - -# May be required on some (older) distributions for libpng and libz! -# extra linker flags and include directory -# -L/usr/lib - -LOCAL_LDF="" -LOCAL_IF="" -if [ "$HAVE_LIBZ" = 2 ] ; then - LOCAL_LDF=" -L\$(TOPDIR)/$LOCAL_ZLIB" - LOCAL_IF="-I\$(TOPDIR)/$LOCAL_ZLIB" - if [ "$DARWIN" = 1 ] ; then - LOCAL_IF="-I\$(TOPDIR)/$LOCAL_ZLIB -I/usr/include -I/usr/include/machine" - fi -else - if [ "$DARWIN" = 1 ] ; then - LOCAL_IF="-I/usr/include -I/usr/include/machine " $LOCAL_IF - fi -fi - -LDF_PNG_PATH="" -IF_PNG_PATH="" -if [ "$PNG_LOCAL" = 1 ] ; then - LDF_PNG_PATH="-L\$(TOPDIR)/$LOCAL_PNG " - IF_PNG_PATH="-I\$(TOPDIR)/$LOCAL_PNG " -fi - -if [ "$WIN32" = 0 ] ; then - echo "XLDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib $LDF_PNG_PATH $LOCAL_LDF" >> $RULESFILE - echo "XIFLAGS = -I/usr/X11R6/include -I/usr/local/include $IF_PNG_PATH $LOCAL_IF" >> $RULESFILE -fi - -echo >> $RULESFILE - -# Add the last bits -# below this, nothing should be changed! - -echo "#####################################################################" >> $RULESFILE -echo "# Don't change anything below here unless you know what you're doing!" >> $RULESFILE -echo >> $RULESFILE - -echo "VERSION= '$VERSION'" >> $RULESFILE -echo "PROFILE=$PROFILE" >> $RULESFILE -echo >> $RULESFILE - -if [ "$BEOS" != 1 ] ; then - if [ "$DARWIN" != 1 ] ; then - # Libraries needed to build tools - echo "TOOLLIBS=\$(XLDFLAGS) -lpng -lz -lm \$(THREADLIB)" >> $RULESFILE - - # Libraries needed to build freecraft - echo "CLONELIBS=$CLONELIBS \$(XLDFLAGS) -lpng -lz -lm \\" >> $RULESFILE - echo " \$(THREADLIB) \$(CCLLIB) \$(VIDEOLIB) \$(ZLIBS) \\" >> $RULESFILE - echo " \$(ARTSCLIB) \$(FLACLIB) \$(OGGLIB) \$(MP3LIB) -lz -lm" >> $RULESFILE - else - # Libraries needed to build tools - echo "TOOLLIBS=\$(XLDFLAGS) -lpng -lz \$(THREADLIB)" >> $RULESFILE - - # Libraries needed to build freecraft - echo "CLONELIBS=\$(XLDFLAGS) -lpng -lz \\" >> $RULESFILE - echo " \$(THREADLIB) \$(CCLLIB) \$(VIDEOLIB) \$(ZLIBS)" >> $RULESFILE - fi -else - # Libraries needed to build tools - echo "TOOLLIBS=\$(XLDFLAGS) -lpng -lz \$(THREADLIB)" >> $RULESFILE - - # Libraries needed to build freecraft - echo "CLONELIBS=\$(XLDFLAGS) -lpng -lz \\" >> $RULESFILE - echo " \$(THREADLIB) \$(CCLLIB) \$(VIDEOLIB) \$(ZLIBS)" >> $RULESFILE -fi - - -echo "DISTLIST=\$(TOPDIR)/distlist" >> $RULESFILE -echo "TAGS=\$(TOPDIR)/src/tags" >> $RULESFILE - -echo >> $RULESFILE -# WIN32 -if [ "$WIN32" = 1 ] ; then - echo "# Win32" >> $RULESFILE - echo "EXE=.exe" >> $RULESFILE - echo "OUTFILE=\$(TOPDIR)/freecraft\$(EXE)" >> $RULESFILE - echo "ARCH=win32" >> $RULESFILE - echo "OE=o" >> $RULESFILE - echo "OBJDIR=winobj" >> $RULESFILE -else -# LINUX - echo "# Linux" >> $RULESFILE - echo "EXE=" >> $RULESFILE - echo "OUTFILE=\$(TOPDIR)/freecraft" >> $RULESFILE - echo "ARCH=linux" >> $RULESFILE - echo "OE=o" >> $RULESFILE - echo "OBJDIR=obj" >> $RULESFILE -fi - -#------------------------------------------------------------------------------ -# architecture-dependent objects - -echo >> $RULESFILE -echo "#ARCHOBJS=stdmman.\$(OE) svgalib.\$(OE) unix_lib.\$(OE) bitm_lnx.\$(OE)" >> $RULESFILE - -# include flags -echo "IFLAGS= -I\$(TOPDIR)/src/include \$(XIFLAGS) -I\$(TOPDIR)/src/movie/vp31/include" >> $RULESFILE - -# define flags -if [ "$DEBUG" = 1 ] ; then - echo "DEBUG= -DDEBUG #-DFLAG_DEBUG" >> $RULESFILE -fi -echo "DFLAGS= \$(THREAD) \$(CCL) \$(VERSION) \\" >> $RULESFILE -echo " \$(VIDEO) \$(ZDEFS) \$(DSOUND) \\" >> $RULESFILE -echo " \$(DEBUG) \$(SDLCD) \$(LIBCDA) \\" >> $RULESFILE -echo -n " \$(ARTSC) \$(FLAC) \$(OGG) \$(MAD) " >> $RULESFILE - -echo -echo -n "Are you using the WarCraft 2 Expansion CD? (n): " -read $N YESORNO -echo -if [ "$YESORNO" = "Y" -o "$YESORNO" = "y" ] ; then -echo -n " -DHAVE_EXPANSION" >> $RULESFILE -fi - -echo "" >> $RULESFILE - -echo "CFLAGS=$CFLAGS $STATIC $EXTRA_CFLAGS" >> $RULESFILE - -## JOHNS: my ctags didn't support -#CTAGSFLAGS=-i defmpstuvFS -a -f - -echo "CTAGSFLAGS=-i defptvS -a -f " >> $RULESFILE -echo >> $RULESFILE - -# -# Locks versions with symbolic name - -echo "# Locks versions with a symbolic name" >> $RULESFILE -echo "LOCKVER= rcs -q -n\$(NAME)" >> $RULESFILE -echo >> $RULESFILE - -#------------------------------------------------------------------------------ - -# -# Source code documentation - -echo "# Source code documentation" >> $RULESFILE - -echo "DOXYGEN= doxygen" >> $RULESFILE - -echo "DOCIFY= docify" >> $RULESFILE -echo "DOCPP= doc++" >> $RULESFILE -# Still didn't work -#echo "DOCIFY= /root/doc++-3.3.11/src/docify" >> $RULESFILE -#echo "DOCPP= /root/doc++-3.3.11/src/doc++" >> $RULESFILE - -echo >> $RULESFILE -echo "%.doc: %.c" >> $RULESFILE -echo " @\$(TOPDIR)/tools/aledoc \$< | \$(DOCIFY) > \$*-c.doc 2>/dev/null" >> $RULESFILE - -echo "%.doc: %.h" >> $RULESFILE -echo " @\$(TOPDIR)/tools/aledoc \$< | \$(DOCIFY) > \$*-h.doc 2>/dev/null" >> $RULESFILE - -#------------------------------------------------------------------------------ -# Final comments - -echo -echo "Done generating $RULESFILE." -echo -echo -n "Would you like to compile it now? (y) " -read $N ANSWER -echo - -case $ANSWER in - [nN]) - echo - echo "Done generating $RULESFILE. Type '$MAKE $DEPEND && $MAKE$CROSS' to compile freecraft." - echo - ;; - *) - echo - $MAKE $DEPEND - $MAKE$CROSS - ;; - -esac