2019-02-03 01:14:51 -05:00
|
|
|
. ./redoconf.rc
|
2019-03-01 13:38:25 -05:00
|
|
|
rc_include _all.rc
|
2019-02-03 01:14:51 -05:00
|
|
|
|
|
|
|
|
# Tricky quoting: see _compile.od for details.
|
2019-02-24 22:29:19 -05:00
|
|
|
if [ "$HAVE_SHLIB" = UNIX ]; then
|
2019-02-03 01:14:51 -05:00
|
|
|
cat >$3 <<-EOF
|
|
|
|
|
#!/bin/sh -e
|
|
|
|
|
LINK=$(shquote "$LINK")
|
|
|
|
|
LDFLAGS=$(shquote "$LDFLAGS")
|
|
|
|
|
OPTFLAGS=$(shquote "$OPTFLAGS")
|
|
|
|
|
LIBS=$(shquote "$LIBS")
|
|
|
|
|
o="\$1"
|
|
|
|
|
ob="\${o#*/}"
|
|
|
|
|
shift
|
|
|
|
|
IFS="$NL"
|
|
|
|
|
set -f
|
|
|
|
|
\$LINK -shared -o "\$o" \\
|
|
|
|
|
-Wl,-soname,"\$ob" \\
|
|
|
|
|
\$LDFLAGS \$OPTFLAGS \\
|
|
|
|
|
"\$@" \\
|
|
|
|
|
\$LIBS
|
|
|
|
|
EOF
|
2019-02-24 22:29:19 -05:00
|
|
|
elif [ "$HAVE_SHLIB" = MACOS ]; then
|
|
|
|
|
cat >$3 <<-EOF
|
|
|
|
|
#!/bin/sh -e
|
|
|
|
|
LINK=$(shquote "$LINK")
|
|
|
|
|
LDFLAGS=$(shquote "$LDFLAGS")
|
|
|
|
|
OPTFLAGS=$(shquote "$OPTFLAGS")
|
|
|
|
|
LIBS=$(shquote "$LIBS")
|
|
|
|
|
LIBDIR=$(shquote "$LIBDIR")
|
|
|
|
|
o="\$1"
|
|
|
|
|
ob="\${o#*/}"
|
|
|
|
|
shift
|
|
|
|
|
IFS="$NL"
|
|
|
|
|
set -f
|
|
|
|
|
\$LINK -dynamiclib -o "\$o" \\
|
|
|
|
|
-install_name "\$ob" \\
|
|
|
|
|
\$LDFLAGS \$OPTFLAGS \\
|
|
|
|
|
"\$@" \\
|
|
|
|
|
\$LIBS
|
|
|
|
|
EOF
|
2019-02-03 01:14:51 -05:00
|
|
|
else
|
2019-03-01 13:38:25 -05:00
|
|
|
if [ -z "$HAVE_SHLIB" ]; then
|
|
|
|
|
echo "link-shlib.od: fatal:" \
|
|
|
|
|
"must include rc/shlib.rc to use shared libraries." >&2
|
|
|
|
|
exit 90
|
|
|
|
|
fi
|
|
|
|
|
|
2019-02-03 01:14:51 -05:00
|
|
|
# If no shared library support and we try to build one,
|
|
|
|
|
# compensate by building a static library instead in the
|
|
|
|
|
# same place.
|
|
|
|
|
cat >$3 <<-EOF
|
|
|
|
|
#!/bin/sh -e
|
|
|
|
|
o="\$1"
|
|
|
|
|
shift
|
|
|
|
|
rm -f "\$o"
|
|
|
|
|
ar q "\$o" "\$@"
|
|
|
|
|
EOF
|
|
|
|
|
fi
|
|
|
|
|
chmod a+x "$3"
|
|
|
|
|
redo-stamp <$3
|