From 4df44858f648c6b0dd7b60017cbc1590a61243e8 Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Tue, 26 Feb 2019 21:34:34 +0100 Subject: [PATCH] build-package: mv termux_setup_meson to scripts/build/setup --- build-package.sh | 94 +---------------------- scripts/build/setup/termux_setup_meson.sh | 93 ++++++++++++++++++++++ 2 files changed, 94 insertions(+), 93 deletions(-) create mode 100644 scripts/build/setup/termux_setup_meson.sh diff --git a/build-package.sh b/build-package.sh index de537b408..ccaea330a 100755 --- a/build-package.sh +++ b/build-package.sh @@ -19,99 +19,7 @@ source scripts/build/setup/termux_setup_rust.sh source scripts/build/setup/termux_setup_ninja.sh # Utility function to setup a current meson build system. -termux_setup_meson() { - termux_setup_ninja - local MESON_VERSION=0.49.0 - local MESON_FOLDER=$TERMUX_COMMON_CACHEDIR/meson-$MESON_VERSION-v1 - if [ ! -d "$MESON_FOLDER" ]; then - local MESON_TAR_NAME=meson-$MESON_VERSION.tar.gz - local MESON_TAR_FILE=$TERMUX_PKG_TMPDIR/$MESON_TAR_NAME - local MESON_TMP_FOLDER=$TERMUX_PKG_TMPDIR/meson-$MESON_VERSION - termux_download \ - "https://github.com/mesonbuild/meson/releases/download/$MESON_VERSION/meson-$MESON_VERSION.tar.gz" \ - "$MESON_TAR_FILE" \ - fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 - tar xf "$MESON_TAR_FILE" -C "$TERMUX_PKG_TMPDIR" - mv "$MESON_TMP_FOLDER" "$MESON_FOLDER" - fi - TERMUX_MESON="$MESON_FOLDER/meson.py" - TERMUX_MESON_CROSSFILE=$TERMUX_PKG_TMPDIR/meson-crossfile-$TERMUX_ARCH.txt - local MESON_CPU MESON_CPU_FAMILY - if [ "$TERMUX_ARCH" = "arm" ]; then - MESON_CPU_FAMILY="arm" - MESON_CPU="armv7" - elif [ "$TERMUX_ARCH" = "i686" ]; then - MESON_CPU_FAMILY="x86" - MESON_CPU="i686" - elif [ "$TERMUX_ARCH" = "x86_64" ]; then - MESON_CPU_FAMILY="x86_64" - MESON_CPU="x86_64" - elif [ "$TERMUX_ARCH" = "aarch64" ]; then - MESON_CPU_FAMILY="arm" - MESON_CPU="aarch64" - else - termux_error_exit "Unsupported arch: $TERMUX_ARCH" - fi - - local CONTENT="" - echo "[binaries]" > $TERMUX_MESON_CROSSFILE - echo "ar = '$AR'" >> $TERMUX_MESON_CROSSFILE - echo "c = '$CC'" >> $TERMUX_MESON_CROSSFILE - echo "cpp = '$CXX'" >> $TERMUX_MESON_CROSSFILE - echo "ld = '$LD'" >> $TERMUX_MESON_CROSSFILE - echo "pkgconfig = '$PKG_CONFIG'" >> $TERMUX_MESON_CROSSFILE - echo "strip = '$STRIP'" >> $TERMUX_MESON_CROSSFILE - - echo '' >> $TERMUX_MESON_CROSSFILE - echo "[properties]" >> $TERMUX_MESON_CROSSFILE - echo "needs_exe_wrapper = true" >> $TERMUX_MESON_CROSSFILE - - echo -n "c_args = [" >> $TERMUX_MESON_CROSSFILE - local word first=true - for word in $CFLAGS $CPPFLAGS; do - if [ "$first" = "true" ]; then - first=false - else - echo -n ", " >> $TERMUX_MESON_CROSSFILE - fi - echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE - done - echo ']' >> $TERMUX_MESON_CROSSFILE - - echo -n "cpp_args = [" >> $TERMUX_MESON_CROSSFILE - local word first=true - for word in $CXXFLAGS $CPPFLAGS; do - if [ "$first" = "true" ]; then - first=false - else - echo -n ", " >> $TERMUX_MESON_CROSSFILE - fi - echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE - done - echo ']' >> $TERMUX_MESON_CROSSFILE - - local property - for property in c_link_args cpp_link_args; do - echo -n "$property = [" >> $TERMUX_MESON_CROSSFILE - first=true - for word in $LDFLAGS; do - if [ "$first" = "true" ]; then - first=false - else - echo -n ", " >> $TERMUX_MESON_CROSSFILE - fi - echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE - done - echo ']' >> $TERMUX_MESON_CROSSFILE - done - - echo '' >> $TERMUX_MESON_CROSSFILE - echo "[host_machine]" >> $TERMUX_MESON_CROSSFILE - echo "cpu_family = '$MESON_CPU_FAMILY'" >> $TERMUX_MESON_CROSSFILE - echo "cpu = '$MESON_CPU'" >> $TERMUX_MESON_CROSSFILE - echo "endian = 'little'" >> $TERMUX_MESON_CROSSFILE - echo "system = 'android'" >> $TERMUX_MESON_CROSSFILE -} +source scripts/build/setup/termux_setup_meson.sh # Utility function to setup a current cmake build system termux_setup_cmake() { diff --git a/scripts/build/setup/termux_setup_meson.sh b/scripts/build/setup/termux_setup_meson.sh new file mode 100644 index 000000000..533fae6a3 --- /dev/null +++ b/scripts/build/setup/termux_setup_meson.sh @@ -0,0 +1,93 @@ +termux_setup_meson() { + termux_setup_ninja + local MESON_VERSION=0.49.0 + local MESON_FOLDER=$TERMUX_COMMON_CACHEDIR/meson-$MESON_VERSION-v1 + if [ ! -d "$MESON_FOLDER" ]; then + local MESON_TAR_NAME=meson-$MESON_VERSION.tar.gz + local MESON_TAR_FILE=$TERMUX_PKG_TMPDIR/$MESON_TAR_NAME + local MESON_TMP_FOLDER=$TERMUX_PKG_TMPDIR/meson-$MESON_VERSION + termux_download \ + "https://github.com/mesonbuild/meson/releases/download/$MESON_VERSION/meson-$MESON_VERSION.tar.gz" \ + "$MESON_TAR_FILE" \ + fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 + tar xf "$MESON_TAR_FILE" -C "$TERMUX_PKG_TMPDIR" + mv "$MESON_TMP_FOLDER" "$MESON_FOLDER" + fi + TERMUX_MESON="$MESON_FOLDER/meson.py" + TERMUX_MESON_CROSSFILE=$TERMUX_PKG_TMPDIR/meson-crossfile-$TERMUX_ARCH.txt + local MESON_CPU MESON_CPU_FAMILY + if [ "$TERMUX_ARCH" = "arm" ]; then + MESON_CPU_FAMILY="arm" + MESON_CPU="armv7" + elif [ "$TERMUX_ARCH" = "i686" ]; then + MESON_CPU_FAMILY="x86" + MESON_CPU="i686" + elif [ "$TERMUX_ARCH" = "x86_64" ]; then + MESON_CPU_FAMILY="x86_64" + MESON_CPU="x86_64" + elif [ "$TERMUX_ARCH" = "aarch64" ]; then + MESON_CPU_FAMILY="arm" + MESON_CPU="aarch64" + else + termux_error_exit "Unsupported arch: $TERMUX_ARCH" + fi + + local CONTENT="" + echo "[binaries]" > $TERMUX_MESON_CROSSFILE + echo "ar = '$AR'" >> $TERMUX_MESON_CROSSFILE + echo "c = '$CC'" >> $TERMUX_MESON_CROSSFILE + echo "cpp = '$CXX'" >> $TERMUX_MESON_CROSSFILE + echo "ld = '$LD'" >> $TERMUX_MESON_CROSSFILE + echo "pkgconfig = '$PKG_CONFIG'" >> $TERMUX_MESON_CROSSFILE + echo "strip = '$STRIP'" >> $TERMUX_MESON_CROSSFILE + + echo '' >> $TERMUX_MESON_CROSSFILE + echo "[properties]" >> $TERMUX_MESON_CROSSFILE + echo "needs_exe_wrapper = true" >> $TERMUX_MESON_CROSSFILE + + echo -n "c_args = [" >> $TERMUX_MESON_CROSSFILE + local word first=true + for word in $CFLAGS $CPPFLAGS; do + if [ "$first" = "true" ]; then + first=false + else + echo -n ", " >> $TERMUX_MESON_CROSSFILE + fi + echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE + done + echo ']' >> $TERMUX_MESON_CROSSFILE + + echo -n "cpp_args = [" >> $TERMUX_MESON_CROSSFILE + local word first=true + for word in $CXXFLAGS $CPPFLAGS; do + if [ "$first" = "true" ]; then + first=false + else + echo -n ", " >> $TERMUX_MESON_CROSSFILE + fi + echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE + done + echo ']' >> $TERMUX_MESON_CROSSFILE + + local property + for property in c_link_args cpp_link_args; do + echo -n "$property = [" >> $TERMUX_MESON_CROSSFILE + first=true + for word in $LDFLAGS; do + if [ "$first" = "true" ]; then + first=false + else + echo -n ", " >> $TERMUX_MESON_CROSSFILE + fi + echo -n "'$word'" >> $TERMUX_MESON_CROSSFILE + done + echo ']' >> $TERMUX_MESON_CROSSFILE + done + + echo '' >> $TERMUX_MESON_CROSSFILE + echo "[host_machine]" >> $TERMUX_MESON_CROSSFILE + echo "cpu_family = '$MESON_CPU_FAMILY'" >> $TERMUX_MESON_CROSSFILE + echo "cpu = '$MESON_CPU'" >> $TERMUX_MESON_CROSSFILE + echo "endian = 'little'" >> $TERMUX_MESON_CROSSFILE + echo "system = 'android'" >> $TERMUX_MESON_CROSSFILE +}