diff options
Diffstat (limited to 'configure')
| -rwxr-xr-x | configure | 107 | 
1 files changed, 94 insertions, 13 deletions
| @@ -440,7 +440,7 @@ get_system_exe_extension() {  	arm-riscos)  		_exeext=",ff8"  		;; -	dreamcast | ds | gamecube | n64 | ps2 | psp | wii) +	3ds | dreamcast | ds | gamecube | n64 | ps2 | psp | wii)  		_exeext=".elf"  		;;  	gph-linux) @@ -843,9 +843,9 @@ Usage: $0 [OPTIONS]...  Configuration:    -h, --help              display this help and exit -  --backend=BACKEND       backend to build (android, tizen, dc, dingux, ds, gcw0, +  --backend=BACKEND       backend to build (3ds, android, dc, dingux, ds, gcw0,                            gph, iphone, ios7, linuxmoto, maemo, n64, null, openpandora, -                          ps2, psp, samsungtv, sdl, webos, wii, wince) [sdl] +                          ps2, psp, samsungtv, sdl, tizen, webos, wii, wince) [sdl]  Installation directories:    --prefix=PREFIX         install architecture-independent files in PREFIX @@ -871,10 +871,11 @@ Fine tuning of the installation directories:  Special configuration feature:    --host=HOST             cross-compile to target HOST (arm-linux, ...) -                          special targets: android-arm for Android ARM +                          special targets: 3ds for Nintendo 3DS +                                           android-arm for Android ARM                                             android-mips for Android MIPS                                             android-x86 for Android x86 -                                           tizen for Samsung Tizen +                                           androidsdl for Android with SDL backend                                             caanoo for Caanoo                                             dingux for Dingux                                             raspberrypi for Raspberry Pi @@ -897,6 +898,7 @@ Special configuration feature:                                             ps3 for PlayStation 3                                             psp for PlayStation Portable                                             samsungtv for Samsung TV +                                           tizen for Samsung Tizen                                             webos for HP Palm WebOS                                             wii for Nintendo Wii                                             wince for Windows CE @@ -1309,6 +1311,11 @@ get_system_exe_extension $guessed_host  NATIVEEXEEXT=$_exeext  case $_host in +3ds) +	_host_os=3ds +	_host_cpu=arm +	_host_alias=arm-none-eabi +	;;  android | android-arm | android-v7a | android-arm-v7a | ouya)  	_host_os=android  	_host_cpu=arm @@ -1324,6 +1331,26 @@ android-x86)  	_host_cpu=i686  	_host_alias=i686-linux-android  	;; +androidsdl-armeabi | androidsdl-armeabi-v7a) +	_host_os=androidsdl +	_host_cpu=arm +	_host_alias=arm-linux-androideabi +	;; +androidsdl-arm64-v8a) +	_host_os=androidsdl +	_host_cpu=aarch64 +	_host_alias=aarch64-linux-android +	;; +androidsdl-mips) +	_host_os=androidsdl +	_host_cpu=mipsel +	_host_alias=mipsel-linux-android +	;; +androidsdl-x86) +	_host_os=androidsdl +	_host_cpu=i686 +	_host_alias=i686-linux-android +	;;  arm-riscos)  	_host_os=riscos  	_host_cpu=arm @@ -1590,7 +1617,7 @@ android)  		exit 1  	fi  	;; -ds | gamecube | wii) +3ds | ds | gamecube | wii)  	if test -z "$DEVKITPRO"; then  		echo "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to devkitPRO>"  		exit 1 @@ -1846,7 +1873,7 @@ if test "$have_gcc" = yes ; then  			case $_host_os in  			# newlib-based system include files suppress non-C89 function  			# declarations under __STRICT_ANSI__ -			amigaos* | android | dreamcast | ds | gamecube | mingw* | n64 | psp | ps2 | ps3 | tizen | wii | wince ) +			3ds | amigaos* | android | androidsdl | dreamcast | ds | gamecube | mingw* | n64 | psp | ps2 | ps3 | tizen | wii | wince )  				;;  			*)  				append_var CXXFLAGS "-ansi" @@ -1882,7 +1909,7 @@ echo $_use_cxx11  # However, some platforms use GNU extensions in system header files, so  # for these we must not use -pedantic.  case $_host_os in -android | gamecube | psp | tizen | wii | webos) +android | androidsdl | gamecube | psp | tizen | wii | webos)  	;;  *)  	# ICC does not support pedantic, while GCC and clang do. @@ -2146,6 +2173,27 @@ esac  echo_n "Checking hosttype... "  echo $_host_os  case $_host_os in +	3ds) +		_optimization_level=-O2 +		append_var DEFINES "-D__3DS__" +		append_var DEFINES "-DARM" +		append_var DEFINES "-DARM11" +		append_var CXXFLAGS "-march=armv6k" +		append_var CXXFLAGS "-mtune=mpcore" +		append_var CXXFLAGS "-mword-relocations" +		append_var CXXFLAGS "-mfloat-abi=hard" +		append_var CXXFLAGS "-ffunction-sections" +		append_var CXXFLAGS "-fomit-frame-pointer" +		append_var CXXFLAGS "-I$DEVKITPRO/libctru/include" +		append_var CXXFLAGS "-I$DEVKITPRO/portlibs/3ds/include" +		if test "$_dynamic_modules" = no ; then +			append_var LDFLAGS "-Wl,--gc-sections" +		else +			append_var LDFLAGS "-Wl,--no-gc-sections" +		fi +		append_var LDFLAGS "-L$DEVKITPRO/portlibs/3ds/lib" +		append_var LIBS "-lcitro3d -lctru" +		;;  	amigaos*)  		append_var LDFLAGS "-Wl,--export-dynamic"  		append_var LDFLAGS "-L/sdk/local/newlib/lib" @@ -2583,6 +2631,18 @@ if test -n "$_host"; then  	# Cross-compiling mode - add your target here if needed  	echo "Cross-compiling to $_host"  	case "$_host" in +		3ds) +			append_var DEFINES "-DDISABLE_FANCY_THEMES" +			append_var DEFINES "-DDISABLE_SID" +			append_var DEFINES "-DDISABLE_NES_APU" +			_backend="3ds" +			_build_scalers=no +			_vkeybd=yes +			_mt32emu=no +			# Should use Tremor instead of Vorbis +			_vorbis=no +			_port_mk="backends/platform/3ds/3ds.mk" +			;;  		android | android-arm | android-v7a | android-arm-v7a | android-mips | android-x86 | ouya)  			# we link a .so as default  			append_var LDFLAGS "-shared" @@ -2596,6 +2656,15 @@ if test -n "$_host"; then  			_mt32emu=no  			_timidity=no  			;; +		androidsdl | androidsdl-armeabi | androidsdl-armeabi-v7a | androidsdl-mips | androidsdl-x86 | androidsdl-arm64-v8a) +			DEFINES="$DEFINES -DANDROIDSDL" +			_unix=yes +			_seq_midi=no +			_mt32emu=no +			_timidity=no +			_backend="androidsdl" +			_port_mk="backends/platform/androidsdl/androidsdl.mk" +			;;  		arm-linux|arm*-linux-gnueabi|arm-*-linux)  			;;  		arm-riscos|linupy) @@ -3042,12 +3111,16 @@ fi  # Backend related stuff  #  case $_backend in +	3ds) +		;;  	android)  		append_var DEFINES "-DREDUCE_MEMORY_USAGE"  		append_var CXXFLAGS "-Wa,--noexecstack"  		append_var LDFLAGS "-Wl,-z,noexecstack"  		append_var INCLUDES "-I$ANDROID_NDK/sources/cxx-stl/system/include"  		;; +	androidsdl) +		;;		  	dc)  		append_var INCLUDES '-I$(srcdir)/backends/platform/dc'  		append_var INCLUDES '-isystem $(ronindir)/include' @@ -3144,6 +3217,8 @@ case $_backend in  		append_var LDFLAGS "-shared"  		append_var LDFLAGS "-fpic"  		;; +	sdl) +		;;  	tizen)  		# dirent.h not available. NONSTANDARD_PORT==ensure portdefs.h is included  		append_var DEFINES "-DTIZEN -DDISABLE_STDIO_FILESTREAM -DNONSTANDARD_PORT" @@ -3192,8 +3267,6 @@ case $_backend in  		append_var DEFINES "-DSDL_BACKEND"  		add_line_to_config_mk "SDL_BACKEND = 1"  		;; -	sdl) -		;;  	*)  		echo "support for $_backend backend not implemented in configure script yet"  		exit 1 @@ -3205,7 +3278,7 @@ append_var MODULES "backends/platform/$_backend"  # Setup SDL specifics for SDL based backends  #  case $_backend in -	dingux | gph | linuxmoto | maemo | openpandora | samsungtv | sdl) +	androidsdl | dingux | gph | linuxmoto | maemo | openpandora | samsungtv | sdl)  		find_sdlconfig  		append_var INCLUDES "`$_sdlconfig --prefix="$_sdlpath" --cflags`"  		append_var LIBS "`$_sdlconfig --prefix="$_sdlpath" --libs`" @@ -3228,7 +3301,7 @@ esac  # Enable 16bit support only for backends which support it  #  case $_backend in -	android | dingux | dc | gph | iphone | ios7 | maemo | openpandora | psp | samsungtv | sdl | tizen | webos | wii) +	3ds | android | androidsdl | dingux | dc | gph | iphone | ios7 | maemo | openpandora | psp | samsungtv | sdl | tizen | webos | wii)  		if test "$_16bit" = auto ; then  			_16bit=yes  		else @@ -3307,7 +3380,7 @@ case $_host_os in  	amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | n64 | ps2 | ps3 | psp | wii | wince)  		_posix=no  		;; -	android | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | solaris* | sunos* | uclinux* | webos) +	3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | solaris* | sunos* | uclinux* | webos)  		_posix=yes  		;;  	os2-emx*) @@ -4561,6 +4634,14 @@ fi  # after all of CXXFLAGS, LDFLAGS, LIBS etc. have been setup  #  case $_backend in +	3ds) +		if test "$_freetype2" = yes -a "$_png" = yes; then +			append_var LIBS "-lpng" +		fi +		if test "$_tremor" = yes -o "$_flac" = yes; then +			append_var LIBS "-logg" +		fi +		;;  	android)  		# ssp at this point so the cxxtests link  		if test "$_debug_build" = yes; then | 
