summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Dürr <hdu@apache.org>2013-05-27 15:58:29 +0000
committerHerbert Dürr <hdu@apache.org>2013-05-27 15:58:29 +0000
commita2859e37a3fc343541fd879d9a581d5cd0e65563 (patch)
treea927339960ffa652e72c4117a778d23119ae1283
parent24e288fb170c7558580877ab632395d7accbb0f7 (diff)
#i122378# allow linking against MSVC TR1's STL libraries instead of stlport
the standard C++ library on MSVC is available in LIBCPMT.LIB and MSVCPRT.LIB (the static and dynamic C++ runtime libraries for multithreaded environments).
Notes
Notes: prefer: 3b65852f37f1c8daf8c5c0af1d810c68cc71d8e3
-rw-r--r--RepositoryFixes.mk20
-rw-r--r--solenv/gbuild/gbuild.mk6
-rw-r--r--solenv/gbuild/platform/windows.mk10
-rw-r--r--solenv/inc/wntmsci11.mk16
4 files changed, 51 insertions, 1 deletions
diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index abbd70c51299..1a6f361f03fa 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -74,11 +74,21 @@ gb_Library_FILENAMES := $(patsubst xml2:ixml2%,xml2:libxml2$(gb_Library_IARCEXT)
gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt.dll$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst rdf:irdf%,rdf:librdf.dll$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
+
+ifeq ($(USE_SYSTEM_STL),YES)
+ifeq ($(gb_PRODUCT),$(true))
+gb_Library_FILENAMES := $(patsubst stl:istl%,stl:msvcprt%,$(gb_Library_FILENAMES))
+else
+gb_Library_FILENAMES := $(patsubst stl:istl%,stl:msvcprtd%,$(gb_Library_FILENAMES))
+endif
+else
ifeq ($(gb_PRODUCT),$(true))
gb_Library_FILENAMES := $(patsubst stl:istl%,stl:stlport_vc71%,$(gb_Library_FILENAMES))
else
gb_Library_FILENAMES := $(patsubst stl:istl%,stl:stlport_vc71_stldebug%,$(gb_Library_FILENAMES))
endif
+endif
+
gb_Library_NOILIBFILENAMES:=\
icule \
icuuc \
@@ -124,11 +134,21 @@ gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt%,$(gb_Library_FILENA
gb_Library_FILENAMES := $(patsubst rdf:irdf%,rdf:librdf%,$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
gb_StaticLibrary_FILENAMES := $(patsubst graphite:graphite%,graphite:graphite_dll%,$(gb_StaticLibrary_FILENAMES))
+
+ifeq ($(USE_SYSTEM_STL),YES)
+ifeq ($(gb_PRODUCT),$(true))
+gb_Library_FILENAMES := $(patsubst stl:istl%,stl:msvcprt%,$(gb_Library_FILENAMES))
+else
+gb_Library_FILENAMES := $(patsubst stl:istl%,stl:msvcprtd%,$(gb_Library_FILENAMES))
+endif
+else
ifeq ($(gb_PRODUCT),$(true))
gb_Library_FILENAMES := $(patsubst stl:istl%,stl:stlport_vc71%,$(gb_Library_FILENAMES))
else
gb_Library_FILENAMES := $(patsubst stl:istl%,stl:stlport_vc71_stldebug%,$(gb_Library_FILENAMES))
endif
+endif
+
gb_Library_NOILIBFILENAMES:=\
advapi32 \
gdi32 \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index b2e72c636e87..620568718c50 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -157,13 +157,17 @@ gb_GLOBALDEFS := \
-DENABLE_LAYOUT=0 \
-DOSL_DEBUG_LEVEL=$(gb_DEBUGLEVEL) \
-DSOLAR_JAVA \
- -DSTLPORT_VERSION=$(STLPORT_VER) \
-DSUPD=$(UPD) \
-DVCL \
$(gb_OSDEFS) \
$(gb_COMPILERDEFS) \
$(gb_CPUDEFS) \
+ifneq ($(USE_SYSTEM_STL),YES)
+gb_GLOBALDEFS += \
+ -DSTLPORT_VERSION=$(STLPORT_VER)
+endif
+
ifeq ($(gb_PRODUCT),$(true))
gb_GLOBALDEFS += \
-DPRODUCT \
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index e01f9083a5ff..09efdcff6c3c 100644
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -479,11 +479,21 @@ gb_Library_FILENAMES :=\
gb_Library_DLLEXT := .dll
gb_Library_MAJORVER := 3
gb_Library_RTEXT := MSC$(gb_Library_DLLEXT)
+
+ifeq ($(USE_SYSTEM_STL),YES)
+ifeq ($(gb_PRODUCT),$(true))
+gb_Library_STLEXT := msvcprt.lib
+else
+gb_Library_STLEXT := msvcprtd.lib
+endif
+else
ifeq ($(gb_PRODUCT),$(true))
gb_Library_STLEXT := port_vc7145$(gb_Library_DLLEXT)
else
gb_Library_STLEXT := port_vc7145_stldebug$(gb_Library_DLLEXT)
endif
+endif
+
gb_Library_OOOEXT := $(gb_Library_DLLEXT)
gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
gb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT)
diff --git a/solenv/inc/wntmsci11.mk b/solenv/inc/wntmsci11.mk
index e620618b276c..c7e7687d47e2 100644
--- a/solenv/inc/wntmsci11.mk
+++ b/solenv/inc/wntmsci11.mk
@@ -309,6 +309,21 @@ STDLIBCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
STDSHLGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
STDSHLCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
+.IF "$(USE_SYSTEM_STL)" == "YES"
+.IF "$(DYNAMIC_CRT)"!=""
+.IF "$(USE_STLP_DEBUG)" != ""
+LIBCMT+= msvcprtd.lib
+.ELSE
+LIBCMT+= msvcprt.lib
+.ENDIF
+.ELSE # "$(DYNAMIC_CRT)"==""
+.IF "$(USE_STLP_DEBUG)" != ""
+LIBCMT+= libcpmtd.lib
+.ELSE
+LIBCMT+= libcpmt.lib
+.ENDIF "$(USE_STLP_DEBUG)" == ""
+.ENDIF # "$(DYNAMIC_CRT)"!=""
+.ELSE # !USE_SYSTEM_STL
.IF "$(USE_STLP_DEBUG)" != ""
LIBSTLPORT=stlport_vc71_stldebug.lib
LIBSTLPORTST=stlport_vc71_stldebug_static.lib
@@ -316,6 +331,7 @@ LIBSTLPORTST=stlport_vc71_stldebug_static.lib
LIBSTLPORT=stlport_vc71.lib
LIBSTLPORTST=stlport_vc71_static.lib
.ENDIF
+.ENDIF
.IF "$(PROF_EDITION)" == ""
ATL_INCLUDE*=$(COMPATH)/PlatformSDK/include/atl