summaryrefslogtreecommitdiff
path: root/scripts/build/companion_libs
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-02-04 01:49:45 (GMT)
committerAlexey Neyman <stilor@att.net>2017-02-05 22:26:02 (GMT)
commitd91277e377d9dbbc87e7997db7059b30a3389bb2 (patch)
treecd6098acf7206560cc5d46cd357e5d8db1bd754d /scripts/build/companion_libs
parent10db7887ce0ff5e8323dc35176eaabbb3618e81c (diff)
Add zlib as a companion lib
with version 1.2.11. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/build/companion_libs')
-rw-r--r--scripts/build/companion_libs/050-zlib.sh108
-rw-r--r--scripts/build/companion_libs/100-gmp.sh3
-rw-r--r--scripts/build/companion_libs/110-mpfr.sh1
-rw-r--r--scripts/build/companion_libs/121-isl.sh1
-rw-r--r--scripts/build/companion_libs/130-cloog.sh1
-rw-r--r--scripts/build/companion_libs/140-mpc.sh1
-rw-r--r--scripts/build/companion_libs/200-libelf.sh1
7 files changed, 109 insertions, 7 deletions
diff --git a/scripts/build/companion_libs/050-zlib.sh b/scripts/build/companion_libs/050-zlib.sh
new file mode 100644
index 0000000..45518e9
--- /dev/null
+++ b/scripts/build/companion_libs/050-zlib.sh
@@ -0,0 +1,108 @@
+# This file adds the functions to build the zlib library
+# Copyright 2017 Alexey Neyman
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+do_zlib_get() { :; }
+do_zlib_extract() { :; }
+do_zlib_for_build() { :; }
+do_zlib_for_host() { :; }
+do_zlib_for_target() { :; }
+
+# Overide functions depending on configuration
+if [ "${CT_ZLIB}" = "y" ]; then
+
+# Download zlib
+do_zlib_get() {
+ CT_GetFile "zlib-${CT_ZLIB_VERSION}" \
+ "http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
+}
+
+# Extract zlib
+do_zlib_extract() {
+ CT_Extract "zlib-${CT_ZLIB_VERSION}"
+ CT_Patch "zlib" "${CT_ZLIB_VERSION}"
+}
+
+# Build zlib for running on build
+# - always build statically
+# - install in build-tools prefix
+do_zlib_for_build() {
+ local -a zlib_opts
+
+ case "${CT_TOOLCHAIN_TYPE}" in
+ native|cross) return 0;;
+ esac
+
+ CT_DoStep INFO "Installing zlib for build"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-zlib-build-${CT_BUILD}"
+
+ zlib_opts+=( "host=${CT_BUILD}" )
+ zlib_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ zlib_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
+ zlib_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
+ do_zlib_backend "${zlib_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+# Build zlib for running on host
+do_zlib_for_host() {
+ local -a zlib_opts
+
+ CT_DoStep INFO "Installing zlib for host"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-zlib-host-${CT_HOST}"
+
+ zlib_opts+=( "host=${CT_HOST}" )
+ zlib_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
+ zlib_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
+ zlib_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
+ do_zlib_backend "${zlib_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+# Build zlib
+# Parameter : description : type : default
+# host : machine to run on : tuple : (none)
+# prefix : prefix to install into : dir : (none)
+# cflags : cflags to use : string : (empty)
+# ldflags : ldflags to use : string : (empty)
+do_zlib_backend() {
+ local host
+ local prefix
+ local cflags
+ local ldflags
+ local arg
+ local -a extra_config
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ CT_DoLog EXTRA "Configuring zlib"
+
+ CT_DoExecLog CFG \
+ CFLAGS="${cflags}" \
+ LDFLAGS="${ldflags}" \
+ CROSS_PREFIX="${host}-" \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/zlib-${CT_ZLIB_VERSION}/configure" \
+ --prefix="${prefix}" \
+ --static \
+ "${extra_config[@]}"
+
+ CT_DoLog EXTRA "Building zlib"
+ CT_DoExecLog ALL make ${JOBSFLAGS}
+
+ if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
+ CT_DoLog EXTRA "Checking zlib"
+ CT_DoExecLog ALL make ${JOBSFLAGS} -s check
+ fi
+
+ CT_DoLog EXTRA "Installing zlib"
+ CT_DoExecLog ALL make install
+}
+
+fi # CT_ZLIB
diff --git a/scripts/build/companion_libs/100-gmp.sh b/scripts/build/companion_libs/100-gmp.sh
index 8ce500e..6b526c8 100644
--- a/scripts/build/companion_libs/100-gmp.sh
+++ b/scripts/build/companion_libs/100-gmp.sh
@@ -26,7 +26,6 @@ do_gmp_extract() {
# Build GMP for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_gmp_for_build() {
local -a gmp_opts
@@ -101,7 +100,7 @@ do_gmp_backend() {
--enable-cxx \
--disable-shared \
--enable-static \
- "${extra_config}"
+ "${extra_config[@]}"
CT_DoLog EXTRA "Building GMP"
CT_DoExecLog ALL make ${JOBSFLAGS}
diff --git a/scripts/build/companion_libs/110-mpfr.sh b/scripts/build/companion_libs/110-mpfr.sh
index 05b6860..4b9bc64 100644
--- a/scripts/build/companion_libs/110-mpfr.sh
+++ b/scripts/build/companion_libs/110-mpfr.sh
@@ -68,7 +68,6 @@ do_mpfr_extract() {
# Build MPFR for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_mpfr_for_build() {
local -a mpfr_opts
diff --git a/scripts/build/companion_libs/121-isl.sh b/scripts/build/companion_libs/121-isl.sh
index bde63e3..8783f2d 100644
--- a/scripts/build/companion_libs/121-isl.sh
+++ b/scripts/build/companion_libs/121-isl.sh
@@ -25,7 +25,6 @@ do_isl_extract() {
# Build ISL for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_isl_for_build() {
local -a isl_opts
diff --git a/scripts/build/companion_libs/130-cloog.sh b/scripts/build/companion_libs/130-cloog.sh
index b1c307c..b6ea1e5 100644
--- a/scripts/build/companion_libs/130-cloog.sh
+++ b/scripts/build/companion_libs/130-cloog.sh
@@ -29,7 +29,6 @@ do_cloog_extract() {
# Build CLooG for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_cloog_for_build() {
local -a cloog_opts
diff --git a/scripts/build/companion_libs/140-mpc.sh b/scripts/build/companion_libs/140-mpc.sh
index f753c51..acb5fd3 100644
--- a/scripts/build/companion_libs/140-mpc.sh
+++ b/scripts/build/companion_libs/140-mpc.sh
@@ -26,7 +26,6 @@ do_mpc_extract() {
# Build MPC for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_mpc_for_build() {
local -a mpc_opts
diff --git a/scripts/build/companion_libs/200-libelf.sh b/scripts/build/companion_libs/200-libelf.sh
index 41e4564..807ce7e 100644
--- a/scripts/build/companion_libs/200-libelf.sh
+++ b/scripts/build/companion_libs/200-libelf.sh
@@ -24,7 +24,6 @@ if [ "${CT_LIBELF}" = "y" ]; then
# Build libelf for running on build
# - always build statically
-# - we do not have build-specific CFLAGS
# - install in build-tools prefix
do_libelf_for_build() {
local -a libelf_opts