]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Fix an issue with `PreserveJobHistory` and time values (Issue #5538)
[thirdparty/cups.git] / config-scripts / cups-sharedlibs.m4
CommitLineData
ef416fc2 1dnl
5a1d7a17 2dnl Shared library support for CUPS.
ef416fc2 3dnl
14435106
MS
4dnl Copyright © 2007-2018 by Apple Inc.
5dnl Copyright © 1997-2005 by Easy Software Products, all rights reserved.
ef416fc2 6dnl
14435106
MS
7dnl Licensed under Apache License v2.0. See the file "LICENSE" for more
8dnl information.
ef416fc2 9dnl
10
11PICFLAG=1
12DSOFLAGS="${DSOFLAGS:=}"
13
bf3816c7 14AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
ef416fc2 15
f8b3a85b
MS
16cupsbase="cups"
17LIBCUPSBASE="lib$cupsbase"
58b64dbb 18LIBCUPSIMAGE=""
f8b3a85b
MS
19LIBCUPSSTATIC="lib$cupsbase.a"
20
ef416fc2 21if test x$enable_shared != xno; then
105922ec
MS
22 case "$host_os_name" in
23 sunos*)
f8b3a85b 24 LIBCUPS="lib$cupsbase.so.2"
58b64dbb
MS
25 if test "x$cupsimagebase" != x; then
26 LIBCUPSIMAGE="lib$cupsimagebase.so.2"
27 fi
dd1abb6b
MS
28 DSO="\$(CC)"
29 DSOXX="\$(CXX)"
f518bf7e 30 DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G"
dd1abb6b 31 ;;
827bf9ce 32 linux* | gnu* | *bsd*)
f8b3a85b 33 LIBCUPS="lib$cupsbase.so.2"
58b64dbb
MS
34 if test "x$cupsimagebase" != x; then
35 LIBCUPSIMAGE="lib$cupsimagebase.so.2"
36 fi
ef416fc2 37 DSO="\$(CC)"
50fe7201 38 DSOXX="\$(CXX)"
f518bf7e 39 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
ef416fc2 40 ;;
105922ec 41 darwin*)
f8b3a85b 42 LIBCUPS="lib$cupsbase.2.dylib"
58b64dbb
MS
43 if test "x$cupsimagebase" != x; then
44 LIBCUPSIMAGE="lib$cupsimagebase.2.dylib"
45 fi
ef416fc2 46 DSO="\$(CC)"
50fe7201 47 DSOXX="\$(CXX)"
f518bf7e 48 DSOFLAGS="$DSOFLAGS -Wl,-no_warn_inits -dynamiclib -single_module -lc"
ef416fc2 49 ;;
ef416fc2 50 *)
51 echo "Warning: shared libraries may not be supported. Trying -shared"
52 echo " option with compiler."
f8b3a85b 53 LIBCUPS="lib$cupsbase.so.2"
58b64dbb
MS
54 if test "x$cupsimagebase" != x; then
55 LIBCUPSIMAGE="lib$cupsimagebase.so.2"
56 fi
ef416fc2 57 DSO="\$(CC)"
50fe7201 58 DSOXX="\$(CXX)"
f518bf7e 59 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared"
ef416fc2 60 ;;
61 esac
62else
63 PICFLAG=0
f8b3a85b 64 LIBCUPS="lib$cupsbase.a"
58b64dbb
MS
65 if test "x$cupsimagebase" != x; then
66 LIBCUPSIMAGE="lib$cupsimagebase.a"
67 fi
ef416fc2 68 DSO=":"
50fe7201 69 DSOXX=":"
ef416fc2 70fi
71
72AC_SUBST(DSO)
50fe7201 73AC_SUBST(DSOXX)
ef416fc2 74AC_SUBST(DSOFLAGS)
75AC_SUBST(LIBCUPS)
f8b3a85b 76AC_SUBST(LIBCUPSBASE)
ef416fc2 77AC_SUBST(LIBCUPSIMAGE)
f8b3a85b 78AC_SUBST(LIBCUPSSTATIC)
ef416fc2 79
80if test x$enable_shared = xno; then
f8b3a85b 81 LINKCUPS="../cups/lib$cupsbase.a"
c7017ecc 82 EXTLINKCUPS="-lcups"
58b64dbb
MS
83
84 if test "x$cupsimagebase" != x; then
85 LINKCUPSIMAGE="../cups/lib$cupsimagebase.a"
86 EXTLINKCUPSIMAGE="-l$cupsimagebase"
87 else
88 LINKCUPSIMAGE=""
89 EXTLINKCUPSIMAGE=""
90 fi
ef416fc2 91else
5a1d7a17 92 LINKCUPS="-l${cupsbase}"
5a1d7a17 93 EXTLINKCUPS="-lcups"
58b64dbb
MS
94
95 if test "x$cupsimagebase" != x; then
96 LINKCUPSIMAGE="-l$cupsimagebase"
97 EXTLINKCUPSIMAGE="-l$cupsimagebase"
98 else
99 LINKCUPSIMAGE=""
100 EXTLINKCUPSIMAGE=""
101 fi
ef416fc2 102fi
103
c7017ecc 104AC_SUBST(EXTLINKCUPS)
c7017ecc 105AC_SUBST(EXTLINKCUPSIMAGE)
ef416fc2 106AC_SUBST(LINKCUPS)
107AC_SUBST(LINKCUPSIMAGE)
108
109dnl Update libraries for DSOs...
110EXPORT_LDFLAGS=""
111
112if test "$DSO" != ":"; then
113 # When using DSOs the image libraries are linked to libcupsimage.so
114 # rather than to the executables. This makes things smaller if you
115 # are using any static libraries, and it also allows us to distribute
116 # a single DSO rather than a bunch...
a4845881 117 DSOLIBS="\$(LIBZ)"
ef416fc2 118 IMGLIBS=""
119
f301802f 120 # Tell the run-time linkers where to find a DSO. Some platforms
121 # need this option, even when the library is installed in a
122 # standard location...
105922ec
MS
123 case $host_os_name in
124 sunos*)
f301802f 125 # Solaris...
126 if test $exec_prefix != /usr; then
ed486911 127 DSOFLAGS="-R$libdir $DSOFLAGS"
ed486911 128 LDFLAGS="$LDFLAGS -R$libdir"
129 EXPORT_LDFLAGS="-R$libdir"
f301802f 130 fi
131 ;;
105922ec 132 *bsd*)
f301802f 133 # *BSD...
134 if test $exec_prefix != /usr; then
ed486911 135 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
ed486911 136 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
137 EXPORT_LDFLAGS="-Wl,-R$libdir"
f301802f 138 fi
139 ;;
827bf9ce 140 linux* | gnu*)
3dd9c340 141 # Linux, and HURD...
f301802f 142 if test $exec_prefix != /usr; then
ed486911 143 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
ed486911 144 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
145 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
f301802f 146 fi
147 ;;
ef416fc2 148 esac
149else
150 DSOLIBS=""
a4845881 151 IMGLIBS="\$(LIBZ)"
ef416fc2 152fi
153
154AC_SUBST(DSOLIBS)
155AC_SUBST(IMGLIBS)
156AC_SUBST(EXPORT_LDFLAGS)