diff --git a/configure/CONFIG.CrossCommon b/configure/CONFIG.CrossCommon index 167ba490f..2fa6460d7 100644 --- a/configure/CONFIG.CrossCommon +++ b/configure/CONFIG.CrossCommon @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* # Cross compiler default definitions @@ -27,6 +26,6 @@ CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR)) CMPLR_PREFIX_CROSS=$(addsuffix -,$(GNU_TARGET)) CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASS)) -# All cross builds use the gnu compiler +# Cross builds usually use the gnu compiler include $(CONFIG)/CONFIG.gnuCommon diff --git a/configure/os/CONFIG.win32-x86-debug.Common b/configure/os/CONFIG.win32-x86-debug.Common index 9a394bf59..602fb9038 100644 --- a/configure/os/CONFIG.win32-x86-debug.Common +++ b/configure/os/CONFIG.win32-x86-debug.Common @@ -1,7 +1,7 @@ # CONFIG.win32-x86-debug.Common # -# Definitions for win32-x86 debug with debug compiler flags -# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.Common +# Definitions for win32-x86-debug host arch +# Override these definitions in CONFIG_SITE.win32-x86-debug.Common #------------------------------------------------------- #Include definitions common to win32-x86 hosts diff --git a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug index f568cd148..8ee66ff8f 100644 --- a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug @@ -1,9 +1,12 @@ # CONFIG.win32-x86-debug.win32-x86-debug # -# Definitions for win32-x86 debug compiler host - win32-x86 debug compiler target builds -# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug +# Definitions for win32-x86-debug host - win32-x86-debug target build +# Override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG_SITE settings: HOST_OPT=NO diff --git a/configure/os/CONFIG.win32-x86-static.win32-x86-static b/configure/os/CONFIG.win32-x86-static.win32-x86-static index 105c69698..da90f992a 100644 --- a/configure/os/CONFIG.win32-x86-static.win32-x86-static +++ b/configure/os/CONFIG.win32-x86-static.win32-x86-static @@ -1,10 +1,13 @@ # CONFIG.win32-x86-static.win32-x86.static # -# Definitions for win32-x86-static target archs when host arch is win32-x86-static -# Sites may override these definitions in CONFIG_SITE.win32-x86-static.win32-x86-static +# Definitions for win32-x86-static host - win32-x86-static target build +# Override these definitions in CONFIG_SITE.win32-x86-static.win32-x86-static #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG.win32-x86.Common b/configure/os/CONFIG.win32-x86.Common index a20709481..2b4e695f2 100644 --- a/configure/os/CONFIG.win32-x86.Common +++ b/configure/os/CONFIG.win32-x86.Common @@ -1,7 +1,7 @@ # CONFIG.win32-x86.Common # # Definitions for win32-x86 host archs -# Sites may override these definitions in CONFIG_SITE.win32-x86.Common +# Override these definitions in CONFIG_SITE.win32-x86.Common #------------------------------------------------------- CP = $(PERL) -MExtUtils::Command -e cp diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 4bd9b6710..d6592dced 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -1,7 +1,7 @@ # CONFIG.win32-x86.win32-x86 # -# Definitions for win32-x86 target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86 +# Definitions for win32-x86 host - win32-x86 target build +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86 #------------------------------------------------------- # Win32 valid build types and include directory suffixes @@ -28,16 +28,21 @@ BAFCMD = bscmake /nologo /o $@ # Configure OS vendor C compiler CC = cl -# Override CONFIG.gnuCommon for cross builds. +# Override CONFIG.gnuCommon settings for cross builds. GNU = NO HDEPENDS_METHOD = CMD +# Compiler flags for C files (C++ is below) + # -# /W use warning level N -# (maximum (lint type) warnings at level 4) -# /w44355 set "'this' used in the base initializer list" to be level 4 -WARN_CFLAGS_YES = /W3 /w44355 -WARN_CFLAGS_NO = /W1 +# /W display warnings at level d +# /W4 is for maximum (lint type) warnings +# /W3 is for production quality warnings +# /W2 displays significant warnings +# /W1 is the default and shows severe warnings only +# /w Set warning C to be shown at level +WARN_CFLAGS_YES = /W3 +WARN_CFLAGS_NO = /W1 # # /Ox maximum optimizations @@ -78,9 +83,7 @@ STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) # OS vendor c preprocessor -CPP = cl /C /E -#GNU c preprocessor -#CPP = gcc -x c -E +CPP = cl /nologo /C /E # Configure OS vendor C++ compiler # @@ -99,12 +102,20 @@ CCC = cl /nologo /EHsc /GR CODE_CPPFLAGS += /nologo /D__STDC__=0 CODE_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE + +# Compiler flags for C++ files + # -# /W use warning level N -# (maximum lint level warnings at level 4) -# /w44355 set "'this' used in the base initializer list" to be level 4 -WARN_CXXFLAGS_YES = /W3 /w44355 -WARN_CXXFLAGS_NO = /W1 +# /W display warnings at level d +# /W4 is for maximum (lint type) warnings +# /W3 is for production quality warnings +# /W2 displays significant warnings +# /W1 is the default and shows severe warnings only +# /w Set warning C to be shown at level +# /w44355 "'this' used in the base initializer list" +# /w44344 "behavior change: use of explicit template arguments results in ..." +WARN_CXXFLAGS_YES = /W3 /w44355 /w44344 +WARN_CXXFLAGS_NO = /W1 # # /Ox maximum optimizations diff --git a/configure/os/CONFIG.win32-x86.win32-x86-debug b/configure/os/CONFIG.win32-x86.win32-x86-debug index 90507e406..a71c9957a 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86.win32-x86-debug @@ -1,17 +1,15 @@ # CONFIG.win32-x86.win32-x86-debug # # Definitions for win32-x86 host - win32-x86-debug target build -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.Common.win32-x86 --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 --include $(CONFIG)/os/CONFIG_SITE.Common.win32-x86 +#Include definitions common to win32-x86 builds +include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 -include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 -GNU = NO - -HDEPENDS_METHOD = CMD +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST +# Override CONFIG_SITE settings: HOST_OPT = NO diff --git a/configure/os/CONFIG.win32-x86.win32-x86-static b/configure/os/CONFIG.win32-x86.win32-x86-static index d7513aa42..ae5313a5c 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-static +++ b/configure/os/CONFIG.win32-x86.win32-x86-static @@ -1,11 +1,16 @@ # CONFIG.win32-x86.win32-x86-static # -# Definitions for win32-x86-static target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-static +# Definitions for win32-x86 host - win32-x86-static target build +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86-static #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG.win32-x86.windows-x64 b/configure/os/CONFIG.win32-x86.windows-x64 deleted file mode 100644 index 09bba85f4..000000000 --- a/configure/os/CONFIG.win32-x86.windows-x64 +++ /dev/null @@ -1,25 +0,0 @@ -# CONFIG.win-x86.windows-x64 -# -# Definitions for windows-x64 target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.windows-x64 -#------------------------------------------------------- - --include $(CONFIG)/os/CONFIG.Common.win32-x86 --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 - -ARCH_DEP_CPPFLAGS += /favor:blend -#ARCH_DEP_CPPFLAGS += /Wp64 - -# /favor:blend both AMD64 and INTEL64 This is the default -# /favor:AMD64 -# /favor:INTEL64 (new value) -# /favor:EN64T (old value) - -OPT_LDFLAGS += /MACHINE:X64 - -# /MACHINE:X64 -# /MACHINE:IA64 (Itanium) -# /MACHINE:X86 - -#The following option does not work -#ARCH_DEP_CPPFLAGS += /env x64 diff --git a/configure/os/CONFIG.windows-x64-debug.Common b/configure/os/CONFIG.windows-x64-debug.Common index 5598ff4b5..ad433bc8f 100644 --- a/configure/os/CONFIG.windows-x64-debug.Common +++ b/configure/os/CONFIG.windows-x64-debug.Common @@ -1,7 +1,7 @@ # CONFIG.windows-x64-debug.Common # -# Definitions for windows-x64 debug with debug compiler flags -# Sites may override these definitions in CONFIG_SITE.windows-x64-debug.Common +# Definitions for windows-x64-debug host arch +# Override these definitions in CONFIG_SITE.windows-x64-debug.Common #------------------------------------------------------- #Include definitions common to windows-x64 hosts diff --git a/configure/os/CONFIG.windows-x64-static.Common b/configure/os/CONFIG.windows-x64-static.Common index 05ec5528d..88bef64ff 100644 --- a/configure/os/CONFIG.windows-x64-static.Common +++ b/configure/os/CONFIG.windows-x64-static.Common @@ -1,8 +1,9 @@ # CONFIG.windows-x64-static.Common # # Definitions for windows-x64-static host archs -# Sites may override these definitions in CONFIG_SITE.windows-x64-static.Common +# Override these definitions in CONFIG_SITE.windows-x64-static.Common #------------------------------------------------------- +#Include definitions common to windows-x64 hosts include $(CONFIG)/os/CONFIG.windows-x64.Common diff --git a/configure/os/CONFIG.windows-x64-static.windows-x64-static b/configure/os/CONFIG.windows-x64-static.windows-x64-static index fb33b8650..097e65558 100644 --- a/configure/os/CONFIG.windows-x64-static.windows-x64-static +++ b/configure/os/CONFIG.windows-x64-static.windows-x64-static @@ -1,10 +1,12 @@ # CONFIG.windows-x64-static.windows-x64-static # -# Definitions for windows-x64-static target archs when host arch is windows-x64-static -# Sites may override these definitions in CONFIG_SITE.windows-x64-static.windows-x64-static +# Definitions for windows-x64-static host - windows-x64-static target build +# Override these definitions in CONFIG_SITE.windows-x64-static.windows-x64-static #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD= YES diff --git a/configure/os/CONFIG.windows-x64.Common b/configure/os/CONFIG.windows-x64.Common index 9415c9433..de2fa3f57 100644 --- a/configure/os/CONFIG.windows-x64.Common +++ b/configure/os/CONFIG.windows-x64.Common @@ -1,10 +1,9 @@ # CONFIG.windows-x64.Common # -# Definitions for windows-x64 host archs -# Sites may override these definitions in CONFIG_SITE.windows-x64.Common +# Definitions for windows-x64 host arch +# Override these definitions in CONFIG_SITE.windows-x64.Common #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.win32-x86.Common - -WIND_HOST_TYPE = x86-win32 +#Include definitions common to win32-x86 hosts +include $(CONFIG)/os/CONFIG.win32-x86.Common diff --git a/configure/os/CONFIG.windows-x64.windows-x64 b/configure/os/CONFIG.windows-x64.windows-x64 index e7ffda5a9..d820dbacc 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64 +++ b/configure/os/CONFIG.windows-x64.windows-x64 @@ -1,21 +1,21 @@ # CONFIG.windows-x64.windows-x64 # -# Definitions for windows-x64 target archs when host arch is windows-x64 -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64 +# Definitions for windows-x64 host - windows-x64 target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64 #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +#Include definitions common to win32-x86 builds +include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Modify CONFIG.win32-x86.win32-x86 settings: ARCH_DEP_CPPFLAGS += /favor:blend -#ARCH_DEP_CPPFLAGS += /Wp64 - # /favor:blend both AMD64 and INTEL64 # /favor:AMD64 # /favor:INTEL64 (new value) # /favor:EN64T (old value) OPT_LDFLAGS += /MACHINE:X64 - # /MACHINE:X64 # /MACHINE:IA64 (Itanium) # /MACHINE:X86 diff --git a/configure/os/CONFIG.windows-x64.windows-x64-debug b/configure/os/CONFIG.windows-x64.windows-x64-debug index dc9162a82..8c97ac343 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-debug +++ b/configure/os/CONFIG.windows-x64.windows-x64-debug @@ -1,9 +1,14 @@ # CONFIG.windows-x64.windows-x64-debug # -# Definitions for windows-x64 compiler host - windows-x64 debug compiler target builds -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-debug +# Definitions for windows-x64 host - windows-x64-debug target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64-debug #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG.CrossCommon settings: +BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: HOST_OPT=NO diff --git a/configure/os/CONFIG.windows-x64.windows-x64-static b/configure/os/CONFIG.windows-x64.windows-x64-static index 27387c351..49bf2e0f6 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-static +++ b/configure/os/CONFIG.windows-x64.windows-x64-static @@ -1,11 +1,15 @@ -# CONFIG.windows-x86.windows-x86-static +# CONFIG.windows-x64.windows-x64-static # -# Definitions for windows-x64-static target archs when host arch is windows-x64 -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-static +# Definitions for windows-x64 host - windows-x64-static target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64-static #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG_SITE.win32-x86.win32-x86 b/configure/os/CONFIG_SITE.win32-x86.win32-x86 deleted file mode 100644 index 165480409..000000000 --- a/configure/os/CONFIG_SITE.win32-x86.win32-x86 +++ /dev/null @@ -1,16 +0,0 @@ - -# If you have Visual C++ 6.0, uncomment the following override lines -# This will to eliminate warnings about unknown options /GL, /LTCG, and /w44355. -#OPT_CFLAGS_YES = /Ox -#OPT_CXXFLAGS_YES = /Ox -#OPT_CFLAGS_NO = /Zi -#OPT_CXXFLAGS_NO = /Zi -#LINK_OPT_FLAGS_YES = /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%) -#WARN_CFLAGS_YES = /W3 -#WARN_CXXFLAGS_YES = /W3 - - -# If you have Visual C++ 8.0 or 8.0 express, uncomment the following override. -# This will eliminate warnings about /GX being deprecated. -#CCC = cl /nologo /EHsc /GR - diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index a0c7aafbd..dab0a01e6 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,22 @@ +

Microsoft Visual Studio builds

+ +

The build configuration files for builds using the Microsoft compilers have +been updated, although there should be no noticable difference at most sites. +One extra compiler warning is now being suppressed for C++ code, C4344: +behavior change: use of explicit template arguments results in ... which is +gratuitous and was appearing frequently in builds of the EPICS V4 modules.

+ +

Cross-builds of the windows-x64 target from a win32-x86 host have been +removed as they don't actually work within the context of a single make +run. Significant changes to the build configuration files would be necessary for +these kinds of cross-builds to work properly, which could be done if someone +needs them (email Andrew Johnson before working on this, and see + +this stack-overflow answer for a starting point).

+

Bazaar keywords such as 'Revision-Id' removed

In preparation for moving to git in place of the Bazaar revision control