Bug 1204202 - Package Universal CRT DLLs for VS2015. r=glandium,ehsan

This commit is contained in:
Birunthan Mohanathas 2016-02-02 17:42:04 +02:00
Родитель 88ce1ce184
Коммит b316c91752
6 изменённых файлов: 37 добавлений и 11 удалений

Просмотреть файл

@ -26,12 +26,15 @@ DEFINES += -DJAREXT=
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
# Set MSVC dlls version to package, if any. # Set MSVC dlls version to package, if any.
ifdef WIN32_REDIST_DIR
ifdef MOZ_NO_DEBUG_RTL ifdef MOZ_NO_DEBUG_RTL
ifdef WIN32_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1 DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1
DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL) DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL)
DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL) DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL)
endif endif
ifdef WIN_UCRT_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1
endif
endif endif
ifdef MOZ_DEBUG ifdef MOZ_DEBUG

Просмотреть файл

@ -66,6 +66,10 @@
@BINPATH@/@MSVC_C_RUNTIME_DLL@ @BINPATH@/@MSVC_C_RUNTIME_DLL@
@BINPATH@/@MSVC_CXX_RUNTIME_DLL@ @BINPATH@/@MSVC_CXX_RUNTIME_DLL@
#endif #endif
#if MOZ_PACKAGE_WIN_UCRT_DLLS
@BINPATH@/api-ms-win-*.dll
@BINPATH@/ucrtbase.dll
#endif
#endif #endif
#ifndef MOZ_NATIVE_ICU #ifndef MOZ_NATIVE_ICU
#ifdef MOZ_SHARED_ICU #ifdef MOZ_SHARED_ICU

Просмотреть файл

@ -58,12 +58,15 @@ endif
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
# Set MSVC dlls version to package, if any. # Set MSVC dlls version to package, if any.
ifdef WIN32_REDIST_DIR
ifdef MOZ_NO_DEBUG_RTL ifdef MOZ_NO_DEBUG_RTL
ifdef WIN32_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1 DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1
DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL) DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL)
DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL) DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL)
endif endif
ifdef WIN_UCRT_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1
endif
endif endif
ifneq (,$(filter WINNT Darwin Android,$(OS_TARGET))) ifneq (,$(filter WINNT Darwin Android,$(OS_TARGET)))

Просмотреть файл

@ -92,6 +92,10 @@
@BINPATH@/@MSVC_C_RUNTIME_DLL@ @BINPATH@/@MSVC_C_RUNTIME_DLL@
@BINPATH@/@MSVC_CXX_RUNTIME_DLL@ @BINPATH@/@MSVC_CXX_RUNTIME_DLL@
#endif #endif
#if MOZ_PACKAGE_WIN_UCRT_DLLS
@BINPATH@/api-ms-win-*.dll
@BINPATH@/ucrtbase.dll
#endif
#endif #endif
#ifndef MOZ_NATIVE_ICU #ifndef MOZ_NATIVE_ICU
#ifdef MOZ_SHARED_ICU #ifdef MOZ_SHARED_ICU

Просмотреть файл

@ -4,21 +4,26 @@
include $(topsrcdir)/config/rules.mk include $(topsrcdir)/config/rules.mk
REDIST_FILES =
ifdef WIN32_REDIST_DIR ifdef WIN32_REDIST_DIR
REDIST_FILES += '$(WIN32_REDIST_DIR)'/$(MSVC_C_RUNTIME_DLL)
REDIST_FILES += '$(WIN32_REDIST_DIR)'/$(MSVC_CXX_RUNTIME_DLL)
endif
REDIST_FILES = \ ifdef WIN_UCRT_REDIST_DIR
$(MSVC_C_RUNTIME_DLL) \ REDIST_FILES += $(wildcard $(WIN_UCRT_REDIST_DIR)/api-ms-win-*.dll)
$(MSVC_CXX_RUNTIME_DLL) \ REDIST_FILES += '$(WIN_UCRT_REDIST_DIR)'/ucrtbase.dll
$(NULL) endif
ifdef REDIST_FILES
libs-preqs = \ libs-preqs = \
$(call mkdir_deps,$(FINAL_TARGET)) \ $(call mkdir_deps,$(FINAL_TARGET)) \
$(NULL) $(NULL)
libs:: $(libs-preqs) libs:: $(libs-preqs)
install --preserve-timestamps $(foreach f,$(REDIST_FILES),'$(WIN32_REDIST_DIR)'/$(f)) $(FINAL_TARGET) install --preserve-timestamps $(REDIST_FILES) $(FINAL_TARGET)
endif
endif # WIN32_REDIST_DIR
# run the binscope tool to make sure the binary and all libraries # run the binscope tool to make sure the binary and all libraries
# are using all available Windows OS-level security mechanisms # are using all available Windows OS-level security mechanisms

Просмотреть файл

@ -553,6 +553,13 @@ case "$target" in
# C4091: 'typedef ': ignored on left of '' when no variable is declared # C4091: 'typedef ': ignored on left of '' when no variable is declared
CFLAGS="$CFLAGS -wd4091" CFLAGS="$CFLAGS -wd4091"
CXXFLAGS="$CXXFLAGS -wd4091" CXXFLAGS="$CXXFLAGS -wd4091"
if test -n "$WIN_UCRT_REDIST_DIR"; then
if test ! -d "$WIN_UCRT_REDIST_DIR"; then
AC_MSG_ERROR([Invalid Windows UCRT Redist directory: ${WIN_UCRT_REDIST_DIR}])
fi
WIN_UCRT_REDIST_DIR=`cd "$WIN_UCRT_REDIST_DIR" && pwd`
fi
else else
AC_MSG_ERROR([This version (${_CC_MAJOR_VERSION}.${_CC_MINOR_VERSION}.${_CC_BUILD_VERSION}) of the MSVC compiler is unsupported. AC_MSG_ERROR([This version (${_CC_MAJOR_VERSION}.${_CC_MINOR_VERSION}.${_CC_BUILD_VERSION}) of the MSVC compiler is unsupported.
You must install Visual C++ 2013 Update 3, Visual C++ 2015 Update 1, or newer in order to build. You must install Visual C++ 2013 Update 3, Visual C++ 2015 Update 1, or newer in order to build.