diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-09-06 20:22:11 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-09-10 20:24:43 +0200 |
commit | 7f2e168421c3cd928a31a52a8b5afe97e931d3ba (patch) | |
tree | ea3c0dcce467f18b921b266e3cbd21e57b0da1a7 | |
parent | d73fc13af4fccb098928d1646ad843d92505562e (diff) |
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
-rw-r--r-- | RepositoryExternal.mk | 17 | ||||
-rw-r--r-- | boost/Module_boost.mk | 2 | ||||
-rw-r--r-- | boost/Package_boostdatetime.mk | 14 | ||||
-rw-r--r-- | boost/Package_boostthread.mk | 14 | ||||
-rw-r--r-- | boost/StaticLibrary_boostdatetime.mk | 7 | ||||
-rw-r--r-- | boost/StaticLibrary_boostthread.mk | 7 | ||||
-rw-r--r-- | liborcus/liborcus_0.1.0-boost_disable_auto_lib.patch | 20 | ||||
-rw-r--r-- | liborcus/makefile.mk | 4 |
8 files changed, 52 insertions, 33 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 82c6b173bc48..4389a545c608 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 45677ff5f521..b9da8a733a63 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 d0af67153169..000000000000 --- 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 e79c39a89288..000000000000 --- 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 cdd2bb2dd12e..1328d559ffad 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 9a00cd96c5ff..3aa4859cbcbe 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 000000000000..18b2ed73014a --- /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 4acf2d8cf34e..86821fc2fe9a 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 && \ |