diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-04-14 13:52:56 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-04-15 15:26:32 +0200 |
commit | 4811c2dc9f94929b60e7e2e0077871aad14fdc3a (patch) | |
tree | 8754348c8dbdf9c4fb91e0d70346f96ee7455999 | |
parent | 3b65852f37f1c8daf8c5c0af1d810c68cc71d8e3 (diff) |
adapt all externals to build against MSVC debug runtime
Add patches and/or tweaks to the following modules:
curl, cppunit, icu, lcms2, libxml2, libxslt, libxmlsec,
lpsolve, nss, openssl, python3
lcms2 has an inconsistency where the .lib and the .dll don't agree on
the .dll name.
openssl gets a honorable mention because apparently it's undocumented
custom build system can build with /MDd if one picks the right
configuration but i couldn't figure out how to do that in an hour of
trying, and just patched the release config instead.
Change-Id: I7854a0fc85247e398d561b4f513d09fe2d1ebb3c
-rw-r--r-- | RepositoryExternal.mk | 2 | ||||
-rw-r--r-- | RepositoryFixes.mk | 8 | ||||
-rw-r--r-- | cppunit/ExternalPackage_cppunit.mk | 6 | ||||
-rw-r--r-- | cppunit/ExternalProject_cppunit.mk | 8 | ||||
-rw-r--r-- | curl/ExternalProject_curl.mk | 3 | ||||
-rw-r--r-- | curl/curl-7.26.0_win.patch | 9 | ||||
-rw-r--r-- | icu/ExternalPackage_icu.mk | 20 | ||||
-rw-r--r-- | icu/ExternalProject_icu.mk | 6 | ||||
-rw-r--r-- | lcms2/ExternalPackage_lcms2.mk | 6 | ||||
-rw-r--r-- | lcms2/ExternalProject_lcms2.mk | 7 | ||||
-rw-r--r-- | libxml2/ExternalProject_xml2.mk | 3 | ||||
-rw-r--r-- | libxmlsec/xmlsec1-vc.patch | 5 | ||||
-rw-r--r-- | libxslt/ExternalProject_xslt.mk | 1 | ||||
-rw-r--r-- | lpsolve/ExternalProject_lpsolve.mk | 3 | ||||
-rw-r--r-- | lpsolve/lp_solve_5.5-windows.patch | 2 | ||||
-rw-r--r-- | nss/ExternalProject_nss.mk | 2 | ||||
-rw-r--r-- | nss/nss.patch | 8 | ||||
-rw-r--r-- | openssl/opensslwnt.patch | 2 | ||||
-rw-r--r-- | python3/ExternalPackage_python3.mk | 37 | ||||
-rw-r--r-- | python3/ExternalProject_python3.mk | 13 | ||||
-rw-r--r-- | scp2/InstallModule_ooo.mk | 1 | ||||
-rw-r--r-- | scp2/InstallModule_python.mk | 3 | ||||
-rw-r--r-- | scp2/source/ooo/file_library_ooo.scp | 16 | ||||
-rw-r--r-- | scp2/source/python/file_python.scp | 2 |
24 files changed, 116 insertions, 57 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 80f89a9e3f09..315dbe94f0b6 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -2299,7 +2299,7 @@ $(call gb_LinkTarget__use_python_headers,$(1)) ifeq ($(OS),WNT) $(call gb_LinkTarget_add_libs,$(1),\ - python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).lib \ + python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \ ) else ifeq ($(OS),MACOSX) $(call gb_LinkTarget_add_libs,$(1),\ diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk index 2a4969ef39d0..24289481ca00 100644 --- a/RepositoryFixes.mk +++ b/RepositoryFixes.mk @@ -107,11 +107,13 @@ gb_Library_FILENAMES := $(patsubst xmlsec1-nss:ixmlsec1-nss%,xmlsec1-nss:libxmls gb_Library_FILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_FILENAMES)) +gb_Library_NOILIBFILENAMES_D := \ + icudt icuin icule icuuc \ + lcms2 \ + # change the names of all import libraries that don't have an "i" prefix as in our standard naming schema gb_Library_NOILIBFILENAMES := \ - icudt icuin icule icuuc \ langtag \ - lcms2 \ lpsolve55 \ xpcom \ xpcom_core \ @@ -129,10 +131,12 @@ gb_Library_LIBLIBFILENAMES := \ gb_Library_FILENAMES := \ $(filter-out $(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):%) \ + $(foreach lib,$(gb_Library_NOILIBFILENAMES_D),$(lib):%) \ $(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):%) \ ,$(gb_Library_FILENAMES)) gb_Library_FILENAMES += \ $(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):$(lib)$(gb_Library_PLAINEXT)) \ + $(foreach lib,$(gb_Library_NOILIBFILENAMES_D),$(lib):$(lib)d$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):lib$(lib)$(gb_Library_PLAINEXT)) endif # ifeq ($(COM),GCC) diff --git a/cppunit/ExternalPackage_cppunit.mk b/cppunit/ExternalPackage_cppunit.mk index 6ebe24343ea3..d900e22a1fd2 100644 --- a/cppunit/ExternalPackage_cppunit.mk +++ b/cppunit/ExternalPackage_cppunit.mk @@ -12,9 +12,9 @@ $(eval $(call gb_ExternalPackage_use_external_project,cppunit,cppunit)) ifeq ($(OS),WNT) ifeq ($(COM),MSC) -$(eval $(call gb_ExternalPackage_add_file,cppunit,bin/cppunit_dll.dll,src/cppunit/ReleaseDll/cppunit_dll.dll)) -$(eval $(call gb_ExternalPackage_add_file,cppunit,lib/icppunit_dll.lib,src/cppunit/ReleaseDll/cppunit_dll.lib)) -$(eval $(call gb_ExternalPackage_add_file,cppunit,bin/DllPlugInTester_dll.exe,src/DllPlugInTester/ReleaseDll/DllPlugInTester_dll.exe)) +$(eval $(call gb_ExternalPackage_add_file,cppunit,bin/$(if $(MSVC_USE_DEBUG_RUNTIME),cppunitd_dll.dll,cppunit_dll.dll),src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.dll,ReleaseDll/cppunit_dll.dll))) +$(eval $(call gb_ExternalPackage_add_file,cppunit,lib/icppunit_dll.lib,src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib))) +$(eval $(call gb_ExternalPackage_add_file,cppunit,bin/DllPlugInTester_dll.exe,src/DllPlugInTester/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/DllPlugInTesterd_dll.exe,ReleaseDll/DllPlugInTester_dll.exe))) else $(eval $(call gb_ExternalPackage_add_file,cppunit,bin/libcppunit-1-13-0.dll,src/cppunit/.libs/libcppunit-1-13-0.dll)) $(eval $(call gb_ExternalPackage_add_file,cppunit,lib/libcppunit.dll.a,src/cppunit/.libs/libcppunit.dll.a)) diff --git a/cppunit/ExternalProject_cppunit.mk b/cppunit/ExternalProject_cppunit.mk index 45ed225d907f..715d15774f88 100644 --- a/cppunit/ExternalProject_cppunit.mk +++ b/cppunit/ExternalProject_cppunit.mk @@ -20,17 +20,17 @@ ifeq ($(OS)$(COM),WNTMSC) ifeq ($(VCVER),90) $(call gb_ExternalProject_get_state_target,cppunit,build) : $(call gb_ExternalProject_run,build,\ - $(COMPATH)/vcpackages/vcbuild.exe cppunit_dll.vcproj "Release|Win32" \ + $(COMPATH)/vcpackages/vcbuild.exe cppunit_dll.vcproj "$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)|Win32" \ && cd ../DllPlugInTester \ - && $(COMPATH)/vcpackages/vcbuild.exe DllPlugInTester.vcproj "Release|Win32" \ + && $(COMPATH)/vcpackages/vcbuild.exe DllPlugInTester.vcproj "$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)|Win32" \ ,src/cppunit) else $(call gb_ExternalProject_get_state_target,cppunit,build) : $(call gb_ExternalProject_run,build,\ - msbuild.exe cppunit_dll.vcxproj /p:Configuration=Release \ + msbuild.exe cppunit_dll.vcxproj /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ $(if $(filter 110,$(VCVER)),/p:PlatformToolset=v110 /p:VisualStudioVersion=11.0) \ && cd ../DllPlugInTester \ - && msbuild.exe DllPlugInTester.vcxproj /p:Configuration=Release \ + && msbuild.exe DllPlugInTester.vcxproj /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ $(if $(filter 110,$(VCVER)),/p:PlatformToolset=v110 /p:VisualStudioVersion=11.0) \ ,src/cppunit) endif diff --git a/curl/ExternalProject_curl.mk b/curl/ExternalProject_curl.mk index a503c15a414d..bbb2b1c807f4 100644 --- a/curl/ExternalProject_curl.mk +++ b/curl/ExternalProject_curl.mk @@ -49,7 +49,8 @@ else ifeq ($(COM),MSC) $(call gb_ExternalProject_get_state_target,curl,build): $(call gb_ExternalProject_run,build,\ - MAKEFLAGS= LIB="$(ILIB)" nmake -f Makefile.vc9 cfg=release-dll \ + MAKEFLAGS= LIB="$(ILIB)" nmake -f Makefile.vc9 \ + cfg=$(if $(MSVC_USE_DEBUG_RUNTIME),debug-dll,release-dll) \ EXCFLAGS="/EHa /Zc:wchar_t- /D_CRT_SECURE_NO_DEPRECATE /DUSE_WINDOWS_SSPI $(SOLARINC)" $(if $(filter X86_64,$(CPUNAME)),MACHINE=X64) \ ,lib) diff --git a/curl/curl-7.26.0_win.patch b/curl/curl-7.26.0_win.patch index bcc357c045f4..0b3eed2d2eb6 100644 --- a/curl/curl-7.26.0_win.patch +++ b/curl/curl-7.26.0_win.patch @@ -43,7 +43,14 @@ CFGSET = FALSE -@@ -620,5 +620,5 @@ +@@ -620,11 +620,11 @@ + debug-dll-ssl-dll\libcurl.res \ + debug-dll-zlib-dll\libcurl.res \ + debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc +- rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc ++ rc $(SOLARINC) /dDEBUGBUILD=1 /Fo $@ libcurl.rc + + release-dll\libcurl.res \ release-dll-ssl-dll\libcurl.res \ release-dll-zlib-dll\libcurl.res \ release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc diff --git a/icu/ExternalPackage_icu.mk b/icu/ExternalPackage_icu.mk index 785194ecbac7..169e81c70e95 100644 --- a/icu/ExternalPackage_icu.mk +++ b/icu/ExternalPackage_icu.mk @@ -33,18 +33,18 @@ $(eval $(call gb_ExternalPackage_add_files,icu,bin,\ else $(eval $(call gb_ExternalPackage_add_files,icu,lib,\ - source/lib/icudt.lib \ - source/lib/icuuc.lib \ - source/lib/icuin.lib \ - source/lib/icule.lib \ - source/lib/icutu.lib\ + source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \ + source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \ + source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \ + source/lib/icule$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \ + source/lib/icutu$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib\ )) $(eval $(call gb_ExternalPackage_add_files,icu,bin,\ - source/lib/icudt$(ICU_MAJOR).dll \ - source/lib/icuuc$(ICU_MAJOR).dll \ - source/lib/icuin$(ICU_MAJOR).dll \ - source/lib/icule$(ICU_MAJOR).dll \ - source/lib/icutu$(ICU_MAJOR).dll \ + source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \ + source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \ + source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \ + source/lib/icule$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \ + source/lib/icutu$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \ source/bin/genccode.exe \ source/bin/genbrk.exe \ source/bin/gencmn.exe \ diff --git a/icu/ExternalProject_icu.mk b/icu/ExternalProject_icu.mk index ecf97ec5c964..2df3011b15aa 100644 --- a/icu/ExternalProject_icu.mk +++ b/icu/ExternalProject_icu.mk @@ -19,11 +19,15 @@ icu_CPPFLAGS:="-DHAVE_GCC_ATOMICS=$(if $(filter TRUE,$(GCC_HAVE_BUILTIN_ATOMIC)) ifeq ($(OS),WNT) +# Note: runConfigureICU ignores everything following the platform name! ifeq ($(COM),MSC) $(call gb_ExternalProject_get_state_target,icu,build) : $(call gb_ExternalProject_run,build,\ export LIB="$(ILIB)" \ - && CFLAGS="$(SOLARINC)" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$(SOLARINC)" ./runConfigureICU Cygwin/MSVC \ + && CFLAGS="$(SOLARINC)" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$(SOLARINC)" \ + ./runConfigureICU \ + $(if $(MSVC_USE_DEBUG_RUNTIME),--enable-debug --disable-release) \ + Cygwin/MSVC \ && $(MAKE) \ ,source) else diff --git a/lcms2/ExternalPackage_lcms2.mk b/lcms2/ExternalPackage_lcms2.mk index 7c2a75a857f9..c2d5c5a7443b 100644 --- a/lcms2/ExternalPackage_lcms2.mk +++ b/lcms2/ExternalPackage_lcms2.mk @@ -20,8 +20,10 @@ ifeq ($(COM),GCC) $(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.dll.a,src/.libs/liblcms2.dll.a)) $(eval $(call gb_ExternalPackage_add_file,lcms2,bin/liblcms2-2.dll,src/.libs/liblcms2-2.dll)) else ifeq ($(COM),MSC) -$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/lcms2.lib,bin/lcms2.lib)) -$(eval $(call gb_ExternalPackage_add_file,lcms2,bin/lcms2.dll,bin/lcms2.dll)) +$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/lcms2$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib,bin/lcms2$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib)) +# note: the lcms2d.lib references LCMS2.DLL (without D!) but the dll is +# actually called LCMS2D.DLL then +$(eval $(call gb_ExternalPackage_add_file,lcms2,bin/lcms2.dll,bin/lcms2$(if $(MSVC_USE_DEBUG_RUNTIME),d).dll)) endif else $(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.so,src/.libs/liblcms2.so)) diff --git a/lcms2/ExternalProject_lcms2.mk b/lcms2/ExternalProject_lcms2.mk index d76049e13462..dc77783cfb1b 100644 --- a/lcms2/ExternalProject_lcms2.mk +++ b/lcms2/ExternalProject_lcms2.mk @@ -20,13 +20,16 @@ ifeq ($(COM),MSC) ifeq ($(filter-out 14 13,$(COMEX)),) $(call gb_ExternalProject_get_state_target,lcms2,build): $(call gb_ExternalProject_run,build,\ - MSBuild.exe lcms2_DLL.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:TargetName=lcms2 \ + MSBuild.exe lcms2_DLL.vcxproj \ + /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ + /p:Platform=Win32 /p:TargetName=lcms2 \ $(if $(filter 14,$(COMEX)),/p:PlatformToolset=v110 /p:VisualStudioVersion=11.0) \ ,Projects/VC2010/lcms2_DLL) else $(call gb_ExternalProject_get_state_target,lcms2,build): $(call gb_ExternalProject_run,build,\ - $(COMPATH)/vcpackages/vcbuild.exe lcms2_DLL.vcproj "Release|Win32" \ + $(COMPATH)/vcpackages/vcbuild.exe lcms2_DLL.vcproj \ + "$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)|Win32" \ ,Projects/VC2008/lcms2_DLL) endif else diff --git a/libxml2/ExternalProject_xml2.mk b/libxml2/ExternalProject_xml2.mk index 8d7f00c334f0..5ea4682c1b5a 100644 --- a/libxml2/ExternalProject_xml2.mk +++ b/libxml2/ExternalProject_xml2.mk @@ -31,7 +31,8 @@ $(call gb_ExternalProject_get_state_target,xml2,build): else # COM=MSC $(call gb_ExternalProject_get_state_target,xml2,build): $(call gb_ExternalProject_run,build,\ - cscript configure.js iconv=no sax1=yes \ + cscript configure.js \ + iconv=no sax1=yes $(if $(MSVC_USE_DEBUG_RUNTIME),cruntime=/MDd) \ && unset MAKEFLAGS \ && LIB="$(ILIB)" nmake \ ,win32) diff --git a/libxmlsec/xmlsec1-vc.patch b/libxmlsec/xmlsec1-vc.patch index 7cd8c4f2d00b..f996b8b55aa0 100644 --- a/libxmlsec/xmlsec1-vc.patch +++ b/libxmlsec/xmlsec1-vc.patch @@ -15,11 +15,14 @@ SOLIBS = $(LIBS) libxml2.lib --- build/xmlsec/win32/Makefile.msvc.old 2012-11-30 11:09:23.130479800 -0500 +++ build/xmlsec/win32/Makefile.msvc 2012-11-30 11:11:06.037550700 -0500 -@@ -301,6 +301,7 @@ +@@ -301,6 +301,10 @@ CFLAGS = $(CFLAGS) /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H" CFLAGS = $(CFLAGS) /D "HAVE_STRING_H" /D "HAVE_CTYPE_H" CFLAGS = $(CFLAGS) /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H" +CFLAGS = $(CFLAGS) $(SOLARINC) -I$(WORKDIR)\UnpackedTarball\xml2\include ++!if "$(MSVC_USE_DEBUG_RUNTIME)" != "" ++CFLAGS = $(CFLAGS) /MDd ++!endif # Optimisation and debug symbols. !if "$(DEBUG)" == "1" diff --git a/libxslt/ExternalProject_xslt.mk b/libxslt/ExternalProject_xslt.mk index 357ae780762a..46af1bd13fae 100644 --- a/libxslt/ExternalProject_xslt.mk +++ b/libxslt/ExternalProject_xslt.mk @@ -33,6 +33,7 @@ else # COM=MSC $(call gb_ExternalProject_get_state_target,xslt,build): $(call gb_ExternalProject_run,build,\ cscript configure.js \ + $(if $(MSVC_USE_DEBUG_RUNTIME),cruntime=/MDd) \ && unset MAKEFLAGS \ && LIB="$(ILIB)" nmake \ ,win32) diff --git a/lpsolve/ExternalProject_lpsolve.mk b/lpsolve/ExternalProject_lpsolve.mk index 7de29e53b38a..0cf95dd2f4fe 100644 --- a/lpsolve/ExternalProject_lpsolve.mk +++ b/lpsolve/ExternalProject_lpsolve.mk @@ -27,7 +27,8 @@ $(call gb_ExternalProject_get_state_target,lpsolve,build): else # $(COM)!=GCC $(call gb_ExternalProject_get_state_target,lpsolve,build): $(call gb_ExternalProject_run,build,\ - LIB="$(ILIB)" cmd /c cvc6.bat \ + LIB="$(ILIB)" RUNTIME_FLAG="$(if $(MSVC_USE_DEBUG_RUNTIME),/MDd,/MD)" \ + cmd /c cvc6.bat \ ,lpsolve55) endif # $(COM) else # $(OS)!=WNT diff --git a/lpsolve/lp_solve_5.5-windows.patch b/lpsolve/lp_solve_5.5-windows.patch index 28f7c71de5e0..d7c44e67d275 100644 --- a/lpsolve/lp_solve_5.5-windows.patch +++ b/lpsolve/lp_solve_5.5-windows.patch @@ -46,7 +46,7 @@ -rc lpsolve.rc +rc %SOLARINC% lpsolve.rc -%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd /LD /MD /O1 /Zp8 /Gz -D_WINDLL -D_USRDLL -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve.res ..\lp_solve.def -o lpsolve55.dll -+%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd %SOLARINC% /LD /MD /O1 /Zp8 /Gz -D_WINDLL -D_USRDLL -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve.res ..\lp_solve.def -Felpsolve55.dll ++%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd %SOLARINC% /LD %RUNTIME_FLAG% /O1 /Zp8 /Gz -D_WINDLL -D_USRDLL -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve.res ..\lp_solve.def -Felpsolve55.dll -rem /link /LINK50COMPAT - -if exist a.obj del a.obj diff --git a/nss/ExternalProject_nss.mk b/nss/ExternalProject_nss.mk index c853d89ddcf1..be1638544b9e 100644 --- a/nss/ExternalProject_nss.mk +++ b/nss/ExternalProject_nss.mk @@ -40,7 +40,7 @@ ifeq ($(OS),WNT) ifeq ($(COM),MSC) $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalProject_get_state_target,nss,configure) $(call gb_ExternalExecutable_get_dependencies,python) $(call gb_ExternalProject_run,build,\ - $(if $(debug),,BUILD_OPT=1) \ + $(if $(MSVC_USE_DEBUG_RUNTIME),USE_DEBUG_RTL=1,BUILD_OPT=1) \ MOZ_MSVCVERSION=9 OS_TARGET=WIN95 \ $(if $(filter X,$(CPU)),USE_64=1) \ LIB="$(ILIB)" \ diff --git a/nss/nss.patch b/nss/nss.patch index d0e33181ec99..ca8106141c36 100644 --- a/nss/nss.patch +++ b/nss/nss.patch @@ -120,7 +120,7 @@ ifndef BUILD_OPT --- misc/nss-3.13.5/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200 +++ misc/build/nss-3.13.5/mozilla/security/coreconf/arch.mk 2010-06-11 16:35:54.990913282 +0200 -@@ -324,7 +324,12 @@ +@@ -324,10 +324,15 @@ # IMPL_STRATEGY may be defined too. # @@ -133,7 +133,11 @@ +OBJDIR_NAME = out ifeq (,$(filter-out WIN%,$(OS_TARGET))) - ifndef BUILD_OPT +-ifndef BUILD_OPT ++ifdef THIS_HAS_BEEN_DISABLED_TO_GET_out + # + # Define USE_DEBUG_RTL if you want to use the debug runtime library + # (RTL) in the debug build --- misc/nss-3.13.5/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100 +++ misc/build/nss-3.13.5/mozilla/security/nss/cmd/platlibs.mk 2010-06-11 16:35:55.004869805 +0200 @@ -41,27 +41,32 @@ diff --git a/openssl/opensslwnt.patch b/openssl/opensslwnt.patch index ac9aff251651..a28a24faaad6 100644 --- a/openssl/opensslwnt.patch +++ b/openssl/opensslwnt.patch @@ -127,7 +127,7 @@ - $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib - $opt_cflags=$f.' /Ox /O2 /Ob2'; - $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; -+ my $f = $shlib || $fips ?' -MD':' -MT'; ++ my $f = $shlib || $fips ? (($ENV{MSVC_USE_DEBUG_RUNTIME} eq "TRUE") ? ' -MDd' : ' -MD' ):' -MT'; + $lib_cflag='-Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib + $opt_cflags=$f.' -Ox -O2 -Ob2'; + $dbg_cflags=$f.'d -Od -DDEBUG -D_DEBUG'; diff --git a/python3/ExternalPackage_python3.mk b/python3/ExternalPackage_python3.mk index 3dc4dfd6757f..16e270b33d27 100644 --- a/python3/ExternalPackage_python3.mk +++ b/python3/ExternalPackage_python3.mk @@ -15,27 +15,28 @@ ifeq ($(OS)-$(COM),WNT-MSC) ifeq ($(CPUNAME),X86_64) python_arch_subdir=amd64/ endif -$(eval $(call gb_ExternalPackage_add_file,python3,bin/python.exe,LO_lib/$(python_arch_subdir)python.exe)) +$(eval $(call gb_ExternalPackage_add_file,python3,bin/python.exe,LO_lib/$(python_arch_subdir)python$(if $(MSVC_USE_DEBUG_RUNTIME),_d).exe)) +$(eval $(call gb_ExternalPackage_add_file,python3,bin/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll)) +$(eval $(call gb_ExternalPackage_add_file,python3,lib/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib)) +ifeq ($(MSVC_USE_DEBUG_RUNTIME),) $(eval $(call gb_ExternalPackage_add_file,python3,bin/python$(PYTHON_VERSION_MAJOR).dll,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR).dll)) -$(eval $(call gb_ExternalPackage_add_file,python3,bin/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).dll,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).dll)) $(eval $(call gb_ExternalPackage_add_file,python3,lib/python$(PYTHON_VERSION_MAJOR).lib,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR).lib)) -$(eval $(call gb_ExternalPackage_add_file,python3,lib/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).lib,LO_lib/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).lib)) +endif $(eval $(call gb_ExternalPackage_add_files,python3,lib/python,\ - LO_lib/$(python_arch_subdir)_ctypes.pyd \ - LO_lib/$(python_arch_subdir)_ctypes_test.pyd \ - LO_lib/$(python_arch_subdir)_decimal.pyd \ - LO_lib/$(python_arch_subdir)_elementtree.pyd \ - LO_lib/$(python_arch_subdir)_msi.pyd \ - LO_lib/$(python_arch_subdir)_multiprocessing.pyd \ - LO_lib/$(python_arch_subdir)_socket.pyd \ - LO_lib/$(python_arch_subdir)_ssl.pyd \ - LO_lib/$(python_arch_subdir)_testbuffer.pyd \ - LO_lib/$(python_arch_subdir)_testcapi.pyd \ - LO_lib/$(python_arch_subdir)pyexpat.pyd \ - LO_lib/$(python_arch_subdir)select.pyd \ - LO_lib/$(python_arch_subdir)unicodedata.pyd \ - LO_lib/$(python_arch_subdir)winsound.pyd \ - LO_lib/$(python_arch_subdir)xxlimited.pyd \ + LO_lib/$(python_arch_subdir)_ctypes$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_ctypes_test$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_decimal$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_elementtree$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_msi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_multiprocessing$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_socket$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_ssl$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_testbuffer$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)_testcapi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)pyexpat$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)select$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)unicodedata$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ + LO_lib/$(python_arch_subdir)winsound$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \ )) else ifeq ($(OS),WNT) # MinGW # TODO how are C modules called on this platform? diff --git a/python3/ExternalProject_python3.mk b/python3/ExternalProject_python3.mk index 22a952c7a6d0..9759623bd52c 100644 --- a/python3/ExternalProject_python3.mk +++ b/python3/ExternalProject_python3.mk @@ -29,19 +29,26 @@ ifeq ($(OS)$(COM),WNTMSC) $(call gb_ExternalProject_get_state_target,python3,build) : ifeq ($(VCVER),110) $(call gb_ExternalProject_run,build,\ - MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build /p:Configuration=Release /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:PlatformToolset=v110 /p:VisualStudioVersion=11.0 \ + MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build \ + /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ + /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \ + /p:PlatformToolset=v110 /p:VisualStudioVersion=11.0 \ && cd $(EXTERNAL_WORKDIR) \ && ln -s PCbuild LO_lib \ ,PCBuild) else ifeq ($(VCVER),100) $(call gb_ExternalProject_run,build,\ - MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build /p:Configuration=Release /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /ToolsVersion:4.0 \ + MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build \ + /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ + /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \ + /ToolsVersion:4.0 \ && cd $(EXTERNAL_WORKDIR) \ && ln -s PCbuild LO_lib \ ,PCBuild) else ifeq ($(VCVER),90) $(call gb_ExternalProject_run,build,\ - MAKEFLAGS= $(COMPATH)/vcpackages/vcbuild.exe pcbuild.sln "Release|$(if $(filter INTEL,$(CPUNAME)),Win32,x64)" \ + MAKEFLAGS= $(COMPATH)/vcpackages/vcbuild.exe pcbuild.sln \ + "$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)|$(if $(filter INTEL,$(CPUNAME)),Win32,x64)" \ && cd $(EXTERNAL_WORKDIR) \ && ln -s PC/VS9.0 LO_lib \ ,PC/VS9.0) diff --git a/scp2/InstallModule_ooo.mk b/scp2/InstallModule_ooo.mk index 3390f45b75e7..70692211db02 100644 --- a/scp2/InstallModule_ooo.mk +++ b/scp2/InstallModule_ooo.mk @@ -103,6 +103,7 @@ $(eval $(call gb_InstallModule_add_defs,scp2/ooo,\ $(if $(filter YES,$(SYSTEM_HSQLDB)),\ -DHSQLDB_JAR=\""$(call gb_Helper_make_path,$(HSQLDB_JAR))"\" \ ) \ + $(if $(filter MSC,$(COM)),$(if $(MSVC_USE_DEBUG_RUNTIME),-DMSVC_PKG_DEBUG_RUNTIME)) \ )) ifeq ($(GUIBASE),unx) diff --git a/scp2/InstallModule_python.mk b/scp2/InstallModule_python.mk index 8b8af4809bda..9839ef6bd75f 100644 --- a/scp2/InstallModule_python.mk +++ b/scp2/InstallModule_python.mk @@ -49,7 +49,8 @@ $(eval $(call gb_InstallModule_add_defs,scp2/python,\ -DPYVERSION=$(PYTHON_VERSION) \ -DPYMAJMIN=$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ -DPYMAJOR=$(PYTHON_VERSION_MAJOR) \ - -DPY_FULL_DLL_NAME=$(if $(filter WNT-MSC,$(OS)-$(COM)),python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).dll,libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so) \ + -DPY_FULL_DLL_NAME=$(if $(filter WNT-MSC,$(OS)-$(COM)),python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll,libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so) \ + $(if $(filter MSC,$(COM)),$(if $(MSVC_USE_DEBUG_RUNTIME),-DMSVC_PKG_DEBUG_RUNTIME)) \ )) endif diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp index b9298013f174..5aafd046585a 100644 --- a/scp2/source/ooo/file_library_ooo.scp +++ b/scp2/source/ooo/file_library_ooo.scp @@ -595,7 +595,11 @@ File gid_File_Lib_Icudata #ifdef UNX Name = STRING(CONCAT6(libicudata,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR)); #else + #ifdef MSVC_PKG_DEBUG_RUNTIME + Name = STRING(CONCAT3(icudtd,ICU_MAJOR,.dll)); + #else Name = STRING(CONCAT3(icudt,ICU_MAJOR,.dll)); + #endif // MSVC_PKG_DEBUG_RUNTIME #endif Dir = SCP2_OOO_BIN_DIR; Styles = (PACKED); @@ -606,7 +610,11 @@ File gid_File_Lib_Icui18n #ifdef UNX Name = STRING(CONCAT6(libicui18n,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR)); #else + #ifdef MSVC_PKG_DEBUG_RUNTIME + Name = STRING(CONCAT3(icuind,ICU_MAJOR,.dll)); + #else Name = STRING(CONCAT3(icuin,ICU_MAJOR,.dll)); + #endif // MSVC_PKG_DEBUG_RUNTIME #endif Dir = SCP2_OOO_BIN_DIR; Styles = (PACKED); @@ -617,7 +625,11 @@ File gid_File_Lib_Icule #ifdef UNX Name = STRING(CONCAT6(libicule,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR)); #else + #ifdef MSVC_PKG_DEBUG_RUNTIME + Name = STRING(CONCAT3(iculed,ICU_MAJOR,.dll)); + #else Name = STRING(CONCAT3(icule,ICU_MAJOR,.dll)); + #endif // MSVC_PKG_DEBUG_RUNTIME #endif Dir = SCP2_OOO_BIN_DIR; Styles = (PACKED); @@ -628,7 +640,11 @@ File gid_File_Lib_Icuuc #ifdef UNX Name = STRING(CONCAT6(libicuuc,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR)); #else + #ifdef MSVC_PKG_DEBUG_RUNTIME + Name = STRING(CONCAT3(icuucd,ICU_MAJOR,.dll)); + #else Name = STRING(CONCAT3(icuuc,ICU_MAJOR,.dll)); + #endif // MSVC_PKG_DEBUG_RUNTIME #endif Dir = SCP2_OOO_BIN_DIR; Styles = (PACKED); diff --git a/scp2/source/python/file_python.scp b/scp2/source/python/file_python.scp index 3390e67b87aa..ce892fd6fad3 100644 --- a/scp2/source/python/file_python.scp +++ b/scp2/source/python/file_python.scp @@ -167,6 +167,7 @@ File gid_File_Lib_Python_So Name = STRING(PY_FULL_DLL_NAME); Styles = (PACKED); End +#ifndef MSVC_PKG_DEBUG_RUNTIME File gid_File_Lib_Python3_So LIB_FILE_BODY; Dir = gid_Brand_Dir_Program; @@ -177,6 +178,7 @@ File gid_File_Lib_Python3_So #endif //UNX Styles = (PACKED); End +#endif #else //MACOSX //directory entries solely to be able to create the symlinks Directory gid_Dir_PythonFramework |