From 570129106f694bef52e07a5fc08f6c63f7f54073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz=20=28arab=2C=20vx?= =?UTF-8?q?p=29?= Date: Mon, 30 Jan 2017 18:50:20 +0000 Subject: 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(). --- vars/musl.vars | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 vars/musl.vars (limited to 'vars/musl.vars') diff --git a/vars/musl.vars b/vars/musl.vars new file mode 100644 index 00000000..bec1e06c --- /dev/null +++ b/vars/musl.vars @@ -0,0 +1,111 @@ +# +# . ./build.vars and set -o errexit -o noglob are assumed. +# Order: no_complex, native, full +# + +pkgp_musl_configure() { + secure_rm ${PKG_BUILD_DIR}; + insecure_mkdir ${PKG_BUILD_DIR}; + secure_cd ${PKG_BUILD_DIR}; + env lz_cflags_cmdline="" \ + lz_debug="yes" \ + ../lazy/lazy \ + -a ${ARCH} \ + -c gcc \ + -f ${PKG_PREFIX} \ + -n musl \ + -p ../musl-${PKG_MUSL_VERSION} \ + -t ${lz_target} \ + -x config; +}; + +pkg_musl_no_complex_all() { + PKG_MUSL_VERSION="${PKG_MUSL_NO_COMPLEX_VERSION}"; + # Git clone what we need. + fetch_git lazy ${GITROOT}/lazy; + export lz_arch=${ARCH} lz_cflags_debug=-O2 lz_target=${TARGET}; + # 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_NO_COMPLEX_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; + if ! is_build_script_done configure; then + pkgp_musl_configure; + 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; + set_build_script_done build finish; + fi; +}; + +pkg_musl_native_all() { + PKG_MUSL_VERSION="${PKG_MUSL_NATIVE_VERSION}"; + # Git clone what we need. + fetch_git lazy ${GITROOT}/lazy; + export lz_arch=${ARCH} lz_cflags_debug=-O2 lz_target=${TARGET}; + # Musl: build (full) + _install=install; + set_build_dir musl-${PKG_MUSL_VERSION} native; + if ! is_build_script_done configure; then + pkgp_musl_configure; + 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; + ln -sf -- ../lib/libc.so ${PKG_PREFIX}/bin/ldd; + set_build_script_done build finish; + fi; +}; + +pkg_musl_full_all() { + PKG_MUSL_VERSION="${PKG_MUSL_FULL_VERSION}"; + # Git clone what we need. + fetch_git lazy ${GITROOT}/lazy; + export lz_arch=${ARCH} lz_cflags_debug=-O2 lz_target=${TARGET}; + # Musl: build (full) + _install=install; + set_build_dir musl-${PKG_MUSL_VERSION} cross; + if ! is_build_script_done configure; then + pkgp_musl_configure; + 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; + set_build_script_done build finish; + fi; +}; + +# vim:filetype=sh -- cgit v1.2.3