Library_merged.mk | 2 Makefile.fetch | 5 - RepositoryExternal.mk | 77 +++++++++++++++++-------- RepositoryModule_build.mk | 1 RepositoryModule_host.mk | 1 config_host.mk.in | 3 configure.ac | 13 +++- connectivity/Library_firebird-sdbc.mk | 2 download.lst | 4 - firebird/ExternalPackage_firebird.mk | 15 ++-- firebird/ExternalProject_firebird.mk | 16 ----- firebird/Module_firebird.mk | 4 - libatomic_ops/ExternalPackage_libatomic_ops.mk | 20 ++++++ libatomic_ops/ExternalProject_libatomic_ops.mk | 26 ++++++++ libatomic_ops/Makefile | 7 ++ libatomic_ops/Module_libatomic_ops.mk | 22 +++++++ libatomic_ops/README | 4 + libatomic_ops/UnpackedTarball_libatomic_ops.mk | 14 ++++ 18 files changed, 183 insertions(+), 53 deletions(-)
New commits: commit 0db44dd51be829bc8fa8e6750b8755f73265ce2c Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Fri Jun 14 14:55:22 2013 +0100 Build firebird 2.5 internally. Also adds libatomic_ops. Change-Id: I44a45e781dfb3624cdebf4530ae44870bf39a82a diff --git a/Library_merged.mk b/Library_merged.mk index 6e404df..b66120d 100644 --- a/Library_merged.mk +++ b/Library_merged.mk @@ -48,6 +48,8 @@ $(eval $(call gb_Library_use_externals,merged,\ icuuc \ jpeg \ lcms2 \ + libatomic_ops \ + libfbembed \ liblangtag \ libxml2 \ libxslt \ diff --git a/Makefile.fetch b/Makefile.fetch index f1922e5..3cca2b4 100644 --- a/Makefile.fetch +++ b/Makefile.fetch @@ -74,10 +74,9 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR) @mkdir -p $(TARFILE_LOCATION)/tmp @date >> $(fetch_LOGFILE) $(foreach item, \ - $(call fetch_Optional,FIREBIRD,FIREBIRD_TARBALL) \ - ,$(call fetch_Download_item_special,http://people.igalia.com/agomez/files,$(item))) - $(foreach item, \ + $(call fetch_Optional,LIBATOMIC_OPS,LIBATOMIC_OPS_TARBALL) \ $(call fetch_Optional,CDR,CDR_TARBALL) \ + $(call fetch_Optional,FIREBIRD,FIREBIRD_TARBALL) \ $(call fetch_Optional,MSPUB,MSPUB_TARBALL) \ $(call fetch_Optional,MWAW,MWAW_TARBALL) \ $(call fetch_Optional,VISIO,VISIO_TARBALL) \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index f7a1b64..2062b0a 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -680,6 +680,48 @@ gb_LinkTarget__use_jawt := endif # $(OS)$(COM) = WNTGCC +ifeq ($(SYSTEM_LIBATOMIC_OPS),YES) + +define gb_LinkTarget__use_libatomic_ops +$(call gb_LinkTarget_set_include,$(1),\ + $$(INCLUDE) \ + $(LIBATOMIC_OPS_CFLAGS) \ +) +$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS)) + +endef +gb_ExternalProject__use_libatomic_ops := + +else # !SYSTEM_LIBATOMIC_OPS + +$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ + libatomic-ops-7.2d \ +)) + + +define gb_LinkTarget__use_libatomic_ops +$(call gb_LinkTarget_set_include,$(1),\ +$(LIBATOMIC_OPS_CFLAGS) \ + $$(INCLUDE) \ + $(LIBATOMIC_OPS_CFLAGS) \ +) +$(call gb_LinkTarget_use_package,$(1),\ + libatomic_ops \ +) +$(call gb_LinkTarget_use_static_libraries,$(1),\ + libatomic_ops \ +) + +endef + +define gb_ExternalProject__use_libatomic_ops +$(call gb_ExternalProject_use_package,$(1),libatomic_ops) + +endef + +endif # SYSTEM_LIBATOMIC_OPS + + ifeq ($(SYSTEM_LIBEXTTEXTCAT),YES) define gb_LinkTarget__use_libexttextcat @@ -2178,6 +2220,8 @@ ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE) ifeq ($(SYSTEM_FIREBIRD),YES) +$(call gb_LinkTarget__use_libatomic_ops,$(1)) + define gb_LinkTarget__use_firebird $(call gb_LinkTarget_set_include,$(1),\ $(FIREBIRD_CFLAGS) \ @@ -2192,37 +2236,26 @@ endef else # !SYSTEM_FIREBIRD -$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ - firebird \ +#$(call gb_LinkTarget__use_libatomic_ops,$(1)) + +$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ + fbembed \ )) -define gb_LinkTarget__use_firebird -$(call gb_LinkTarget_use_unpacked,$(1),firebird) + +define gb_LinkTarget__use_libfbembed +$(call gb_LinkTarget_use_package,$(1),firebird) $(call gb_LinkTarget_set_include,$(1),\ - -I$(OUTDIR)/inc/external/firebird \ $$(INCLUDE) \ + -I$(call gb_UnpackedTarball_get_dir,firebird)/src/include \ + -I$(call gb_UnpackedTarball_get_dir,firebird)/src/include/gen \ + -I$(call gb_UnpackedTarball_get_dir,firebird)/src/jrd \ ) $(call gb_LinkTarget_use_libraries,$(1),\ - firebird \ + fbembed \ ) endef -# $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ -# atomic_ops \ -# )) - -# define gb_LinkTarget__use_atomic_ops -# $(call gb_LinkTarget_use_static_libraries,$(1),\ -# atomic_ops \ -# ) - -# endef -# define gb_ExternalProject__use_atomic_ops -# $(call gb_ExternalProject_use_package,$(1),atomic_ops) -# $(call gb_ExternalProject_use_static_libraries,$(1),atomic_ops) - -# endef - # define gb_LinkTarget__use_tommath # $(call gb_LinkTarget_set_include,$(1),\ # $(TOMMATH_CFLAGS) \ diff --git a/RepositoryModule_build.mk b/RepositoryModule_build.mk index 65cbd69..7af89f9 100644 --- a/RepositoryModule_build.mk +++ b/RepositoryModule_build.mk @@ -73,6 +73,7 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\ framework \ harfbuzz \ lcms2 \ + libfbembed \ linguistic \ nss \ package \ diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk index 2646efd..eec62b9 100644 --- a/RepositoryModule_host.mk +++ b/RepositoryModule_host.mk @@ -62,6 +62,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\ extras \ fileaccess \ filter \ + $(call gb_Helper_optional,LIBATOMIC_OPS,libatomic_ops) \ $(call gb_Helper_optional,FIREBIRD,firebird) \ $(call gb_Helper_optional,FONTCONFIG,fontconfig) \ $(call gb_Helper_optional,DBCONNECTIVITY,forms) \ diff --git a/config_host.mk.in b/config_host.mk.in index 52d2724..6d938fb 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -26,6 +26,8 @@ export AR=@AR@ export ASSERT_ALWAYS_ABORT=@ASSERT_ALWAYS_ABORT@ export ATL_INCLUDE=@ATL_INCLUDE@ export ATL_LIB=@ATL_LIB@ +export LIBATOMIC_OPS_CFLAGS=$(gb_SPACE)@LIBATOMIC_OPS_CFLAGS@ +export LIBATOMIC_OPS_LIBS=$(gb_SPACE)@LIBATOMIC_OPS_LIBS@ export AWTLIB=@AWTLIB@ export BARCODE_EXTENSION_PACK=@BARCODE_EXTENSION_PACK@ export BOOST_CPPFLAGS=@BOOST_CPPFLAGS@ @@ -481,6 +483,7 @@ export SYSTEM_LCMS2=@SYSTEM_LCMS2@ export SYSTEM_LIBC=@SYSTEM_LIBC@ export SYSTEM_CDR=@SYSTEM_CDR@ export SYSTEM_CMIS=@SYSTEM_CMIS@ +export SYSTEM_LIBATOMIC_OPS=@SYSTEM_LIBATOMIC_OPS@ export SYSTEM_LIBEXTTEXTCAT=@SYSTEM_LIBEXTTEXTCAT@ export SYSTEM_LIBEXTTEXTCAT_DATA=@SYSTEM_LIBEXTTEXTCAT_DATA@ export SYSTEM_LIBLANGTAG=@SYSTEM_LIBLANGTAG@ diff --git a/configure.ac b/configure.ac index 4b5538e..79b100c 100644 --- a/configure.ac +++ b/configure.ac @@ -7234,6 +7234,11 @@ dnl =================================================================== libo_CHECK_SYSTEM_MODULE([libcmis],[CMIS],[libcmis-0.3 >= 0.3.1]) dnl =================================================================== +dnl Check for system libatomic-ops +dnl =================================================================== +libo_CHECK_SYSTEM_MODULE([libatomic_ops],[ATOMIC_OPS],[libatomic_ops >= 0.7.2]) + +dnl =================================================================== dnl Check for system libwpd dnl =================================================================== libo_CHECK_SYSTEM_MODULE([libwpd],[WPD],[libwpd-0.9 libwpd-stream-0.9],["-I${WORKDIR}/UnpackedTarball/libwpd/inc"],["-L${OUTDIR}/lib -lwpdlib"]) @@ -7958,11 +7963,13 @@ if test "x$enable_firebird_sdbc" != "xno"; then AC_MSG_RESULT([internal]) SYSTEM_FIREBIRD=NO FIREBIRD_CFLAGS="-I${WORKDIR}/UnpackedTarball/firebird/include" - FIREBIRD_LIBS="-L${OUTDIR}/lib -lfbembed" + FIREBIRD_LIBS="-lfbembed" dnl FIREBIRD_LIBS="-L${OUTDIR}/lib -lfbclient" - AC_CHECK_HEADERS(atomic_ops.h, [], - [AC_MSG_ERROR(atomic_ops.h not found. install Libatomic-ops)], []) + if test "$SYSTEM_LIBATOMIC_OPS" = "YES"; then + AC_CHECK_HEADERS(atomic_ops.h, [], + [AC_MSG_ERROR(atomic_ops.h not found. install libatomic-ops)], []) + fi dnl TODO: Checking to build IBPP in case we want to use it for the SDBC driver diff --git a/connectivity/Library_firebird-sdbc.mk b/connectivity/Library_firebird-sdbc.mk index 2f94c32..d69bdb0 100644 --- a/connectivity/Library_firebird-sdbc.mk +++ b/connectivity/Library_firebird-sdbc.mk @@ -12,7 +12,7 @@ $(eval $(call gb_Library_Library,firebird-sdbc)) $(eval $(call gb_Library_use_sdk_api,firebird-sdbc)) $(eval $(call gb_Library_use_externals,firebird-sdbc,\ - firebird \ + libfbembed \ )) $(eval $(call gb_Library_set_include,firebird-sdbc,\ diff --git a/download.lst b/download.lst index 7e64a6d..e2aed9a 100644 --- a/download.lst +++ b/download.lst @@ -6,10 +6,12 @@ MWAW_MD5SUM := 2090daf6e8a27b52e8c5f26c915bd7c5 export MWAW_TARBALL := libmwaw-0.1.9.tar.bz2 VISIO_MD5SUM := 05574c2ec54dd0c29d75cacdf9419f44 export VISIO_TARBALL := libvisio-0.0.28.tar.bz2 -FIREBIRD_MD5SUM := 21154d2004e025c8a3666625b0357bb5 +FIREBIRD_MD5SUM := d41d8cd98f00b204e9800998ecf8427e export FIREBIRD_TARBALL := Firebird-2.5.2.26540-0.tar.bz2 # FIREBIRD_MD5SUM := b259c2d1c60a03bd104108405ae990a7 # export FIREBIRD_TARBALL := Firebird-3.0-alpha1-20130302.tar.gz +LIBATOMIC_OPS_MD5SUM := c0b86562d5aa40761a87134f83e6adcf +export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip export AFMS_TARBALL := 1756c4fa6c616ae15973c104cd8cb256-Adobe-Core35_AFMs-314.tar.gz export APACHE_COMMONS_CODEC_TARBALL := 2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz diff --git a/firebird/ExternalPackage_firebird.mk b/firebird/ExternalPackage_firebird.mk index d02037d..c385b59 100644 --- a/firebird/ExternalPackage_firebird.mk +++ b/firebird/ExternalPackage_firebird.mk @@ -11,12 +11,12 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,firebird,firebird)) $(eval $(call gb_ExternalPackage_use_external_project,firebird,firebird)) -$(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,inc/external/firebird,\ - gen/firebird/include/ib_util.h \ - gen/firebird/include/ibase.h \ - gen/firebird/include/iberror.h \ - gen/firebird/include/perf.h \ -)) +#$(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,inc/external/firebird,\ +# gen/firebird/include/ib_util.h \ +# gen/firebird/include/ibase.h \ +# gen/firebird/include/iberror.h \ +# gen/firebird/include/perf.h \ +#)) # Need to be added? # $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\ @@ -39,8 +39,9 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,inc/external/firebi # gen/firebird/security2.fdb \ # )) -$(eval $(call gb_ExternalPackage_add_library_for_install,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2)) $(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2)) +$(eval $(call gb_ExternalPackage_add_library_for_install,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2)) +$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so,gen/firebird/lib/libfbembed.so.2.5.2)) # vim: set noet sw=4 ts=4: diff --git a/firebird/ExternalProject_firebird.mk b/firebird/ExternalProject_firebird.mk index 231759b..903e5c6 100644 --- a/firebird/ExternalProject_firebird.mk +++ b/firebird/ExternalProject_firebird.mk @@ -9,20 +9,14 @@ $(eval $(call gb_ExternalProject_ExternalProject,firebird)) -$(eval $(call gb_ExternalProject_use_unpacked,firebird,firebird)) - $(eval $(call gb_ExternalProject_use_autoconf,firebird,build)) $(eval $(call gb_ExternalProject_use_externals,firebird,\ boost_headers \ icu \ + libatomic_ops \ )) -# Dependency in 2.5 -# $(eval $(call gb_ExternalProject_use_packages,firebird, \ -# atomic_op \ -# )) - # Dependency in 3.0 # $(eval $(call gb_ExternalProject_use_packages,firebird, \ # tommath \ @@ -37,18 +31,14 @@ $(eval $(call gb_ExternalProject_register_targets,firebird,\ $(call gb_ExternalProject_get_state_target,firebird,build): $(call gb_ExternalProject_run,build,\ + unset MAKEFLAGS && \ export CFLAGS="$(if $(filter TRUE,$(DISABLE_DYNLOADING)),-fvisibility=hidden)" \ - && export LDFLAGS="-L$(OUTDIR)/lib \ + && LDFLAGS="-L$(OUTDIR)/lib \ $(if $(filter LINUX FREEBSD,$(OS)),-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath$(COMMA)\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib") \ $(if $(SYSBASE),$(if $(filter LINUX SOLARIS,$(OS)),-L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -lpthread -ldl))" \ && CPPFLAGS="-I$(OUTDIR)/inc/external $(if $(SYSBASE),-I$(SYSBASE)/usr/include)" \ - && export ICU_LIBS=" " \ - && export ICU_CFLAGS="$(if $(filter NO,$(SYSTEM_ICU)),\ - -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \ - -I$(call gb_UnpackedTarball_get_dir,icu)/source/common, )" \ && export PKG_CONFIG="" \ && ./configure \ - --with-system-icu \ --without-editline \ --disable-superserver \ $(if $(filter NO,$(SYSTEM_BOOST)),CXXFLAGS=-I$(call gb_UnpackedTarball_get_dir,boost),CXXFLAGS=$(BOOST_CPPFLAGS)) \ diff --git a/firebird/Module_firebird.mk b/firebird/Module_firebird.mk index 7c8fca0..1e87067 100644 --- a/firebird/Module_firebird.mk +++ b/firebird/Module_firebird.mk @@ -10,13 +10,11 @@ $(eval $(call gb_Module_Module,firebird)) ifeq ($(SYSTEM_FIREBIRD),NO) -$(eval $(call gb_Module_add_targets,firebird,\ - UnpackedTarball_firebird \ -)) $(eval $(call gb_Module_add_targets,firebird,\ ExternalPackage_firebird \ ExternalProject_firebird \ + UnpackedTarball_firebird \ )) endif diff --git a/libatomic_ops/ExternalPackage_libatomic_ops.mk b/libatomic_ops/ExternalPackage_libatomic_ops.mk new file mode 100644 index 0000000..a7615f6 --- /dev/null +++ b/libatomic_ops/ExternalPackage_libatomic_ops.mk @@ -0,0 +1,20 @@ +# -*- 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_ExternalPackage_ExternalPackage,libatomic_ops,libatomic_ops)) + +$(eval $(call gb_ExternalPackage_use_external_project,libatomic_ops,libatomic_ops)) + +ifeq ($(OS)$(COM),WNTMSC) +$(eval $(call gb_ExternalPackage_add_file,libatomic_ops,lib/atomic_ops-7.2d.lib,src/lib/.libs/libatomic_ops-7.2d.lib)) +else +$(eval $(call gb_ExternalPackage_add_file,libatomic_ops,lib/libatomic_ops-7.2d.a,src/lib/.libs/libatomic_ops-7.2d.a)) +endif + +# vim: set noet sw=4 ts=4: diff --git a/libatomic_ops/ExternalProject_libatomic_ops.mk b/libatomic_ops/ExternalProject_libatomic_ops.mk new file mode 100644 index 0000000..06ec521 --- /dev/null +++ b/libatomic_ops/ExternalProject_libatomic_ops.mk @@ -0,0 +1,26 @@ +# -*- 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,libatomic_ops)) + +$(eval $(call gb_ExternalProject_use_autoconf,libatomic_ops,build)) + +$(eval $(call gb_ExternalProject_register_targets,libatomic_ops,\ + build \ +)) + +$(call gb_ExternalProject_get_state_target,libatomic_ops,build) : + $(call gb_ExternalProject_run,build,\ + $(if $(filter TRUE,$(DISABLE_DYNLOADING)),CFLAGS="$(CFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_COMPILEROPTFLAGS)" CXXFLAGS="$(CXXFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_COMPILEROPTFLAGS)") \ + ./configure \ + $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + && $(MAKE) \ + ) + +# vim: set noet sw=4 ts=4: diff --git a/libatomic_ops/Makefile b/libatomic_ops/Makefile new file mode 100644 index 0000000..ccb1c85 --- /dev/null +++ b/libatomic_ops/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/libatomic_ops/Module_libatomic_ops.mk b/libatomic_ops/Module_libatomic_ops.mk new file mode 100644 index 0000000..dbbf39b --- /dev/null +++ b/libatomic_ops/Module_libatomic_ops.mk @@ -0,0 +1,22 @@ +# -*- 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_Module_Module,libatomic_ops)) + +ifeq ($(SYSTEM_ATOMIC_OPS),NO) + +$(eval $(call gb_Module_add_targets,libatomic_ops,\ + ExternalProject_libatomic_ops \ + ExternalPackage_libatomic_ops \ + UnpackedTarball_libatomic_ops \ +)) + +endif + +# vim: set noet sw=4 ts=4: diff --git a/libatomic_ops/README b/libatomic_ops/README new file mode 100644 index 0000000..61255d7 --- /dev/null +++ b/libatomic_ops/README @@ -0,0 +1,4 @@ +From [https://github.com/ivmai/libatomic_ops/]. + +Note that some files (linked into libatomic_ops_gpl) are GPL'd, the portion +needed for Firebird (ibatomic_ops) is however MIT licensed. diff --git a/libatomic_ops/UnpackedTarball_libatomic_ops.mk b/libatomic_ops/UnpackedTarball_libatomic_ops.mk new file mode 100644 index 0000000..602c483 --- /dev/null +++ b/libatomic_ops/UnpackedTarball_libatomic_ops.mk @@ -0,0 +1,14 @@ +# -*- 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_UnpackedTarball_UnpackedTarball,libatomic_ops)) + +$(eval $(call gb_UnpackedTarball_set_tarball,libatomic_ops,$(LIBATOMIC_OPS_TARBALL))) + +# vim: set noet sw=4 ts=4: _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits