musl (4502B)
1 #!/usr/bin/env pthbs-build 2 #+musl-cross-make.9be7a57aa0035ff26870115e69056e25445f3a96768a7d81251e7073630aadf9 3 #+gnu-make.05bfcd168c0d3714ecba9e27d84e02bfd2ef8f754c26c162be357882390451fc 4 #+busybox.23105cf3c52263661c44f7d855ae5dfc7287f5f8b60d6a026dedee24f4cf7a2e 5 #+nawk.abe3790fd5e321ccd4e1ab7dab56339222e2eee686bc4b2241e7853104a4a500 6 #@sha256:a21336df3bc3b267fbda940d9f533f66b0eacb520b8421cca3ddc943f620a791:merged.patch 7 #@untar:-z:sha256:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:. 8 9 10 # - build script start - 11 12 prefix=/home/ccx/versions/$pthbs_package 13 dest=${pthbs_destdir%/}${prefix} 14 cd 'musl-1.2.5' 15 16 patch -p1 <../merged.patch 17 18 19 mcm=/home/ccx/versions/musl-cross-make.9be7a57aa0035ff26870115e69056e25445f3a96768a7d81251e7073630aadf9 20 21 ./configure \ 22 --prefix="$prefix" \ 23 --bindir="$prefix/command" \ 24 --libdir="$prefix/library" \ 25 --syslibdir="$prefix/library.so" \ 26 --includedir="$prefix/include" \ 27 --host=x86_64-linux-musl \ 28 --build="$(${CC:-gcc} -dumpmachine)" \ 29 CC="$mcm/bin/x86_64-linux-musl-gcc" \ 30 CXX="$mcm/bin/x86_64-linux-musl-g++" \ 31 LIBCC="$mcm/lib/gcc/x86_64-linux-musl/13.4.0/libgcc.a" 32 33 make -j${JOBS:-1} -l$((1+${JOBS:-1})) \ 34 MULTILIB_OSDIRNAMES= \ 35 INFO_DEPS= \ 36 infodir= \ 37 ac_cv_prog_lex_root=lex.yy \ 38 MAKEINFO=false \ 39 AR="$mcm/bin/x86_64-linux-musl-ar" \ 40 RANLIB="$mcm/bin/x86_64-linux-musl-ranlib" 41 make \ 42 MULTILIB_OSDIRNAMES= \ 43 INFO_DEPS= \ 44 infodir= \ 45 ac_cv_prog_lex_root=lex.yy \ 46 MAKEINFO=false \ 47 AR="$mcm/bin/x86_64-linux-musl-ar "\ 48 RANLIB="$mcm/bin/x86_64-linux-musl-ranlib" \ 49 DESTDIR="$pthbs_destdir" \ 50 install install-headers 51 52 mkdir -p "$dest/library.so" 53 mv -v "$dest/library"/*.so "$dest/library.so/" 54 ln -s -f libc.so "$dest/library.so/ld-musl-x86_64.so.1" 55 56 57 mkdir -p "$dest/.env-template" 58 printf '%s' >"$dest/.env-template"/'CPATH' '@ENVROOT@/include' 59 printf '%s' >"$dest/.env-template"/'LD_LIBRARY_PATH' '@ENVROOT@/library.so' 60 printf '%s' >"$dest/.env-template"/'LIBRARY_PATH' '@ENVROOT@/library' 61 mkdir -p "$dest/env" 62 printf '%s' >"$dest/env"/'CFLAGS' '-Og -g' 63 printf '%s' >"$dest/env"/'CXXFLAGS' '-Og -g' 64 65 cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" 66 find -type d -o -print | awk -F/ ' 67 BEGIN { 68 x["./library.so/libc.so"]=1 69 x["./library.so/ld-musl-x86_64.so.1"]=1 70 71 x["./include/assert.h"]=1 # standard headers as per C11 72 x["./include/complex.h"]=1 73 x["./include/ctype.h"]=1 74 x["./include/errno.h"]=1 75 x["./include/fenv.h"]=1 76 x["./include/float.h"]=1 77 x["./include/inttypes.h"]=1 78 x["./include/iso646.h"]=1 79 x["./include/limits.h"]=1 80 x["./include/locale.h"]=1 81 x["./include/math.h"]=1 82 x["./include/setjmp.h"]=1 83 x["./include/signal.h"]=1 84 x["./include/stdalign.h"]=1 85 x["./include/stdarg.h"]=1 86 x["./include/stdbool.h"]=1 87 x["./include/stddef.h"]=1 88 x["./include/stdint.h"]=1 89 x["./include/stdio.h"]=1 90 x["./include/stdlib.h"]=1 91 x["./include/stdnoreturn.h"]=1 92 x["./include/string.h"]=1 93 x["./include/tgmath.h"]=1 94 x["./include/threads.h"]=1 95 x["./include/time.h"]=1 96 x["./include/uchar.h"]=1 97 x["./include/wchar.h"]=1 98 x["./include/wctype.h"]=1 99 100 } 101 102 function r1(s) { 103 sub("^[.]/[^/]*", ".", s) 104 return s 105 } 106 function s1(repl, s) { 107 sub("^[.]/[^/]*", "./"repl, s) 108 return s 109 } 110 function link(src) { 111 x[$0]=0 112 printf "%s\t%s\n", $0, src 113 printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" 114 } 115 $1!="."{exit 1} 116 $2 == "env" { link($0); next } 117 $2 == ".env-template" { link($0); next } 118 119 $2 == "command" { link($0); next } 120 $2 == "command" { link($0); next } 121 $2 == "bin" { link(s1("command", $0)); next } 122 $2 == "sbin" { link(s1("command", $0)); next } 123 124 $2 == "library.so" { link($0); next } 125 $2 == "library" { link($0); next } 126 $2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } 127 $2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next } 128 129 $2 == "share" && $3 == "info" { link(s1("info", r1($0))); next } 130 $2 == "share" && $3 == "man" { link(s1("man", r1($0))); next } 131 $2 == "share" && $3 == "doc" { link(s1("doc", r1($0))); next } 132 133 $2 == "config" { link($0); next } 134 $2 == "man" { link($0); next } 135 $2 == "info" { link($0); next } 136 $2 == "doc" { link($0); next } 137 $2 == "data" { link($0); next } 138 $2 == "include" { link($0); next } 139 140 141 { printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } 142 143 END { 144 for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } 145 retcode = 0 146 for(fname in x) { 147 if(x[fname]) { 148 printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" 149 retcode = 3 150 } 151 } 152 exit retcode 153 }' >.install-links.new 154 mv .install-links.new .install-links 155