fdf7bd6c1c
0a42105a8d
"firebird: fix CXXFLAGS" had added this
to override Firebird's internal -std=gnu++03, but even back then the CXXFLAGS
set there already included $(CXXFLAGS_CXX11) (so adding an explicit -std=gnu++11
should never have been necessary), and CXXFLAGS_CXX11 has by now moved beyond
-std=gnu++11 to at least -std=c++20.
Which reveals that the code has a C++20 incompatibility that only GCC so far
complains about (see the mailing list thread starting at
<https://lists.isocpp.org/std-discussion/2024/01/2482.php> "simple-template-id
in a constructor declaration"),
> In file included from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/../jrd/../common/classes/fb_string.h:39,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/../jrd/ods.h:38,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/dsc.h:32,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/gpre.h:1514,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/hsh.cpp:31:
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/include/../common/classes/alloc.h:264:36: error: expected ')' before '*' token
> 264 | SubsystemThreadData* subThreadData,
> | ^
> | )
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/include/../common/classes/alloc.h:263:9: note: to match this '('
> 263 | (
> | ^
(<https://ci.libreoffice.org/job/gerrit_linux_gcc_release/157406/>), etc.
Change-Id: I89839452a0d474467ae62e57b6c990354e10f142
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162209
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
108 lines
4.5 KiB
Makefile
108 lines
4.5 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_ExternalProject_ExternalProject,firebird))
|
|
|
|
$(eval $(call gb_ExternalProject_use_autoconf,firebird,build))
|
|
|
|
$(eval $(call gb_ExternalProject_use_externals,firebird,\
|
|
boost_headers \
|
|
icu \
|
|
libatomic_ops \
|
|
libtommath \
|
|
))
|
|
|
|
$(eval $(call gb_ExternalProject_register_targets,firebird,\
|
|
build \
|
|
))
|
|
|
|
firebird_BUILDDIR = $(EXTERNAL_WORKDIR)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird
|
|
firebird_VERSION := 3.0.7
|
|
|
|
$(call gb_ExternalProject_get_state_target,firebird,build):
|
|
$(call gb_Trace_StartRange,firebird,EXTERNAL)
|
|
$(call gb_ExternalProject_run,build,\
|
|
export PKG_CONFIG="" \
|
|
&& export CPPFLAGS=" \
|
|
$(BOOST_CPPFLAGS) \
|
|
$(if $(SYSTEM_LIBATOMIC_OPS),$(LIBATOMIC_OPS_CFLAGS), \
|
|
-I$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src \
|
|
) \
|
|
$(if $(SYSTEM_LIBTOMMATH),$(LIBTOMMATH_CFLAGS), \
|
|
-I$(call gb_UnpackedTarball_get_dir,libtommath) \
|
|
) \
|
|
$(if $(SYSTEM_ICU),$(ICU_CPPFLAGS), \
|
|
-I$(call gb_UnpackedTarball_get_dir,icu)/source \
|
|
-I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
|
|
-I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
|
|
) \
|
|
$(if $(filter GCC-INTEL,$(COM)-$(CPUNAME)),-Di386=1) \
|
|
" \
|
|
&& export CFLAGS=" \
|
|
$(if $(filter MSC,$(COM)),$(if $(MSVC_USE_DEBUG_RUNTIME),-DMSVC_USE_DEBUG_RUNTIME)) \
|
|
$(if $(filter MSC-TRUE-X86_64,$(COM)-$(COM_IS_CLANG)-$(CPUNAME)),-march=x86-64-v2) \
|
|
$(if $(HAVE_GCC_FNO_SIZED_DEALLOCATION),-fno-sized-deallocation -fno-delete-null-pointer-checks) \
|
|
$(call gb_ExternalProject_get_build_flags,firebird) \
|
|
$(if $(ENABLE_DEBUG),$(if $(filter MSC,$(COM)),-Od -Z7)) \
|
|
" \
|
|
&& export CXXFLAGS=" \
|
|
$(BOOST_CXXFLAGS) \
|
|
$(if $(filter MSC,$(COM)),$(if $(MSVC_USE_DEBUG_RUNTIME),-DMSVC_USE_DEBUG_RUNTIME)) \
|
|
$(if $(filter MSC-TRUE-X86_64,$(COM)-$(COM_IS_CLANG)-$(CPUNAME)),-march=x86-64-v2) \
|
|
$(if $(HAVE_GCC_FNO_SIZED_DEALLOCATION),-fno-sized-deallocation -fno-delete-null-pointer-checks) \
|
|
$(CXXFLAGS_CXX11) \
|
|
$(if $(filter TRUE,$(COM_IS_CLANG)), -Wno-c++11-narrowing) \
|
|
$(call gb_ExternalProject_get_build_flags,firebird) \
|
|
$(if $(ENABLE_DEBUG),$(if $(filter MSC,$(COM)),-Od -Z7)) \
|
|
" \
|
|
&& export LDFLAGS=" \
|
|
$(call gb_ExternalProject_get_link_flags,firebird) \
|
|
$(if $(SYSTEM_LIBATOMIC_OPS),$(LIBATOMIC_OPS_LIBS), \
|
|
-L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src \
|
|
) \
|
|
$(if $(SYSTEM_LIBTOMMATH),$(LIBTOMMATH_LIBS), \
|
|
-L$(call gb_UnpackedTarball_get_dir,libtommath) \
|
|
) \
|
|
$(if $(SYSTEM_ICU),$(ICU_LIBS), \
|
|
-L$(call gb_UnpackedTarball_get_dir,icu)/source/lib \
|
|
) \
|
|
" \
|
|
&& export LIBREOFFICE_ICU_LIB="$(call gb_UnpackedTarball_get_dir,icu)/source/lib" \
|
|
&& export MSVC_USE_INDIVIDUAL_PDBS=TRUE \
|
|
&& MAKE=$(MAKE) $(gb_RUN_CONFIGURE) ./configure \
|
|
--without-editline \
|
|
--with-wire-compress=no \
|
|
$(gb_CONFIGURE_PLATFORMS) \
|
|
$(if $(DISABLE_DYNLOADING), \
|
|
--enable-static --disable-shared \
|
|
, \
|
|
--enable-shared --disable-static \
|
|
) \
|
|
$(if $(HAVE_LIBCPP),CXX='$(CXX) -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR') \
|
|
&& LC_ALL=C $(MAKE) \
|
|
$(if $(ENABLE_DEBUG),Debug) SHELL='$(SHELL)' $(if $(filter LINUX,$(OS)),CXXFLAGS="$$CXXFLAGS") \
|
|
MATHLIB="$(if $(SYSTEM_LIBTOMMATH),$(LIBTOMMATH_LIBS),-L$(call gb_UnpackedTarball_get_dir,libtommath) -ltommath)" \
|
|
LIBO_TUNNEL_LIBRARY_PATH='$(subst ','\'',$(subst $$,$$$$,$(call gb_Helper_extend_ld_path,$(call gb_UnpackedTarball_get_dir,icu)/source/lib)))' \
|
|
$(if $(filter MACOSX,$(OS)), \
|
|
&& install_name_tool -id @__________________________________________________OOO/libfbclient.dylib.$(firebird_VERSION) \
|
|
-delete_rpath @loader_path/.. \
|
|
$(firebird_BUILDDIR)/lib/libfbclient.dylib.$(firebird_VERSION) \
|
|
&& install_name_tool -id @__________________________________________________OOO/libEngine12.dylib \
|
|
-delete_rpath @loader_path/.. \
|
|
$(firebird_BUILDDIR)/plugins/libEngine12.dylib \
|
|
&& install_name_tool -change @rpath/lib/libfbclient.dylib \
|
|
@loader_path/libfbclient.dylib.$(firebird_VERSION) $(firebird_BUILDDIR)/plugins/libEngine12.dylib \
|
|
&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
|
|
$(firebird_BUILDDIR)/lib/libfbclient.dylib.$(firebird_VERSION) \
|
|
$(firebird_BUILDDIR)/plugins/libEngine12.dylib \
|
|
) \
|
|
)
|
|
$(call gb_Trace_EndRange,firebird,EXTERNAL)
|
|
|
|
# vim: set noet sw=4 ts=4:
|