Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Mon, Aug 22, 2011 at 07:20:24PM +0200, Rene Engelhard wrote:
On Mon, Aug 22, 2011 at 08:29:12AM +0200, Francois Tigeot wrote:
On Sun, Aug 21, 2011 at 10:50:43PM +0200, Rene Engelhard wrote:
On Sun, Aug 21, 2011 at 08:53:14PM +0200, Francois Tigeot wrote:

Right, I may have been too enthusiastic about this. Would a reduced test like
this be acceptable ?:

dnl check for cups support
dnl ===================================================================
AC_MSG_CHECKING([whether native cups support is present])

Just "for cups" is enough.

I've removed the "native" bit in the new attached patch.
This code was already there; I've no idea what the original author meant by
"native" cups.

AC_CHECK_LIB(cups, cupsPrintFiles)

I noticed that in your initial patch, too.
Do we link against cups now? Did that change?

This is also what is currently in the tree.
AFAIK, libcups is not linked at build time and I have no idea why the check
was there in the first place.
Howewer, it is my intention to make the print code link with cups normally,
in which case it is better for this check to stay.

If nobody objects, I'll push the patch in a short while.

-- 
Francois Tigeot
From 9fdf9445ca579f5a4c28e7f461a91edaea1a2860 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Tigeot?= <ftigeot@wolfpond.org>
Date: Sun, 21 Aug 2011 20:36:09 +0200
Subject: [PATCH] Enable CUPS unconditionally

It doesn't make sense to try to use anything else to print on *nix
systems these days
---
 configure.in                           |   30 ++++--------------------
 distro-configs/LibreOfficeAndroid.conf |    1 -
 distro-configs/LibreOfficeiOS.conf     |    1 -
 distro-configs/OxygenOfficeLinux.conf  |    1 -
 set_soenv.in                           |    1 -
 vcl/Library_vcl.mk                     |    3 --
 vcl/unx/generic/printer/cupsmgr.cxx    |   40 +-------------------------------
 7 files changed, 6 insertions(+), 71 deletions(-)

diff --git a/configure.in b/configure.in
index 536ca8b..8069174 100755
--- a/configure.in
+++ b/configure.in
@@ -180,10 +180,6 @@ AC_ARG_ENABLE(evolution2,
         [Allows the built-in evolution 2 addressbook connectivity build to be
          enabled.]))
 
-AC_ARG_ENABLE(cups,
-    AS_HELP_STRING([--disable-cups],
-        [Disable cups support in the psprint project.]))
-
 AC_ARG_ENABLE(directx,
     AS_HELP_STRING([--disable-directx],
         [Remove DirectX implementation for the new XCanvas interface.
@@ -1454,7 +1450,6 @@ dnl These values may be checked and reset later.
 dnl ===================================================================
 #defaults unless the os test overrides this:
 test_randr=yes
-test_cups=yes
 test_fontconfig=yes
 
 case "$host_os" in
@@ -1504,7 +1499,6 @@ linux-gnu*|k*bsd*-gnu*)
 
 gnu)
     test_randr=no
-    test_cups=no
     _os=GNU
      ;;
 
@@ -1525,7 +1519,6 @@ cygwin*|interix*|mingw32*)
     # is "mingw32" (because in that case it is the MinGW
     # tool-chain that is used).
 
-    test_cups=no
     test_randr=no
     test_freetype=no
     test_fontconfig=no
@@ -1601,7 +1594,6 @@ freebsd*)
     ;;
 
 aix*)
-    test_cups=no
     test_randr=no
     test_freetype=yes
     PTHREAD_LIBS=-pthread
@@ -1629,7 +1621,6 @@ dragonfly*)
 
 androideabi*)
     build_gstreamer=no
-    test_cups=no
     test_fontconfig=no
     test_freetype=no
     test_gtk=no
@@ -2260,20 +2251,12 @@ AC_SUBST(DISABLE_STRIP)
 
 dnl check for cups support
 dnl ===================================================================
