From c86e1860205134e3e3c6d2afbb7f2a4dbb7771f6 Mon Sep 17 00:00:00 2001 From: John Regan Date: Tue, 14 Jun 2016 21:59:57 -0500 Subject: [PATCH] Enabling builds for multiple architectures --- skarnet-builder/build-latest | 249 +++++++++--------- .../sysdeps/arm-linux-musleabihf/rt.lib | 1 + .../sysdeps/arm-linux-musleabihf/socket.lib | 1 + .../sysdeps/arm-linux-musleabihf/sysclock.lib | 1 + .../sysdeps/arm-linux-musleabihf/sysdeps | 38 +++ .../sysdeps/arm-linux-musleabihf/sysdeps.h | 49 ++++ .../sysdeps/arm-linux-musleabihf/tainnow.lib | 1 + .../sysdeps/arm-linux-musleabihf/target | 1 + .../sysdeps/arm-linux-musleabihf/util.lib | 1 + .../sysdeps/x86_64-linux-musl/rt.lib | 1 + .../sysdeps/x86_64-linux-musl/socket.lib | 1 + .../sysdeps/x86_64-linux-musl/sysclock.lib | 1 + .../sysdeps/x86_64-linux-musl/sysdeps | 38 +++ .../sysdeps/x86_64-linux-musl/sysdeps.h | 49 ++++ .../sysdeps/x86_64-linux-musl/tainnow.lib | 1 + .../sysdeps/x86_64-linux-musl/target | 1 + .../sysdeps/x86_64-linux-musl/util.lib | 1 + 17 files changed, 314 insertions(+), 121 deletions(-) create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/rt.lib create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/socket.lib create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/sysclock.lib create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps.h create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/tainnow.lib create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/target create mode 100644 skarnet-builder/sysdeps/arm-linux-musleabihf/util.lib create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/rt.lib create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/socket.lib create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/sysclock.lib create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps.h create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/tainnow.lib create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/target create mode 100644 skarnet-builder/sysdeps/x86_64-linux-musl/util.lib diff --git a/skarnet-builder/build-latest b/skarnet-builder/build-latest index 793a0c7..98d9e39 100755 --- a/skarnet-builder/build-latest +++ b/skarnet-builder/build-latest @@ -2,10 +2,14 @@ set -e set -x +MUSL_CROSS_MAKE_RELEASE=0 +MUSL_CROSS_MAKE_SRC="https://github.com/just-containers/musl-cross-make/releases/download/v${MUSL_CROSS_MAKE_RELEASE}" + BUILDDIR=$HOME/build PACKAGEDIR=$HOME/pkg DISTDIR=$HOME/dist PATCHDIR="$(pwd)/patches" +SYSDEPSDIR="$(pwd)/sysdeps" mkdir -p "$BUILDDIR" "$PACKAGEDIR" "$DISTDIR" @@ -36,119 +40,40 @@ s6-portable-utils s6-rc ) +# target platforms + simplified +# platform +declare -A targets +targets[arm-linux-musleabihf]=armhf +targets[x86_64-linux-musl]=amd64 + # software versions declare -A versions versions[make]=4.1 -versions[linux]=3.18.5 -versions[musl]=1.1.14 versions[skalibs]=2.3.10.0 versions[execline]=2.1.5.0 versions[s6]=2.3.0.0 -#versions[s6]=eeb0f9098450dbe470fc9b60627d15df62b04239 versions[s6-portable-utils]=2.0.6.0 -#versions[s6-portable-utils]=0bdcd224dc63cf295e1e37e016231105f272922a versions[s6-linux-utils]=2.1.0.0 versions[s6-dns]=2.0.1.0 versions[s6-networking]=2.1.1.0 versions[s6-rc]=0.0.3.0 -declare -A includes -includes[skalibs]="--with-include=$PACKAGEDIR/musl/include" -includes[execline]="--with-include=$PACKAGEDIR/skalibs/usr/include ${includes[skalibs]}" -includes[s6]="--with-include=$PACKAGEDIR/execline/usr/include ${includes[execline]}" -includes[s6-portable-utils]="${includes[s6]}" -includes[s6-linux-utils]="--with-include=$PACKAGEDIR/linux-headers/include ${includes[s6]}" -includes[s6-dns]="${includes[s6]}" -includes[s6-networking]="--with-include=$PACKAGEDIR/s6-dns/usr/include --with-include=$PACKAGEDIR/s6/usr/include ${includes[s6]}" -includes[s6-rc]="--with-include=$PACKAGEDIR/s6/usr/include ${includes[s6]}" - -declare -A libs -libs[skalibs]="--with-lib=/usr/musl/lib" -libs[execline]="--with-lib=$PACKAGEDIR/skalibs/usr/lib ${libs[skalibs]}" -libs[s6]="--with-lib=$PACKAGEDIR/execline/usr/lib ${libs[execline]}" -libs[s6-portable-utils]="${libs[s6]}" -libs[s6-linux-utils]="${libs[s6]}" -libs[s6-dns]="${libs[s6]}" -libs[s6-networking]="--with-lib=$PACKAGEDIR/s6-dns/usr/lib --with-lib=$PACKAGEDIR/s6/usr/lib ${libs[s6]}" -libs[s6-rc]="--with-lib=$PACKAGEDIR/s6/usr/lib ${libs[s6]}" - -declare -A sysdeps -sysdeps[skalibs]="" -sysdeps[execline]="--with-sysdeps=$PACKAGEDIR/skalibs/usr/lib/skalibs/sysdeps" -sysdeps[s6]="${sysdeps[execline]}" -sysdeps[s6-portable-utils]="${sysdeps[execline]}" -sysdeps[s6-linux-utils]="${sysdeps[execline]}" -sysdeps[s6-dns]="${sysdeps[execline]}" -sysdeps[s6-networking]="${sysdeps[execline]}" -sysdeps[s6-rc]="${sysdeps[execline]}" - -declare -A configopts -configopts[skalibs]="--datadir=/etc --enable-force-devr" -configopts[execline]="" -configopts[s6]="" -configopts[s6-portable-utils]="" -configopts[s6-dns]="" -configopts[s6-networking]="" -configopts[s6-rc]="" - declare -A manifests manifests[skarnet_all_packages]="manifest.txt" manifests[skarnet_linux_packages]="manifest-linux.txt" manifests[skarnet_portable_packages]="manifest-portable.txt" -build_install_skarnet_package() { - local package=$1 - local version=${versions[$package]} +curl -R -L -o $BUILDDIR/musl-cross-make-manifest.txt "${MUSL_CROSS_MAKE_SRC}/manifest.txt" - cd "$BUILDDIR" +while read -r line; do + key=$(echo "${line}" | cut -d"=" -f1) + value=$(echo "${line}" | cut -d"=" -f2) + case "${key}" in + linux|musl|gcc) versions[$key]=$value ;; + esac +done < $BUILDDIR/musl-cross-make-manifest.txt - git clone https://github.com/skarnet/${package}.git - cd ${package} - if [[ ${version} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - version=$(git rev-list -n 1 v${version}) - fi - git reset --hard ${version} - - CC="$PACKAGEDIR/musl/bin/musl-gcc" ./configure \ - --libdir=/usr/lib \ - --enable-static \ - --disable-shared \ - --enable-static-libc \ - ${includes[$package]} \ - ${libs[$package]} \ - ${sysdeps[$package]} \ - ${configopts[$package]} - ${MAKE_4x} - ${MAKE_4x} DESTDIR="$PACKAGEDIR/${package}" install -} - -tar_skarnet_package() { - local package=$1 - if [[ -d "$PACKAGEDIR/${package}/usr/bin" ]]; then - find "$PACKAGEDIR/${package}/usr/bin" -type f -exec strip {} \; - fi - - tar -czf "$DISTDIR/${package}-${versions[$package]}-linux-amd64-bin.tar.gz" \ - --owner 0 \ - --group 0 \ - --exclude "usr/lib" \ - --exclude "usr/include" \ - -C "$PACKAGEDIR/${package}" . - - local dev_dirs="" - if [[ -d "$PACKAGEDIR/${package}/usr/lib" ]]; then - dev_dirs="usr/lib" - fi - if [[ -d "$PACKAGEDIR/${package}/usr/include" ]]; then - dev_dirs="${dev_dirs} usr/include" - fi - if [[ -n "${dev_dirs}" ]]; then - tar -czf "$DISTDIR/${package}-${versions[$package]}-linux-amd64-dev.tar.gz" \ - --owner 0 \ - --group 0 \ - -C "$PACKAGEDIR/${package}" $dev_dirs - fi -} +rm $BUILDDIR/musl-cross-make-manifest.txt # install make cd "$BUILDDIR" @@ -160,33 +85,115 @@ cd make-${versions[make]} make make install -# install musl -cd "$BUILDDIR" -curl -R -L -O http://www.musl-libc.org/releases/musl-${versions[musl]}.tar.gz -tar xf musl-${versions[musl]}.tar.gz -cd musl-${versions[musl]} - -CFLAGS="-fno-toplevel-reorder -fno-stack-protector" \ - ./configure \ - --prefix=$PACKAGEDIR/musl \ - --disable-shared -${MAKE_4x} -${MAKE_4x} install - -# install linux-headers -cd "$BUILDDIR" -curl -R -L -O -C - http://www.kernel.org/pub/linux/kernel/v3.x/linux-${versions[linux]}.tar.xz -tar xf linux-${versions[linux]}.tar.xz -cd linux-${versions[linux]} -for i in $PATCHDIR/linux/*.patch; do - patch -p1 -i "${i}" || true -done -make headers_install ARCH="$(uname -m)" INSTALL_HDR_PATH="$PACKAGEDIR/linux-headers" CC="$PACKAGEDIR/musl/bin/musl-gcc" - -# install skarnet packages -for package in "${skarnet_all_packages[@]}"; do - build_install_skarnet_package ${package} - tar_skarnet_package ${package} +for target in "${!targets[@]}"; do + declare -A includes + includes[skalibs]="" + includes[execline]="--with-include=$PACKAGEDIR/skalibs-$target/usr/include ${includes[skalibs]}" + includes[s6]="--with-include=$PACKAGEDIR/execline-$target/usr/include ${includes[execline]}" + includes[s6-portable-utils]="${includes[s6]}" + includes[s6-linux-utils]="${includes[s6]}" + includes[s6-dns]="${includes[s6]}" + includes[s6-networking]="--with-include=$PACKAGEDIR/s6-dns-$target/usr/include --with-include=$PACKAGEDIR/s6-$target/usr/include ${includes[s6]}" + includes[s6-rc]="--with-include=$PACKAGEDIR/s6-$target/usr/include ${includes[s6]}" + + declare -A libs + libs[skalibs]="" + libs[execline]="--with-lib=$PACKAGEDIR/skalibs-$target/usr/lib ${libs[skalibs]}" + libs[s6]="--with-lib=$PACKAGEDIR/execline-$target/usr/lib ${libs[execline]}" + libs[s6-portable-utils]="${libs[s6]}" + libs[s6-linux-utils]="${libs[s6]}" + libs[s6-dns]="${libs[s6]}" + libs[s6-networking]="--with-lib=$PACKAGEDIR/s6-dns-$target/usr/lib --with-lib=$PACKAGEDIR/s6-${target}/usr/lib ${libs[s6]}" + libs[s6-rc]="--with-lib=$PACKAGEDIR/s6-$target/usr/lib ${libs[s6]}" + + declare -A sysdeps + sysdeps[skalibs]="--with-sysdeps=$SYSDEPSDIR/${target}" + sysdeps[execline]="--with-sysdeps=$PACKAGEDIR/skalibs-$target/usr/lib/skalibs/sysdeps" + sysdeps[s6]="${sysdeps[execline]}" + sysdeps[s6-portable-utils]="${sysdeps[execline]}" + sysdeps[s6-linux-utils]="${sysdeps[execline]}" + sysdeps[s6-dns]="${sysdeps[execline]}" + sysdeps[s6-networking]="${sysdeps[execline]}" + sysdeps[s6-rc]="${sysdeps[execline]}" + + declare -A configopts + configopts[skalibs]="--datadir=/etc --enable-force-devr" + configopts[execline]="" + configopts[s6]="" + configopts[s6-portable-utils]="" + configopts[s6-dns]="" + configopts[s6-networking]="" + configopts[s6-rc]="" + + + build_install_skarnet_package() { + local package=$1 + local version=${versions[$package]} + + mkdir -p "$BUILDDIR/${target}" + cd "$BUILDDIR/${target}" + + git clone https://github.com/skarnet/${package}.git + cd ${package} + if [[ ${version} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + version=$(git rev-list -n 1 v${version}) + fi + git reset --hard ${version} + + PATH="$PACKAGEDIR/gcc-$target/bin:$PATH" \ + ./configure \ + --target="$target" \ + --libdir=/usr/lib \ + --enable-static \ + --disable-shared \ + --enable-static-libc \ + ${includes[$package]} \ + ${libs[$package]} \ + ${sysdeps[$package]} \ + ${configopts[$package]} + PATH="$PACKAGEDIR/gcc-$target/bin:$PATH" ${MAKE_4x} + PATH="$PACKAGEDIR/gcc-$target/bin:$PATH" ${MAKE_4x} DESTDIR="$PACKAGEDIR/${package}-${target}" install + } + + tar_skarnet_package() { + local package=$1 + for bindir in 'usr/bin' 'bin' 'usr/sbin' 'sbin'; do + if [[ -d "$PACKAGEDIR/${package}-${target}/$bindir" ]]; then + PATH="$PACKAGEDIR/gcc-$target/bin:$PATH" find "$PACKAGEDIR/${package}-${target}/$bindir" -type f -exec ${target}-strip {} \; + fi + done + + tar -czf "$DISTDIR/${package}-${versions[$package]}-linux-${targets[$target]}-bin.tar.gz" \ + --owner 0 \ + --group 0 \ + --exclude "usr/lib" \ + --exclude "usr/include" \ + -C "$PACKAGEDIR/${package}-${target}" . + + local dev_dirs="" + if [[ -d "$PACKAGEDIR/${package}-${target}/usr/lib" ]]; then + dev_dirs="usr/lib" + fi + if [[ -d "$PACKAGEDIR/${package}-${target}/usr/include" ]]; then + dev_dirs="${dev_dirs} usr/include" + fi + if [[ -n "${dev_dirs}" ]]; then + tar -czf "$DISTDIR/${package}-${versions[$package]}-linux-${targets[$target]}-dev.tar.gz" \ + --owner 0 \ + --group 0 \ + -C "$PACKAGEDIR/${package}-${target}" $dev_dirs + fi + } + # get gcc + mkdir -p "$PACKAGEDIR/gcc-${target}" + curl -R -L -o "$PACKAGEDIR/gcc-${target}.tar.gz" "${MUSL_CROSS_MAKE_SRC}/gcc-${versions[gcc]}-${target}.tar.gz" + tar xf "$PACKAGEDIR/gcc-${target}.tar.gz" -C "$PACKAGEDIR/gcc-${target}" + + # install skarnet packages + for package in "${skarnet_all_packages[@]}"; do + build_install_skarnet_package ${package} + tar_skarnet_package ${package} + done done # generate release.md diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/rt.lib b/skarnet-builder/sysdeps/arm-linux-musleabihf/rt.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/rt.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/socket.lib b/skarnet-builder/sysdeps/arm-linux-musleabihf/socket.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/socket.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/sysclock.lib b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysclock.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysclock.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps new file mode 100644 index 0000000..06d24cf --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps @@ -0,0 +1,38 @@ +target: arm-linux-musleabihf +clockrt: yes +clockmon: yes +endianness: little +sizeofushort: 2 +sizeofuint: 4 +sizeofulong: 4 +sizeofgid: 4 +sizeoftime: 4 +accept4: yes +ancilautoclose: no +cmsgcloexec: yes +devurandom: yes +eproto: yes +eventfd: yes +flock: yes +getpeereid: no +sopeercred: yes +getpeerucred: no +ipv6: yes +malloc0: yes +msgdontwait: yes +nbwaitall: yes +openat: yes +linkat: yes +pipe2: yes +posixspawn: yes +ppoll: yes +revoke: no +sendfile: yes +setgroups: yes +settimeofday: yes +signalfd: yes +splice: yes +strcasestr: yes +strnlen: yes +uint64t: yes +devrandom: yes diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps.h b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps.h new file mode 100644 index 0000000..3643872 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/sysdeps.h @@ -0,0 +1,49 @@ +/* ISC license. */ + +#ifndef SYSDEPS_H +#define SYSDEPS_H + +#define SKALIBS_TARGET "arm-linux-musleabihf" +#define SKALIBS_HASCLOCKRT +#define SKALIBS_HASCLOCKMON +#define SKALIBS_ENDIANNESS "little" +#define SKALIBS_SIZEOFUSHORT 2 +#define SKALIBS_USHORT_BITS 16 +#define SKALIBS_SIZEOFUINT 4 +#define SKALIBS_UINT_BITS 32 +#define SKALIBS_SIZEOFULONG 4 +#define SKALIBS_ULONG_BITS 32 +#define SKALIBS_SIZEOFGID 4 +#define SKALIBS_GID_BITS 32 +#define SKALIBS_SIZEOFTIME 4 +#define SKALIBS_TIME_BITS 32 +#define SKALIBS_HASACCEPT4 +#undef SKALIBS_HASANCILAUTOCLOSE +#define SKALIBS_HASCMSGCLOEXEC +#define SKALIBS_HASDEVURANDOM +#define SKALIBS_HASEPROTO +#define SKALIBS_HASEVENTFD +#define SKALIBS_HASFLOCK +#undef SKALIBS_HASGETPEEREID +#define SKALIBS_HASSOPEERCRED +#undef SKALIBS_HASGETPEERUCRED +#define SKALIBS_HASIPV6 +#define SKALIBS_HASMALLOC0 +#define SKALIBS_HASMSGDONTWAIT +#define SKALIBS_HASNBWAITALL +#define SKALIBS_HASOPENAT +#define SKALIBS_HASLINKAT +#define SKALIBS_HASPIPE2 +#define SKALIBS_HASPOSIXSPAWN +#define SKALIBS_HASPPOLL +#undef SKALIBS_HASREVOKE +#define SKALIBS_HASSENDFILE +#define SKALIBS_HASSETGROUPS +#define SKALIBS_HASSETTIMEOFDAY +#define SKALIBS_HASSIGNALFD +#define SKALIBS_HASSPLICE +#define SKALIBS_HASSTRCASESTR +#define SKALIBS_HASSTRNLEN +#define SKALIBS_HASUINT64T +#define SKALIBS_HASDEVRANDOM +#endif diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/tainnow.lib b/skarnet-builder/sysdeps/arm-linux-musleabihf/tainnow.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/tainnow.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/target b/skarnet-builder/sysdeps/arm-linux-musleabihf/target new file mode 100644 index 0000000..c029e66 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/target @@ -0,0 +1 @@ +arm-linux-musleabihf diff --git a/skarnet-builder/sysdeps/arm-linux-musleabihf/util.lib b/skarnet-builder/sysdeps/arm-linux-musleabihf/util.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/arm-linux-musleabihf/util.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/rt.lib b/skarnet-builder/sysdeps/x86_64-linux-musl/rt.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/rt.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/socket.lib b/skarnet-builder/sysdeps/x86_64-linux-musl/socket.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/socket.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/sysclock.lib b/skarnet-builder/sysdeps/x86_64-linux-musl/sysclock.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/sysclock.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps b/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps new file mode 100644 index 0000000..7a60b89 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps @@ -0,0 +1,38 @@ +target: x86_64-linux-musl +clockrt: yes +clockmon: yes +endianness: little +sizeofushort: 2 +sizeofuint: 4 +sizeofulong: 8 +sizeofgid: 4 +sizeoftime: 8 +accept4: yes +ancilautoclose: no +cmsgcloexec: yes +devurandom: yes +eproto: yes +eventfd: yes +flock: yes +getpeereid: no +sopeercred: yes +getpeerucred: no +ipv6: yes +malloc0: yes +msgdontwait: yes +nbwaitall: yes +openat: yes +linkat: yes +pipe2: yes +posixspawn: yes +ppoll: yes +revoke: no +sendfile: yes +setgroups: yes +settimeofday: yes +signalfd: yes +splice: yes +strcasestr: yes +strnlen: yes +uint64t: yes +devrandom: yes diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps.h b/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps.h new file mode 100644 index 0000000..cd8f445 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/sysdeps.h @@ -0,0 +1,49 @@ +/* ISC license. */ + +#ifndef SYSDEPS_H +#define SYSDEPS_H + +#define SKALIBS_TARGET "x86_64-linux-musl" +#define SKALIBS_HASCLOCKRT +#define SKALIBS_HASCLOCKMON +#define SKALIBS_ENDIANNESS "little" +#define SKALIBS_SIZEOFUSHORT 2 +#define SKALIBS_USHORT_BITS 16 +#define SKALIBS_SIZEOFUINT 4 +#define SKALIBS_UINT_BITS 32 +#define SKALIBS_SIZEOFULONG 8 +#define SKALIBS_ULONG_BITS 64 +#define SKALIBS_SIZEOFGID 4 +#define SKALIBS_GID_BITS 32 +#define SKALIBS_SIZEOFTIME 8 +#define SKALIBS_TIME_BITS 64 +#define SKALIBS_HASACCEPT4 +#undef SKALIBS_HASANCILAUTOCLOSE +#define SKALIBS_HASCMSGCLOEXEC +#define SKALIBS_HASDEVURANDOM +#define SKALIBS_HASEPROTO +#define SKALIBS_HASEVENTFD +#define SKALIBS_HASFLOCK +#undef SKALIBS_HASGETPEEREID +#define SKALIBS_HASSOPEERCRED +#undef SKALIBS_HASGETPEERUCRED +#define SKALIBS_HASIPV6 +#define SKALIBS_HASMALLOC0 +#define SKALIBS_HASMSGDONTWAIT +#define SKALIBS_HASNBWAITALL +#define SKALIBS_HASOPENAT +#define SKALIBS_HASLINKAT +#define SKALIBS_HASPIPE2 +#define SKALIBS_HASPOSIXSPAWN +#define SKALIBS_HASPPOLL +#undef SKALIBS_HASREVOKE +#define SKALIBS_HASSENDFILE +#define SKALIBS_HASSETGROUPS +#define SKALIBS_HASSETTIMEOFDAY +#define SKALIBS_HASSIGNALFD +#define SKALIBS_HASSPLICE +#define SKALIBS_HASSTRCASESTR +#define SKALIBS_HASSTRNLEN +#define SKALIBS_HASUINT64T +#define SKALIBS_HASDEVRANDOM +#endif diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/tainnow.lib b/skarnet-builder/sysdeps/x86_64-linux-musl/tainnow.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/tainnow.lib @@ -0,0 +1 @@ + diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/target b/skarnet-builder/sysdeps/x86_64-linux-musl/target new file mode 100644 index 0000000..3f20818 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/target @@ -0,0 +1 @@ +x86_64-linux-musl diff --git a/skarnet-builder/sysdeps/x86_64-linux-musl/util.lib b/skarnet-builder/sysdeps/x86_64-linux-musl/util.lib new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skarnet-builder/sysdeps/x86_64-linux-musl/util.lib @@ -0,0 +1 @@ +