diff --git a/configure/os/CONFIG.Common.win32-x86-mingw b/configure/os/CONFIG.Common.win32-x86-mingw index 0f66df17c..2ed409c23 100644 --- a/configure/os/CONFIG.Common.win32-x86-mingw +++ b/configure/os/CONFIG.Common.win32-x86-mingw @@ -36,6 +36,7 @@ ARCH_DEP_LDFLAGS += -m32 OP_SYS_CPPFLAGS = -D_MINGW EXE = .exe +RES = .coff # Use .o for static object files, .obj for shared library object files OBJ_NO = .o diff --git a/configure/os/CONFIG.linux-x86.win32-x86-mingw b/configure/os/CONFIG.linux-x86.win32-x86-mingw index 6c1ed350d..297030765 100644 --- a/configure/os/CONFIG.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG.linux-x86.win32-x86-mingw @@ -7,19 +7,18 @@ # Include common gnu compiler definitions include $(CONFIG)/CONFIG.gnuCommon -RES = .coff +# Add resource compiler RCCMD = $(GNU_BIN)/$(CMPLR_PREFIX)windres$(CMPLR_SUFFIX) $(INCLUDES) $< $@ -# No -fPIC avoids "-fPIC ignored for target (all code is position independent)" +# Remove -fPIC flags, add out-implib SHRLIB_CFLAGS = SHRLIB_LDFLAGS = -shared \ -Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX) LOADABLE_SHRLIB_LDFLAGS = -shared \ -Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX) -# Override linking with gcc library from CONFIG.gnuCommon +# Don't link with gcc library GNU_LDLIBS_YES = # Link with winsock2 OP_SYS_LDLIBS = -lws2_32 - diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw index 1983a6b42..3f1cb2fd7 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw @@ -9,24 +9,29 @@ # Include common gnu compiler definitions include $(CONFIG)/CONFIG.gnuCommon +# Undo various things set by CONFIG.gnuCommon + CMPLR_PREFIX = +# Remove $(GNU_BIN)/ path CC = $(CMPLR_PREFIX)gcc CCC = $(CMPLR_PREFIX)g++ AR = $(CMPLR_PREFIX)ar -rc LD = $(CMPLR_PREFIX)ld -r RANLIB = $(CMPLR_PREFIX)ranlib -RES = .coff + +# Add resource compiler RCCMD = $(CMPLR_PREFIX)windres $(INCLUDES) $< $@ -# No -fPIC avoids "-fPIC ignored for target (all code is position independent)" +# Remove -fPIC flags, add out-implib SHRLIB_CFLAGS = SHRLIB_LDFLAGS = -shared \ -Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX) LOADABLE_SHRLIB_LDFLAGS = -shared \ -Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX) -# Override linking with gcc library from CONFIG.gnuCommon +# Don't link with gcc library GNU_LDLIBS_YES = +# Link with winsock2 OP_SYS_LDLIBS = -lws2_32 diff --git a/configure/os/CONFIG_SITE.Common.win32-x86-mingw b/configure/os/CONFIG_SITE.Common.win32-x86-mingw index c2691cb0d..39f219b19 100644 --- a/configure/os/CONFIG_SITE.Common.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.Common.win32-x86-mingw @@ -4,7 +4,6 @@ # # Site Specific definitions for win32-x86-mingw target -# If readline is not installed comment the following line -# to omit command-line editing and history support +# If readline is available uncomment the following line +# to enable command-line editing and history support #COMMANDLINE_LIBRARY = READLINE - diff --git a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw index a9719ae46..7df172901 100644 --- a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw @@ -4,8 +4,8 @@ #------------------------------------------------------- # Early versions of the MinGW cross-build tools can only build -# static (non-DLL) libraries. The version of gcc 4.6.3 for Ubuntu -# succeeds, but Fedora's 4.4.6 does not and needs these uncommented: +# static (non-DLL) libraries. For example RHEL's cross-gcc 4.4.6 +# needs these uncommented, cross-gcc 4.6.3 for Ubuntu does not: SHARED_LIBRARIES = NO STATIC_BUILD = YES @@ -18,4 +18,5 @@ STATIC_BUILD = YES #CMPLR_PREFIX = i686-w64-mingw32- # RHEL: CMPLR_PREFIX = i686-pc-mingw32- - +# Debian? +#CMPLR_PREFIX = i586-mingw32msvc- diff --git a/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw index 259d1e0c8..9022b8e2b 100644 --- a/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw @@ -3,15 +3,9 @@ # $Revision-Id$ # # Site Specific definitions for win32-x86-mingw target -# Only the local epics system manager should modify this file +# The MinGW bin directory must be in your path. -# Uncomment the following settings for MinGW_w32 releases -# /bin should be in your path -#CMPLR_PREFIX=i686-w64-mingw32- -#CC = $(CMPLR_PREFIX)gcc -#CCC = $(CMPLR_PREFIX)g++ -#AR = $(CMPLR_PREFIX)ar -rc -#LD = $(CMPLR_PREFIX)ld -r -#RANLIB = $(CMPLR_PREFIX)ranlib - +# Set the compiler prefix for your MinGW installation +#CMPLR_PREFIX = i686-w64-mingw32- +#CMPLR_PREFIX = i586-mingw32msvc-