--- a/src/sys/make-load +++ b/src/sys/make-load @@ -7,7 +7,7 @@ test -n "$strip" || strip="echo Not stripping" cat warn-auto.sh echo 'main="$1" ; shift' echo -n "$ld " -test -f flag-allstatic || { echo -n '-Wl,--allow-shlib-undefined ' ; ./stupid < path-library.so | while read dir ; do echo -n "-L $dir " ; done ; } +test -f flag-allstatic || { echo -n '-Wl,-undefined,error ' ; ./stupid < path-library.so | while read dir ; do echo -n "-L $dir " ; done ; } ./stupid < path-library | while read dir ; do echo -n "-L $dir " ; done echo '-L . -o "$main" "$main".o ${1+"$@"}' echo exec "$strip" '"$main"' --- a/src/sys/make-makedynlib +++ b/src/sys/make-makedynlib @@ -3,7 +3,7 @@ ld="`head -n 1 conf-dynld`" cat warn-auto.sh echo 'main="$1" ; version="$2" ; shift ; shift ; major=`echo "$version" | cut -f1 -d.` ; minor=`echo "$version" | cut -f2 -d.`' -echo "$ld" '-fPIC -shared -Wl,-h"$main.$major" -o "$main.$version" ${1+"$@"}' +echo "$ld" '-fPIC -shared -Wl,-install_name,"$main.$major" -o "$main.$version" ${1+"$@"}' echo 'rm -f "$main.$major.$minor"{new} "$main.$major"{new} "$main"{new}' echo 'test "$major.$minor" != "$version" && { ln -s "$main.$version" "$main.$major.$minor"{new} ; mv -f "$main.$major.$minor"{new} "$main.$major.$minor" ; } || true' echo 'ln -s "$main.$major.$minor" "$main.$major"{new}'