diff options
author | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2016-11-14 23:02:47 +0100 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2016-11-15 20:40:50 +0100 |
commit | 59765f508225998d8a73b1da8380ff06b4a6b79c (patch) | |
tree | 9397850a4ab5bac51ec373558722c45be4fe7258 /scripts/musl.full.build | |
parent | 8739dbe67d82f90d1c3b63a8d07af291c4ace600 (diff) | |
download | midipix_build-59765f508225998d8a73b1da8380ff06b4a6b79c.tar.bz2 midipix_build-59765f508225998d8a73b1da8380ff06b4a6b79c.tar.xz |
1) Replaces the SysV-style build script link mechanism w/ build {,meta-}targets,
2) splits build.{subr,sh}} into subr/{build,pkg,rtl}.subr and build.sh,
3) replaces {997.strip,998.midipix_sh,999.tarballs}.build with subr/{strip,tarball}.subr,
4) moves patches to patches/, vars files to vars/, and everything else to etc/,
5) renames `Create `Midipix mintty shell' shortcut.vbs' to midipix_shortcut.vbs,
6) fixes a Weechat configure issue, and
7) updates etc/{build.usage,README}.
Diffstat (limited to 'scripts/musl.full.build')
-rw-r--r-- | scripts/musl.full.build | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/musl.full.build b/scripts/musl.full.build new file mode 100644 index 00000000..35d1de28 --- /dev/null +++ b/scripts/musl.full.build @@ -0,0 +1,68 @@ +# +# . ./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 |