From 570993e32ba61bce5300486a5992b2efbfa19a56 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 19 Nov 2013 18:50:49 -0600 Subject: [PATCH] configure: New targets cygwin-x86_64 and windows-x64-mingw --- configure/CONFIG_SITE | 2 ++ configure/os/CONFIG.Common.cygwin-x86_64 | 14 ++++++++++++++ configure/os/CONFIG.Common.windows-x64-mingw | 15 +++++++++++++++ configure/os/CONFIG.cygwin-x86_64.Common | 10 ++++++++++ .../os/CONFIG.cygwin-x86_64.cygwin-x86_64 | 11 +++++++++++ .../os/CONFIG.win32-x86-mingw.win32-x86-mingw | 19 ++++++++++--------- configure/os/CONFIG.windows-x64-mingw.Common | 11 +++++++++++ ...CONFIG.windows-x64-mingw.windows-x64-mingw | 11 +++++++++++ configure/os/CONFIG_SITE.Common.cygwin-x86_64 | 14 ++++++++++++++ ...G_SITE.windows-x64-mingw.windows-x64-mingw | 9 +++++++++ documentation/RELEASE_NOTES.html | 4 ++++ 11 files changed, 111 insertions(+), 9 deletions(-) create mode 100644 configure/os/CONFIG.Common.cygwin-x86_64 create mode 100644 configure/os/CONFIG.Common.windows-x64-mingw create mode 100644 configure/os/CONFIG.cygwin-x86_64.Common create mode 100644 configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 create mode 100644 configure/os/CONFIG.windows-x64-mingw.Common create mode 100644 configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw create mode 100644 configure/os/CONFIG_SITE.Common.cygwin-x86_64 create mode 100644 configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE index f60c7662a..57779f637 100644 --- a/configure/CONFIG_SITE +++ b/configure/CONFIG_SITE @@ -19,6 +19,7 @@ # aix-ppc (IBM compiler used for host builds) # aix-ppc-gnu (GNU compiler used for host builds) # cygwin-x86 (cygwin compiler used for host builds) +# cygwin-x86_64 (cygwin compiler used for host builds) # darwin-ppc (PowerPC based Apple running OSX) # darwin-ppcx86 (Universal binaries for both CPUs) # darwin-x86 (Intel based Apple running OSX) @@ -41,6 +42,7 @@ # win32-x86-cygwin (WIN32 API with cygwin GNU compiler used for host builds) # win32-x86-mingw (MinGW compiler used for host builds) # windows-x64 (MS Visual C++ compiler used for host builds) +# windows-x64-mingw (MinGW compiler used for host builds) # Debugging builds # linux-x86-debug (GNU compiler with -g option for host builds) diff --git a/configure/os/CONFIG.Common.cygwin-x86_64 b/configure/os/CONFIG.Common.cygwin-x86_64 new file mode 100644 index 000000000..380e686be --- /dev/null +++ b/configure/os/CONFIG.Common.cygwin-x86_64 @@ -0,0 +1,14 @@ +# CONFIG.Common.cygwin-x86_64 +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Definitions for cygwin-x86_64 target builds +# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64 +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.Common.cygwin-x86 + +ARCH_DEP_CFLAGS = -m64 +ARCH_DEP_LDFLAGS = -m64 + diff --git a/configure/os/CONFIG.Common.windows-x64-mingw b/configure/os/CONFIG.Common.windows-x64-mingw new file mode 100644 index 000000000..b2943af16 --- /dev/null +++ b/configure/os/CONFIG.Common.windows-x64-mingw @@ -0,0 +1,15 @@ +# CONFIG.Common.windows-x64-mingw +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Definitions for windows-x64-mingw target builds +# Sites may override these definitions in CONFIG_SITE.Common.windows-x64-mingw +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.Common.win32-x86-mingw + +ARCH_CLASS = x64 + +ARCH_DEP_CFLAGS = -m64 +ARCH_DEP_LDFLAGS = -m64 diff --git a/configure/os/CONFIG.cygwin-x86_64.Common b/configure/os/CONFIG.cygwin-x86_64.Common new file mode 100644 index 000000000..ff6c3e2c8 --- /dev/null +++ b/configure/os/CONFIG.cygwin-x86_64.Common @@ -0,0 +1,10 @@ +# CONFIG.cygwin-x86_64.Common +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Definitions for cygwin-x86_64 host archs +# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.Common +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.cygwin-x86.Common diff --git a/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 new file mode 100644 index 000000000..20a52a6d8 --- /dev/null +++ b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 @@ -0,0 +1,11 @@ +# CONFIG.cygwin-x86_64.cygwin-x86_64 +# +# $Revision-Id$ +# +# Definitions for cygwin-x86_64 host - cygwin-x86_64 target builds +# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 +#------------------------------------------------------- + +# Include common gnu compiler definitions +include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86 + diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw index 8309f8b45..96fa115fc 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw @@ -9,14 +9,15 @@ # Include common gnu compiler definitions include $(CONFIG)/CONFIG.gnuCommon -# gcc, g++, ar, ld, and ranlib must be in user's path -CC = gcc -CCC = g++ -AR = ar -rc -LD = ld -r -RANLIB = ranlib -RES=.coff -RCCMD = windres $(INCLUDES) $< $@ +CMPLR_PREFIX = + +CC = $(CMPLR_PREFIX)gcc +CCC = $(CMPLR_PREFIX)g++ +AR = $(CMPLR_PREFIX)ar -rc +LD = $(CMPLR_PREFIX)ld -r +RANLIB = $(CMPLR_PREFIX)ranlib +RES = .coff +RCCMD = $(CMPLR_PREFIX)windres $(INCLUDES) $< $@ # No -fPIC avoids "-fPIC ignored for target (all code is position independent)" SHRLIB_CFLAGS = @@ -26,4 +27,4 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) # Override linking with gcc library from CONFIG.gnuCommon GNU_LDLIBS_YES = -OP_SYS_LDLIBS = -lws2_32 +OP_SYS_LDLIBS = -lws2_32 diff --git a/configure/os/CONFIG.windows-x64-mingw.Common b/configure/os/CONFIG.windows-x64-mingw.Common new file mode 100644 index 000000000..c467a3a51 --- /dev/null +++ b/configure/os/CONFIG.windows-x64-mingw.Common @@ -0,0 +1,11 @@ +# CONFIG.windows-x64-mingw.Common +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Definitions for windows-x64-mingw host archs +# Sites may override these definitions in CONFIG_SITE.windows-x64-mingw.Common +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.win32-x86-mingw.Common + diff --git a/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw b/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw new file mode 100644 index 000000000..9e42784aa --- /dev/null +++ b/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw @@ -0,0 +1,11 @@ +# CONFIG.windows-x64-mingw.windows-x64-mingw +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Definitions for windows-x64-mingw target archs +# Sites may override these definitions in CONFIG_SITE.windows-x64-mingw.windows-x64-mingw +#------------------------------------------------------- + +# Include common gnu compiler definitions +include $(CONFIG)/os/CONFIG.win32-x86-mingw.win32-x86-mingw diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 new file mode 100644 index 000000000..3950526d1 --- /dev/null +++ b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 @@ -0,0 +1,14 @@ +# CONFIG_SITE.Common.cygwin-x86_64 +# +# $Revision-Id$ +# +# Site Specific definitions for cygwin-x86_64 target +# Only the local epics system manager should modify this file + +# If readline is installed uncomment the following line +# to add command-line editing and history support +#COMMANDLINE_LIBRARY = READLINE + +# Uncomment the following line if readline has problems +#LDLIBS_READLINE = -lreadline -lcurses + diff --git a/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw b/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw new file mode 100644 index 000000000..bdb8c995e --- /dev/null +++ b/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw @@ -0,0 +1,9 @@ +# CONFIG_SITE.windows-x64-mingw.windows-x64-mingw +# +# $Revision-Id$ +# +# Site Specific definitions for windows-x64-mingw target +# Only the local epics system manager should modify this file + +# Prefix for mingw compiler from cygwin +#CMPLR_PREFIX = x86_64-w64-mingw32- diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index dd1256064..9dc7e4fac 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,10 @@ +

Added support for 64-bit Cygwin and MinGW targets

+ +

Both windows-x64-mingw and cygwin-x86_64 build targets are now provided.

+

CAS: GDD Reference Count Underflow

Thanks to Bruce Hill a source of an underflow in a GDD reference count in the