Skip to content

Commit

Permalink
build aarch32 cexec binary
Browse files Browse the repository at this point in the history
* adds aarch32 cexec binary

* accept variable to build binaries for aarch32 arch

* adds comments
  • Loading branch information
Bharath92 authored and shrivara committed Jun 18, 2018
1 parent bb9df06 commit 2fb447f
Show file tree
Hide file tree
Showing 36 changed files with 10,123 additions and 4 deletions.
Binary file added dist/aarch32/linux/main/_bsddb.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_cn.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_hk.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_iso2022.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_jp.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_kr.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_codecs_tw.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_ctypes.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_hashlib.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_json.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_multibytecodec.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_ssl.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/_testcapi.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/bz2.so
Binary file not shown.
4,400 changes: 4,400 additions & 0 deletions dist/aarch32/linux/main/certifi/cacert.pem

Large diffs are not rendered by default.

Binary file added dist/aarch32/linux/main/dbm.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/future_builtins.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/libbz2.so.1.0
Binary file not shown.
Binary file added dist/aarch32/linux/main/libcrypto.so.1.0.0
Binary file not shown.
Binary file added dist/aarch32/linux/main/libdb-5.3.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/libexpat.so.1
Binary file not shown.
Binary file added dist/aarch32/linux/main/libffi.so.6
Binary file not shown.
Binary file added dist/aarch32/linux/main/libgcc_s.so.1
Binary file not shown.
Binary file added dist/aarch32/linux/main/libpython2.7.so.1.0
Binary file not shown.
Binary file added dist/aarch32/linux/main/libreadline.so.6
Binary file not shown.
Binary file added dist/aarch32/linux/main/libssl.so.1.0.0
Binary file not shown.
Binary file added dist/aarch32/linux/main/libtinfo.so.5
Binary file not shown.
Binary file added dist/aarch32/linux/main/libz.so.1
Binary file not shown.
97 changes: 97 additions & 0 deletions dist/aarch32/linux/main/local/include/python2.7/pyconfig.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#if defined(__linux__)
# if defined(__x86_64__) && defined(__LP64__)
# include <x86_64-linux-gnu/python2.7/pyconfig.h>
# elif defined(__x86_64__) && defined(__ILP32__)
# include <x86_64-linux-gnux32/python2.7/pyconfig.h>
# elif defined(__i386__)
# include <i386-linux-gnu/python2.7/pyconfig.h>
# elif defined(__aarch64__) && defined(__AARCH64EL__)
# if defined(__ILP32__)
# include <aarch64_ilp32-linux-gnu/python2.7/pyconfig.h>
# else
# include <aarch64-linux-gnu/python2.7/pyconfig.h>
# endif
# elif defined(__aarch64__) && defined(__AARCH64EB__)
# if defined(__ILP32__)
# include <aarch64_be_ilp32-linux-gnu/python2.7/pyconfig.h>
# else
# include <aarch64_be-linux-gnu/python2.7/pyconfig.h>
# endif
# elif defined(__alpha__)
# include <alpha-linux-gnu/python2.7/pyconfig.h>
# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
# include <arm-linux-gnueabihf/python2.7/pyconfig.h>
# else
# include <armeb-linux-gnueabihf/python2.7/pyconfig.h>
# endif
# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
# include <arm-linux-gnueabi/python2.7/pyconfig.h>
# else
# include <armeb-linux-gnueabi/python2.7/pyconfig.h>
# endif
# elif defined(__hppa__)
# include <hppa-linux-gnu/python2.7/pyconfig.h>
# elif defined(__ia64__)
# include <ia64-linux-gnu/python2.7/pyconfig.h>
# elif defined(__m68k__) && !defined(__mcoldfire__)
# include <m68k-linux-gnu/python2.7/pyconfig.h>
# elif defined(__mips_hard_float) && defined(_MIPSEL)
# if _MIPS_SIM == _ABIO32
# include <mipsel-linux-gnu/python2.7/pyconfig.h>
# elif _MIPS_SIM == _ABIN32
# include <mips64el-linux-gnuabin32/python2.7/pyconfig.h>
# elif _MIPS_SIM == _ABI64
# include <mips64el-linux-gnuabi64/python2.7/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
# elif defined(__mips_hard_float)
# if _MIPS_SIM == _ABIO32
# include <mips-linux-gnu/python2.7/pyconfig.h>
# elif _MIPS_SIM == _ABIN32
# include <mips64-linux-gnuabin32/python2.7/pyconfig.h>
# elif _MIPS_SIM == _ABI64
# include <mips64-linux-gnuabi64/python2.7/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
# elif defined(__or1k__)
# include <or1k-linux-gnu/python2.7/pyconfig.h>
# elif defined(__powerpc__) && defined(__SPE__)
# include <powerpc-linux-gnuspe/python2.7/pyconfig.h>
# elif defined(__powerpc64__)
# if defined(__LITTLE_ENDIAN__)
# include <powerpc64le-linux-gnu/python2.7/pyconfig.h>
# else
# include <powerpc64-linux-gnu/python2.7/pyconfig.h>
# endif
# elif defined(__powerpc__)
# include <powerpc-linux-gnu/python2.7/pyconfig.h>
# elif defined(__s390x__)
# include <s390x-linux-gnu/python2.7/pyconfig.h>
# elif defined(__s390__)
# include <s390-linux-gnu/python2.7/pyconfig.h>
# elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
# include <sh4-linux-gnu/python2.7/pyconfig.h>
# elif defined(__sparc__) && defined(__arch64__)
# include <sparc64-linux-gnu/python2.7/pyconfig.h>
# elif defined(__sparc__)
# include <sparc-linux-gnu/python2.7/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
#elif defined(__FreeBSD_kernel__)
# if defined(__LP64__)
# include <x86_64-kfreebsd-gnu/python2.7/pyconfig.h>
# elif defined(__i386__)
# include <i386-kfreebsd-gnu/python2.7/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
#elif defined(__gnu_hurd__)
# include <i386-gnu/python2.7/pyconfig.h>
#else
# error unknown multiarch location for pyconfig.h
#endif
Binary file added dist/aarch32/linux/main/main
Binary file not shown.
Binary file added dist/aarch32/linux/main/pyexpat.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/readline.so
Binary file not shown.
5,616 changes: 5,616 additions & 0 deletions dist/aarch32/linux/main/requests/cacert.pem