-AC_MSG_CHECKING([whether to enable native cups support])
-if test "$test_cups" = "yes" -a "z$enable_cups" != "zno"; then
-    ENABLE_CUPS="TRUE"
-    AC_MSG_RESULT([yes])
-    AC_CHECK_LIB(cups, cupsPrintFiles)
-    AC_CHECK_HEADER(cups/cups.h, AC_DEFINE(HAVE_CUPS_H))
-    if test "$ac_cv_lib_cups_cupsPrintFiles" != "yes" -a "$ac_cv_header_cups_cups_h" != "yes"; then
-        AC_MSG_ERROR([Could not find CUPS. Install libcupsys2-dev or cups???-devel.])
-    fi
-else
-    ENABLE_CUPS=""
-    AC_MSG_RESULT([no])
+AC_MSG_CHECKING([whether cups support is present])
+AC_CHECK_LIB(cups, cupsPrintFiles)
+AC_CHECK_HEADER(cups/cups.h, AC_DEFINE(HAVE_CUPS_H))
+if test "$ac_cv_lib_cups_cupsPrintFiles" != "yes" -a "$ac_cv_header_cups_cups_h" != "yes"; then
+    AC_MSG_ERROR([Could not find CUPS. Install libcupsys2-dev or cups???-devel.])
 fi
-AC_SUBST(ENABLE_CUPS)
 
 
 # check for fontconfig support
@@ -5920,9 +5903,6 @@ if test  "$_os" = "Darwin"; then
             x_libraries="no_x_libraries"
             dnl disable some things used on other Unix versions but not on the aqua build
             enable_gtk=no
-            enable_cups=no
-            ENABLE_CUPS=""
-            AC_SUBST(ENABLE_CUPS)
         else
             AC_MSG_ERROR([No AppKit.framewrok found])
         fi
diff --git a/distro-configs/LibreOfficeAndroid.conf b/distro-configs/LibreOfficeAndroid.conf
index 90d710b..e8d9da4 100644
--- a/distro-configs/LibreOfficeAndroid.conf
+++ b/distro-configs/LibreOfficeAndroid.conf
@@ -1,5 +1,4 @@
 --host=arm-linux-androideabi
---disable-cups
 --disable-gconf
 --disable-gnome-vfs
 --disable-gstreamer
diff --git a/distro-configs/LibreOfficeiOS.conf b/distro-configs/LibreOfficeiOS.conf
index bd2b60c..fbc60f9 100644
--- a/distro-configs/LibreOfficeiOS.conf
+++ b/distro-configs/LibreOfficeiOS.conf
@@ -1,7 +1,6 @@
 --build=i386-apple-darwin10.7.0
 --host=arm-apple-darwin10
 --disable-cairo
---disable-cups
 --disable-fontconfig
 --disable-gconf
 --disable-gnome-vfs
diff --git a/distro-configs/OxygenOfficeLinux.conf b/distro-configs/OxygenOfficeLinux.conf
index 7cb36c9..73c1d76 100644
--- a/distro-configs/OxygenOfficeLinux.conf
+++ b/distro-configs/OxygenOfficeLinux.conf
@@ -8,7 +8,6 @@
 --without-system-mozilla
 --with-package-format=rpm deb
 --enable-epm
---enable-cups
 --disable-symbols
 --enable-systray
 --with-epm=internal
diff --git a/set_soenv.in b/set_soenv.in
index 76681f3..0618410 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1846,7 +1846,6 @@ ToFile( "ENABLE_SYMBOLS",    "@ENABLE_SYMBOLS@",    "e" );
 ToFile( "DISABLE_STRIP",     "@DISABLE_STRIP@",     "e" );
 ToFile( "LFS_CFLAGS",        "@LFS_CFLAGS@",     "e" );
 ToFile( "ENABLE_CRASHDUMP",  "@ENABLE_CRASHDUMP@",  "e" );
