summaryrefslogtreecommitdiffhomepage
path: root/build
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2017-01-30 18:50:20 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2017-01-30 23:09:41 +0000
commit570129106f694bef52e07a5fc08f6c63f7f54073 (patch)
tree3adbc4836865dd61a54ab60c3ce270d597d50a80 /build
parent99690f1bad0f1a8621f5bbc706a8ef0ba033ee68 (diff)
downloadmidipix_build-570129106f694bef52e07a5fc08f6c63f7f54073.tar.bz2
midipix_build-570129106f694bef52e07a5fc08f6c63f7f54073.tar.xz
build.sh: 2nd refactoring pt. I.
build/{gcc,musl}.*.build: refactored into vars/{gcc,musl}.*.build. build/pkg.build: merged w/ build.sh (structurally) and refactored into subr/pkg_*.subr (implementations.) patches/gcc_native_x86_64_w64_mingw32.local.patch: fix wrong filename. subr/build.subr: merges source_scripts() into build.sh. subr/pkg.subr: accept either of ${PKG_..._{URL,VERSION}} when checking for missing entries in var/build.vars. vars/build.vars: adds vars for {gcc,musl}_*. vars/psxstub.vars: convert to pkg_..._all(); call pkg_fetch().
Diffstat (limited to 'build')
-rw-r--r--build/gcc.full.build198
l---------build/gcc.host.mingw_w64.build1
l---------build/gcc.libstdc++-v3.build1
l---------build/gcc.native.build1
l---------build/gcc.runtime.build1
l---------build/gcc.stage1.build1
l---------build/gcc.stage1.mingw_w64.build1
-rw-r--r--build/musl.full.build68
l---------build/musl.native.build1
l---------build/musl.no-complex.build1
-rw-r--r--build/pkg.build295
11 files changed, 0 insertions, 569 deletions
diff --git a/build/gcc.full.build b/build/gcc.full.build
deleted file mode 100644
index ee597167..00000000
--- a/build/gcc.full.build
+++ /dev/null
@@ -1,198 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-if [ "${3}" = mingw_w64 ]; then
- TARGET=x86_64-w64-mingw32;
- PKG_TARGET=x86_64-w64-mingw32;
- if [ ! -L ${PREFIX}/${TARGET}/mingw ]; then
- secure_rm ${PREFIX}/${TARGET}/mingw;
- ln -sf . ${PREFIX}/${TARGET}/mingw;
- fi;
-fi;
-
-# Order: stage1, runtime, full, native
-
-export MAKE="make LIBTOOL=slibtool";
-if [ "${2}" = runtime ]\
-|| [ "${2}" = libstdc++-v3 ]\
-|| [ "${2}" = full ]; then
- set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross;
- cd ${PKG_BUILD_DIR};
- if [ "${2}" = runtime ]; then
- # GCC, compiler runtime.
- if ! is_build_script_done build; then
- make ${MAKEFLAGS} all-target-libgcc;
- set_build_script_done build -install;
- fi;
- if ! is_build_script_done install; then
- make ${MAKEFLAGS} install-target-libgcc;
- set_build_script_done install finish;
- fi;
- elif [ "${2}" = libstdc++-v3 ]; then
- # GCC, libstdc++-v3.
- if ! is_build_script_done build; then
- make ${MAKEFLAGS} all-target-libstdc++-v3;
- set_build_script_done build -install;
- fi;
- if ! is_build_script_done install; then
- make ${MAKEFLAGS} install-target-libstdc++-v3;
- set_build_script_done install finish;
- fi;
- elif [ "${2}" = full ]; then
- # GCC, everything else.
- if ! is_build_script_done build; then
- make ${MAKEFLAGS};
- set_build_script_done build -install;
- fi;
- if ! is_build_script_done install; then
- make ${MAKEFLAGS} install;
- set_build_script_done install finish;
- fi;
- fi;
-else
- if [ "${2}" = stage1 ]\
- || [ "${2}" = host ]; then
- # GCC, stage1.
- if ! is_build_script_done fetch; then
- fetch_git cbb-gcc-${PKG_GCC_VERSION} \
- ${GITROOT}/cbb/cbb-gcc-${PKG_GCC_VERSION};
- set_build_script_done fetch -configure;
- fi;
- set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross;
- export cbb_ldflags_for_target=--sysroot=${PKG_PREFIX} \
- cbb_sysroot_for_libgcc=${PKG_PREFIX} \
- cbb_target=${TARGET} \
- cbb_neutral_libiberty=no \
- cbb_xgcc_for_specs=${WORKDIR}/${PKG_BUILD_DIR}/gcc/xgcc;
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}";
- elif [ "${2}" = native ]; then
- # GCC, native.
- set_build_dir cbb-gcc-${PKG_GCC_VERSION} native;
- export cbb_ldflags_for_target=--sysroot=${PKG_PREFIX} \
- cbb_sysroot_for_libgcc=${PKG_PREFIX} \
- cbb_target=${TARGET} \
- cbb_xgcc_for_specs=${TARGET}-gcc \
- sysroot_headers_suffix=${PKG_PREFIX};
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}";
- fi;
- GCCFLAGS="${CFLAGS:+${CFLAGS} }--include $(readlink -f ${WORKDIR}/cbb-gcc-${PKG_GCC_VERSION}/libc/cbb-musl-pe.h)";
- for __ in CFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS CXXFLAGS_FOR_BUILD; do
- export "${__}=${GCCFLAGS}";
- done;
- for __ in CFLAGS_FOR_TARGET CPPFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LIBCFLAGS_FOR_TARGET XGCC_FLAGS_FOR_TARGET; do
- export "${__}=${GCCTARGET_FLAGS}";
- done;
- for __ in cbb_cflags_for_stage1 cbb_cflags_for_stage2 cbb_cflags_for_stage3 cbb_cflags_for_stage4; do
- export "${__}=${CFLAGS_FOR_BUILD}" ;
- done;
- export CFLAGS CXXFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CFLAGS_FOR_TARGET XGCC_FLAGS_FOR_TARGET CPPFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LIBCFLAGS_FOR_TARGET;
- if ! is_build_script_done configure; then
- if [ "${2}" = stage1 ]\
- || [ "${2}" = host ]; then
- insecure_mkdir ${PKG_PREFIX}/include;
- [ \! -d ${PKG_PREFIX}/usr ] && \
- ln -s -- . ${PKG_PREFIX}/usr;
- _configure_args="--prefix=${PREFIX} --with-sysroot=${PKG_PREFIX}";
- elif [ "${2}" = native ]; then
- insecure_mkdir ${PKG_PREFIX}/${TARGET};
- if [ \! -d ${PKG_PREFIX}/${TARGET}/usr ]; then
- ln -s -- . ${PKG_PREFIX}/${TARGET}/usr;
- fi;
- if [ "${ARCH}" = nt32 ]; then
- _configure_args="--host=i686-nt32-midipix";
- else
- _configure_args="--host=x86_64-nt64-midipix";
- fi;
- _configure_args="${_configure_args} \
- --prefix=/ \
- --with-elf=${PKG_PREFIX} \
- --with-gmp=${PKG_PREFIX} \
- --with-mpc=${PKG_PREFIX} \
- --with-mpfr=${PKG_PREFIX} \
- --with-sysroot=";
- fi;
- if [ "${TARGET#*mingw*}" != "${TARGET}" ]; then
- _configure_args="${_configure_args} \
- --enable-sjlj-exceptions";
- if [ "${2}" != host ]; then
- _configure_args="${_configure_args} \
- --host=${TARGET} \
- --without-headers";
- export AR=${PKG_TARGET}-ar;
- export AS=${PKG_TARGET}-as;
- export CC=${PKG_TARGET}-gcc;
- export CXX=${PKG_TARGET}-c++;
- export RANLIB=${PKG_TARGET}-ranlib;
- fi;
- else
- _configure_args="${_configure_args} \
- --disable-sjlj-exceptions";
- fi;
- if [ "${3}" = mingw_w64 ]\
- && [ -r ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.${2}.${3}.local.patch ]; then
- patch -b -d ${PKG_SUBDIR} -p1 < ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.${2}.${3}.local.patch;
- fi;
- secure_rm ${PKG_BUILD_DIR};
- insecure_mkdir ${PKG_BUILD_DIR};
- secure_cd ${PKG_BUILD_DIR};
- ../cbb-gcc-${PKG_GCC_VERSION}/configure \
- --disable-bootstrap \
- --disable-libmudflap \
- --disable-multilib \
- --disable-nls \
- --disable-obsolete \
- --disable-symvers \
- --enable-canonical-system-headers \
- --enable-__cxa_atexit \
- --enable-debug \
- --enable-gnu-indirect-function \
- --enable-gnu-unique-object \
- --enable-initfini-array \
- --enable-languages=c,c++,objc,lto \
- --enable-libstdcxx-debug \
- --enable-lto \
- --enable-multiarch \
- --enable-secureplt \
- --enable-shared \
- --enable-threads=posix \
- --target=${TARGET} \
- --with-fpmath=sse \
- ${_configure_args};
- set_build_script_done configure clean -build;
- else
- cd ${PKG_BUILD_DIR};
- fi;
- if ! is_build_script_done clean; then
- make ${MAKEFLAGS} clean;
- set_build_script_done clean -build;
- fi;
- if ! is_build_script_done build; then
- if [ "${2}" = stage1 ]\
- || [ "${2}" = host ]; then
- make ${MAKEFLAGS} all-gcc;
- elif [ "${2}" = native ]; then
- make ${MAKEFLAGS} all-gcc;
- make ${MAKEFLAGS} all-target-libgcc;
- make ${MAKEFLAGS} all-target-libstdc++-v3;
- make ${MAKEFLAGS} all;
- fi;
- set_build_script_done build -install;
- fi;
- if ! is_build_script_done install; then
- if [ "${2}" = stage1 ]\
- || [ "${2}" = host ]; then
- make ${MAKEFLAGS} install-gcc;
- __="$(uname -s)";
- if [ "${__#*CYGWIN*}" != "${__}" ]; then
- ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.dll.a \
- ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.so;
- fi;
- elif [ "${2}" = native ]; then
- make ${MAKEFLAGS} DESTDIR=${PKG_PREFIX} install;
- fi;
- set_build_script_done install finish;
- fi;
-fi;
-
-# vim:filetype=sh
diff --git a/build/gcc.host.mingw_w64.build b/build/gcc.host.mingw_w64.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.host.mingw_w64.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/gcc.libstdc++-v3.build b/build/gcc.libstdc++-v3.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.libstdc++-v3.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/gcc.native.build b/build/gcc.native.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.native.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/gcc.runtime.build b/build/gcc.runtime.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.runtime.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/gcc.stage1.build b/build/gcc.stage1.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.stage1.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/gcc.stage1.mingw_w64.build b/build/gcc.stage1.mingw_w64.build
deleted file mode 120000
index b809d40d..00000000
--- a/build/gcc.stage1.mingw_w64.build
+++ /dev/null
@@ -1 +0,0 @@
-gcc.full.build \ No newline at end of file
diff --git a/build/musl.full.build b/build/musl.full.build
deleted file mode 100644
index 35d1de28..00000000
--- a/build/musl.full.build
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-# Order: no-complex, native
-
-# Git clone what we need.
-fetch_git lazy ${GITROOT}/lazy;
-
-export lz_arch=${ARCH} lz_cflags_debug=-O2 lz_target=${TARGET};
-
-if [ "${2}" = no-complex ]; then
- # Musl: build (no-complex)
- _install=install_no_complex;
- set_build_dir musl-${PKG_MUSL_VERSION}-${2} cross;
- if ! is_build_script_done fetch; then
- fetch http://www.musl-libc.org/releases/musl-${PKG_MUSL_VERSION}.tar.gz \
- ${PKG_MUSL_SHA256SUM};
- secure_rm mmglue;
- fetch_git mmglue ${GITROOT}/mmglue;
- set_build_script_done fetch -extract;
- fi;
- if ! is_build_script_done extract; then
- secure_rm musl-${PKG_MUSL_VERSION};
- tar -xf ${DLCACHEDIR}/musl-${PKG_MUSL_VERSION}.tar.gz;
- set +o noglob; cp -R -- mmglue/* musl-${PKG_MUSL_VERSION}/; set -o noglob;
- set_build_script_done extract -configure;
- fi;
-elif [ "${2}" = native ]; then
- # Musl: build (full)
- _install=install;
- set_build_dir musl-${PKG_MUSL_VERSION} "${2}";
-elif [ "${2}" = full ]; then
- # Musl: build (full)
- _install=install;
- set_build_dir musl-${PKG_MUSL_VERSION} cross;
-fi;
-if ! is_build_script_done configure; then
- secure_rm ${PKG_BUILD_DIR};
- insecure_mkdir ${PKG_BUILD_DIR};
- secure_cd ${PKG_BUILD_DIR};
- env lz_cflags_cmdline="${PKG_MUSL_CFLAGS_CONFIGURE_EXTRA}" \
- lz_debug="yes" \
- ../lazy/lazy \
- -a ${ARCH} \
- -c gcc \
- -f ${PKG_PREFIX} \
- -n musl \
- -p ../musl-${PKG_MUSL_VERSION} \
- -t ${lz_target} \
- -x config;
- set_build_script_done configure clean -build;
-else
- cd ${PKG_BUILD_DIR};
-fi;
-if ! is_build_script_done clean; then
- make ${MAKEFLAGS} clean;
- set_build_script_done clean -build;
-fi;
-if ! is_build_script_done build; then
- ./lazy -e ${_install} \
- -x build;
- [ "${2}" = native ] && \
- ln -sf -- ../lib/libc.so ${PKG_PREFIX}/bin/ldd;
- set_build_script_done build finish;
-fi;
-
-# vim:filetype=sh
diff --git a/build/musl.native.build b/build/musl.native.build
deleted file mode 120000
index 2ed15f0d..00000000
--- a/build/musl.native.build
+++ /dev/null
@@ -1 +0,0 @@
-musl.full.build \ No newline at end of file
diff --git a/build/musl.no-complex.build b/build/musl.no-complex.build
deleted file mode 120000
index 2ed15f0d..00000000
--- a/build/musl.no-complex.build
+++ /dev/null
@@ -1 +0,0 @@
-musl.full.build \ No newline at end of file
diff --git a/build/pkg.build b/build/pkg.build
deleted file mode 100644
index 029980b4..00000000
--- a/build/pkg.build
+++ /dev/null
@@ -1,295 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-parse_with_pkg_name ${1};
-if [ ${PKG_DISABLED:-0} -eq 1 ]; then
- exit 0;
-elif ! is_build_script_done fetch; then
- if test_cmd pkg_${PKG_NAME}_fetch; then
- pkg_${PKG_NAME}_fetch;
- else
- if [ "${PKG_URL_TYPE:-wget}" = wget ]; then
- fetch "${PKG_URL}" ${PKG_SHA256SUM};
- else
- fetch_git ${PKG_SUBDIR} ${PKG_URL} ${PKG_GIT_BRANCH};
- fi;
- fi;
- if test_cmd pkg_${PKG_NAME}_fetch_post; then
- pkg_${PKG_NAME}_fetch_post;
- fi;
- set_build_script_done fetch -extract;
-fi;
-if test_cmd pkg_${PKG_NAME}_finish; then
- pkg_${PKG_NAME}_finish; exit 0;
-elif [ "${PKG_URL_TYPE:-wget}" = wget ] &&\
-! is_build_script_done extract; then
- secure_rm ${PKG_SUBDIR};
- if [ ${PKG_SUBDIR_CREATE:-0} -eq 1 ]; then
- insecure_mkdir ${PKG_SUBDIR};
- fi;
- if [ "${PKG_FNAME##*.tar.}" = "bz2" ]; then
- bunzip2 -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- elif [ "${PKG_FNAME##*.tar.}" = "gz" ]; then
- gunzip -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- elif [ "${PKG_FNAME##*.tar.}" = "xz" ]; then
- xz -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- elif [ "${PKG_FNAME##*.t}" = "bz2" ]; then
- bunzip2 -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- elif [ "${PKG_FNAME##*.t}" = "gz" ]; then
- gunzip -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- elif [ "${PKG_FNAME##*.t}" = "xz" ]; then
- xz -d < ${DLCACHEDIR}/${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
- else
- tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf ${DLCACHEDIR}/${PKG_FNAME};
- fi;
- if test_cmd pkg_${PKG_NAME}_extract_post; then
- pkg_${PKG_NAME}_extract_post;
- fi;
- set_build_script_done extract -build_dir;
-fi;
-if [ -z "${PKG_BUILD_DIR}" ]; then
- set_build_dir ${PKG_SUBDIR} ${PKG_BUILD_TYPE:-native};
-fi;
-if ! is_build_script_done build_dir; then
- [ "${PKG_SUBDIR}" != "${PKG_BUILD_DIR}" ] &&\
- secure_rm ${PKG_BUILD_DIR};
- insecure_mkdir ${PKG_BUILD_DIR};
- set_build_script_done build_dir -patch_pre;
-fi;
-if ! is_build_script_done patch_pre; then
- for __ in \
- ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}_pre.local.patch \
- ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}_pre.local@${BUILD_HNAME}.patch \
- ${WORKDIR}/chainport/${PKG_SUBDIR}_pre.midipix.patch \
- ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}_pre.local.patch \
- ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}_pre.local@${BUILD_HNAME}.patch; do
- if [ -r "${__}" ]; then
- patch -b -d ${PKG_SUBDIR} -p1 < ${__};
- fi;
- done; unset __;
- if test_cmd pkg_${PKG_NAME}_patch_pre_post; then
- pkg_${PKG_NAME}_patch_pre_post;
- fi;
- set_build_script_done patch_pre -autoconf;
-fi;
-if [ -e ${PKG_SUBDIR}/configure -o \
- -e ${PKG_SUBDIR}/configure.ac -o \
- -e ${PKG_SUBDIR}/configure.in -o \
- -e ${PKG_SUBDIR}/config.guess ] \
-&& ! is_build_script_done autoconf; then
- find ${PKG_SUBDIR} -name config.sub \
- -exec echo mv -- {} {}.orig \; \
- -exec mv -- {} {}.orig \; \
- -exec echo install -m 0700 ${MIDIPIX_BUILD_PWD}/etc/config.sub {} \; \
- -exec install -m 0700 ${MIDIPIX_BUILD_PWD}/etc/config.sub {} \;;
- if [ -e ${PKG_SUBDIR}/configure.ac -a \
- ! -e ${PKG_SUBDIR}/configure ]; then
- if [ -e ${PKG_SUBDIR}/autogen.sh ]; then
- for __ in ${PKG_SUBDIR}/build-aux ${PKG_SUBDIR}; do
- if [ -e ${__} ]; then
- echo install -m 0700 \
- ${MIDIPIX_BUILD_PWD}/etc/config.sub \
- ${__}/config.sub;
- install -m 0700 \
- ${MIDIPIX_BUILD_PWD}/etc/config.sub \
- ${__}/config.sub;
- break;
- fi;
- done;
- (cd ${PKG_SUBDIR} && ${SHELL} ./autogen.sh) || exit 1;
- else
- (cd ${PKG_SUBDIR} && autoconf) || exit 1;
- fi;
- fi;
- for __ in ${PKG_BUILD_DIR} ${PKG_CONFIG_CACHE_EXTRA}; do
- echo cp -- ${MIDIPIX_BUILD_PWD}/etc/config.cache ${__}/;
- cp -- ${MIDIPIX_BUILD_PWD}/etc/config.cache ${__}/;
- done;
- set_build_script_done autoconf -patch;
-fi;
-if ! is_build_script_done patch; then
- if [ -d ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME} ]; then
- set +o noglob;
- for __patch_fname in ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}/*.patch; do
- patch -b -d ${PKG_SUBDIR} -p1 < ${__patch_fname};
- done;
- set -o noglob;
- fi;
- for __patch_fname in \
- ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}.local.patch \
- ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}.local@${BUILD_HNAME}.patch \
- ${WORKDIR}/chainport/${PKG_SUBDIR}.midipix.patch \
- ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}.local.patch \
- ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}.local@${BUILD_HNAME}.patch; do
- if [ -r "${__patch_fname}" ]; then
- patch -b -d ${PKG_SUBDIR} -p1 < ${__patch_fname};
- fi;
- done; unset __patch_fname;
- if test_cmd pkg_${PKG_NAME}_patch_post; then
- pkg_${PKG_NAME}_patch_post;
- fi;
- set_build_script_done patch -configure;
-fi;
-PKG_SUBDIR_PATH=${PWD}/${PKG_SUBDIR#/};
-if [ -z "${PKG_CONFIGURE}" ]; then
- PKG_CONFIGURE=${PKG_SUBDIR_PATH}/configure;
-else
- PKG_CONFIGURE=${PWD}/${PKG_CONFIGURE#/};
-fi;
-cd ${PKG_BUILD_DIR};
-if [ "${PKG_BUILD_TYPE}" = "host" ]; then
- export AR=ar;
- export CC=gcc;
- export CXX=g++;
- export RANLIB=ranlib;
-else
- export AR=${PKG_TARGET}-ar;
- export CC=${PKG_TARGET}-gcc;
- export CXX=${PKG_TARGET}-g++;
- export RANLIB=${PKG_TARGET}-ranlib;
-fi;
-if [ -x ${PKG_CONFIGURE} ]; then
- export CFLAGS_FOR_BUILD="${HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}";
-fi;
-if [ -x ${PKG_CONFIGURE} ]\
-|| test_cmd pkg_${PKG_NAME}_configure\
-&& ! is_build_script_done configure; then
- if test_cmd pkg_${PKG_NAME}_configure; then
- pkg_${PKG_NAME}_configure;
- else
- if test_cmd pkg_${PKG_NAME}_configure_pre; then
- pkg_${PKG_NAME}_configure_pre;
- fi;
- CFLAGS="${PKG_CFLAGS_CONFIGURE}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}"\
- LDFLAGS="${PKG_LDFLAGS_CONFIGURE}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}"\
- ${PKG_CONFIGURE} \
- ${PKG_CONFIGURE_ARGS} ${PKG_CONFIGURE_ARGS_EXTRA} ${PKG_CONFIGURE_ARGS_EXTRA_DEBUG};
- fi;
- set_build_script_done configure clean -build;
-else
- __no_autoconf=1;
- set_build_script_done clean -build;
-fi;
-if ! is_build_script_done clean; then
- make clean;
- set_build_script_done clean -build;
-fi;
-if ! is_build_script_done build; then
- if test_cmd pkg_${PKG_NAME}_build; then
- pkg_${PKG_NAME}_build;
- elif [ -n "${PKG_BUILD_CMDLINE}" ]; then
- ${PKG_BUILD_CMDLINE};
- elif [ ${PKG_NO_MAKE_BUILD:-0} -eq 0 ]; then
- if [ "${PKG_SLIBTOOL}" != "default" ]; then
- export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}";
- fi;
- # N.B. We only specify CC= here if the current package does not use GNU
- # autoconf as it often abuses it by appending -std={gnu99,...} to it
- # instead of amending CFLAGS.
- run_cmd_unsplit make \
- ${PKG_MAKEFLAGS_BUILD} \
- ${PKG_MAKEFLAGS_BUILD_EXTRA} \
- AR=${AR} ${__no_autoconf:+CC=${CC}} RANLIB=${RANLIB} \
- "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \
- "${CFLAGS_FOR_BUILD:+CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD}}" \
- "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \
- "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \
- "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}";
- unset __no_autoconf;
- fi;
- set_build_script_done build -install;
-fi;
-if ! is_build_script_done install; then
- if test_cmd pkg_${PKG_NAME}_install; then
- pkg_${PKG_NAME}_install;
- else
- if [ ${PKG_NO_MAKE_INSTALL:-0} -eq 0 ]; then
- run_cmd_unsplit make \
- ${PKG_MAKEFLAGS_INSTALL} \
- ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
- AR=${AR} CC=${CC} RANLIB=${RANLIB} \
- "${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
- "${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
- "${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
- "${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
- "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
- ${PKG_INSTALL_TARGET:=install};
- if [ -n "${PKG_PREFIX_EXTRA}" ]; then
- run_cmd_unsplit make \
- ${PKG_MAKEFLAGS_INSTALL} \
- ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
- AR=${AR} CC=${CC} RANLIB=${RANLIB} \
- "${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
- "${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
- "${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
- "${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
- "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
- ${PKG_INSTALL_TARGET_EXTRA:=install} \
- DESTDIR=${PKG_PREFIX_EXTRA};
- fi;
- fi;
- if test_cmd pkg_${PKG_NAME}_install_post; then
- pkg_${PKG_NAME}_install_post;
- fi;
- fi;
- if [ -d ${PKG_PREFIX}/lib ]; then
- for __ in $(find ${PKG_PREFIX}/lib -type f -name \*.la); do
- secure_rm ${__};
- done;
- fi;
- if [ -n "${PKG_INSTALL_FILES}" ]; then
- (set -- ${PKG_INSTALL_FILES};
- while [ ${#} -gt 0 ]; do
- case "${1}" in
- @*=*)
- __ln_target="${1%=*}";
- __ln_target="${__ln_target#@}";
- __ln_fname="${1#*=}";
- echo ln -sf -- ${__ln_target} ${PKG_PREFIX}/${__ln_fname};
- ln -sf -- ${__ln_target} ${PKG_PREFIX}/${__ln_fname};
- ;;
- /=*)
- __mkdir_fname="${1#/=}";
- insecure_mkdir ${PKG_PREFIX}/${__mkdir_fname};
- ;;
- *)
- __file_fname_src="${1%=*}";
- __file_fname_dst="${1#*=}";
- echo cp -pP -- ${__file_fname_src} ${PKG_PREFIX}/${__file_fname_dst};
- cp -pP -- ${__file_fname_src} ${PKG_PREFIX}/${__file_fname_dst};
- ;;
- esac; shift;
- done);
- fi;
- if [ "${PKG_BUILD_TYPE}" != "host" ] \
- && test_cmd perk \
- && test_cmd ${PKG_TARGET}-dlltool; then
- for __so_fname in \
- $(find \( -name "*.so" \
- -or -name "*.so.[0-9]" \
- -or -name "*.so.[0-9].[0-9]" \
- -or -name "*.so.[0-9].[0-9].[0-9]" \) -printf '%P\n');
- do
- if [ \( -e ${__so_fname%.so}.lib.a \) -o \
- \( ! -e ${PKG_PREFIX}/lib/$(basename ${__so_fname}) \) ];
- then
- continue;
- else
- __so_name="${__so_fname%.so}";
- echo perk -epdlltool ${__so_fname} \> ${__so_fname%.so}.def;
- perk -epdlltool ${__so_fname} > ${__so_fname%.so}.def;
- echo ${PKG_TARGET}-dlltool -l ${__so_fname%.so}.lib.a \
- -D ${__so_fname} -d ${__so_fname%.so}.def;
- ${PKG_TARGET}-dlltool -l ${__so_fname%.so}.lib.a \
- -D ${__so_fname} -d ${__so_fname%.so}.def;
- echo cp -- ${__so_fname%.so}.lib.a "${PKG_PREFIX}/lib";
- cp -- ${__so_fname%.so}.lib.a "${PKG_PREFIX}/lib";
- fi;
- done;
- fi;
- set_build_script_done install -finish;
-fi;
-set_build_script_done finish;
-
-# vim:filetype=sh