]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Add new libcupslite component that builds a libcups without driver/PPD support.
authorMichael R Sweet <michael.r.sweet@gmail.com>
Mon, 29 Oct 2018 21:56:28 +0000 (17:56 -0400)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Mon, 29 Oct 2018 21:56:28 +0000 (17:56 -0400)
Makedefs.in
config-scripts/cups-common.m4
config-scripts/cups-defaults.m4
config-scripts/cups-sharedlibs.m4
configure
cups/Makefile

index 8d07dc48bc7a1c532d1698a32c913b83242e6c0a..b50992e1ebb843758bb9716d2771e4e283862760 100644 (file)
@@ -93,6 +93,7 @@ LOCALTARGET     =       @LOCALTARGET@
 
 LIBCUPS                =       @LIBCUPS@
 LIBCUPSIMAGE   =       @LIBCUPSIMAGE@
+LIBCUPSOBJS    =       @LIBCUPSOBJS@
 LIBCUPSSTATIC  =       @LIBCUPSSTATIC@
 LIBGSSAPI      =       @LIBGSSAPI@
 LIBMALLOC      =       @LIBMALLOC@
index df1b1549a907e1f8a89b29898181a13e94325875..9ab84cb483ad86c2679e3631a9d7a5a699516379 100644 (file)
@@ -434,9 +434,12 @@ COMPONENTS="all"
 AC_ARG_WITH(components, [  --with-components       set components to build:
                            - "all" (default) builds everything
                            - "core" builds libcups and ipptool
-                           - "libcups" builds just libcups],
+                           - "libcups" builds just libcups
+                           - "libcupslite" builds just libcups without driver support],
        COMPONENTS="$withval")
 
+cupsimagebase="cupsimage"
+LIBCUPSOBJS="\$(COREOBJS) \$(DRIVEROBJS)"
 case "$COMPONENTS" in
        all)
                BUILDDIRS="test filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
@@ -448,6 +451,13 @@ case "$COMPONENTS" in
 
        libcups)
                BUILDDIRS="locale"
+               cupsimagebase=""
+               ;;
+
+       libcupslite)
+               BUILDDIRS="locale"
+               cupsimagebase=""
+               LIBCUPSOBJS="\$(COREOBJS)"
                ;;
 
        *)
@@ -456,3 +466,4 @@ case "$COMPONENTS" in
 esac
 
 AC_SUBST(BUILDDIRS)
+AC_SUBST(LIBCUPSOBJS)
index 43f034d7ba6fff377a71525599579d2bdc668f0f..b3d96ef0ab0bb4a5ad88f7b291eef0633af30618 100644 (file)
@@ -41,9 +41,6 @@ AC_ARG_WITH(bundlelang, [  --with-bundlelang       set localization bundle base
        else
                cups_bundlelang="English"
        fi])
-else
-       cups_bundlelang=""
-fi
 
 if test "x$cups_bundlelang" != x -a "x$CUPS_BUNDLEDIR" != x; then
        CUPS_RESOURCEDIR="$CUPS_BUNDLEDIR/Resources/$cups_bundlelang.lproj"
index 690817f0dc1487a9552ae200002ed85396957ffe..80e1ee2f59cd18f7003f1caef88f629116c7dff0 100644 (file)
@@ -15,27 +15,34 @@ 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"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
                        ;;
                linux* | gnu* | *bsd*)
                        LIBCUPS="lib$cupsbase.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
                        ;;
                darwin*)
                        LIBCUPS="lib$cupsbase.2.dylib"
-                       LIBCUPSIMAGE="libcupsimage.2.dylib"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.2.dylib"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
@@ -44,7 +51,9 @@ if test x$enable_shared != xno; then
                        echo "Warning: shared libraries may not be supported.  Trying -shared"
                        echo "         option with compiler."
                        LIBCUPS="lib$cupsbase.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
@@ -53,7 +62,9 @@ if test x$enable_shared != xno; then
 else
        PICFLAG=0
        LIBCUPS="lib$cupsbase.a"
