Compare commits

...

5 Commits

Author SHA1 Message Date
Paul Sokolovsky 929f160433 build-android.sh: Android build script, using NDK standalone toolchain. 2015-12-05 22:33:13 +02:00
Paul Sokolovsky 6710484891 Add support for MIPS big-endian, using OpenWRT SDK. 2015-12-05 22:33:12 +02:00
Paul Sokolovsky 457751674f run-tests.mipsel: MIPS test runner using QEMU. 2015-12-05 22:33:12 +02:00
Paul Sokolovsky 8bd13d7a58 micropython.mipsel: Runner script for MIPS build, using QEMU. 2015-12-05 22:33:12 +02:00
Paul Sokolovsky 92499672e3 build-mipsel.sh: Build script for MIPS using OpenWRT SDK. 2015-12-05 22:33:12 +02:00
7 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1 @@
MICROPY_MICROPYTHON=../unix/micropython.mipseb ./run-tests "$@"

View File

@ -0,0 +1 @@
MICROPY_MICROPYTHON=../unix/micropython.mipsel ./run-tests "$@"

View File

@ -0,0 +1,16 @@
# Requires standalone toolchain (as made by
# make-standalone-toolchain.sh from NDK).
# See docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html
# under SDK dir ("Invoking the compiler (the easy way)" subsection).
# Change for other architectures or toolchains
export CROSS_COMPILE=arm-linux-androideabi-
make deplibs
# LDFLAGS_ARCH= suppresses map file generation, which
# causes android-ndk-r10e gcc to fault
make MICROPY_STANDALONE=1 MICROPY_PY_JNI=1 LDFLAGS_ARCH= V=1 -B
make MICROPY_STANDALONE=1 MICROPY_PY_JNI=1 LDFLAGS_ARCH= V=1 lib
# Automatically install on device/emulator for testing
adb push micropython /data/local/tmp

View File

@ -0,0 +1,22 @@
#!/bin/sh
OPENWRT_SDK=~/toolchain/OpenWrt-SDK-atheros-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2
GCC_PATH=$OPENWRT_SDK/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=$OPENWRT_SDK/staging_dir/target-mips_mips32_uClibc-0.9.33.2
export PATH=$GCC_PATH:$PATH
# Don't even generate .pdr
# CFLAGS_EXTRA="-Wa,-mno-pdr"
#-march=24kc -DNDEBUG -mips16
make CROSS_COMPILE=mips-openwrt-linux- libffi
make CROSS_COMPILE=mips-openwrt-linux- CWARN="-Wall" \
COPT="-Os" \
CFLAGS_EXTRA="-DMICROPY_GCREGS_SETJMP=1 -DMICROPY_NLR_SETJMP=1 -DMICROPY_EMIT_X64=0" \
LDFLAGS_EXTRA="-lcurses -static-libgcc" \
STRIPFLAGS_EXTRA="--remove-section=.pdr -R .comment -R .gnu.version -R .gnu.version_r \
-R .gnu.attributes -R .reginfo -R .mdebug.abi32" \
MICROPY_STANDALONE=1 \
V=1 -B

View File

@ -0,0 +1,22 @@
#!/bin/sh
OPENWRT_SDK=~/toolchain/OpenWrt-SDK-brcm47xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2
GCC_PATH=$OPENWRT_SDK/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=$OPENWRT_SDK/staging_dir/target-mipsel_uClibc-0.9.33.2
export PATH=$GCC_PATH:$PATH
# Don't even generate .pdr
# CFLAGS_EXTRA="-Wa,-mno-pdr"
#-march=24kc -DNDEBUG -mips16
make CROSS_COMPILE=mipsel-openwrt-linux- deplibs
make CROSS_COMPILE=mipsel-openwrt-linux- CWARN="-Wall" \
COPT="-Os" \
CFLAGS_EXTRA="-DMICROPY_GCREGS_SETJMP=1 -DMICROPY_NLR_SETJMP=1 -DMICROPY_EMIT_X64=0" \
LDFLAGS_EXTRA="-static-libgcc" \
STRIPFLAGS_EXTRA="--remove-section=.pdr -R .comment -R .gnu.version -R .gnu.version_r \
-R .gnu.attributes -R .reginfo -R .mdebug.abi32" \
MICROPY_STANDALONE=1 \
V=1 -B

View File

@ -0,0 +1,7 @@
#!/bin/sh
OPENWRT_SDK=~/toolchain/OpenWrt-SDK-atheros-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2
qemu-mips -L $OPENWRT_SDK/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2 \
-E LD_LIBRARY_PATH=$OPENWRT_SDK/staging_dir/target-mips_mips32_uClibc-0.9.33.2/usr/lib \
$(dirname $0)/micropython "$@"

View File

@ -0,0 +1,7 @@
#!/bin/sh
OPENWRT_SDK=~/toolchain/OpenWrt-SDK-brcm47xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2
qemu-mipsel -L $OPENWRT_SDK/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.33.2 \
-E LD_LIBRARY_PATH=$OPENWRT_SDK/staging_dir/target-mipsel_uClibc-0.9.33.2/usr/lib \
$(dirname $0)/micropython "$@"