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