summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--006.musl.build6
-rw-r--r--007.gcc.full.build9
-rw-r--r--100.perk.build8
-rw-r--r--101.gmp.build32
-rw-r--r--200.coreutils.build35
-rw-r--r--207.libz.build14
-rwxr-xr-xbuild.sh8
-rw-r--r--build.subr16
8 files changed, 68 insertions, 60 deletions
diff --git a/006.musl.build b/006.musl.build
index 961746b1..6713a1f9 100644
--- a/006.musl.build
+++ b/006.musl.build
@@ -4,6 +4,7 @@ if is_build_script_done finished; then
exit 212;
elif [ "x${3}" = "xno-complex" ]; then
# Musl: build (no-complex)
+ unset _destdir;
_install=install_no_complex;
set_build_dir musl-${PKG_MUSL_VERSION}-${3} cross;
fetch http://www.musl-libc.org/releases/musl-${PKG_MUSL_VERSION}.tar.gz \
@@ -21,11 +22,12 @@ elif [ "x${3}" = "xnative" ]; then
set_build_dir musl-${PKG_MUSL_VERSION} ${3};
else
# Musl: build (full)
+ unset _destdir;
_install=install;
set_build_dir musl-${PKG_MUSL_VERSION} cross;
fi;
if ! is_build_script_done configured; then
- rm_if_exists -m -c ${_build_dir};
+ rm_if_exists -m -c ${BUILD_DIR};
../lazy/lazy \
-a ${ARCH} \
-c gcc \
@@ -36,7 +38,7 @@ if ! is_build_script_done configured; then
-x config;
set_build_script_done configured -built;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
./lazy -e ${_install} \
diff --git a/007.gcc.full.build b/007.gcc.full.build
index 999dd8bc..8935644e 100644
--- a/007.gcc.full.build
+++ b/007.gcc.full.build
@@ -4,9 +4,8 @@ if is_build_script_done finished; then
exit 212;
elif [ "x${3}" = "xruntime" ]\
|| [ "x${3}" = "xfull" ]; then
- export CFLAGS="${GCCFLAGS}" CXXFLAGS="${GCCFLAGS}";
set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross;
- cd ${_build_dir};
+ cd ${BUILD_DIR};
if [ "x${3}" = "xruntime" ]; then
# GCC, compiler runtime.
if ! is_build_script_done built; then
@@ -44,7 +43,7 @@ else
cbb_sysroot_for_libgcc=${PREFIX_TARGET} \
cbb_target=${TARGET} \
cbb_neutral_libiberty=no \
- cbb_xgcc_for_specs=${WORKDIR}/${_build_dir}/gcc/xgcc;
+ cbb_xgcc_for_specs=${WORKDIR}/${BUILD_DIR}/gcc/xgcc;
GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_TARGET}";
elif [ "x${3}" = "xnative" ]; then
# GCC, native.
@@ -80,7 +79,7 @@ else
--with-mpfr=${PREFIX_NATIVE} \
--with-sysroot=";
fi;
- rm_if_exists -m -c ${_build_dir};
+ rm_if_exists -m -c ${BUILD_DIR};
../cbb-gcc-${PKG_GCC_VERSION}/configure \
--disable-bootstrap \
--disable-libmudflap \
@@ -107,7 +106,7 @@ else
${_configure_args};
set_build_script_done configured -built;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
if [ "x${3}" = "xstage1" ]; then
diff --git a/100.perk.build b/100.perk.build
index c58eddcb..ed05e927 100644
--- a/100.perk.build
+++ b/100.perk.build
@@ -5,11 +5,11 @@ else
set_build_dir ${2} native;
fi;
if ! is_build_script_done configured1; then
- rm_if_exists -m -c ${_build_dir};
+ rm_if_exists -m -c ${BUILD_DIR};
../perk/configure;
set_build_script_done configured1 -built1;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built1; then
make;
@@ -21,11 +21,11 @@ if ! is_build_script_done installed1; then
fi;
set_build_dir ${2} cross;
if ! is_build_script_done configured2; then
- rm_if_exists -m -c ../${_build_dir};
+ rm_if_exists -m -c ../${BUILD_DIR};
../perk/configure --target=${TARGET};
set_build_script_done configured2 -built2;
else
- cd ../${_build_dir};
+ cd ../${BUILD_DIR};
fi;
if ! is_build_script_done built2; then
make;
diff --git a/101.gmp.build b/101.gmp.build
index 91559e99..c0d0fca4 100644
--- a/101.gmp.build
+++ b/101.gmp.build
@@ -2,32 +2,32 @@ parse_with_pkg_name ${2} gmp mpfr mpc libelf binutils;
if is_build_script_done finished; then
exit 212;
else
- fetch ${_pkg_url} ${_pkg_sha256sum};
- set_build_dir ${_pkg_subdir} native;
+ fetch ${PKG_URL} ${PKG_SHA256SUM};
+ set_build_dir ${PKG_SUBDIR} native;
fi;
if ! is_build_script_done extracted; then
- rm_if_exists ${_pkg_subdir};
- tar -axf ${_pkg_fname};
+ rm_if_exists ${PKG_SUBDIR};
+ tar -axf ${PKG_FNAME};
set_build_script_done extracted -patched;
fi;
if ! is_build_script_done patched; then
- patch -d ${_pkg_subdir} -p1 \
- < portage/${_pkg_subdir}.midipix.patch;
- if [ ${_pkg_no_libtool_midipix:-0} -eq 0 ]; then
- cp portage/libtool.midipix ${_pkg_subdir}/;
+ patch -d ${PKG_SUBDIR} -p1 \
+ < portage/${PKG_SUBDIR}.midipix.patch;
+ if [ ${PKG_NO_LIBTOOL_MIDIPIX:-0} -eq 0 ]; then
+ cp portage/libtool.midipix ${PKG_SUBDIR}/;
fi;
set_build_script_done patched -configured;
fi;
if ! is_build_script_done configured; then
- rm_if_exists -m -c ${_build_dir};
- ../${_pkg_subdir}/configure \
- ${_pkg_configure_extra_args} \
+ rm_if_exists -m -c ${BUILD_DIR};
+ ../${PKG_SUBDIR}/configure \
+ ${PKG_CONFIGURE_EXTRA_ARGS} \
--host=${HOST_NATIVE} \
- --prefix=${_pkg_prefix:-/} \
+ --prefix=${PKG_PREFIX:-/} \
--target=${TARGET};
set_build_script_done configured -built;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
make;
@@ -37,12 +37,12 @@ if ! is_build_script_done installed1; then
make DESTDIR=${PREFIX_NATIVE} install;
set_build_script_done configured installed1 -installed2 -finished;
fi;
-if [ -n "${_pkg_prefix_extra}" ]; then
+if [ -n "${PKG_PREFIX_EXTRA}" ]; then
if ! is_build_script_done installed2; then
- make DESTDIR=${_pkg_prefix_extra} install;
+ make DESTDIR=${PKG_PREFIX_EXTRA} install;
set_build_script_done configured installed2 -finished;
fi;
-elif [ "x${_pkg_name}" = "xlibelf" ]; then
+elif [ "x${PKG_NAME}" = "xlibelf" ]; then
if ! is_build_script_done installed2; then
rm -f lib/libelf.def;
echo EXPORTS > lib/libelf.def;
diff --git a/200.coreutils.build b/200.coreutils.build
index a0c72efb..844f90b9 100644
--- a/200.coreutils.build
+++ b/200.coreutils.build
@@ -4,46 +4,47 @@ parse_with_pkg_name ${2} \
if is_build_script_done finished; then
exit 212;
else
- fetch ${_pkg_url} ${_pkg_sha256sum};
- if [ "x${_pkg_name}" = "xbinutils" ]\
+ fetch ${PKG_URL} ${PKG_SHA256SUM};
+ if [ "x${PKG_NAME}" = "xbinutils" ]\
&& [ "x${3}" = "xhost" ]; then
- _no_config_cache=1; _no_destdir=1;
+ _no_config_cache=$(_no_destdir:=1);
_configure_args="--disable-werror --prefix=${PREFIX} --with-sysroot=${PREFIX_TARGET}";
- set_build_dir ${_pkg_subdir} cross;
+ set_build_dir ${PKG_SUBDIR} cross;
else
+ _no_config_cache=$(_no_destdir:=1);
_configure_args="-C --host=${HOST_NATIVE} --prefix=";
- set_build_dir ${_pkg_subdir} native;
+ set_build_dir ${PKG_SUBDIR} native;
fi;
- _configure_args="${_configure_args}${_pkg_configure_extra_args:+ ${_pkg_configure_extra_args}}";
+ _configure_args="${_configure_args}${PKG_CONFIGURE_EXTRA_ARGS:+ ${PKG_CONFIGURE_EXTRA_ARGS}}";
fi;
if ! is_build_script_done extracted; then
- rm_if_exists ${_pkg_subdir};
- tar -axf ${_pkg_fname};
+ rm_if_exists ${PKG_SUBDIR};
+ tar -axf ${PKG_FNAME};
set_build_script_done extracted -patched;
fi;
if ! is_build_script_done patched; then
- if [ -n "${_pkg_patches_extra}" ]; then
- (rm_if_exists -m -c ${_pkg_subdir}-patches-extra;
- wget -c -nd -np -r -R \*.htm\* ${_pkg_patches_extra}
+ if [ -n "${PKG_PATCHES_EXTRA}" ]; then
+ (rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra;
+ wget -c -nd -np -r -R \*.htm\* ${PKG_PATCHES_EXTRA}
for _patch_fname in \
$(find . -type f -not -iname \*.sig | sort); do
- patch -d ../${_pkg_subdir} -p0 \
+ patch -d ../${PKG_SUBDIR} -p0 \
< ${_patch_fname};
done); wait;
fi;
- patch -d ${_pkg_subdir} -p1 \
- < portage/${_pkg_subdir}.midipix.patch;
+ patch -d ${PKG_SUBDIR} -p1 \
+ < portage/${PKG_SUBDIR}.midipix.patch;
set_build_script_done patched -configured;
fi;
if ! is_build_script_done configured; then
- rm_if_exists -m -c ${_build_dir};
+ rm_if_exists -m -c ${BUILD_DIR};
[ ${_no_config_cache:-0} -eq 0 ] &&\
cp ../portage/config.cache .;
- ../${_pkg_subdir}/configure \
+ ../${PKG_SUBDIR}/configure \
${_configure_args} --target=${TARGET};
set_build_script_done configured -built;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
make ${MAKEFLAGS};
diff --git a/207.libz.build b/207.libz.build
index 507018dd..a6f48d59 100644
--- a/207.libz.build
+++ b/207.libz.build
@@ -2,24 +2,24 @@ parse_with_pkg_name ${2} libz gzip;
if is_build_script_done finished; then
exit 212;
else
- fetch ${_pkg_url} ${_pkg_sha256sum};
+ fetch ${PKG_URL} ${PKG_SHA256SUM};
fi;
if ! is_build_script_done extracted; then
- rm_if_exists ${_pkg_fname%%.tar*};
- tar -axf ${_pkg_fname};
+ rm_if_exists ${PKG_FNAME%%.tar*};
+ tar -axf ${PKG_FNAME};
set_build_script_done extracted -configured;
fi;
if ! is_build_script_done configured; then
- set_build_dir ${_pkg_fname%%-*} native;
- rm_if_exists -c -m ${_build_dir};
+ set_build_dir ${PKG_FNAME%%-*} native;
+ rm_if_exists -c -m ${BUILD_DIR};
cp ../portage/config.cache .;
- ../${_pkg_subdir}/configure \
+ ../${PKG_SUBDIR}/configure \
--host=${HOST_NATIVE} \
--prefix= \
--target=${TARGET};
set_build_script_done configured -built;
else
- cd ${_build_dir};
+ cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
if [ "x${2}" = "xlibz" ]; then
diff --git a/build.sh b/build.sh
index f0c12a1a..f027084b 100755
--- a/build.sh
+++ b/build.sh
@@ -8,7 +8,7 @@ check_prereqs git make openssl sed sort tar tr wget;
log_msg info "Build started by ${BUILD_USER:=${USER}}@${BUILD_HNAME:=$(hostname)} at ${BUILD_DATE:=$(date %Y-%m-%d-%H-%M-%S)}.";
#trap
(set -o errexit; mkdir -p ${PREFIX} ${WORKDIR});
-BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${_nbuild:=0}}};
+BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${BUILD_NBUILT:=0}}};
for BUILD_LVL in 0 1 2; do
for BUILD_SCRIPT_FNAME in ${BUILD_LVL}[0-9][0-9].*.build; do
if [ -n "${DEBUG_SCRIPT}" ]\
@@ -17,7 +17,7 @@ for BUILD_LVL in 0 1 2; do
elif [ ! -f ${BUILD_SCRIPT_FNAME} ]; then
continue;
else
- unset BUILD_SCRIPT_RC; : $((_nbuild+=1));
+ unset BUILD_SCRIPT_RC; : $((BUILD_NBUILT+=1));
log_msg info "Invoking build script \`${BUILD_SCRIPT_FNAME}'";
(set -o errexit -- $(split . ${BUILD_SCRIPT_FNAME%.build}); \
SCRIPT_FNAME=${BUILD_SCRIPT_FNAME}; _pwd=$(pwd); \
@@ -38,7 +38,7 @@ for BUILD_LVL in 0 1 2; do
break;
fi;
done;
-log_msg info "${BUILD_NFINI} finished, ${BUILD_NSKIP} skipped, and ${BUILD_NFAIL} failed builds in ${_nbuild} build script(s).";
+log_msg info "${BUILD_NFINI} finished, ${BUILD_NSKIP} skipped, and ${BUILD_NFAIL} failed builds in ${BUILD_NBUILT} build script(s).";
if [ $(( ${BUILD_NFINI} + ${BUILD_NSKIP} )) -ge 0 ]\
&& [ ${BUILD_NFAIL} -eq 0 ]; then
log_msg info "Building distribution tarball.";
@@ -59,7 +59,7 @@ if [ $(( ${BUILD_NFINI} + ${BUILD_NSKIP} )) -ge 0 ]\
-not -path ./${PREFIX_NATIVE##*/}/lib.bak |\
tar -T - -cpf - | bzip2 -9c - > ${DISTRIB_FNAME}
rm -rf ${PREFIX_NATIVE##*/}/lib;
- mv ${PREFIX_NATIVE##*/}/lib.bak ${PREFIX_NATIVE##*/}/lib);
+ mv ${PREFIX_NATIVE##*/}/lib.bak ${PREFIX_NATIVE##*/}/lib); wait;
fi;
exit ${BUILD_SCRIPT_RC};
} 2>&1 | tee build.log;
diff --git a/build.subr b/build.subr
index ab829f7c..f07e297a 100644
--- a/build.subr
+++ b/build.subr
@@ -104,15 +104,21 @@ parse_with_pkg_name() {
CC CFLAGS LDFLAGS DESTDIR; do
_vNAME=$(echo "${_vname}" | tr a-z A-Z);
if [ -n "${_vval:=$(eval echo \${PKG_${_pkg_NAME}_${_vNAME}})}" ]; then
- export _pkg_${_vname}="${_vval}";
+ export PKG_${_vNAME}="${_vval}";
if [ "x${_vname#[A-Z]}" != "x${_vname}" ]; then
export ${_vname}="${_vval}";
fi;
+ else
+ unset PKG_${_vNAME};
fi; unset _vval;
done; unset _pkg_NAME _vname _vNAME;
- _pkg_fname=${_pkg_url##*/};
- _pkg_subdir=${_pkg_fname%%.tar*};
- return 0;
+ if [ -z "${PKG_URL}" ]; then
+ return 1;
+ else
+ PKG_FNAME=${PKG_URL##*/};
+ PKG_SUBDIR=${PKG_FNAME%%.tar*};
+ return 0;
+ fi;
fi; shift;
done; return 1;
};
@@ -133,7 +139,7 @@ rm_if_exists() {
};
set_build_dir() {
- _build_dir=${1}-${2}-${TARGET};
+ BUILD_DIR=${1}-${2}-${TARGET};
};
set_env_vars() {