RepositoryExternal.mk | 17 +++++++++++++++- boost/Module_boost.mk | 2 - boost/Package_boostdatetime.mk | 14 ------------- boost/Package_boostthread.mk | 14 ------------- boost/StaticLibrary_boostdatetime.mk | 7 +++++- boost/StaticLibrary_boostthread.mk | 7 +++++- liborcus/liborcus_0.1.0-boost_disable_auto_lib.patch | 20 +++++++++++++++++++ liborcus/makefile.mk | 4 +++ 8 files changed, 52 insertions(+), 33 deletions(-)
New commits: commit 7f2e168421c3cd928a31a52a8b5afe97e931d3ba Author: Michael Stahl <mst...@redhat.com> Date: Thu Sep 6 20:22:11 2012 +0200 boost, orcus: disable bizarre "auto link" feature for MSVC: Boost apparently uses a MSVC auto-link feature to cause MSVC to request a static library with a very particular name; disable this and remove the associated ugly workarounds boost/Package_boost*.mk. (Another alternative better than Package_boost*.mk would be to just mangle the static library name in RepositoryFixes.mk) Change-Id: Iea91f9978da00d89d2a696f3cdd090a85cea8e64 diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 82c6b17..4389a54 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -336,9 +336,24 @@ ifeq ($(OS),WNT) $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ boostthread \ )) -endif + +define gb_LinkTarget__use_boostthread +$(call gb_LinkTarget_add_defs,$(1),\ + -DBOOST_ALL_NO_LIB \ +) + +$(call gb_LinkTarget_use_static_libraries,$(1),\ + boostthread \ +) +endef + +endif # WNT define gb_LinkTarget__use_boostdatetime +$(call gb_LinkTarget_add_defs,$(1),\ + -DBOOST_ALL_NO_LIB \ +) + $(call gb_LinkTarget_use_static_libraries,$(1),\ boostdatetime \ ) diff --git a/boost/Module_boost.mk b/boost/Module_boost.mk index 45677ff..b9da8a7 100644 --- a/boost/Module_boost.mk +++ b/boost/Module_boost.mk @@ -18,8 +18,6 @@ $(eval $(call gb_Module_add_targets,boost,\ ifeq ($(OS),WNT) $(eval $(call gb_Module_add_targets,boost,\ - Package_boostdatetime \ - Package_boostthread \ StaticLibrary_boostthread \ )) endif diff --git a/boost/Package_boostdatetime.mk b/boost/Package_boostdatetime.mk deleted file mode 100644 index d0af671..0000000 --- a/boost/Package_boostdatetime.mk +++ /dev/null @@ -1,14 +0,0 @@ -# -*- 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_Package_Package,boostdatetime,$(gb_StaticLibrary_OUTDIRLOCATION))) - -$(eval $(call gb_Package_add_file,boostdatetime,lib/libboost_date_time-vc90-mt-1_44.lib,$(notdir $(call gb_StaticLibrary_get_target,boostdatetime)))) - -# vim: set noet sw=4 ts=4: diff --git a/boost/Package_boostthread.mk b/boost/Package_boostthread.mk deleted file mode 100644 index e79c39a..0000000 --- a/boost/Package_boostthread.mk +++ /dev/null @@ -1,14 +0,0 @@ -# -*- 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_Package_Package,boostthread,$(gb_StaticLibrary_OUTDIRLOCATION))) - -$(eval $(call gb_Package_add_file,boostthread,lib/libboost_thread-vc90-mt-1_44.lib,$(notdir $(call gb_StaticLibrary_get_target,boostthread)))) - -# vim: set noet sw=4 ts=4: diff --git a/boost/StaticLibrary_boostdatetime.mk b/boost/StaticLibrary_boostdatetime.mk index cdd2bb2..1328d55 100644 --- a/boost/StaticLibrary_boostdatetime.mk +++ b/boost/StaticLibrary_boostdatetime.mk @@ -10,7 +10,12 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,boostdatetime)) $(eval $(call gb_StaticLibrary_set_warnings_not_errors,boostdatetime)) - + +# disable "auto link" "feature" on MSVC +$(eval $(call gb_StaticLibrary_add_defs,boostdatetime,\ + -DBOOST_ALL_NO_LIB \ +)) + $(eval $(call gb_StaticLibrary_use_unpacked,boostdatetime,boost)) $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boostdatetime,cpp)) diff --git a/boost/StaticLibrary_boostthread.mk b/boost/StaticLibrary_boostthread.mk index 9a00cd9..3aa4859 100644 --- a/boost/StaticLibrary_boostthread.mk +++ b/boost/StaticLibrary_boostthread.mk @@ -10,7 +10,12 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,boostthread)) $(eval $(call gb_StaticLibrary_set_warnings_not_errors,boostthread)) - + +# disable "auto link" "feature" on MSVC +$(eval $(call gb_StaticLibrary_add_defs,boostthread,\ + -DBOOST_ALL_NO_LIB \ +)) + $(eval $(call gb_StaticLibrary_use_unpacked,boostthread,boost)) $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boostthread,cpp)) diff --git a/liborcus/liborcus_0.1.0-boost_disable_auto_lib.patch b/liborcus/liborcus_0.1.0-boost_disable_auto_lib.patch new file mode 100644 index 0000000..18b2ed7 --- /dev/null +++ b/liborcus/liborcus_0.1.0-boost_disable_auto_lib.patch @@ -0,0 +1,20 @@ +--- misc/liborcus_0.1.0/vsprojects/liborcus-static-nozip/liborcus-static-nozip.vcproj 2012-09-07 06:00:35.000000000 +0200 ++++ misc/build/liborcus_0.1.0/vsprojects/liborcus-static-nozip/liborcus-static-nozip.vcproj 2012-09-10 18:10:23.821600000 +0200 +@@ -42,7 +42,7 @@ + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="" +- PreprocessorDefinitions="__ORCUS_STATIC_LIB" ++ PreprocessorDefinitions="__ORCUS_STATIC_LIB;BOOST_ALL_NO_LIB" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +@@ -107,7 +107,7 @@ + Optimization="2" + EnableIntrinsicFunctions="true" + AdditionalIncludeDirectories="" +- PreprocessorDefinitions="__ORCUS_STATIC_LIB" ++ PreprocessorDefinitions="__ORCUS_STATIC_LIB;BOOST_ALL_NO_LIB" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + WarningLevel="3" diff --git a/liborcus/makefile.mk b/liborcus/makefile.mk index 4acf2d8..86821fc 100644 --- a/liborcus/makefile.mk +++ b/liborcus/makefile.mk @@ -46,6 +46,10 @@ PATCH_FILES+=liborcus_0.1.0-mingw.patch .IF "$(GUI)$(COM)"=="WNTMSC" +# disable boost "auto lib" in MSVC build +# for some reason (CRLF in file?) this patch doesn't want to apply on unix... +PATCH_FILES+=liborcus_0.1.0-boost_disable_auto_lib.patch + BUILD_DIR=vsprojects/liborcus-static-nozip BUILD_ACTION= \ export BOOST_INCLUDE_DIR=$(OUTDIR)/inc/external && \ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits