configure.ac                         |   49 ++++++-------
 connectivity/Module_connectivity.mk  |   22 ++---
 postprocess/CustomTarget_registry.mk |  130 +++++++++++++++++++----------------
 3 files changed, 105 insertions(+), 96 deletions(-)

New commits:
commit ffc6d564b91692cd9d99a0eb3b1ceaf54f7db89e
Author:     Jan-Marek Glogowski <glo...@fbihome.de>
AuthorDate: Tue Jun 1 07:40:12 2021 +0200
Commit:     Jan-Marek Glogowski <glo...@fbihome.de>
CommitDate: Tue Jun 1 20:04:56 2021 +0200

    configure: Refactor disabling DB drivers
    
    Disabling the DB connectivity is incomplete. We can't generally
    disable it for the cross-toolset, because svx / gengal then fails
    to build. But at least we can always disable most DB drivers in
    these cases and just use --disable-database-connectivity in the
    cross-toolset when building without galleries (which also gives
    this flag some testing with the Android cross-toolset).
    
    This also moves the DB modules in the registry generation target
    into a common DBCONNECTIVITY block, to prevent build failures.
    
    Change-Id: Ib98e1e8918cccc3caf9bc04185bac533509329a2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116511
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de>

diff --git a/configure.ac b/configure.ac
index 9fcac74e93ef..fbd13a356fcc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -800,6 +800,15 @@ if test "$enable_android_editing" = yes; then
 fi
 AC_SUBST([ENABLE_ANDROID_EDITING])
 
+disable_database_connectivity_dependencies()
+{
+    enable_evolution2=no
+    enable_firebird_sdbc=no
+    enable_mariadb_sdbc=no
+    enable_postgresql_sdbc=no
+    enable_report_builder=no
+}
+
 # ===================================================================
 #
 # Start initial platform setup
@@ -965,12 +974,10 @@ ios*) # iOS
     _os=iOS
     enable_mpl_subset=yes
     enable_lotuswordpro=no
+    disable_database_connectivity_dependencies
     enable_coinmp=no
     enable_lpsolve=no
-    enable_mariadb_sdbc=no
-    enable_postgresql_sdbc=no
     enable_extension_integration=no
-    enable_report_builder=no
     with_ppds=no
     if test "$enable_ios_simulator" = "yes"; then
         host=x86_64-apple-darwin
@@ -1061,15 +1068,13 @@ linux-android*)
     build_crypto=no
     test_system_freetype=no
     test_webdav=no
+    disable_database_connectivity_dependencies
     enable_lotuswordpro=no
     enable_mpl_subset=yes
     enable_cairo_canvas=no
     enable_coinmp=yes
     enable_lpsolve=no
-    enable_mariadb_sdbc=no
-    enable_report_builder=no
     enable_odk=no
-    enable_postgresql_sdbc=no
     enable_python=no
     _os=Android
 
@@ -1097,11 +1102,8 @@ emscripten)
     enable_compiler_plugins=no
     test_cmis=no
     test_webdav=no
-    enable_firebird_sdbc=no
+    enable_database_connectivity=no
     enable_lpsolve=no
-    enable_mariadb_sdbc=no
-    enable_postgresql_sdbc=no
-    enable_report_builder=no
     with_system_zlib=no
     with_theme="breeze"
     _os=Emscripten
@@ -2952,20 +2954,15 @@ else
 fi
 AC_SUBST(USE_AVMEDIA_DUMMY)
 
-# Decide whether to build database connectivity stuff (including
-# Base) or not. We probably don't want to on non-desktop OSes.
-if test -z "$enable_database_connectivity"; then
-    # --disable-database-connectivity is unfinished work in progress
-    # and the iOS test app doesn't link if we actually try to use it.
-    # if test $_os != iOS -a $_os != Android; then
-    if test $_os != iOS; then
-        enable_database_connectivity=yes
-    fi
-fi
-
-if test "$enable_database_connectivity" = yes; then
+# Decide whether to build database connectivity stuff (including Base) or not.
+if test "$enable_database_connectivity" != no; then
     BUILD_TYPE="$BUILD_TYPE DBCONNECTIVITY"
     AC_DEFINE(HAVE_FEATURE_DBCONNECTIVITY)
