Merge branch 'master' into cpp-11
# Conflicts: # config.lib # projects/openttd_vs100.vcxproj # projects/openttd_vs100.vcxproj.filters # projects/openttd_vs80.vcproj # projects/openttd_vs90.vcproj # src/saveload/saveload.cpp
This commit is contained in:
292
config.lib
292
config.lib
@@ -31,7 +31,6 @@ set_default() {
|
||||
awk="awk"
|
||||
pkg_config="pkg-config"
|
||||
os="DETECT"
|
||||
endian="AUTO"
|
||||
cpu_type="DETECT"
|
||||
config_log="config.log"
|
||||
prefix_dir="/usr/local"
|
||||
@@ -78,17 +77,19 @@ set_default() {
|
||||
enable_builtin_depend="1"
|
||||
with_makedepend="0"
|
||||
with_direct_music="1"
|
||||
with_xaudio2="1"
|
||||
with_sort="1"
|
||||
with_iconv="1"
|
||||
with_midi=""
|
||||
with_midi_arg=""
|
||||
with_libtimidity="1"
|
||||
with_fluidsynth="1"
|
||||
with_freetype="1"
|
||||
with_fontconfig="1"
|
||||
with_icu_layout="1"
|
||||
with_icu_sort="1"
|
||||
static_icu="0"
|
||||
with_psp_config="1"
|
||||
with_uniscribe="1"
|
||||
with_threads="1"
|
||||
with_distcc="1"
|
||||
with_ccache="1"
|
||||
@@ -109,7 +110,6 @@ set_default() {
|
||||
awk
|
||||
pkg_config
|
||||
os
|
||||
endian
|
||||
cpu_type
|
||||
config_log
|
||||
prefix_dir
|
||||
@@ -155,17 +155,19 @@ set_default() {
|
||||
enable_builtin_depend
|
||||
with_makedepend
|
||||
with_direct_music
|
||||
with_xaudio2
|
||||
with_sort
|
||||
with_iconv
|
||||
with_midi
|
||||
with_midi_arg
|
||||
with_libtimidity
|
||||
with_fluidsynth
|
||||
with_freetype
|
||||
with_fontconfig
|
||||
with_icu_layout
|
||||
with_icu_sort
|
||||
static_icu
|
||||
with_psp_config
|
||||
with_uniscribe
|
||||
with_threads
|
||||
with_distcc
|
||||
with_ccache
|
||||
@@ -224,9 +226,6 @@ detect_params() {
|
||||
--lipo) prev_p="lipo";;
|
||||
--lipo=*) lipo="$optarg";;
|
||||
|
||||
--endian) prev_p="endian";;
|
||||
--endian=*) endian="$optarg";;
|
||||
|
||||
|
||||
|
||||
# Alias --prefix with --prefix-dir, for compatibility with GNU autotools
|
||||
@@ -375,6 +374,9 @@ detect_params() {
|
||||
--without-libtimidity) with_libtimidity="0";;
|
||||
--with-libtimidity=*) with_libtimidity="$optarg";;
|
||||
|
||||
--with-fluidsynth) with_fluidsynth="2";;
|
||||
--without-fluidsynth) with_fluidsynth="0";;
|
||||
|
||||
--with-freetype) with_freetype="2";;
|
||||
--without-freetype) with_freetype="0";;
|
||||
--with-freetype=*) with_freetype="$optarg";;
|
||||
@@ -406,9 +408,9 @@ detect_params() {
|
||||
--static-libicu) static_icu="1";;
|
||||
--static-libicu=*) static_icu="$optarg";;
|
||||
|
||||
--with-psp-config) with_psp_config="2";;
|
||||
--without-psp-config) with_psp_config="0";;
|
||||
--with-psp-config=*) with_psp_config="$optarg";;
|
||||
--with-uniscribe) with_uniscribe="2";;
|
||||
--without-uniscribe) with_uniscribe="0";;
|
||||
--with-uniscribe=*) with_uniscribe="$optarg";;
|
||||
|
||||
--disable-builtin-depend) enable_builtin_depend="0";;
|
||||
--enable-builtin-depend) enable_builtin_depend="2";;
|
||||
@@ -422,6 +424,10 @@ detect_params() {
|
||||
--without-direct-music) with_direct_music="0";;
|
||||
--with-direct-music=*) with_direct_music="$optarg";;
|
||||
|
||||
--with-xaudio2) with_xaudio2="2";;
|
||||
--without-xaudio2) with_xaudio2="0";;
|
||||
--with-xaudio2=*) with_xaudio2="$optarg";;
|
||||
|
||||
--with-sort) with_sort="2";;
|
||||
--without-sort) with_sort="0";;
|
||||
--with-sort=*) with_sort="$optarg";;
|
||||
@@ -537,7 +543,6 @@ check_params() {
|
||||
# Some params want to be in full uppercase, else they might not work as
|
||||
# expected.. fix that here
|
||||
|
||||
endian=`echo $endian | tr '[a-z]' '[A-Z]'`
|
||||
os=`echo $os | tr '[a-z]' '[A-Z]'`
|
||||
cpu_type=`echo $cpu_type | tr '[a-z]' '[A-Z]'`
|
||||
|
||||
@@ -553,21 +558,10 @@ check_params() {
|
||||
|
||||
# Check if all params have valid values
|
||||
|
||||
# Endian only allows AUTO, LE and, BE
|
||||
if [ -z "`echo $endian | egrep '^(AUTO|LE|BE|PREPROCESSOR)$'`" ]; then
|
||||
log 1 "configure: error: invalid option --endian=$endian"
|
||||
log 1 " Available options are: --endian=[AUTO|LE|BE]"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$endian" = "PREPROCESSOR" ] && [ "$os" != "OSX" ]; then
|
||||
log 1 "configure: error: invalid option --endian=$endian"
|
||||
log 1 " PREPROCESSOR is only available for OSX"
|
||||
exit 1
|
||||
fi
|
||||
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP
|
||||
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP)$'`" ]; then
|
||||
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then
|
||||
log 1 "configure: error: invalid option --os=$os"
|
||||
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP]"
|
||||
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]"
|
||||
exit 1
|
||||
fi
|
||||
# cpu_type can be either 32 or 64
|
||||
@@ -766,13 +760,13 @@ check_params() {
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
|
||||
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 "$allegro_config" ] && [ -z "$sdl_config" ] && [ "$with_cocoa" = 0 ] && [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "WINCE" ]; then
|
||||
if [ -z "$allegro_config" ] && [ -z "$sdl_config" ] && [ "$with_cocoa" = 0 ] && [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
log 1 "configure: error: no video driver development files found"
|
||||
log 1 " If you want a dedicated server use --enable-dedicated as parameter"
|
||||
exit 1
|
||||
@@ -872,14 +866,36 @@ check_params() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$with_uniscribe" != "0" ]; then
|
||||
if [ "$os" != "MINGW" ]; then
|
||||
if [ "$with_uniscribe" != "1" ]; then
|
||||
log 1 "configure: error: Uniscribe is only supported on native Win32 targets"
|
||||
exit 1
|
||||
fi
|
||||
with_uniscribe="0"
|
||||
|
||||
log 1 "checking Uniscribe text layout... not Windows, skipping"
|
||||
else
|
||||
log 1 "checking Uniscribe text layout... found"
|
||||
|
||||
# Don't use ICU unless forced.
|
||||
if [ "$with_icu_layout" = "1" ]; then
|
||||
with_icu_layout="0"
|
||||
fi
|
||||
if [ "$with_icu_sort" = "1" ]; then
|
||||
with_icu_sort="0"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
detect_xdg_basedir
|
||||
detect_png
|
||||
detect_freetype
|
||||
detect_fontconfig
|
||||
detect_icu_layout
|
||||
detect_icu_sort
|
||||
detect_pspconfig
|
||||
detect_libtimidity
|
||||
detect_fluidsynth
|
||||
|
||||
if [ "$with_direct_music" != "0" ]; then
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
@@ -895,13 +911,21 @@ check_params() {
|
||||
fi
|
||||
fi
|
||||
|
||||
detect_sort
|
||||
if [ "$with_xaudio2" != "0" ]; then
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
if [ "$with_xaudio2" != "1" ]; then
|
||||
log 1 "configure: error: xaudio2 is only supported on Win32 targets"
|
||||
exit 1
|
||||
fi
|
||||
with_xaudio2="0"
|
||||
|
||||
if [ "$os" = "OSX" ] && [ "$endian" = "AUTO" ]; then
|
||||
endian="PREPROCESSOR"
|
||||
log 1 "checking xaudio2... not Windows, skipping"
|
||||
else
|
||||
check_xaudio2
|
||||
fi
|
||||
fi
|
||||
|
||||
log 1 "checking endianness... $endian"
|
||||
detect_sort
|
||||
|
||||
# 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.
|
||||
@@ -1113,7 +1137,7 @@ check_params() {
|
||||
fi
|
||||
|
||||
if [ "$personal_dir" = "1" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ] || [ "$os" = "DOS" ] || [ "$os" = "HAIKU" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "DOS" ] || [ "$os" = "HAIKU" ]; then
|
||||
personal_dir="OpenTTD"
|
||||
elif [ "$os" = "OSX" ]; then
|
||||
personal_dir="Documents/OpenTTD"
|
||||
@@ -1211,14 +1235,14 @@ make_compiler_cflags() {
|
||||
# $5 - name of the features variable
|
||||
|
||||
# Get the compiler to tell us who it is
|
||||
compiler="`$1 --version | head -n1 | cut -d' ' -f1`"
|
||||
version_line="`$1 --version | head -n1`"
|
||||
|
||||
eval eval "flags=\\\$$2"
|
||||
eval eval "cxxflags=\\\$$3"
|
||||
eval eval "ldflags=\\\$$4"
|
||||
eval eval "features=\\\$$5"
|
||||
|
||||
if [ "$compiler" = "icc" ]; then
|
||||
if [ `echo "$version_line" | cut -d' ' -f1` = "icc" ]; then
|
||||
# Enable some things only for certain ICC versions
|
||||
cc_version=`$1 -dumpversion | cut -c 1-4 | sed s@\\\.@@g`
|
||||
|
||||
@@ -1293,8 +1317,6 @@ make_compiler_cflags() {
|
||||
if [ $cc_version -ge 110 ]; then
|
||||
# remark #2259: non-pointer conversion from ... to ... may lose significant bits
|
||||
flags="$flags -wd2259"
|
||||
# Use c++0x mode so static_assert() is available
|
||||
cxxflags="$cxxflags -std=c++11"
|
||||
fi
|
||||
|
||||
if [ $cc_version -lt 140 ]; then
|
||||
@@ -1310,9 +1332,10 @@ make_compiler_cflags() {
|
||||
features="$features lto"
|
||||
fi
|
||||
fi
|
||||
elif [ "$compiler" = "clang" ]; then
|
||||
elif echo "$version_line" | grep -q "clang"; then
|
||||
# Enable some things only for certain clang versions
|
||||
cc_version="`$1 -v 2>&1 | head -n 1 | sed s@[^0-9]@@g | cut -c 1-2`"
|
||||
# Need to try really hard to get the version line, because OSX clang likes to hide its true version
|
||||
cc_version="`$1 -v 2>&1 | grep -i version | head -n 1 | sed s@[^0-9]@@g | cut -c 1-2`"
|
||||
|
||||
# aliasing rules are not held in openttd code
|
||||
flags="$flags -fno-strict-aliasing"
|
||||
@@ -1360,10 +1383,7 @@ make_compiler_cflags() {
|
||||
flags="$flags -Wno-unused-variable"
|
||||
fi
|
||||
|
||||
if [ "$cc_version" -ge "33" ]; then
|
||||
# clang completed C++11 support in version 3.3
|
||||
flags="$flags -std=c++11"
|
||||
else
|
||||
if [ "$cc_version" -lt "33" ]; then
|
||||
log 1 "configure: error: clang version is too old: `$1 -v 2>&1 | head -n 1`, minumum: 3.3"
|
||||
exit 1
|
||||
fi
|
||||
@@ -1426,12 +1446,6 @@ make_compiler_cflags() {
|
||||
flags="$flags -Wnon-virtual-dtor"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then
|
||||
# Use gnu++0x mode so static_assert() is available.
|
||||
# Don't use c++0x, it breaks mingw (with gcc 4.4.0).
|
||||
cxxflags="$cxxflags -std=gnu++11"
|
||||
fi
|
||||
|
||||
if [ $cc_version -eq 405 ]; then
|
||||
# Prevent optimisation supposing enums are in a range specified by the standard
|
||||
# For details, see http://gcc.gnu.org/PR43680
|
||||
@@ -1456,7 +1470,7 @@ make_compiler_cflags() {
|
||||
if [ $cc_version -ge 600 ]; then
|
||||
# -flifetime-dse=2 (default since GCC 6) doesn't play
|
||||
# well with our custom pool item allocator
|
||||
cxxflags="$cxxflags -flifetime-dse=1 -std=gnu++14"
|
||||
cxxflags="$cxxflags -flifetime-dse=1"
|
||||
fi
|
||||
|
||||
if [ "$enable_lto" != "0" ]; then
|
||||
@@ -1519,6 +1533,8 @@ make_cflags_and_ldflags() {
|
||||
|
||||
CFLAGS="$CFLAGS -D$os"
|
||||
CFLAGS_BUILD="$CFLAGS_BUILD -D$os"
|
||||
CXXFLAGS="$CXXFLAGS -std=c++11"
|
||||
CXXFLAGS_BUILD="$CXXFLAGS_BUILD -std=c++11"
|
||||
|
||||
if [ "$enable_debug" = "0" ]; then
|
||||
# No debug, add default stuff
|
||||
@@ -1539,9 +1555,6 @@ make_cflags_and_ldflags() {
|
||||
# Each debug level reduces the optimization by a bit
|
||||
if [ $enable_debug -ge 1 ]; then
|
||||
CFLAGS="$CFLAGS -g -D_DEBUG"
|
||||
if [ "$os" = "PSP" ]; then
|
||||
CFLAGS="$CFLAGS -G0"
|
||||
fi
|
||||
fi
|
||||
if [ $enable_debug -ge 2 ]; then
|
||||
CFLAGS="$CFLAGS -fno-inline"
|
||||
@@ -1618,23 +1631,13 @@ make_cflags_and_ldflags() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then
|
||||
LIBS="$LIBS -lpthread"
|
||||
fi
|
||||
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ]; then
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "DOS" ]; then
|
||||
LIBS="$LIBS -lc"
|
||||
fi
|
||||
if [ "$os" = "WINCE" ]; then
|
||||
LIBS="$LIBS -lcoredll -lcorelibc -laygshell -lws2 -e WinMainCRTStartup"
|
||||
fi
|
||||
if [ "$os" = "PSP" ]; then
|
||||
CFLAGS="$CFLAGS -I`$psp_config -p`/include"
|
||||
LDFLAGS="$LDFLAGS -L`$psp_config -p`/lib"
|
||||
|
||||
CFLAGS="$CFLAGS -fno-exceptions -fno-rtti -D_PSP_FW_VERSION=150"
|
||||
LIBS="$LIBS -D_PSP_FW_VERSION=150 -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -lm"
|
||||
fi
|
||||
|
||||
if [ "$os" = "MORPHOS" ]; then
|
||||
# -Wstrict-prototypes generates much noise because of system headers
|
||||
@@ -1673,14 +1676,14 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -DUNIX"
|
||||
fi
|
||||
# And others like Windows
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
||||
CFLAGS="$CFLAGS -DWIN"
|
||||
fi
|
||||
|
||||
if [ -n "$allegro_config" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_ALLEGRO"
|
||||
CFLAGS="$CFLAGS `$allegro_config --cflags`"
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "WINCE" ]; then
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$allegro_config --static --libs`"
|
||||
else
|
||||
@@ -1693,7 +1696,7 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -DWITH_SDL"
|
||||
# SDL must not add _GNU_SOURCE as it breaks many platforms
|
||||
CFLAGS="$CFLAGS `$sdl_config --cflags | sed 's@-D_GNU_SOURCE[^ ]*@@'`"
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "WINCE" ]; then
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$sdl_config --static-libs`"
|
||||
else
|
||||
@@ -1790,7 +1793,7 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS `$freetype_config --cflags | tr '\n\r' ' '`"
|
||||
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$freetype_config --libs --static | tr '\n\r' ' '`"
|
||||
LIBS="$LIBS `$freetype_config --libs --static | tr '\n\r' ' '` -lfreetype"
|
||||
else
|
||||
LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`"
|
||||
fi
|
||||
@@ -1818,6 +1821,10 @@ make_cflags_and_ldflags() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$with_uniscribe" != "0" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_UNISCRIBE"
|
||||
LIBS="$LIBS -lusp10"
|
||||
fi
|
||||
|
||||
if [ "$with_direct_music" != "0" ]; then
|
||||
CFLAGS="$CFLAGS -DWIN32_ENABLE_DIRECTMUSIC_SUPPORT"
|
||||
@@ -1829,6 +1836,10 @@ make_cflags_and_ldflags() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$with_xaudio2" != "0" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_XAUDIO2"
|
||||
fi
|
||||
|
||||
if [ -n "$libtimidity_config" ]; then
|
||||
CFLAGS="$CFLAGS -DLIBTIMIDITY"
|
||||
CFLAGS="$CFLAGS `$libtimidity_config --cflags | tr '\n\r' ' '`"
|
||||
@@ -1840,6 +1851,11 @@ make_cflags_and_ldflags() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$fluidsynth" ]; then
|
||||
LIBS="$LIBS -lfluidsynth"
|
||||
CFLAGS="$CFLAGS -DFLUIDSYNTH"
|
||||
fi
|
||||
|
||||
if [ "$with_iconv" != "0" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_ICONV"
|
||||
if [ "$link_to_iconv" = "yes" ]; then
|
||||
@@ -2129,7 +2145,7 @@ check_cxx_host() {
|
||||
}
|
||||
|
||||
check_windres() {
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
||||
check_compiler "host windres" "windres" "$host" "$windres" "$WINDRES" "windres" "windres" "2" "-V"
|
||||
fi
|
||||
}
|
||||
@@ -2196,9 +2212,7 @@ 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=$?
|
||||
@@ -2217,6 +2231,35 @@ check_direct_music() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_xaudio2() {
|
||||
echo "
|
||||
#include <windows.h>
|
||||
|
||||
#undef NTDDI_VERSION
|
||||
#undef _WIN32_WINNT
|
||||
|
||||
#define NTDDI_VERSION NTDDI_WIN8
|
||||
#define _WIN32_WINNT _WIN32_WINNT_WIN8
|
||||
|
||||
#include <xaudio2.h>
|
||||
int main(int argc, char *argv[]) { }" > xaudio2.test.c
|
||||
$cxx_host $CFLAGS xaudio2.test.c -o xaudio2.test 2> /dev/null
|
||||
res=$?
|
||||
rm -f xaudio2.test.c xaudio2.test
|
||||
|
||||
if [ "$res" != "0" ]; then
|
||||
if [ "$with_xaudio2" != "1" ]; then
|
||||
log 1 "configure: error: xaudio2 is not available on this system"
|
||||
exit 1
|
||||
fi
|
||||
with_xaudio2="0"
|
||||
|
||||
log 1 "checking xaudio2... not found"
|
||||
else
|
||||
log 1 "checking xaudio2... found"
|
||||
fi
|
||||
}
|
||||
|
||||
check_makedepend() {
|
||||
if [ "$enable_builtin_depend" != "0" ]; then
|
||||
with_makedepend="0"
|
||||
@@ -2335,7 +2378,7 @@ detect_awk() {
|
||||
|
||||
detect_os() {
|
||||
if [ "$os" = "DETECT" ]; then
|
||||
# Detect UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP
|
||||
# Detect UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
|
||||
# Try first via dumpmachine, then via uname
|
||||
os=`echo "$host" | tr '[A-Z]' '[a-z]' | $awk '
|
||||
@@ -2355,8 +2398,6 @@ detect_os() {
|
||||
/mingw/ { print "MINGW"; exit}
|
||||
/os2/ { print "OS2"; exit}
|
||||
/dos/ { print "DOS"; exit}
|
||||
/wince/ { print "WINCE"; exit}
|
||||
/psp/ { print "PSP"; exit}
|
||||
'`
|
||||
|
||||
if [ -z "$os" ]; then
|
||||
@@ -2382,7 +2423,7 @@ detect_os() {
|
||||
if [ -z "$os" ]; then
|
||||
log 1 "detecting OS... none detected"
|
||||
log 1 "I couldn't detect your OS. Please use --os=OS to force one"
|
||||
log 1 "Allowed values are: UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP"
|
||||
log 1 "Allowed values are: UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -2641,6 +2682,11 @@ detect_library() {
|
||||
eval "res=\$$2"
|
||||
if [ -z "$res" ]; then
|
||||
log 2 " trying /mingw/include/$4$5... no"
|
||||
eval "$2=`ls -1 /mingw$cpu_type/include/$4*.h 2>/dev/null | egrep \"\/$5\$\"`"
|
||||
fi
|
||||
eval "res=\$$2"
|
||||
if [ -z "$res" ]; then
|
||||
log 2 " trying /mingw$cpu_type/include/$4$5... no"
|
||||
eval "$2=`ls -1 /opt/local/include/$4*.h 2>/dev/null | egrep \"\/$5\$\"`"
|
||||
fi
|
||||
eval "res=\$$2"
|
||||
@@ -2689,6 +2735,11 @@ detect_library() {
|
||||
eval "res=\$$2"
|
||||
if [ -z "$res" ]; then
|
||||
log 2 " trying /mingw/lib/$3... no"
|
||||
eval "$2=`ls /mingw$cpu_type/lib/*.a 2>/dev/null | egrep \"\/$3\$\"`"
|
||||
fi
|
||||
eval "res=\$$2"
|
||||
if [ -z "$res" ]; then
|
||||
log 2 " trying /mingw$cpu_type/lib/$3... no"
|
||||
log 1 "configure: error: $2 couldn't be found"
|
||||
log 1 "configure: error: you requested a static link, but I can't find $3"
|
||||
|
||||
@@ -2741,6 +2792,10 @@ detect_libtimidity() {
|
||||
detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity_config" "0.1" "1"
|
||||
}
|
||||
|
||||
detect_fluidsynth() {
|
||||
detect_library "$with_fluidsynth" "fluidsynth" "" "" "fluidsynth.h"
|
||||
}
|
||||
|
||||
detect_pkg_config() {
|
||||
# $1 - config-param ($with_lzma value)
|
||||
# $2 - package name ('liblzma')
|
||||
@@ -2825,7 +2880,7 @@ detect_fontconfig() {
|
||||
fontconfig_config=""
|
||||
return 0
|
||||
fi
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
||||
log 1 "checking libfontconfig... WIN32, skipping"
|
||||
fontconfig_config=""
|
||||
return 0
|
||||
@@ -2841,62 +2896,25 @@ detect_fontconfig() {
|
||||
}
|
||||
|
||||
detect_icu_layout() {
|
||||
if [ "$with_cocoa" != "0" ] && [ "$with_icu_layout" = "1" ]; then
|
||||
log 1 "checking icu-lx... OSX, skipping"
|
||||
icu_layout_config=""
|
||||
return 0
|
||||
fi
|
||||
|
||||
detect_pkg_config "$with_icu_layout" "icu-lx" "icu_layout_config" "4.8" "1"
|
||||
}
|
||||
|
||||
detect_icu_sort() {
|
||||
if [ "$with_cocoa" != "0" ] && [ "$with_icu_sort" = "1" ]; then
|
||||
log 1 "checking icu-i18n... OSX, skipping"
|
||||
icu_sort_config=""
|
||||
return 0
|
||||
fi
|
||||
|
||||
detect_pkg_config "$with_icu_sort" "icu-i18n" "icu_sort_config" "4.8" "1"
|
||||
}
|
||||
|
||||
detect_pspconfig() {
|
||||
# 0 means no, 1 is auto-detect, 2 is force
|
||||
if [ "$with_psp_config" = "0" ]; then
|
||||
log 1 "checking psp-config... disabled"
|
||||
|
||||
psp_config=""
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$with_psp_config" = "1" ] && [ "$os" != "PSP" ]; then
|
||||
log 1 "checking psp-config... not PSP, skipping"
|
||||
|
||||
psp_config="";
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$os" != "PSP" ]; then
|
||||
log 1 "checking psp-config... not PSP"
|
||||
|
||||
log 1 "configure: error: psp-config is only supported for PSP"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$with_psp_config" = "1" ] || [ "$with_psp_config" = "" ] || [ "$with_psp_config" = "2" ]; then
|
||||
psp_config="psp-config"
|
||||
else
|
||||
psp_config="$with_psp_config"
|
||||
fi
|
||||
|
||||
version=`$psp_config -p 2>/dev/null`
|
||||
ret=$?
|
||||
log 2 "executing $psp_config -p"
|
||||
log 2 " returned $version"
|
||||
log 2 " exit code $ret"
|
||||
|
||||
if [ -z "$version" ] || [ "$ret" != "0" ]; then
|
||||
log 1 "checking psp-config... not found"
|
||||
log 1 "configure: error: psp-config couldn't be found"
|
||||
|
||||
# It was forced, so it should be found.
|
||||
if [ "$with_psp_config" != "1" ]; then
|
||||
log 1 "configure: error: you supplied '$with_psp_config', but it seems invalid"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log 1 "checking psp-config... found"
|
||||
}
|
||||
|
||||
detect_iconv() {
|
||||
# 0 means no, 1 is auto-detect, 2 is force
|
||||
if [ "$with_iconv" = "0" ]; then
|
||||
@@ -2915,10 +2933,16 @@ detect_iconv() {
|
||||
# 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
|
||||
# Iterate over search paths
|
||||
iconv=""
|
||||
search_paths=`LC_ALL=C $cxx_host $OSX_SYSROOT $CFLAGS -E - -v </dev/null 2>&1 | \
|
||||
$awk '/#include <...> search starts here:/{flag=1;next}/End of search list./{flag=0}flag'`
|
||||
for path in $search_paths; do
|
||||
iconv=`ls -1 $path 2>/dev/null | grep "iconv.h"`
|
||||
if [ -n "$iconv" ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
# Make sure it exists
|
||||
iconv=`ls $with_iconv/include/iconv.h 2>/dev/null`
|
||||
@@ -3262,17 +3286,14 @@ make_sed() {
|
||||
s@!!INSTALL_DIR!!@$install_dir@g;
|
||||
s@!!BINARY_NAME!!@$binary_name@g;
|
||||
s@!!STRGEN!!@$STRGEN@g;
|
||||
s@!!ENDIAN_CHECK!!@$ENDIAN_CHECK@g;
|
||||
s@!!DEPEND!!@$DEPEND@g;
|
||||
s@!!SETTINGSGEN!!@$SETTINGSGEN@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;
|
||||
@@ -3506,8 +3527,7 @@ showhelp() {
|
||||
echo " --os=OS the OS we are compiling for [DETECT]"
|
||||
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
|
||||
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
|
||||
echo " MINGW/OS2/DOS/WINCE/PSP/HAIKU"
|
||||
echo " --endian=ENDIAN set the endian of the HOST (AUTO/LE/BE)"
|
||||
echo " MINGW/OS2/DOS/HAIKU"
|
||||
echo ""
|
||||
echo "Paths:"
|
||||
echo " --prefix-dir=dir specifies the prefix for all installed"
|
||||
@@ -3578,6 +3598,7 @@ showhelp() {
|
||||
echo " midi-player"
|
||||
echo " --with-libtimidity[=\"pkg-config libtimidity\"]"
|
||||
echo " enables libtimidity support"
|
||||
echo " --with-fluidsynth enables fluidsynth support"
|
||||
echo " --with-allegro[=\"pkg-config allegro\"]"
|
||||
echo " enables Allegro video driver support"
|
||||
echo " --with-cocoa enables COCOA video driver (OSX ONLY)"
|
||||
@@ -3603,7 +3624,6 @@ showhelp() {
|
||||
echo " --static-icu try to link statically (libsicu instead of"
|
||||
echo " libicu; can fail as the new name is guessed)"
|
||||
echo " --with-iconv[=iconv-path] enables iconv support"
|
||||
echo " --with-psp-config[=psp-config] enables psp-config support (PSP ONLY)"
|
||||
echo " --disable-builtin-depend disable use of builtin deps finder"
|
||||
echo " --with-makedepend[=makedepend] enables makedepend support"
|
||||
echo " --with-ccache enables ccache support"
|
||||
|
||||
Reference in New Issue
Block a user