Просмотр исходного кода

Auto-detect target arch via cross-compiler. Drop TARGET=arch.

Mike Pall 14 лет назад
Родитель
Сommit
b61be299c9
2 измененных файлов с 10 добавлено и 9 удалено
  1. 5 5
      doc/install.html
  2. 5 4
      src/Makefile

+ 5 - 5
doc/install.html

@@ -355,7 +355,7 @@ EGLIBC). The <tt>CROSS</tt> prefix may vary depending on the
 <tt>--target</tt> of the toolchain:
 </p>
 <pre class="code">
-make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- TARGET=arm
+make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi-
 </pre>
 <p>
 You can cross-compile for <b id="android">Android (ARM)</b> using the <a href="http://developer.android.com/sdk/ndk/index.html"><span class="ext">&raquo;</span>&nbsp;Android NDK</a>.
@@ -368,7 +368,7 @@ NDKABI=8
 NDKVER=$NDK/toolchains/arm-linux-androideabi-4.4.3
 NDKP=$NDKVER/prebuilt/linux-x86/bin/arm-linux-androideabi-
 NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
-make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF" TARGET=arm
+make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF"
 </pre>
 <p>
 You can cross-compile for <b id="ios">iOS 3.0+</b> (iPhone/iPad) using the <a href="http://developer.apple.com/devcenter/ios/index.action"><span class="ext">&raquo;</span>&nbsp;iOS SDK</a>.
@@ -387,7 +387,7 @@ ISDKVER=iPhoneOS4.3.sdk
 ISDKP=$ISDK/usr/bin/
 ISDKF="-arch armv6 -isysroot $ISDK/SDKs/$ISDKVER"
 make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \
-     TARGET=arm TARGET_SYS=iOS
+     TARGET_SYS=iOS
 </pre>
 <p>
 You can cross-compile for a <b id="ppc">PPC target</b> or a
@@ -398,11 +398,11 @@ of the toolchain:
 </p>
 <pre class="code">
 # PPC
-make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu- TARGET=ppc
+make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
 </pre>
 <pre class="code">
 # PPC/e500v2
-make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe
+make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe-
 </pre>
 <p>
 Whenever the <b>host OS and the target OS differ</b>, you need to specify

+ 5 - 4
src/Makefile

@@ -173,13 +173,11 @@ XCFLAGS=
 #
 # Cross-compilation examples:
 #   make HOST_CC="gcc -m32" CROSS=i586-mingw32msvc- TARGET_SYS=Windows
-#   make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe
+#   make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
 
 CCOPTIONS= $(CCDEBUG) $(CCOPT) $(CCWARN) $(XCFLAGS) $(CFLAGS)
 LDOPTIONS= $(CCDEBUG) $(LDFLAGS)
 
-TARGET_ARCH= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET))
-
 HOST_CC= $(CC)
 HOST_RM= rm -f
 # NOTE: The LuaJIT distribution comes with pre-generated buildvm_*.h files.
@@ -214,6 +212,7 @@ TARGET_DYNXLDOPTS=
 TARGET_XCFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U_FORTIFY_SOURCE
 TARGET_XLDFLAGS=
 TARGET_XLIBS= -lm
+TARGET_TCFLAGS= $(CCOPTIONS) $(TARGET_XCFLAGS) $(TARGET_FLAGS) $(TARGET_CFLAGS)
 TARGET_ACFLAGS= $(CCOPTIONS) $(TARGET_XCFLAGS) $(TARGET_ARCH) $(TARGET_FLAGS) $(TARGET_CFLAGS)
 TARGET_ALDFLAGS= $(LDOPTIONS) $(TARGET_XLDFLAGS) $(TARGET_FLAGS) $(TARGET_LDFLAGS)
 TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS)
@@ -223,7 +222,7 @@ ifneq (,$(findstring stack-protector,$(shell $(TARGET_CC) -dumpspecs)))
   TARGET_XCFLAGS+= -fno-stack-protector
 endif
 
-TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_ACFLAGS) -E lj_arch.h -dM)
+TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
 ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH)))
   TARGET_CCARCH= x64
   TARGET_XCFLAGS+= $(CCOPT_X64)
@@ -251,6 +250,8 @@ endif
 endif
 endif
 
+TARGET_ARCH= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_CCARCH))
+
 ifneq (,$(PREFIX))
 ifneq (/usr/local,$(PREFIX))
   TARGET_XCFLAGS+= -DLUA_XROOT=\"$(PREFIX)/\"