+else
+    if test "$_os" = iOS; then
+        AC_MSG_ERROR([Presumly can't disable DB connectivity on iOS.])
+    fi
+    disable_database_connectivity_dependencies
 fi
 
 if test -z "$enable_extensions"; then
@@ -3023,6 +3020,9 @@ WITH_GALLERY_BUILD=TRUE
 AC_MSG_CHECKING([how to build and package galleries])
 if test -n "${with_galleries}"; then
     if test "$with_galleries" = "build"; then
+        if test "$enable_database_connectivity" = no; then
+            AC_MSG_ERROR([DB connectivity is needed for gengal / svx])
+        fi
         AC_MSG_RESULT([build from source images internally])
     elif test "$with_galleries" = "no"; then
         WITH_GALLERY_BUILD=
@@ -5370,7 +5370,7 @@ if test "$cross_compiling" = "yes"; then
     fi
     test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts 
--with-external-tar=$TARFILE_LOCATION"
     test "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" 
= "force" && sub_conf_opts="$sub_conf_opts --with-system-icu"
-    test "$with_galleries" = "no" -o -z "$WITH_GALLERY_BUILD" && 
sub_conf_opts="$sub_conf_opts --with-galleries=no"
+    test "$with_galleries" = "no" -o -z "$WITH_GALLERY_BUILD" && 
sub_conf_opts="$sub_conf_opts --with-galleries=no 
--disable-database-connectivity"
     test "$enable_wasm_strip" = "yes" && sub_conf_opts="$sub_conf_opts 
--enable-wasm-strip"
     sub_conf_opts="$sub_conf_opts $with_build_platform_configure_options"
 
@@ -12828,7 +12828,7 @@ dnl 
===================================================================
 dnl Test whether to include Evolution 2 support
 dnl ===================================================================
 AC_MSG_CHECKING([whether to enable evolution 2 support])
-if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
+if test "$enable_evolution2" = yes; then
     AC_MSG_RESULT([yes])
     PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
     GOBJECT_CFLAGS=$(printf '%s' "$GOBJECT_CFLAGS" | sed -e 
"s/-I/${ISYSTEM?}/g")
@@ -12836,7 +12836,6 @@ if test "$enable_evolution2" = "yes" -o 
"$enable_evolution2" = "TRUE"; then
     GOBJECT_LIBS="${filteredlibs}"
     ENABLE_EVOAB2="TRUE"
 else
-    ENABLE_EVOAB2=""
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_EVOAB2)
diff --git a/connectivity/Module_connectivity.mk 
b/connectivity/Module_connectivity.mk
index a02ec9b7332f..b952594b0084 100644
--- a/connectivity/Module_connectivity.mk
+++ b/connectivity/Module_connectivity.mk
@@ -49,8 +49,6 @@ $(eval $(call gb_Module_add_targets,connectivity,\
 ))
 endif
 
-ifneq ($(OS),WNT)
-
 ifeq ($(OS),MACOSX)
 $(eval $(call gb_Module_add_targets,connectivity,\
        Configuration_macab \
@@ -59,14 +57,19 @@ $(eval $(call gb_Module_add_targets,connectivity,\
 ))
 endif
 
-endif
-
 ifeq ($(OS),WNT)
 $(eval $(call gb_Module_add_targets,connectivity,\
        Configuration_ado \
        Library_ado \
 ))
+
+# "ADO is not available on 64bit" said the commit
+ifeq ($(CPUNAME),INTEL)
+$(eval $(call gb_Module_add_check_targets,connectivity,\
+    CppunitTest_connectivity_ado \
+))
 endif
+endif # WNT
 
 ifeq ($(ENABLE_EVOAB2),TRUE)
 $(eval $(call gb_Module_add_targets,connectivity,\
@@ -107,15 +110,6 @@ $(eval $(call gb_Module_add_targets,connectivity,\
 
 endif
 
-ifeq ($(OS),WNT)
-# "ADO is not available on 64bit" said the commit
-ifneq ($(CPUNAME),X86_64)
-$(eval $(call gb_Module_add_check_targets,connectivity,\
-       CppunitTest_connectivity_ado \
-))
-endif
-endif
-
 ifneq ($(filter QADEVOOO,$(BUILD_TYPE)),)
 $(eval $(call gb_Module_add_subsequentcheck_targets,connectivity,\
        Jar_ConnectivityTools \
@@ -137,6 +131,6 @@ $(eval $(call gb_Module_add_check_targets,connectivity,\
        CppunitTest_connectivity_sharedresources \
 ))
 
-endif
+endif # DBCONNECTIVITY
 
 # vim: set noet sw=4 ts=4:
diff --git a/postprocess/CustomTarget_registry.mk 
b/postprocess/CustomTarget_registry.mk
index 16d0d801c4e9..37de50bcbe56 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -55,12 +55,6 @@ postprocess_FILES_calc := \
        $(postprocess_MOD)/org/openoffice/Office/Embedding-calc.xcu \
        $(postprocess_MOD)/org/openoffice/Setup-calc.xcu
 
-ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
-postprocess_FILES_calc += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/calc)/org/openoffice/Office/DataAccess/Drivers-calc.xcu
-postprocess_DRIVERS += calc
-endif
-
 postprocess_DEPS_cjk := main
 postprocess_FILES_cjk := \
        $(postprocess_MOD)/org/openoffice/Office/Common-cjk.xcu \
@@ -276,23 +270,15 @@ postprocess_FILES_main := \
        $(postprocess_MOD)/org/openoffice/TypeDetection/UISort-impress.xcu \
        $(postprocess_MOD)/org/openoffice/TypeDetection/UISort-math.xcu \
        $(postprocess_MOD)/org/openoffice/TypeDetection/UISort-writer.xcu
-ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
-postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/dbase)/org/openoffice/Office/DataAccess/Drivers-dbase.xcu
 \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/flat)/org/openoffice/Office/DataAccess/Drivers-flat.xcu
 \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/odbc)/org/openoffice/Office/DataAccess/Drivers-odbc.xcu
 \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/mysql_jdbc)/org/openoffice/Office/DataAccess/Drivers-mysql_jdbc.xcu
-postprocess_DRIVERS += dbase flat odbc mysql_jdbc
-endif
+
 ifeq (MACOSX,$(OS))
 postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/macab)/org/openoffice/Office/DataAccess/Drivers-macab.xcu
 \
        $(postprocess_MOD)/org/openoffice/Inet-macosx.xcu \
        $(postprocess_MOD)/org/openoffice/Office/Accelerators-macosx.xcu \
        $(postprocess_MOD)/org/openoffice/Office/Common-macosx.xcu \
        $(postprocess_MOD)/org/openoffice/Office/Paths-macosx.xcu
                # Inet-macosx.xcu must come after Inet.xcu
-postprocess_DRIVERS += macab
+
 else ifeq ($(USING_X11), TRUE)
 postprocess_FILES_main += \
        $(postprocess_MOD)/org/openoffice/Inet-unixdesktop.xcu \
@@ -314,37 +300,11 @@ postprocess_FILES_main += \
        $(postprocess_MOD)/org/openoffice/Office/Paths-unxwnt.xcu \
        $(postprocess_MOD)/org/openoffice/ucb/Configuration-win.xcu
                # Inet-wnt.xcu must come after Inet.xcu
-ifeq ($(gb_Side),host)
-postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/ado)/org/openoffice/Office/DataAccess/Drivers-ado.xcu
-postprocess_DRIVERS += ado
-endif
 endif
+
 ifneq ($(WITH_WEBDAV),)
 postprocess_FILES_main += 
$(postprocess_MOD)/org/openoffice/ucb/Configuration-webdav.xcu
 endif
-ifeq ($(ENABLE_EVOAB2),TRUE)
-postprocess_FILES_main += $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu
-postprocess_FILES_main += 
$(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu
-postprocess_DRIVERS += evoab
-endif
-ifeq ($(ENABLE_JAVA),TRUE)
-postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/hsqldb)/org/openoffice/Office/DataAccess/Drivers-hsqldb.xcu
 \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/jdbc)/org/openoffice/Office/DataAccess/Drivers-jdbc.xcu
-postprocess_DRIVERS += hsqldb jdbc
-endif
-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
-postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/firebird)/org/openoffice/Office/DataAccess/Drivers-firebird.xcu
-postprocess_DRIVERS += firebird_sdbc
-endif
-
-ifeq ($(ENABLE_MARIADBC),TRUE)
-postprocess_FILES_main += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/mysqlc)/org/openoffice/Office/DataAccess/Drivers-mysqlc.xcu
-postprocess_DRIVERS += mysqlc
-endif
 
 ifneq (,$(SYSTEM_LIBEXTTEXTCAT_DATA))
 postprocess_FILES_main += 
