]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Sun, 8 Dec 2019 18:12:45 +0000 (19:12 +0100)
committerMike Pall <mike>
Sun, 8 Dec 2019 18:12:45 +0000 (19:12 +0100)
1  2 
doc/extensions.html
doc/install.html

Simple merge
index 700d6edf240e0c6e6307c76c2ae8d281181ad50c,405f443a1e9e1eeb5e8da3b5fc5e1676a1d57493..da350b9c1d8665dc2d9cdcefc7d607b4e0407c5a
@@@ -370,99 -345,43 +370,71 @@@ Here are some examples for targets wit
  make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- \
       TARGET_CFLAGS="-mfloat-abi=soft"
  
 -# ARM soft-float ABI with VFP (example for Cortex-A8)
 +# ARM soft-float ABI with VFP (example for Cortex-A9)
  make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- \
 -     TARGET_CFLAGS="-mcpu=cortex-a8 -mfloat-abi=softfp"
 +     TARGET_CFLAGS="-mcpu=cortex-a9 -mfloat-abi=softfp"
  
 -# ARM hard-float ABI with VFP (armhf, requires recent toolchain)
 +# ARM hard-float ABI with VFP (armhf, most modern toolchains)
  make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabihf-
  
 +# ARM64
 +make CROSS=aarch64-linux-
 +
  # PPC
  make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
 -# PPC/e500v2 (fast interpreter only)
 -make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe-
  
 -# MIPS big-endian
 +# MIPS32 big-endian
  make HOST_CC="gcc -m32" CROSS=mips-linux-
 -# MIPS little-endian
 +# MIPS32 little-endian
  make HOST_CC="gcc -m32" CROSS=mipsel-linux-
 +
 +# MIPS64 big-endian
 +make CROSS=mips-linux- TARGET_CFLAGS="-mips64r2 -mabi=64"
 +# MIPS64 little-endian
 +make CROSS=mipsel-linux- TARGET_CFLAGS="-mips64r2 -mabi=64"
  </pre>
  <p>
- You can cross-compile for <b id="android">Android</b> using the <a href="https://developer.android.com/ndk/index.html">Android NDK</a>.
- The environment variables need to match the install locations and the
- desired target platform. E.g. Android&nbsp;4.0 corresponds to ABI level&nbsp;14.
- For details check the folder <tt>docs</tt> in the NDK directory.
- </p>
- <p>
- Only a few common variations for the different CPUs, ABIs and platforms
- are listed. Please use your own judgement for which combination you want
- to build/deploy or which lowest common denominator you want to pick:
+ You can cross-compile for <b id="android">Android</b> using the <a href="http://developer.android.com/ndk/"><span class="ext">&raquo;</span>&nbsp;Android NDK</a>.
+ Please adapt the environment variables to match the install locations and the
+ desired target platform. E.g. Android&nbsp;4.1 corresponds to ABI level&nbsp;16.
  </p>
  <pre class="code">
- # Android/ARM, armeabi (ARMv5TE soft-float), Android 2.2+ (Froyo)
- NDK=/opt/android/ndk
- NDKABI=8
- NDKVER=$NDK/toolchains/arm-linux-androideabi-4.9
- 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"
- # Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.0+ (ICS)
- NDK=/opt/android/ndk
- NDKABI=14
- NDKVER=$NDK/toolchains/arm-linux-androideabi-4.9
- NDKP=$NDKVER/prebuilt/linux-x86/bin/arm-linux-androideabi-
- NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
- NDKARCH="-march=armv7-a -mfloat-abi=softfp -Wl,--fix-cortex-a8"
- make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF $NDKARCH"
- # Android/MIPS, mipsel (MIPS32R1 hard-float), Android 4.0+ (ICS)
- NDK=/opt/android/ndk
- NDKABI=14
- NDKVER=$NDK/toolchains/mipsel-linux-android-4.9
- NDKP=$NDKVER/prebuilt/linux-x86/bin/mipsel-linux-android-
- NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-mips"
- make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF"
 -# Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.1+ (JB)
++# Android/ARM64, aarch64, Android 5.0+ (L)
++NDKDIR=/opt/android/ndk
++NDKBIN=$NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin
++NDKCROSS=$NDKBIN/aarch64-linux-android-
++NDKCC=$NDKBIN/aarch64-linux-android21-clang
++make CROSS=$NDKCROSS \
++     STATIC_CC=$NDKCC DYNAMIC_CC="$NDKCC -fPIC" \
++     TARGET_LD=$NDKCC
  
- # Android/x86, x86 (i686 SSE3), Android 4.0+ (ICS)
- NDK=/opt/android/ndk
- NDKABI=14
- NDKVER=$NDK/toolchains/x86-4.9
- NDKP=$NDKVER/prebuilt/linux-x86/bin/i686-linux-android-
- NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-x86"
- make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF"
++# Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.1+ (JB)
+ NDKDIR=/opt/android/ndk
+ NDKBIN=$NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin
+ NDKCROSS=$NDKBIN/arm-linux-androideabi-
+ NDKCC=$NDKBIN/armv7a-linux-androideabi16-clang
+ make HOST_CC="gcc -m32" CROSS=$NDKCROSS \
+      STATIC_CC=$NDKCC DYNAMIC_CC="$NDKCC -fPIC" \
+      TARGET_LD=$NDKCC
  </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>:
 -Please use the LuaJIT 2.1 branch to compile for
 -<b id="ios">iOS</b> (iPhone/iPad).
++You can cross-compile for <b id="ios">iOS 3.0+</b> (iPhone/iPad) using the <a href="http://developer.apple.com/ios/"><span class="ext">&raquo;</span>&nbsp;iOS SDK</a>:
  </p>
- # iOS/ARM (32 bit)
- ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
- ICC=$(xcrun --sdk iphoneos --find clang)
- ISDKF="-arch armv7 -isysroot $ISDKP"
- make DEFAULT_CC=clang HOST_CC="clang -m32 -arch i386" \
-      CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
 +<p style="font-size: 8pt;">
 +Note: <b>the JIT compiler is disabled for iOS</b>, because regular iOS Apps
 +are not allowed to generate code at runtime. You'll only get the performance
 +of the LuaJIT interpreter on iOS. This is still faster than plain Lua, but
 +much slower than the JIT compiler. Please complain to Apple, not me.
 +Or use Android. :-p
 +</p>
 +<pre class="code">
 +# iOS/ARM64
 +ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
 +ICC=$(xcrun --sdk iphoneos --find clang)
 +ISDKF="-arch arm64 -isysroot $ISDKP"
 +make DEFAULT_CC=clang CROSS="$(dirname $ICC)/" \
 +     TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
 +</pre>
  
  <h3 id="consoles">Cross-compiling for consoles</h3>
  <p>