summaryrefslogtreecommitdiffhomepage
path: root/vars/musl.vars
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 /vars/musl.vars
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 'vars/musl.vars')
-rw-r--r--vars/musl.vars111
1 files changed, 111 insertions, 0 deletions
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