127 lines
3.0 KiB
Plaintext
127 lines
3.0 KiB
Plaintext
dnl
|
||
dnl Shared library support for CUPS.
|
||
dnl
|
||
dnl Copyright © 2007-2018 by Apple Inc.
|
||
dnl Copyright © 1997-2005 by Easy Software Products, all rights reserved.
|
||
dnl
|
||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||
dnl information.
|
||
dnl
|
||
|
||
PICFLAG=1
|
||
DSOFLAGS="${DSOFLAGS:=}"
|
||
|
||
AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
|
||
|
||
cupsbase="cups"
|
||
LIBCUPSBASE="lib$cupsbase"
|
||
LIBCUPSIMAGE=""
|
||
LIBCUPSSTATIC="lib$cupsbase.a"
|
||
|
||
if test x$enable_shared != xno; then
|
||
case "$host_os_name" in
|
||
sunos*)
|
||
LIBCUPS="lib$cupsbase.so.2"
|
||
if test "x$cupsimagebase" != x; then
|
||
LIBCUPSIMAGE="lib$cupsimagebase.so.2"
|
||
fi
|
||
DSO="\$(CC)"
|
||
DSOXX="\$(CXX)"
|
||
DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G"
|
||
;;
|
||
linux* | gnu* | *bsd*)
|
||
LIBCUPS="lib$cupsbase.so.2"
|
||
if test "x$cupsimagebase" != x; then
|
||
LIBCUPSIMAGE="lib$cupsimagebase.so.2"
|
||
fi
|
||
DSO="\$(CC)"
|
||
DSOXX="\$(CXX)"
|
||
DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
|
||
;;
|
||
darwin*)
|
||
LIBCUPS="lib$cupsbase.2.dylib"
|
||
if test "x$cupsimagebase" != x; then
|
||
LIBCUPSIMAGE="lib$cupsimagebase.2.dylib"
|
||
fi
|
||
DSO="\$(CC)"
|
||
DSOXX="\$(CXX)"
|
||
DSOFLAGS="$DSOFLAGS -Wl,-no_warn_inits -dynamiclib -single_module -lc"
|
||
;;
|
||
*)
|
||
echo "Warning: shared libraries may not be supported. Trying -shared"
|
||
echo " option with compiler."
|
||
LIBCUPS="lib$cupsbase.so.2"
|
||
if test "x$cupsimagebase" != x; then
|
||
LIBCUPSIMAGE="lib$cupsimagebase.so.2"
|
||
fi
|
||
DSO="\$(CC)"
|
||
DSOXX="\$(CXX)"
|
||
DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
|
||
;;
|
||
esac
|
||
else
|
||
PICFLAG=0
|
||
LIBCUPS="lib$cupsbase.a"
|
||
if test "x$cupsimagebase" != x; then
|
||
LIBCUPSIMAGE="lib$cupsimagebase.a"
|
||
fi
|
||
DSO=":"
|
||
DSOXX=":"
|
||
fi
|
||
|
||
AC_SUBST(DSO)
|
||
AC_SUBST(DSOXX)
|
||
AC_SUBST(DSOFLAGS)
|
||
AC_SUBST(LIBCUPS)
|
||
AC_SUBST(LIBCUPSBASE)
|
||
AC_SUBST(LIBCUPSIMAGE)
|
||
AC_SUBST(LIBCUPSSTATIC)
|
||
|
||
if test x$enable_shared = xno; then
|
||
LINKCUPS="../cups/lib$cupsbase.a \$(LIBS)"
|
||
EXTLINKCUPS="-lcups \$LIBS"
|
||
else
|
||
LINKCUPS="-L../cups -l${cupsbase}"
|
||
EXTLINKCUPS="-lcups"
|
||
fi
|
||
|
||
AC_SUBST(EXTLINKCUPS)
|
||
AC_SUBST(LINKCUPS)
|
||
|
||
dnl Update libraries for DSOs...
|
||
EXPORT_LDFLAGS=""
|
||
|
||
if test "$DSO" != ":"; then
|
||
# Tell the run-time linkers where to find a DSO. Some platforms
|
||
# need this option, even when the library is installed in a
|
||
# standard location...
|
||
case $host_os_name in
|
||
sunos*)
|
||
# Solaris...
|
||
if test $exec_prefix != /usr; then
|
||
DSOFLAGS="-R$libdir $DSOFLAGS"
|
||
LDFLAGS="$LDFLAGS -R$libdir"
|
||
EXPORT_LDFLAGS="-R$libdir"
|
||
fi
|
||
;;
|
||
*bsd*)
|
||
# *BSD...
|
||
if test $exec_prefix != /usr; then
|
||
DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
|
||
LDFLAGS="$LDFLAGS -Wl,-R$libdir"
|
||
EXPORT_LDFLAGS="-Wl,-R$libdir"
|
||
fi
|
||
;;
|
||
linux* | gnu*)
|
||
# Linux, and HURD...
|
||
if test $exec_prefix != /usr; then
|
||
DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
|
||
LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
|
||
EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
|
||
fi
|
||
;;
|
||
esac
|
||
fi
|
||
|
||
AC_SUBST(EXPORT_LDFLAGS)
|