Jelajahi Sumber

Fixed Android toolchain settings.

bkaradzic 12 tahun lalu
induk
melakukan
8363d283bd
3 mengubah file dengan 15 tambahan dan 4 penghapusan
  1. 1 1
      include/bx/macros.h
  2. 1 1
      include/bx/readerwriter.h
  3. 13 2
      premake/toolchain.lua

+ 1 - 1
include/bx/macros.h

@@ -99,7 +99,7 @@
 #endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX
 #endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX
 
 
 #ifndef BX_CONFIG_CRT_FILE_READER_WRITER
 #ifndef BX_CONFIG_CRT_FILE_READER_WRITER
-#	define BX_CONFIG_CRT_FILE_READER_WRITER BX_PLATFORM_WINDOWS|BX_PLATFORM_LINUX|BX_PLATFORM_OSX|BX_PLATFORM_QNX
+#	define BX_CONFIG_CRT_FILE_READER_WRITER BX_PLATFORM_ANDROID|BX_PLATFORM_LINUX|BX_PLATFORM_OSX|BX_PLATFORM_QNX|BX_PLATFORM_WINDOWS
 #endif // BX_CONFIG_CRT_FILE_READER_WRITER
 #endif // BX_CONFIG_CRT_FILE_READER_WRITER
 
 
 #endif // __BX_MACROS_H__
 #endif // __BX_MACROS_H__

+ 1 - 1
include/bx/readerwriter.h

@@ -15,7 +15,7 @@
 #if BX_COMPILER_MSVC
 #if BX_COMPILER_MSVC
 #	define fseeko64 _fseeki64
 #	define fseeko64 _fseeki64
 #	define ftello64 _ftelli64
 #	define ftello64 _ftelli64
-#elif BX_PLATFORM_OSX
+#elif BX_PLATFORM_ANDROID|BX_PLATFORM_OSX|BX_PLATFORM_QNX
 #	define fseeko64 fseeko
 #	define fseeko64 fseeko
 #	define ftello64 ftello
 #	define ftello64 ftello
 #endif // BX_
 #endif // BX_

+ 13 - 2
premake/toolchain.lua

@@ -268,20 +268,26 @@ function toolchain(_buildDir, _libDir)
 		}
 		}
 		libdirs {
 		libdirs {
 			_libDir .. "lib/android-arm",
 			_libDir .. "lib/android-arm",
-			"$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm/usr/lib",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a",
 		}
 		}
 		includedirs {
 		includedirs {
-			"$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm/usr/include",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/include",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/include",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include",
 			"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include",
 		}
 		}
 		linkoptions {
 		linkoptions {
+			"--sysroot=$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm",
+			"-nostdlib",
 			"$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm/usr/lib/crtbegin_so.o",
 			"$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm/usr/lib/crtbegin_so.o",
+			"$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm/usr/lib/crtend_so.o",
+			"-march=armv7-a",
+			"-Wl,-shared,-Bsymbolic",
 			"-Wl,--gc-sections",
 			"-Wl,--gc-sections",
+			"-Wl,--fix-cortex-a8",
+			"-static-libgcc",
 		}
 		}
 		links {
 		links {
 			"c",
 			"c",
+			"m",
 			"android",
 			"android",
 			"gnustl_static",
 			"gnustl_static",
 		}
 		}
@@ -290,6 +296,11 @@ function toolchain(_buildDir, _libDir)
 			"-U__STRICT_ANSI__",
 			"-U__STRICT_ANSI__",
 			"-Wno-psabi", -- note: the mangling of 'va_list' has changed in GCC 4.4.0
 			"-Wno-psabi", -- note: the mangling of 'va_list' has changed in GCC 4.4.0
 			"-fPIC",
 			"-fPIC",
+			"--sysroot=$(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm",
+			"-mthumb",
+			"-march=armv7-a",
+			"-mfloat-abi=softfp",
+			"-mfpu=vfpv3-d16",
 		}
 		}
 
 
 	configuration { "emscripten" }
 	configuration { "emscripten" }