cleanup shared library build system to be more $HOME-local-install friendly
[musl] / tools / gen-musl-gcc.sh
index 89f7f4d..42fdaec 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-printf '#!/bin/sh\n\nlibc_prefix="%s"\n' "$1"
+printf '#!/bin/sh\n\nlibc_prefix="%s"\nldso_pathname="%s"\n' "$1" "$2"
 
 cat <<"EOF"
 libc_lib=$libc_prefix/lib
@@ -11,6 +11,7 @@ libc_end="$libc_lib/crtn.o"
 
 gcc_inc=$libc_inc
 libgcc="`gcc \"$@\" -print-file-name=libgcc.a`"
+libgcc=${libgcc%libgcc.a}
 
 gcc -wrapper sh,-c,'
 x= ; y= ; z= ; s= ; for i ; do
@@ -26,5 +27,6 @@ done
 exec "$0" "$@"
 ' -std=gnu99 -nostdinc -nostdlib \
   -isystem "$libc_inc" -isystem "$gcc_inc" \
-  -Wl,-xxxxxx "$@" -L"$libc_lib" -lc "$libgcc" -Lxxxxxx -Wl,-nostdlib
+  -Wl,-xxxxxx "$@" -L"$libc_lib" -lc -L"$libgcc" -lgcc -Lxxxxxx \
+  -Wl,-dynamic-linker,"$ldso_pathname" -Wl,-nostdlib
 EOF