summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <tchvatal@suse.cz>2012-05-07 13:46:09 +0200
committerTomas Chvatal <tchvatal@suse.cz>2012-05-09 17:41:30 +0200
commit27abb730b290f3516582d2d787ef64af76663f97 (patch)
tree5939ae548b224c4c4eaac81ecaba05ab951989f0
parentc7a9318f08e08a35f2784bf8d06f62031649b24e (diff)
Enable configure switch for cups
This allows us not to have cups during the build time of libreoffice. Commit is inspired from patch from Dave Flogeras <dflogeras@gmail.com>. Change-Id: I I32a14eb6e7bdd13de1a737d4798c852a830ae326
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.in12
-rw-r--r--vcl/Library_vcl.mk9
-rw-r--r--vcl/null/printerinfomanager.cxx10
-rw-r--r--vcl/unx/generic/printer/ppdparser.cxx2
5 files changed, 31 insertions, 3 deletions
diff --git a/config_host.mk.in b/config_host.mk.in
index d4a5ea6b2f31..0adc5fe85756 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -98,6 +98,7 @@ export DPKG=@DPKG@
export DYNAMIC_CRT=@DYNAMIC_CRT@
export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
+export ENABLE_CUPS=@ENABLE_CUPS@
export ENABLE_DBUS=@ENABLE_DBUS@
export ENABLE_DEBUG_FOR=@ENABLE_DEBUG_FOR@
export ENABLE_DIRECTX=@ENABLE_DIRECTX@
diff --git a/configure.in b/configure.in
index 73f2c48454e6..b09a93588939 100644
--- a/configure.in
+++ b/configure.in
@@ -848,6 +848,11 @@ AC_ARG_ENABLE(nsplugin,
[Do not build nsplugin extension for browser embedding.])
)
+AC_ARG_ENABLE(cups,
+ AS_HELP_STRING([--disable-cups],
+ [Do not build cups support.])
+)
+
AC_ARG_ENABLE(ccache,
AS_HELP_STRING([--disable-ccache],
[Do not try to use ccache automatically.
@@ -3605,6 +3610,13 @@ fi
dnl check for cups support
dnl ===================================================================
+if test "$enable_cups" = "no"; then
+ test_cups=no
+ ENABLE_CUPS="NO"
+else
+ ENABLE_CUPS="YES"
+fi
+AC_SUBST(ENABLE_CUPS)
if test "$test_cups" = "yes"; then
AC_MSG_CHECKING([whether cups support is present])
AC_CHECK_LIB([cups], [cupsPrintFiles], [:])
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 9a259c3d8eea..a5b1848c8c47 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -445,10 +445,15 @@ $(eval $(call gb_Library_add_defs,vcl,\
$(eval $(call gb_Library_add_exception_objects,vcl,\
$(vcl_generic_code) \
vcl/unx/generic/plugadapt/salplug \
- vcl/unx/generic/printer/cupsmgr \
vcl/unx/generic/printer/jobdata \
vcl/unx/generic/printer/ppdparser \
- vcl/unx/generic/printer/printerinfomanager \
+ $(if $(filter YES,$(ENABLE_CUPS)),\
+ vcl/unx/generic/printer/cupsmgr \
+ vcl/unx/generic/printer/printerinfomanager \
+ ) \
+ $(if $(filter NO,$(ENABLE_CUPS)),\
+ vcl/null/printerinfomanager \
+ ) \
))
$(eval $(call gb_Library_use_externals,vcl,\
fontconfig \
diff --git a/vcl/null/printerinfomanager.cxx b/vcl/null/printerinfomanager.cxx
index 526a9362c05a..d606c41d78dd 100644
--- a/vcl/null/printerinfomanager.cxx
+++ b/vcl/null/printerinfomanager.cxx
@@ -84,6 +84,16 @@ void PrinterInfoManager::initialize()
// ???
}
+bool PrinterInfoManager::isCUPSDisabled() const
+{
+ return m_bDisableCUPS;
+}
+
+void PrinterInfoManager::setCUPSDisabled( bool bDisable )
+{
+ // cups is already disabled in config so do nothing
+}
+
void PrinterInfoManager::listPrinters( ::std::list< OUString >& rList ) const
{
rList.clear();
diff --git a/vcl/unx/generic/printer/ppdparser.cxx b/vcl/unx/generic/printer/ppdparser.cxx
index e5553961b166..9acee5658a2b 100644
--- a/vcl/unx/generic/printer/ppdparser.cxx
+++ b/vcl/unx/generic/printer/ppdparser.cxx
@@ -655,7 +655,7 @@ const PPDParser* PPDParser::getParser( const String& rFile )
PrinterInfoManager& rMgr = PrinterInfoManager::get();
if( rMgr.getType() == PrinterInfoManager::CUPS )
{
-#if !defined(ANDROID) && !defined(LIBO_HEADLESS)
+#if defined HAVE_CUPS_H
pNewParser = const_cast<PPDParser*>(static_cast<CUPSManager&>(rMgr).createCUPSParser( aFile ));
#endif
}