-       LIBCUPSIMAGE="libcupsimage.a"
+       if test "x$cupsimagebase" != x; then
+               LIBCUPSIMAGE="lib$cupsimagebase.a"
+       fi
        DSO=":"
        DSOXX=":"
 fi
@@ -68,16 +79,26 @@ AC_SUBST(LIBCUPSSTATIC)
 
 if test x$enable_shared = xno; then
        LINKCUPS="../cups/lib$cupsbase.a"
-       LINKCUPSIMAGE="../cups/libcupsimage.a"
-
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSIMAGE="-lcupsimage"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="../cups/lib$cupsimagebase.a"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
+       else
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
+       fi
 else
        LINKCUPS="-l${cupsbase}"
-       LINKCUPSIMAGE="-lcupsimage"
-
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSIMAGE="-lcupsimage"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="-l$cupsimagebase"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
+       else
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
+       fi
 fi
 
 AC_SUBST(EXTLINKCUPS)
index e2ae90f877f9efed8a449dda69751ed80ab4a259..d4a39916b029a9a91f8cade7d5857c3dc34ddae1 100755 (executable)
--- a/configure
+++ b/configure
@@ -716,6 +716,7 @@ CUPS_DATADIR
 CUPS_CACHEDIR
 PRIVATEINCLUDE
 privateinclude
+LIBCUPSOBJS
 BUILDDIRS
 INSTALLXPC
 CUPS_SYSTEM_AUTHKEY
@@ -1573,6 +1574,7 @@ Optional Packages:
                            - "all" (default) builds everything
                            - "core" builds libcups and ipptool
                            - "libcups" builds just libcups
+                           - "libcupslite" builds just libcups without driver support
   --with-privateinclude   set path for private include files, default=none
   --with-lpdconfig        set URI for LPD config file
   --with-smbconfig        set URI for Samba config file
@@ -6105,6 +6107,8 @@ if test "${with_components+set}" = set; then :
 fi
 
 
+cupsimagebase="cupsimage"
+LIBCUPSOBJS="\$(COREOBJS) \$(DRIVEROBJS)"
 case "$COMPONENTS" in
        all)
                BUILDDIRS="test filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
@@ -6116,6 +6120,13 @@ case "$COMPONENTS" in
 
        libcups)
                BUILDDIRS="locale"
+               cupsimagebase=""
+               ;;
+
+       libcupslite)
+               BUILDDIRS="locale"
+               cupsimagebase=""
+               LIBCUPSOBJS="\$(COREOBJS)"
                ;;
 
        *)
@@ -6128,6 +6139,7 @@ esac
 
 
 
+
 if test "$prefix" = "NONE"; then
        prefix="/"
 fi
@@ -6597,27 +6609,34 @@ fi
 
 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"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
                        ;;
                linux* | gnu* | *bsd*)
                        LIBCUPS="lib$cupsbase.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
                        ;;
                darwin*)
                        LIBCUPS="lib$cupsbase.2.dylib"
-                       LIBCUPSIMAGE="libcupsimage.2.dylib"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.2.dylib"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
@@ -6626,7 +6645,9 @@ if test x$enable_shared != xno; then
                        echo "Warning: shared libraries may not be supported.  Trying -shared"
                        echo "         option with compiler."
                        LIBCUPS="lib$cupsbase.so.2"
-                       LIBCUPSIMAGE="libcupsimage.so.2"
+                       if test "x$cupsimagebase" != x; then
+                               LIBCUPSIMAGE="lib$cupsimagebase.so.2"
+                       fi
                        DSO="\$(CC)"
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
@@ -6635,7 +6656,9 @@ if test x$enable_shared != xno; then
 else
        PICFLAG=0
        LIBCUPS="lib$cupsbase.a"
-       LIBCUPSIMAGE="libcupsimage.a"
+       if test "x$cupsimagebase" != x; then
+               LIBCUPSIMAGE="lib$cupsimagebase.a"
+       fi
        DSO=":"
        DSOXX=":"
 fi
@@ -6650,16 +6673,26 @@ fi
 
 if test x$enable_shared = xno; then
        LINKCUPS="../cups/lib$cupsbase.a"
