Files @ r4381:c965d1f3016a
Branch filter:

Location: cpp/openttd-patchpack/source/configure - annotation

belugas
(svn r6131) -Codechange : Complete all missing _ttdpatch_flags entries
-Feature : both unifiedmaglevmode are now set.
Maglev and monorail are not allowed to run on each other tracks and will not be.
Setting those flags will allow grfsets as the Norvegian one to be loaded
-Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations
-Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3200:de20afe05adc
r3200:de20afe05adc
r3302:8eb316aa2bd2
r3200:de20afe05adc
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r4094:797cfe595dd2
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3408:c3a86e4e368a
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3408:c3a86e4e368a
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3221:abced5cbce62
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3200:de20afe05adc
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3305:7abe03ef7533
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3302:8eb316aa2bd2
r3302:8eb316aa2bd2
r3302:8eb316aa2bd2
r3200:de20afe05adc
r3305:7abe03ef7533
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r4094:797cfe595dd2
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r4094:797cfe595dd2
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r4094:797cfe595dd2
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r4094:797cfe595dd2
r4094:797cfe595dd2
r4094:797cfe595dd2
r4094:797cfe595dd2
r4094:797cfe595dd2
r4094:797cfe595dd2
r3306:6416bf3ee8e4
r3306:6416bf3ee8e4
r3306:6416bf3ee8e4
r3306:6416bf3ee8e4
r3306:6416bf3ee8e4
r3306:6416bf3ee8e4
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3201:9e3e7f8ff6ed
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3408:c3a86e4e368a
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3406:09c16306d4ff
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3406:09c16306d4ff
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3406:09c16306d4ff
r3198:2fd76a5c7026
r4094:797cfe595dd2
r3406:09c16306d4ff
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3305:7abe03ef7533
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3201:9e3e7f8ff6ed
r3198:2fd76a5c7026
r3201:9e3e7f8ff6ed
r3201:9e3e7f8ff6ed
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3202:9eef9ae84c2b
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3198:2fd76a5c7026
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r3205:d6457bf4d56d
r4009:ad8ed2ae7cac
r3205:d6457bf4d56d
r3305:7abe03ef7533
r3305:7abe03ef7533
r3305:7abe03ef7533
r3198:2fd76a5c7026
r4094:797cfe595dd2
r4094:797cfe595dd2
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
r3200:de20afe05adc
#!/bin/sh

# This 'configure' script is a very easy wrapper around 'make updateconf'
#  It allows cross-compilers to do their job much more easy.

function showhelp() {
	echo "Configure for OpenTTD"
	echo ""
	echo "Usage:"
	echo " $0 --your_options"
	echo ""
	echo "Params:"
	echo " --debug            Create debug-release                [no]"
	echo " --profile          Create profile-release              [no]"
	echo " --dedicated        Make a dedicated build              [no]"
	echo " --revision         Set the revision of the compilation [detected]"
	echo " --target-cc        Sets the target-compiler            [\$CC]"
	echo " --target-cxx       Sets the C++ target-compiler        []"
	echo " --host-cc          Sets the host-compiler              [\$CC]"
	echo " --host-cxx         Sets the C++ host-compiler          []"
	echo " --os               Sets the OS. Listens to:            [detected]"
	echo "                       UNIX, OSX, FREEBSD, MORPHOS"
	echo "                       BEOS, SUNOS, CYGWIN, MINGW"
	echo " --windres          Sets the windres (Windows)          [windres]"
	echo " --force-le         Force LE platform                   [no]"
	echo " --force-be         Force BE platform                   [no]"
	echo ""
	echo "Params that can be used with --with or --without"
	echo "   (e.g.: --without-static disables static (default))"
	echo " static             Do you want a static build?         [no]"
	echo " directmusic        Do you want direct-music?           [no]"
	echo " zlib               Do you want zlib-support?           [yes]"
	echo " sdl                Do you want SDL-support?            [yes]"
	echo " png                Do you want PNG-support?            [yes]"
	echo " iconv              Do you want iconv-support?          [no]"
	echo " cocoa              Do you want cocoa-support? (MacOSX) [no]"
	echo ""
	echo "Params used to configure external libs:"
	echo " --static-zlib-path Set the path to your static zlib    []"
	echo " --sdl-config       Where is your sdl-config            [sdl-config]"
	echo " --libpng-config    Where is your libpng-config         [libpng-config]"
	echo " --with-iconv       Set the path to your iconv headers  []"
	echo " "
}

function handle() {
	PARAM="$PARAM \"$1=`awk 'BEGIN { FS="="; $0="'"$2"'"; print $2;}'`\""
}

