aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-12-15 19:16:06 +0100
committerMike Pall <mike>2011-12-15 19:16:06 +0100
commitb61be299c9fc00e8d2252fa3f12c6005686783d6 (patch)
tree0b400660908d726b60456241e0d6a0b67aa5ae5d
parent6ace80c897a8359bedd3f195d126725cb0bf0f8d (diff)
downloadluajit-b61be299c9fc00e8d2252fa3f12c6005686783d6.tar.gz
luajit-b61be299c9fc00e8d2252fa3f12c6005686783d6.tar.bz2
luajit-b61be299c9fc00e8d2252fa3f12c6005686783d6.zip
Auto-detect target arch via cross-compiler. Drop TARGET=arch.
-rw-r--r--doc/install.html10
-rw-r--r--src/Makefile9
2 files changed, 10 insertions, 9 deletions
diff --git a/doc/install.html b/doc/install.html
index 4e226d17..07c55fa6 100644
--- a/doc/install.html
+++ b/doc/install.html
@@ -355,7 +355,7 @@ EGLIBC). The <tt>CROSS</tt> prefix may vary depending on the
355<tt>--target</tt> of the toolchain: 355<tt>--target</tt> of the toolchain:
356</p> 356</p>
357<pre class="code"> 357<pre class="code">
358make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- TARGET=arm 358make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi-
359</pre> 359</pre>
360<p> 360<p>
361You 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>. 361You 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
368NDKVER=$NDK/toolchains/arm-linux-androideabi-4.4.3 368NDKVER=$NDK/toolchains/arm-linux-androideabi-4.4.3
369NDKP=$NDKVER/prebuilt/linux-x86/bin/arm-linux-androideabi- 369NDKP=$NDKVER/prebuilt/linux-x86/bin/arm-linux-androideabi-
370NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm" 370NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
371make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF" TARGET=arm 371make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF"
372</pre> 372</pre>
373<p> 373<p>
374You 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>. 374You 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
387ISDKP=$ISDK/usr/bin/ 387ISDKP=$ISDK/usr/bin/
388ISDKF="-arch armv6 -isysroot $ISDK/SDKs/$ISDKVER" 388ISDKF="-arch armv6 -isysroot $ISDK/SDKs/$ISDKVER"
389make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \ 389make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \
390 TARGET=arm TARGET_SYS=iOS 390 TARGET_SYS=iOS
391</pre> 391</pre>
392<p> 392<p>
393You can cross-compile for a <b id="ppc">PPC target</b> or a 393You can cross-compile for a <b id="ppc">PPC target</b> or a
@@ -398,11 +398,11 @@ of the toolchain:
398</p> 398</p>
399<pre class="code"> 399<pre class="code">
400# PPC 400# PPC
401make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu- TARGET=ppc 401make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
402</pre> 402</pre>
403<pre class="code"> 403<pre class="code">
404# PPC/e500v2 404# PPC/e500v2
405make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe 405make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe-
406</pre> 406</pre>
407<p> 407<p>
408Whenever the <b>host OS and the target OS differ</b>, you need to specify 408Whenever the <b>host OS and the target OS differ</b>, you need to specify
diff --git a/src/Makefile b/src/Makefile
index d4f80332..3e5b6dc8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -173,13 +173,11 @@ XCFLAGS=
173# 173#
174# Cross-compilation examples: 174# Cross-compilation examples:
175# make HOST_CC="gcc -m32" CROSS=i586-mingw32msvc- TARGET_SYS=Windows 175# make HOST_CC="gcc -m32" CROSS=i586-mingw32msvc- TARGET_SYS=Windows
176# make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe 176# make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
177 177
178CCOPTIONS= $(CCDEBUG) $(CCOPT) $(CCWARN) $(XCFLAGS) $(CFLAGS) 178CCOPTIONS= $(CCDEBUG) $(CCOPT) $(CCWARN) $(XCFLAGS) $(CFLAGS)
179LDOPTIONS= $(CCDEBUG) $(LDFLAGS) 179LDOPTIONS= $(CCDEBUG) $(LDFLAGS)
180 180
181TARGET_ARCH= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET))
182
183HOST_CC= $(CC) 181HOST_CC= $(CC)
184HOST_RM= rm -f 182HOST_RM= rm -f
185# NOTE: The LuaJIT distribution comes with pre-generated buildvm_*.h files. 183# NOTE: The LuaJIT distribution comes with pre-generated buildvm_*.h files.
@@ -214,6 +212,7 @@ TARGET_DYNXLDOPTS=
214TARGET_XCFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U_FORTIFY_SOURCE 212TARGET_XCFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U_FORTIFY_SOURCE
215TARGET_XLDFLAGS= 213TARGET_XLDFLAGS=
216TARGET_XLIBS= -lm 214TARGET_XLIBS= -lm
215TARGET_TCFLAGS= $(CCOPTIONS) $(TARGET_XCFLAGS) $(TARGET_FLAGS) $(TARGET_CFLAGS)
217TARGET_ACFLAGS= $(CCOPTIONS) $(TARGET_XCFLAGS) $(TARGET_ARCH) $(TARGET_FLAGS) $(TARGET_CFLAGS) 216TARGET_ACFLAGS= $(CCOPTIONS) $(TARGET_XCFLAGS) $(TARGET_ARCH) $(TARGET_FLAGS) $(TARGET_CFLAGS)
218TARGET_ALDFLAGS= $(LDOPTIONS) $(TARGET_XLDFLAGS) $(TARGET_FLAGS) $(TARGET_LDFLAGS) 217TARGET_ALDFLAGS= $(LDOPTIONS) $(TARGET_XLDFLAGS) $(TARGET_FLAGS) $(TARGET_LDFLAGS)
219TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS) 218TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS)
@@ -223,7 +222,7 @@ ifneq (,$(findstring stack-protector,$(shell $(TARGET_CC) -dumpspecs)))
223 TARGET_XCFLAGS+= -fno-stack-protector 222 TARGET_XCFLAGS+= -fno-stack-protector
224endif 223endif
225 224
226TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_ACFLAGS) -E lj_arch.h -dM) 225TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
227ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH))) 226ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH)))
228 TARGET_CCARCH= x64 227 TARGET_CCARCH= x64
229 TARGET_XCFLAGS+= $(CCOPT_X64) 228 TARGET_XCFLAGS+= $(CCOPT_X64)
@@ -251,6 +250,8 @@ endif
251endif 250endif
252endif 251endif
253 252
253TARGET_ARCH= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_CCARCH))
254
254ifneq (,$(PREFIX)) 255ifneq (,$(PREFIX))
255ifneq (/usr/local,$(PREFIX)) 256ifneq (/usr/local,$(PREFIX))
256 TARGET_XCFLAGS+= -DLUA_XROOT=\"$(PREFIX)/\" 257 TARGET_XCFLAGS+= -DLUA_XROOT=\"$(PREFIX)/\"