-ToFile( "ENABLE_CUPS",       "@ENABLE_CUPS@",       "e" );
 ToFile( "ENABLE_RANDR",      "@ENABLE_RANDR@",      "e" );
 ToFile( "ENABLE_FONTCONFIG", "@ENABLE_FONTCONFIG@", "e" );
 ToFile( "FONTCONFIG_LIBS",   "@FONTCONFIG_LIBS@",   "e");
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index c69e143..c3b3ad1 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -398,9 +398,6 @@ $(eval $(call gb_Library_add_defs,vcl,\
     -DSAL_DLLPOSTFIX=\"$(gb_Library_OOOEXT)\" \
     -D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \
 ))
-$(eval $(call gb_Library_add_defs,vcl,\
-    $(if $(ENABLE_CUPS),-DENABLE_CUPS) \
-))
 $(eval $(call gb_Library_add_exception_objects,vcl,\
     vcl/unx/generic/glyphs/gcach_ftyp \
     vcl/unx/generic/glyphs/gcach_layout \
diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index 1e8c378..62d6288 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -29,16 +29,9 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_vcl.hxx"
 
-#ifdef ENABLE_CUPS
 #include <cups/cups.h>
 #include <cups/ppd.h>
 
-#else // !ENABLE_CUPS
-typedef void ppd_file_t;
-typedef void cups_dest_t;
-typedef void cups_option_t;
-#endif
-
 #include <unistd.h>
 
 #include "cupsmgr.hxx"
@@ -165,7 +158,6 @@ CUPSWrapper::CUPSWrapper()
         : m_pLib( NULL ),
           m_bPPDThreadRunning( false )
 {
-#ifdef ENABLE_CUPS
     OUString aLib( RTL_CONSTASCII_USTRINGPARAM( CUPS_LIB_NAME ) );
     m_pLib = osl_loadModule( aLib.pData, SAL_LOADMODULE_LAZY );
     if( ! m_pLib )
@@ -173,7 +165,6 @@ CUPSWrapper::CUPSWrapper()
         aLib = OUString( RTL_CONSTASCII_USTRINGPARAM( SAL_MODULENAME( "cups" ) ) );
         m_pLib = osl_loadModule( aLib.pData, SAL_LOADMODULE_LAZY );
     }
-#endif
 
     if( ! m_pLib )
     {
@@ -357,7 +348,6 @@ OString CUPSWrapper::cupsGetPPD( const char* pPrinter )
     return aResult;
 }
 
-#ifdef ENABLE_CUPS
 static const char* setPasswordCallback( const char* pIn )
 {
     const char* pRet = NULL;
@@ -367,7 +357,6 @@ static const char* setPasswordCallback( const char* pIn )
         pRet = static_cast<CUPSManager&>(rMgr).authenticateUser( pIn );
     return pRet;
 }
-#endif
 
 /*
  *  CUPSManager class
@@ -376,7 +365,6 @@ static const char* setPasswordCallback( const char* pIn )
 CUPSManager* CUPSManager::tryLoadCUPS()
 {
     CUPSManager* pManager = NULL;
-#ifdef ENABLE_CUPS
     static const char* pEnv = getenv( "SAL_DISABLE_CUPS" );
 
     if( ! pEnv || ! *pEnv )
@@ -388,7 +376,6 @@ CUPSManager* CUPSManager::tryLoadCUPS()
         else
             delete pWrapper;
     }
-#endif
     return pManager;
 }
 
@@ -499,7 +486,6 @@ void CUPSManager::initialize()
     // get normal printers, clear printer list
     PrinterInfoManager::initialize();
 
-#ifdef ENABLE_CUPS
     // check whether thread has completed
     // if not behave like old printing system
     osl::MutexGuard aGuard( m_aCUPSMutex );
@@ -634,10 +620,8 @@ void CUPSManager::initialize()
     }
 
     m_pCUPSWrapper->cupsSetPasswordCB( setPasswordCallback );
-#endif // ENABLE_CUPS
 }
 
-#ifdef ENABLE_CUPS
 static void updatePrinterContextInfo( ppd_group_t* pPPDGroup, PPDContext& rContext )
 {
     rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
@@ -687,7 +671,6 @@ static void updatePrinterContextInfo( ppd_group_t* pPPDGroup, PPDContext& rConte
         updatePrinterContextInfo( pPPDGroup->subgroups + g, rContext );
     }
 }
-#endif // ENABLE_CUPS
 
 const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
 {
@@ -699,7 +682,6 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
     else
         aPrinter = rPrinter;
 
-#ifdef ENABLE_CUPS
     if( m_aCUPSMutex.tryToAcquire() )
     {
         if( m_nDests && m_pDests && ! isCUPSDisabled() )
@@ -776,7 +758,6 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
     else
         fprintf( stderr, "could not acquire CUPS mutex !!!\n" );
     #endif
-    #endif // ENABLE_CUPS
 
     if( ! pNewParser )
     {
@@ -792,14 +773,8 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
     return pNewParser;
 }
 
-void CUPSManager::setupJobContextData(
-    JobData&
-#ifdef ENABLE_CUPS
-    rData
-#endif
-)
+void CUPSManager::setupJobContextData( JobData& rData )
 {
-#ifdef ENABLE_CUPS
     boost::unordered_map< OUString, int, OUStringHash >::iterator dest_it =
         m_aCUPSDestMap.find( rData.m_aPrinterName );
 
@@ -835,7 +810,6 @@ void CUPSManager::setupJobContextData(
 
     rData.m_pParser     = p_it->second.m_aInfo.m_pParser;
     rData.m_aContext    = p_it->second.m_aInfo.m_aContext;
-#endif
 }
 
 FILE* CUPSManager::startSpool( const OUString& rPrintername, bool bQuickCommand )
@@ -850,7 +824,6 @@ FILE* CUPSManager::startSpool( const OUString& rPrintername, bool bQuickCommand
         return PrinterInfoManager::startSpool( rPrintername, bQuickCommand );
     }
 
-#ifdef ENABLE_CUPS
     OUString aTmpURL, aTmpFile;
     osl_createTempFile( NULL, NULL, &aTmpURL.pData );
     osl_getSystemPathFromFileURL( aTmpURL.pData, &aTmpFile.pData );
@@ -860,9 +833,6 @@ FILE* CUPSManager::startSpool( const OUString& rPrintername, bool bQuickCommand
         m_aSpoolFiles[fp] = aSysFile;
 
     return fp;
-#else
-    return NULL;
-#endif
 }
 
 struct less_ppd_key : public ::std::binary_function<double, double, bool>
@@ -933,7 +903,6 @@ int CUPSManager::endSpool( const OUString& rPrintername, const OUString& rJobTit
         return PrinterInfoManager::endSpool( rPrintername, rJobTitle, pFile, rDocumentJobData, 
bBanner );
     }
 
-    #ifdef ENABLE_CUPS
     boost::unordered_map< FILE*, OString, FPtrHash >::const_iterator it = m_aSpoolFiles.find( 
pFile );
     if( it != m_aSpoolFiles.end() )
     {
@@ -972,7 +941,6 @@ int CUPSManager::endSpool( const OUString& rPrintername, const OUString& rJobTit
         if( pOptions )
             m_pCUPSWrapper->cupsFreeOptions( nNumOptions, pOptions );
     }
-#endif // ENABLE_CUPS
 
     return nJobID;
 }
@@ -1060,7 +1028,6 @@ bool CUPSManager::removePrinter( const OUString& rName, bool bCheck )
 bool CUPSManager::setDefaultPrinter( const OUString& rName )
 {
     bool bSuccess = false;
-#ifdef ENABLE_CUPS
     boost::unordered_map< OUString, int, OUStringHash >::iterator nit =
         m_aCUPSDestMap.find( rName );
     if( nit != m_aCUPSDestMap.end() && m_aCUPSMutex.tryToAcquire() )
@@ -1075,7 +1042,6 @@ bool CUPSManager::setDefaultPrinter( const OUString& rName )
         bSuccess = true;
     }
     else
-#endif
         bSuccess = PrinterInfoManager::setDefaultPrinter( rName );
 
     return bSuccess;
@@ -1083,7 +1049,6 @@ bool CUPSManager::setDefaultPrinter( const OUString& rName )
 
 bool CUPSManager::writePrinterConfig()
 {
-#ifdef ENABLE_CUPS
     bool bDestModified = false;
     rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
 
@@ -1131,7 +1096,6 @@ bool CUPSManager::writePrinterConfig()
         m_pCUPSWrapper->cupsSetDests( m_nDests, (cups_dest_t*)m_pDests );
         m_aCUPSMutex.release();
     }
-#endif // ENABLE_CUPS
 
     return PrinterInfoManager::writePrinterConfig();
 }
@@ -1145,7 +1109,6 @@ const char* CUPSManager::authenticateUser( const char* /*pIn*/ )
 {
     const char* pRet = NULL;
 
-#ifdef ENABLE_CUPS
     OUString aLib(RTL_CONSTASCII_USTRINGPARAM( _XSALSET_LIBNAME ));
     oslModule pLib = osl_loadModule( aLib.pData, SAL_LOADMODULE_LAZY );
     if( pLib )
@@ -1173,7 +1136,6 @@ const char* CUPSManager::authenticateUser( const char* /*pIn*/ )
 #if OSL_DEBUG_LEVEL > 1
     else fprintf( stderr, "loading of module %s failed\n", OUStringToOString( aLib, 
osl_getThreadTextEncoding() ).getStr() );
 #endif
-#endif // ENABLE_CUPS
 
     return pRet;
 }
-- 
1.7.5.4


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.