]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Update Windows DLL exports.
[thirdparty/cups.git] / config-scripts / cups-sharedlibs.m4
CommitLineData
ef416fc2 1dnl
5a1d7a17 2dnl Shared library support for CUPS.
ef416fc2 3dnl
123979a9 4dnl Copyright 2007-2018 by Apple Inc.
5a1d7a17 5dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
ef416fc2 6dnl
e3101897 7dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
ef416fc2 8dnl
9
10PICFLAG=1
11DSOFLAGS="${DSOFLAGS:=}"
12
bf3816c7 13AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
ef416fc2 14
f8b3a85b
MS
15cupsbase="cups"
16LIBCUPSBASE="lib$cupsbase"
17LIBCUPSSTATIC="lib$cupsbase.a"
18
ef416fc2 19if test x$enable_shared != xno; then
105922ec
MS
20 case "$host_os_name" in
21 sunos*)
f8b3a85b 22 LIBCUPS="lib$cupsbase.so.2"
dd1abb6b 23 LIBCUPSCGI="libcupscgi.so.1"
dd1abb6b
MS
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 ;;
827bf9ce 31 linux* | gnu* | *bsd*)
f8b3a85b 32 LIBCUPS="lib$cupsbase.so.2"
50fe7201 33 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 34 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
35 LIBCUPSMIME="libcupsmime.so.1"
36 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 37 DSO="\$(CC)"
50fe7201 38 DSOXX="\$(CXX)"
f301802f 39 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 40 ;;
105922ec 41 darwin*)
f8b3a85b 42 LIBCUPS="lib$cupsbase.2.dylib"
50fe7201 43 LIBCUPSCGI="libcupscgi.1.dylib"
ef416fc2 44 LIBCUPSIMAGE="libcupsimage.2.dylib"
50fe7201
MS
45 LIBCUPSMIME="libcupsmime.1.dylib"
46 LIBCUPSPPDC="libcupsppdc.1.dylib"
ef416fc2 47 DSO="\$(CC)"
50fe7201 48 DSOXX="\$(CXX)"
f301802f 49 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
ef416fc2 50 ;;
ef416fc2 51 *)
52 echo "Warning: shared libraries may not be supported. Trying -shared"
53 echo " option with compiler."
f8b3a85b 54 LIBCUPS="lib$cupsbase.so.2"
50fe7201 55 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 56 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
57 LIBCUPSMIME="libcupsmime.so.1"
58 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 59 DSO="\$(CC)"
50fe7201 60 DSOXX="\$(CXX)"
f301802f 61 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 62 ;;
63 esac
64else
65 PICFLAG=0
f8b3a85b 66 LIBCUPS="lib$cupsbase.a"
50fe7201 67 LIBCUPSCGI="libcupscgi.a"
ef416fc2 68 LIBCUPSIMAGE="libcupsimage.a"
50fe7201
MS
69 LIBCUPSMIME="libcupsmime.a"
70 LIBCUPSPPDC="libcupsppdc.a"
ef416fc2 71 DSO=":"
50fe7201 72 DSOXX=":"
ef416fc2 73fi
74
75AC_SUBST(DSO)
50fe7201 76AC_SUBST(DSOXX)
ef416fc2 77AC_SUBST(DSOFLAGS)
78AC_SUBST(LIBCUPS)
f8b3a85b 79AC_SUBST(LIBCUPSBASE)
50fe7201 80AC_SUBST(LIBCUPSCGI)
ef416fc2 81AC_SUBST(LIBCUPSIMAGE)
50fe7201
MS
82AC_SUBST(LIBCUPSMIME)
83AC_SUBST(LIBCUPSPPDC)
f8b3a85b 84AC_SUBST(LIBCUPSSTATIC)
ef416fc2 85
86if test x$enable_shared = xno; then
f8b3a85b 87 LINKCUPS="../cups/lib$cupsbase.a"
123979a9 88 LINKCUPSIMAGE="../cups/libcupsimage.a"
c7017ecc
MS
89
90 EXTLINKCUPS="-lcups"
c7017ecc 91 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 92else
5a1d7a17
MS
93 LINKCUPS="-l${cupsbase}"
94 LINKCUPSIMAGE="-lcupsimage"
c7017ecc 95
5a1d7a17
MS
96 EXTLINKCUPS="-lcups"
97 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 98fi
99
c7017ecc 100AC_SUBST(EXTLINKCUPS)
c7017ecc 101AC_SUBST(EXTLINKCUPSIMAGE)
ef416fc2 102AC_SUBST(LINKCUPS)
103AC_SUBST(LINKCUPSIMAGE)
104
105dnl Update libraries for DSOs...
106EXPORT_LDFLAGS=""
107
108if 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...
a4845881 113 DSOLIBS="\$(LIBZ)"
ef416fc2 114 IMGLIBS=""
115
f301802f 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...
105922ec
MS
119 case $host_os_name in
120 sunos*)
f301802f 121 # Solaris...
122 if test $exec_prefix != /usr; then
ed486911 123 DSOFLAGS="-R$libdir $DSOFLAGS"
ed486911 124 LDFLAGS="$LDFLAGS -R$libdir"
125 EXPORT_LDFLAGS="-R$libdir"
f301802f 126 fi
127 ;;
105922ec 128 *bsd*)
f301802f 129 # *BSD...
130 if test $exec_prefix != /usr; then
ed486911 131 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
ed486911 132 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
133 EXPORT_LDFLAGS="-Wl,-R$libdir"
f301802f 134 fi
135 ;;
827bf9ce 136 linux* | gnu*)
3dd9c340 137 # Linux, and HURD...
f301802f 138 if test $exec_prefix != /usr; then
ed486911 139 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
ed486911 140 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
141 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
f301802f 142 fi
143 ;;
ef416fc2 144 esac
145else
146 DSOLIBS=""
a4845881 147 IMGLIBS="\$(LIBZ)"
ef416fc2 148fi
149
150AC_SUBST(DSOLIBS)
151AC_SUBST(IMGLIBS)
152AC_SUBST(EXPORT_LDFLAGS)