# --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../musl/musl.conf # Copyright (C) 2012 - 2016 The OpenSDE Project # # More information can be found in the files COPYING and README. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END --- # translate $arch for being usable with musl musl_arch="$( echo $arch | arch2uname )" if [ $prefix_auto == 1 ]; then syslibdir="/lib" fi var_append configprefix ' ' "LDFLAGS=\"$LDFLAGS -Wl,-soname,libc-musl-$musl_arch.so.1\"" if atstage toolchain; then var_append extraconfopt ' ' '--host=$arch_build' confopt="--prefix=$base/build/$SDECFG_ID/usr \$extraconfopt" makeopt="ARCH=$musl_arch" makeinstopt="ARCH=$musl_arch install-headers" fi musl_postinstall() { # LDSO is the be the real file, and libc the symlink. local LDSO=ld-musl-$musl_arch.so.1 local LIBCSO=libc-musl-$musl_arch.so.1 mv $root$libdir/libc.so $root$syslibdir/$LDSO ln -vsf $LDSO $root$syslibdir/$LIBCSO # create a libc.so symlink to avoid libtool's attempt linking shared # libs against libc.a in certain cases ln -vsf $( relative_path $root$syslibdir/$LDSO $root$libdir/libc.so ) \ $root$libdir/libc.so # create a symlink from ld-musl-$musl_arch.so to ldd if the dynlinker # was started as "ldd" it will print DSO information ln -vsf $( relative_path $root$syslibdir/$LDSO $root$bindir/ldd ) \ $root$bindir/ldd # make some compat links for various libraries for i in libc.so.6 libcrypt.so.1 libm.so.6 libpthread.so.0 librt.so.1 libutil.so.1; do ln -vsf $( relative_path $root$syslibdir/$LIBCSO $root$syslibdir/$i ) \ $root$syslibdir/$i done } musl_make_utils() { # build minimal libssp_nonshared.a so we don't need libssp from gcc # comes from Alpine Linux gcc $CPPFLAGS $CFLAGS -c $confdir/__stack_chk_fail_local.c -o __stack_chk_fail_local.o $AR r libssp_nonshared.a __stack_chk_fail_local.o cp -a libssp_nonshared.a $root/$libdir/ # getent is needed by OpenSDE framework. gcc $CPPFLAGS $CFLAGS $confdir/getent.c -o $root/$sbindir/getent } # if musl is default libc if [ "$SDECFG_LIBC" == "musl" ]; then # disable gcc wrapper script var_append extraconfopt ' ' "--disable-gcc-wrapper" if ! atstage toolchain; then hook_add postinstall 5 'musl_postinstall' fi hook_add postflist 9 "rm -rf $root/$includedir/libintl.h" hook_add postpatch 5 'musl_make_utils' fi