$(postprocess_MOD)/org/openoffice/Office/Paths-externallibexttextcatdata.xcu
@@ -425,26 +385,12 @@ postprocess_FILES_writer := \
        $(postprocess_MOD)/org/openoffice/Office/Embedding-writer.xcu \
        $(postprocess_MOD)/org/openoffice/Setup-writer.xcu
 
-ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
-postprocess_FILES_writer += \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/writer)/org/openoffice/Office/DataAccess/Drivers-writer.xcu
 \
-       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/mysql_jdbc)/org/openoffice/Office/DataAccess/Drivers-mysql_jdbc.xcu
-postprocess_DRIVERS += writer mysql_jdbc
-endif
-
 postprocess_DEPS_xsltfilter := main
 postprocess_OPTDEPS_xsltfilter := calc writer
 postprocess_FILES_xsltfilter := \
        $(call gb_XcuFilterFiltersTarget_get_target,fcfg_xslt_filters.xcu) \
        $(call gb_XcuFilterTypesTarget_get_target,fcfg_xslt_types.xcu)
 
-ifneq ($(BUILD_POSTGRESQL_SDBC),)
-postprocess_XCDS += postgresql.xcd
-postprocess_DEPS_postgresql := main
-postprocess_FILES_postgresql := $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/postgresql)/org/openoffice/Office/DataAccess/Drivers-postgresql.xcu
-postprocess_DRIVERS += postgresql
-endif
-
 ifneq (,$(and $(USING_X11), $(ENABLE_GIO)))
 postprocess_XCDS += gnome.xcd
 postprocess_DEPS_gnome := main
