diff options
Diffstat (limited to 'build/musl.full.build')
-rw-r--r-- | build/musl.full.build | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/build/musl.full.build b/build/musl.full.build new file mode 100644 index 00000000..35d1de28 --- /dev/null +++ b/build/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 |