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 <glogow@fbihome.de>
This commit is contained in:
Jan-Marek Glogowski 2021-06-01 07:40:12 +02:00
parent 7cdf74b305
commit ffc6d564b9
3 changed files with 106 additions and 97 deletions

View file

@ -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)

View file

@ -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:

View file

@ -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,36 +300,10 @@ 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
ifneq ($(WITH_WEBDAV),)
postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/ucb/Configuration-webdav.xcu
endif
ifneq (,$(SYSTEM_LIBEXTTEXTCAT_DATA))
@ -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))
#