@@ -485,6 +431,76 @@ postprocess_FILES_forcedefault := \
        
$(postprocess_MOD)/org/openoffice/Office/Linguistic-ForceDefaultLanguage.xcu
 endif
 
+#
+# All DBCONNECTIVITY handling (including OS specifics!)
+#
+ifneq (,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
+
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/dbase)/org/openoffice/Office/DataAccess/Drivers-dbase.xcu
 \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/flat)/org/openoffice/Office/DataAccess/Drivers-flat.xcu
 \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/odbc)/org/openoffice/Office/DataAccess/Drivers-odbc.xcu
+postprocess_DRIVERS += dbase flat odbc
+
+ifeq ($(gb_Side),host)
+
+postprocess_FILES_writer += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/writer)/org/openoffice/Office/DataAccess/Drivers-writer.xcu
+postprocess_DRIVERS += writer
+
+postprocess_FILES_calc += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/calc)/org/openoffice/Office/DataAccess/Drivers-calc.xcu
+postprocess_DRIVERS += calc
+
+ifeq ($(ENABLE_EVOAB2),TRUE)
+postprocess_FILES_main += \
+    $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu
 \
+    $(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu
+postprocess_DRIVERS += evoab
+endif
+
+ifeq ($(ENABLE_JAVA),TRUE)
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/hsqldb)/org/openoffice/Office/DataAccess/Drivers-hsqldb.xcu
 \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/jdbc)/org/openoffice/Office/DataAccess/Drivers-jdbc.xcu
 \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/mysql_jdbc)/org/openoffice/Office/DataAccess/Drivers-mysql_jdbc.xcu
+postprocess_DRIVERS += hsqldb jdbc mysql_jdbc
+endif
+
+ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/firebird)/org/openoffice/Office/DataAccess/Drivers-firebird.xcu
+postprocess_DRIVERS += firebird_sdbc
+endif
+
+ifeq ($(ENABLE_MARIADBC),TRUE)
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/mysqlc)/org/openoffice/Office/DataAccess/Drivers-mysqlc.xcu
+postprocess_DRIVERS += mysqlc
+endif
+
+ifeq ($(BUILD_POSTGRESQL_SDBC),TRUE)
+postprocess_XCDS += postgresql.xcd
+postprocess_DEPS_postgresql := main
+postprocess_FILES_postgresql := \
+    $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/postgresql)/org/openoffice/Office/DataAccess/Drivers-postgresql.xcu
+postprocess_DRIVERS += postgresql
+endif
+
+ifeq (MACOSX,$(OS))
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/macab)/org/openoffice/Office/DataAccess/Drivers-macab.xcu
+postprocess_DRIVERS += macab
+
+else ifeq (WNT,$(OS))
+postprocess_FILES_main += \
+       $(call 
gb_XcuModuleTarget_get_target,connectivity/registry/ado)/org/openoffice/Office/DataAccess/Drivers-ado.xcu
+postprocess_DRIVERS += ado
+endif
+
+endif # host
+endif # DBCONNECTIVITY
+
 postprocess_DRIVERS := $(foreach 
driver,$(postprocess_DRIVERS),driver_$(driver))
 
 #
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to