-       LINKCUPSIMAGE="../cups/libcupsimage.a"
-
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSIMAGE="-lcupsimage"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="../cups/lib$cupsimagebase.a"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
+       else
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
+       fi
 else
        LINKCUPS="-l${cupsbase}"
-       LINKCUPSIMAGE="-lcupsimage"
-
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSIMAGE="-lcupsimage"
+
+       if test "x$cupsimagebase" != x; then
+               LINKCUPSIMAGE="-l$cupsimagebase"
+               EXTLINKCUPSIMAGE="-l$cupsimagebase"
+       else
+               LINKCUPSIMAGE=""
+               EXTLINKCUPSIMAGE=""
+       fi
 fi
 
 
@@ -9518,9 +9551,6 @@ else
        fi
 fi
 
-else
-       cups_bundlelang=""
-fi
 
 if test "x$cups_bundlelang" != x -a "x$CUPS_BUNDLEDIR" != x; then
        CUPS_RESOURCEDIR="$CUPS_BUNDLEDIR/Resources/$cups_bundlelang.lproj"
index 7c31019e695eb60e5d96dd50a9667a47c81eb991..19c538e2e74223dcc93372d3daca70676caaf97b 100644 (file)
@@ -15,12 +15,9 @@ include ../Makedefs
 # Object files...
 #
 
-LIBOBJS        =       \
-               adminutil.o \
+COREOBJS       =       \
                array.o \
                auth.o \
-               backchannel.o \
-               backend.o \
                debug.o \
                dest.o \
                dest-job.o \
@@ -29,8 +26,6 @@ LIBOBJS       =       \
                dir.o \
                encode.o \
                file.o \
-               getdevices.o \
-               getifaddrs.o \
                getputfile.o \
                globals.o \
                hash.o \
@@ -48,23 +43,11 @@ LIBOBJS     =       \
                md5passwd.o \
                notify.o \
                options.o \
-               ppd.o \
-               ppd-attr.o \
-               ppd-cache.o \
-               ppd-conflicts.o \
-               ppd-custom.o \
-               ppd-emit.o \
-               ppd-localize.o \
-               ppd-mark.o \
-               ppd-page.o \
-               ppd-util.o \
                pwg-media.o \
                raster-error.o \
-               raster-interpret.o \
                raster-stream.o \
+               raster-stubs.o \
                request.o \
-               sidechannel.o \
-               snmp.o \
                snprintf.o \
                string.o \
                tempfile.o \
@@ -73,9 +56,35 @@ LIBOBJS      =       \
                transcode.o \
                usersys.o \
                util.o
+
+DRIVEROBJS     =       \
+               adminutil.o \
+               backchannel.o \
+               backend.o \
+               getdevices.o \
+               getifaddrs.o \
+               ppd.o \
+               ppd-attr.o \
+               ppd-cache.o \
+               ppd-conflicts.o \
+               ppd-custom.o \
+               ppd-emit.o \
+               ppd-localize.o \
+               ppd-mark.o \
+               ppd-page.o \
+               ppd-util.o \
+               raster-interpret.o \
+               raster-interstub.o \
+               sidechannel.o \
+               snmp.o
+
+LIBOBJS                = \
+               $(LIBCUPSOBJS)
+
 IMAGEOBJS      = \
                raster-interstub.o \
                raster-stubs.o
+
 TESTOBJS       = \
                rasterbench.o \
                testadmin.o \
@@ -281,23 +290,25 @@ install-libs: $(LIBTARGETS) $(INSTALLSTATIC)
                $(RM) $(LIBDIR)/libcups.dylib; \
                $(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \
        fi
-       $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
-       -if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
+       -if text "x$(LIBCUPSIMAGE)" != x; then
+               $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR); \
+       fi
+       -if test "x$(LIBCUPSIMAGE)" = "xlibcupsimage.so.2"; then \
                $(RM) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
                $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
        fi
