e702e27795
In preparation of Biswadeep's upcoming GSoC changes (see [1]) to update the CPDB (Common Print Dialog Backends) support to the latest version and use the CPDB C API, add a corresponding `--enable-cpdb` autogen option (disabled by default). When CPDB is enabled, check for the cpdb-frontend library, define `ENABLE_CPDB` and set the compiler and linker flags for building the `CPDManager` (in vcl/unx/generic/printer/cpdmgr.cxx). Add checks for existing code using `CPDBManager`, so it only gets used when when CPDB is actually enabled. While the cpdb-frontend library is currently not actually used in `CPDManager` yet (as the previous approach tried to use some DBUs API directly), it will be in Biswadeep's upcoming changes. With this commit in place, an `--enable-cpdb` build works with this additional local test change in place to actually make use of the library: diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx index 7dc17cede353..0c3b71d519db 100644 --- a/vcl/unx/generic/printer/cpdmgr.cxx +++ b/vcl/unx/generic/printer/cpdmgr.cxx @@ -22,6 +22,8 @@ #include <cstddef> #include <unistd.h> +#include <cpdb/cpdb-frontend.h> + #include <unx/cpdmgr.hxx> #include <osl/file.h> @@ -259,6 +261,7 @@ CPDManager* CPDManager::tryLoadCPD() } } #endif + cpdbPrintFile(nullptr, nullptr); return pManager; } [1] https://lists.freedesktop.org/archives/libreoffice/2024-May/091911.html Change-Id: Ifc50d2cd6496346bea55c73cb703e3c2d3eb44b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168656 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Biswadeep Purkayastha <bpdps95@hotmail.com> |
||
---|---|---|
.. | ||
.gitignore | ||
config_atspi.h.in | ||
config_box2d.h.in | ||
config_buildconfig.h.in | ||
config_buildid.h.in | ||
config_cairo_canvas.h.in | ||
config_cairo_rgba.h.in | ||
config_clang.h.in | ||
config_cpdb.h.in | ||
config_crypto.h.in | ||
config_cxxabi.h.in | ||
config_dbus.h.in | ||
config_dconf.h.in | ||
config_eot.h.in | ||
config_extensions.h.in | ||
config_feature_desktop.h.in | ||
config_feature_opencl.h.in | ||
config_features.h.in | ||
config_firebird.h.in | ||
config_folders.h.in | ||
config_fonts.h.in | ||
config_fuzzers.h.in | ||
config_gio.h.in | ||
config_global.h.in | ||
config_gpgme.h.in | ||
config_java.h.in | ||
config_langs.h.in | ||
config_lgpl.h.in | ||
config_libcxx.h.in | ||
config_liblangtag.h.in | ||
config_locales.h.in | ||
config_mpl.h.in | ||
config_oauth2.h.in | ||
config_oox.h.in | ||
config_options.h.in | ||
config_options_calc.h.in | ||
config_poppler.h.in | ||
config_probes.h.in | ||
config_python.h.in | ||
config_skia.h.in | ||
config_typesizes.h.in | ||
config_validation.h.in | ||
config_vclplug.h.in | ||
config_vendor.h.in | ||
config_version.h.in | ||
config_wasm_strip.h.in | ||
config_writerperfect.h.in | ||
config_zxing.h.in | ||
README.md |
C/C++ Configuration Created by configure Script
These are configuration files for various features as detected by configure
.
Include only those files you need (in order to reduce rebuilds when a setting changes).
Settings here are only C/C++ #define
directives, so they apply only to C/C++ source,
not to Makefiles.
Adding a New Setting:
- do
AC_DEFINE(HAVE_FOO)
inconfigure.ac
when a setting should be set - choose the proper
config_host/config_XXX.h
file to use- if it is a global setting (such as availability of a compiler feature),
use
config_host/config_global.h
- otherwise check if there is a matching
config_host/config_XXX.h
file - if none matches, add a new one:
- add
config_host/config_XXX.h.in
here, with just#ifndef
include guard - add
AC_CONFIG_HEADERS([config_host/config_XXX.h])
next to the others inconfigure.ac
- add
- if it is a global setting (such as availability of a compiler feature),
use
- add
#define HAVE_FOO 0
to theconfig_host/config_XXX.h
, possibly with a comment (do not use#undef HAVE_FOO
, unless the setting has more values than on/off) - add
#include <config_XXX.h>
before any #ifHAVE_FOO
in a source file - make sure you use
#if HAVE_FOO
for on/off settings, do not use#ifdef