Fix some build problems on MacOS X.

- Linking shared libraries needs slightly different options.

- We were trying to detect mach_time.h but needed to detect
  mach/mach_time.h instead.

While we're here, add a --disable-shared option to ./configure, which
is different from --enable-static.  --disable-shared does not build
*new* share libraries, but doesn't pass -static to the linker
(apparently there is no static linking posible on MacOS).
This commit is contained in:
Avery Pennarun 2019-02-24 22:29:19 -05:00
commit 328d4ead7a
7 changed files with 59 additions and 13 deletions

View file

@ -2,7 +2,7 @@
rc_include _all.rc rc/shlib.rc
# Tricky quoting: see _compile.od for details.
if [ "$HAVE_SHLIB" = 1 ]; then
if [ "$HAVE_SHLIB" = UNIX ]; then
cat >$3 <<-EOF
#!/bin/sh -e
LINK=$(shquote "$LINK")
@ -20,6 +20,25 @@ if [ "$HAVE_SHLIB" = 1 ]; then
"\$@" \\
\$LIBS
EOF
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
else
# If no shared library support and we try to build one,
# compensate by building a static library instead in the