-       -if test $(LIBCUPSIMAGE) = "libcupsimage.2.dylib"; then \
+       -if test "x$(LIBCUPSIMAGE)" = "xlibcupsimage.2.dylib"; then \
                $(RM) $(LIBDIR)/libcupsimage.dylib; \
                $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \
        fi
        if test "x$(SYMROOT)" != "x"; then \
-               $(INSTALL_DIR) $(SYMROOT); \
                $(INSTALL_DIR) $(SYMROOT); \
                cp $(LIBCUPS) $(SYMROOT); \
                dsymutil $(SYMROOT)/$(LIBCUPS); \
-               cp $(LIBCUPSIMAGE) $(SYMROOT); \
-               dsymutil $(SYMROOT)/$(LIBCUPSIMAGE); \
+               if text "x$(LIBCUPSIMAGE)" != x; then \
+                       cp $(LIBCUPSIMAGE) $(SYMROOT); \
+                       dsymutil $(SYMROOT)/$(LIBCUPSIMAGE); \
+               fi \
        fi
 
 installstatic:
@@ -316,7 +327,7 @@ installstatic:
 
 uninstall:
        $(RM) $(LIBDIR)/libcups.2.dylib
-       $(RM) $(LIBDIR)/$(LIBCUPSSTATIC)
+       $(RM) $(LIBDIR)/libcups.a
        $(RM) $(LIBDIR)/libcups.dylib
        $(RM) $(LIBDIR)/libcups.so
        $(RM) $(LIBDIR)/libcups.so.2
@@ -330,15 +341,21 @@ uninstall:
                $(RM) $(INCLUDEDIR)/cups/$$file; \
        done
        -$(RMDIR) $(INCLUDEDIR)/cups
+       if test "x$(privateinclude)" != x; then \
+               for file in $(HEADERSPRIV); do \
+                       $(RM) $(PRIVATEINCLUDE)/cups/$$file; \
+               done
+               $(RMDIR) $(PRIVATEINCLUDE)/cups; \
+       fi
 
 
 #
 # libcups.so.2
 #
 
-libcups.so.2:  $(LIBOBJS) $(IMAGEOBJS)
+libcups.so.2:  $(LIBOBJS)
        echo Linking $@...
-       $(DSO) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(IMAGEOBJS) \
+       $(DSO) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) \
                $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        $(RM) `basename $@ .2`
        $(LN) $@ `basename $@ .2`
@@ -348,13 +365,13 @@ libcups.so.2:     $(LIBOBJS) $(IMAGEOBJS)
 # libcups.2.dylib
 #
 
-libcups.2.dylib:       $(LIBOBJS) $(IMAGEOBJS)
+libcups.2.dylib:       $(LIBOBJS)
        echo Linking $@...
        $(DSO) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ \
                -install_name $(libdir)/$@ \
                -current_version 2.14.0 \
                -compatibility_version 2.0.0 \
-               $(LIBOBJS) $(IMAGEOBJS) \
+               $(LIBOBJS) \
                $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
        $(RM) libcups.dylib
@@ -365,10 +382,10 @@ libcups.2.dylib:  $(LIBOBJS) $(IMAGEOBJS)
 # libcups.la
 #
 
-libcups.la:    $(LIBOBJS) $(IMAGEOBJS)
+libcups.la:    $(LIBOBJS)
        echo Linking $@...
        $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ \
-               $(LIBOBJS:.o=.lo) $(IMAGEOBJS:.o=.lo) \
+               $(LIBOBJS:.o=.lo) \
                -rpath $(LIBDIR) -version-info 2:14 $(LIBGSSAPI) $(SSLLIBS) \
                $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
@@ -377,10 +394,10 @@ libcups.la:    $(LIBOBJS) $(IMAGEOBJS)
 # libcups.a
 #
 
-libcups.a:     $(LIBOBJS) $(IMAGEOBJS)
+libcups.a:     $(LIBOBJS)
        echo Archiving $@...
        $(RM) $@
-       $(AR) $(ARFLAGS) $@ $(LIBOBJS) $(IMAGEOBJS)
+       $(AR) $(ARFLAGS) $@ $(LIBOBJS)
        $(RANLIB) $@