]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-sharedlibs.m4
Fix an issue with `PreserveJobHistory` and time values (Issue #5538)
[thirdparty/cups.git] / config-scripts / cups-sharedlibs.m4
index 86d93e1a1b939e64a9a053d28cc13c265ac4a2c9..914e621359aec8f224c39caf7a58b35064db5786 100644 (file)
 dnl
-dnl "$Id: cups-sharedlibs.m4 5582 2006-05-24 01:00:35Z mike $"
+dnl Shared library support for CUPS.
 dnl
-dnl   Shared library support for the Common UNIX Printing System (CUPS).
+dnl Copyright © 2007-2018 by Apple Inc.
+dnl Copyright © 1997-2005 by Easy Software Products, all rights reserved.
 dnl
-dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Easy Software Products and are protected by Federal
-dnl   copyright law.  Distribution and use rights are outlined in the file
-dnl   "LICENSE.txt" which should have been included with this file.  If this
-dnl   file is missing or damaged please contact Easy Software Products
-dnl   at:
-dnl
-dnl       Attn: CUPS Licensing Information
-dnl       Easy Software Products
-dnl       44141 Airport View Drive, Suite 204
-dnl       Hollywood, Maryland 20636 USA
-dnl
-dnl       Voice: (301) 373-9600
-dnl       EMail: cups-info@cups.org
-dnl         WWW: http://www.cups.org
+dnl Licensed under Apache License v2.0.  See the file "LICENSE" for more
+dnl information.
 dnl
 
 PICFLAG=1
 DSOFLAGS="${DSOFLAGS:=}"
 
-AC_ARG_ENABLE(shared, [  --enable-shared         turn on shared libraries, default=yes])
+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 "$uname" in
-               SunOS* | UNIX_S*)
-                       LIBCUPS="libcups.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
-                       DSO="\$(CC)"
-                       DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
-                       ;;
-               HP-UX*)
-                       LIBCUPS="libcups.sl.2"
-                       LIBCUPSIMAGE="libcupsimage.sl.2"
-                       DSO="\$(LD)"
-                       DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
-                       ;;
-               IRIX)
-                       LIBCUPS="libcups.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
-                       DSO="\$(CC)"
-                       DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
-                       ;;
-               OSF1* | Linux | GNU | *BSD*)
-                       LIBCUPS="libcups.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+       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)"
-                       DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
+                       DSOXX="\$(CXX)"
+                       DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G"
                        ;;
-               Darwin*)
-                       LIBCUPS="libcups.2.dylib"
-                       LIBCUPSIMAGE="libcupsimage.2.dylib"
+               linux* | gnu* | *bsd*)
+                       LIBCUPS="lib$cupsbase.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
-                       DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
+                       DSOXX="\$(CXX)"
+                       DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
                        ;;
-               AIX*)
-                       LIBCUPS="libcups_s.a"
-                       LIBCUPSIMAGE="libcupsimage_s.a"
+               darwin*)
+                       LIBCUPS="lib$cupsbase.2.dylib"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.2.dylib"
+                       fi
                        DSO="\$(CC)"
-                       DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
+                       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="libcups.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       LIBCUPS="lib$cupsbase.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
-                       DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
+                       DSOXX="\$(CXX)"
+                       DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
                        ;;
        esac
 else
        PICFLAG=0
-       LIBCUPS="libcups.a"
-       LIBCUPSIMAGE="libcupsimage.a"
+       LIBCUPS="lib$cupsbase.a"
+       if test "x$cupsimagebase" != x; then
+               LIBCUPSIMAGE="lib$cupsimagebase.a"
+       fi
        DSO=":"
+       DSOXX=":"
 fi
 
-# 32-bit and 64-bit libraries need variations of the standard
-# DSOFLAGS...
-DSO32FLAGS="$DSOFLAGS"
-DSO64FLAGS="$DSOFLAGS"
-
 AC_SUBST(DSO)
+AC_SUBST(DSOXX)
 AC_SUBST(DSOFLAGS)
-AC_SUBST(DSO32FLAGS)
-AC_SUBST(DSO64FLAGS)
 AC_SUBST(LIBCUPS)
+AC_SUBST(LIBCUPSBASE)
 AC_SUBST(LIBCUPSIMAGE)
+AC_SUBST(LIBCUPSSTATIC)
 
 if test x$enable_shared = xno; then
-       LINKCUPS="../cups/libcups.a"
-       LINKCUPSIMAGE="../filter/libcupsimage.a"
+       LINKCUPS="../cups/lib$cupsbase.a"
+       EXTLINKCUPS="-lcups"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="../cups/lib$cupsimagebase.a"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
+       else
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
+       fi
 else
-       if test $uname = AIX; then
-               LINKCUPS="-lcups_s"
-               LINKCUPSIMAGE="-lcupsimage_s"
+       LINKCUPS="-l${cupsbase}"
+       EXTLINKCUPS="-lcups"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="-l$cupsimagebase"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
        else
-               LINKCUPS="-lcups"
-               LINKCUPSIMAGE="-lcupsimage"
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
        fi
 fi
 
+AC_SUBST(EXTLINKCUPS)
+AC_SUBST(EXTLINKCUPSIMAGE)
 AC_SUBST(LINKCUPS)
 AC_SUBST(LINKCUPSIMAGE)
 
@@ -117,47 +114,33 @@ if test "$DSO" != ":"; then
        # rather than to the executables.  This makes things smaller if you
        # are using any static libraries, and it also allows us to distribute
        # a single DSO rather than a bunch...
-       DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       DSOLIBS="\$(LIBZ)"
        IMGLIBS=""
 
        # 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 $uname in
-                HP-UX*)
-                       # HP-UX needs the path, even for /usr/lib...
-                       DSOFLAGS="+s +b $libdir $DSOFLAGS"
-                       DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
-                       DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
-                       LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
-                       EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
-                       ;;
-                SunOS*)
+       case $host_os_name in
+                sunos*)
                        # Solaris...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -R$libdir"
                                EXPORT_LDFLAGS="-R$libdir"
                        fi
                        ;;
-                *BSD*)
+                *bsd*)
                         # *BSD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-R$libdir"
                                EXPORT_LDFLAGS="-Wl,-R$libdir"
                        fi
                        ;;
-                IRIX | Linux | GNU)
-                        # IRIX, Linux, and HURD...
+                linux* | gnu*)
+                        # Linux, and HURD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
                                EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
                        fi
@@ -165,13 +148,9 @@ if test "$DSO" != ":"; then
        esac
 else
        DSOLIBS=""
-       IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       IMGLIBS="\$(LIBZ)"
 fi
 
 AC_SUBST(DSOLIBS)
 AC_SUBST(IMGLIBS)
 AC_SUBST(EXPORT_LDFLAGS)
-
-dnl
-dnl End of "$Id: cups-sharedlibs.m4 5582 2006-05-24 01:00:35Z mike $".
-dnl