# The things you can use inside this case:
#  handle NAME VALUE - Sets the value to give the 'make upgradeconf'
#                         Value is in form: tag=REAL_VALUE
#  ITEM="NAME"       - Will set the value as above, only with the next param
#  SITEM="NAME"      - Will set the var $NAME to the next param
for n in "$@"
do
	case "$n" in
		--help | -h)
			showhelp
			exit 0
			;;

		--debug)
			DEBUG_SET=1
			ITEM="DEBUG"
			;;
		--debug=*)
			handle "DEBUG" "$n"
			;;
		--profile)
			PARAM="$PARAM PROFILE=1"
			;;
		--dedicated)
			PARAM="$PARAM DEDICATED=1"
			;;
		--revision=*)
			RELEASE=`awk 'BEGIN { FS="="; $0="'"$n"'"; print $2;}'`
			;;
		--revision)
			SITEM="RELEASE"
			;;
		--target-cc=*)
			handle "CC_TARGET" "$n"
			;;
		--target-cc)
			ITEM="CC_TARGET"
			;;
		--target-cxx=*)
			handle "CXX_TARGET" "$n"
			;;
		--target-cxx)
			SITEM="CXX_TARGET"
			;;
		--host-cc=*)
			handle "CC_HOST" "$n"
			;;
		--host-cc)
			ITEM="CC_HOST"
			;;
		--host-cxx=*)
			handle "CXX_HOST" "$n"
			;;
		--host-cxx)
			ITEM="CXX_HOST"
			;;
		--host-cflags=*)
			handle CFLAGS_HOST "$n"
			;;
		--host-cflags)
			ITEM="CFLAGS_HOST"
			;;
		--os=*)
			TARGET_OS=`awk 'BEGIN { FS="="; $0="'"$n"'"; print $2;}'`
			;;
		--os)
			SITEM="TARGET_OS"
			;;
		--windres=*)
			handle WINDRES "$n"
			;;
		--windres)
			ITEM="WINDRES"
			;;
		--force-le)
			PARAM="$PARAM ENDIAN_FORCE=LE"
			;;
		--force-be)
			PARAM="$PARAM ENDIAN_FORCE=BE"
			;;

		--with-static)
			PARAM="$PARAM STATIC=1"
			;;
		--without-static)
			PARAM="$PARAM STATIC="
			;;
		--with-directmusic)
			PARAM="$PARAM WITH_DIRECTMUSIC=1"
			;;
		--without-directmusic)
			PARAM="$PARAM WITH_DIRECTMUSIC="
			;;
		--with-zlib)
			PARAM="$PARAM WITH_ZLIB=1"
			;;
		--without-zlib)
			PARAM="$PARAM WITH_ZLIB="
			;;
		--with-sdl)
			PARAM="$PARAM WITH_SDL=1"
			;;
		--without-sdl)
			PARAM="$PARAM WITH_SDL="
			;;
		--with-png)
			PARAM="$PARAM WITH_PNG=1"
			;;
		--without-png)
			PARAM="$PARAM WITH_PNG="
			;;
		--with-iconv)
			PARAM="$PARAM WITH_ICONV=1"
			;;
		--with-iconv=*)
			PARAM="$PARAM WITH_ICONV=1"
			handle WITH_ICONV_PATH "$n"
			;;
		--without-iconv)
			PARAM="$PARAM WITH_ICONV="
			;;
		--with-cocoa)
			PARAM="$PARAM WITH_COCOA=1"
			;;
		--without-cocoa)
			PARAM="$PARAM WITH_COCOA="
			;;
		--static-zlib-path=*)
			handle STATIC_ZLIB_PATH "$n"
			;;
		--static-zlib-path)
			ITEM="STATIC_ZLIB_PATH"
			;;
		--sdl-config=*)
			handle SDL_CONFIG "$n"
			;;
		--sdl-config)
			ITEM="SDL_CONFIG"
			;;
		--libpng-config=*)
			handle LIBPNG_CONFIG "$n"
			;;
		--libpng-config)
			ITEM="LIBPNG_CONFIG"
			;;

		--*=*)
			echo -n "Unknown switch "
			echo `awk 'BEGIN { FS="="; $0="'"$n"'"; print $1;}'`
			exit 1
			;;
		-*)
			echo "Unknown switch $n"
			exit 1
			;;

		*)
			if ! test -z "$ITEM"
			then
				PARAM="$PARAM $ITEM=\"$n\""
				ITEM="";
			elif ! test -z "$SITEM"
			then
				export $SITEM="$n"
				SITEM=""
			else
				echo "Unknown switch $n"
				exit 1
			fi
			;;
	esac
done

if ! test -z "$TARGET_OS"
then
	TARGET_OS=`echo $TARGET_OS | tr '[:lower:]' '[:upper:]'`
	case "$TARGET_OS" in
		WIN32)
			PARAM="$PARAM WIN32=1"
			;;
		UNIX)
			PARAM="$PARAM UNIX=1"
			;;
		OSX)
			PARAM="$PARAM OSX=1 UNIX=1"
			;;
		FREEBSD)
			PARAM="$PARAM FREEBSD=1"
			;;
		MORPHOS)
			PARAM="$PARAM MORPHOS=1 UNIX=1"
			;;
		BEOS)
			PARAM="$PARAM BEOS=1 UNIX=1"
			;;
		SUNOS)
			PARAM="$PARAM SUNOS=1 UNIX=1"
			;;
		CYGWIN)
			PARAM="$PARAM CYGWIN=1 WIN32=1"
			;;
		MINGW)
			PARAM="$PARAM MINGW=1 WIN32=1"
			;;
		*)
			echo "Unknown OS: $TARGET_OS"
			exit 1
			;;
	esac
	PARAM="$PARAM BYPASS_OS_DETECT=1"
fi

if ! test -z "$DEBUG_SET"
then
	if test -z "`echo $PARAM | grep "DEBUG="`"
	then
		# Someone did --debug, without assigning a value, assume 1
		PARAM="$PARAM DEBUG=1"
	fi
fi

# First remove the Makefile.config, else you can have double entries
rm -f Makefile.config

echo "make upgradeconf $PARAM" > Makefile.run
. Makefile.run
rm -f Makefile.run

# Makefile.config currently doesn't support custom RELEASE (revision), so, we add the line
# yourself!

if ! test -z "$RELEASE"
then
	echo "RELEASE=$RELEASE" >> Makefile.config
fi