Large diffs are not rendered by default.

Binary file added dist/aarch32/linux/main/resource.so
Binary file not shown.
Binary file added dist/aarch32/linux/main/termios.so
Binary file not shown.
14 changes: 10 additions & 4 deletions package.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
#!/bin/bash -e

export BINARY_ARCHITECTURE="$1"
readonly VE_LOCATION=/tmp/cexec_pkg_ve

init_ve() {
local arch=$(uname -m)
virtualenv -p /usr/bin/python $VE_LOCATION
source $VE_LOCATION/bin/activate
# TODO: remove this check once pyinstaller 3.4 is released
if [ "$arch" != "aarch64" ]; then
pip install pyinstaller==3.3
fi
pip install pyinstaller==3.3.1
pip install -r requirements.txt
}

package() {
local arch=$(uname -m)
# 32-bit binaries are built on 32-bit docker containers running on 64-bit
# machines. So, aarch32 is explicitly sent to package.sh, so that the binary
# is added in the correct folder.
if [ ! -z "$BINARY_ARCHITECTURE" ]; then
arch="$BINARY_ARCHITECTURE"
fi
sudo rm -r dist/$arch/linux || true
pyinstaller --distpath dist/$arch/linux --clean --hidden-import=requests main.py
# x86_64 is the default architecture. So, the binary is copied to the default
# path dist/main/
if [ "$arch" == "x86_64" ]; then
sudo rm -r dist/main || true
mkdir -p dist/main
Expand Down

0 comments on commit 2fb447f

Please sign in to comment.