From 53ebbab9413bf21e5037c337c21694aa167bbfc4 Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Wed, 1 Apr 2020 14:42:18 +0200 Subject: [PATCH 1/4] use MSVC_DIR to pick up MSVC toolchains --- configure/os/CONFIG.win32-x86.win32-x86 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 7d6c11b6b..38ac0a606 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -14,15 +14,15 @@ OPT_WHOLE_PROGRAM = YES #------------------------------------------------------- -WINLINK = link +WINLINK = $(MSVC_DIR)link -RCCMD = rc -l 0x409 $(INCLUDES) -fo $@ $< +RCCMD = $(MSVC_DIR)rc -l 0x409 $(INCLUDES) -fo $@ $< -ARCMD = lib -nologo -verbose -out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) +ARCMD = $(MSVC_DIR)lib -nologo -verbose -out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) # # Configure OS vendor C compiler -CC = cl +CC = $(MSVC_DIR)cl # Override CONFIG.gnuCommon settings for cross builds. GNU = NO @@ -75,14 +75,14 @@ STATIC_CFLAGS_YES= -MT$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS) STATIC_CFLAGS_NO= -MD$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS) -DEPICS_CALL_DLL # OS vendor c preprocessor -CPP = cl -nologo -C -E +CPP = $(MSVC_DIR)cl -nologo -C -E # Configure OS vendor C++ compiler # # -EHsc - generate code for exceptions # -GR - generate code for run time type identification # -CCC = cl -EHsc -GR +CCC = $(MSVC_DIR)cl -EHsc -GR # Other compiler flags, used for CPP, C and C++ # From e033c0cfb218b599fcec138d859a2ee1f860e60e Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Wed, 1 Apr 2020 14:44:38 +0200 Subject: [PATCH 2/4] use MSVC via WINE to compile for windows --- configure/os/CONFIG.RHEL7-x86_64.win32-x86 | 5 +++++ configure/os/CONFIG.RHEL7-x86_64.windows-x64 | 5 +++++ configure/os/CONFIG_SITE.RHEL7-x86_64.Common | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 configure/os/CONFIG.RHEL7-x86_64.win32-x86 create mode 100644 configure/os/CONFIG.RHEL7-x86_64.windows-x64 diff --git a/configure/os/CONFIG.RHEL7-x86_64.win32-x86 b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 new file mode 100644 index 000000000..45e886eaa --- /dev/null +++ b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 @@ -0,0 +1,5 @@ +include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 + +PATH_FILTER = $(subst /,/,$(1)) + +MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x86/ diff --git a/configure/os/CONFIG.RHEL7-x86_64.windows-x64 b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 new file mode 100644 index 000000000..80f87e49c --- /dev/null +++ b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 @@ -0,0 +1,5 @@ +include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 + +PATH_FILTER = $(subst /,/,$(1)) + +MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x64/ diff --git a/configure/os/CONFIG_SITE.RHEL7-x86_64.Common b/configure/os/CONFIG_SITE.RHEL7-x86_64.Common index 70e181229..171b09dc7 100644 --- a/configure/os/CONFIG_SITE.RHEL7-x86_64.Common +++ b/configure/os/CONFIG_SITE.RHEL7-x86_64.Common @@ -11,3 +11,6 @@ CROSS_COMPILER_TARGET_ARCHS += SL6-x86_64 # Build for old SL6 32 bit CROSS_COMPILER_TARGET_ARCHS += SL6-x86 + +# WINE MSVC +CROSS_COMPILER_TARGET_ARCHS += win32-x86 windows-x64 From 594fcb9a0d5393af79d8b31ae54802a7a5d13f3d Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Fri, 3 Apr 2020 15:10:46 +0200 Subject: [PATCH 3/4] CXXFLAGS from CONFIG_win32-x86.Common --- configure/os/CONFIG.RHEL7-x86_64.win32-x86 | 3 +++ configure/os/CONFIG.RHEL7-x86_64.windows-x64 | 3 +++ 2 files changed, 6 insertions(+) diff --git a/configure/os/CONFIG.RHEL7-x86_64.win32-x86 b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 index 45e886eaa..7b7ee8b21 100644 --- a/configure/os/CONFIG.RHEL7-x86_64.win32-x86 +++ b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 @@ -2,4 +2,7 @@ include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 PATH_FILTER = $(subst /,/,$(1)) +# Silence the tr1 namespace deprecation warnings +USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING + MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x86/ diff --git a/configure/os/CONFIG.RHEL7-x86_64.windows-x64 b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 index 80f87e49c..9fe82c648 100644 --- a/configure/os/CONFIG.RHEL7-x86_64.windows-x64 +++ b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 @@ -2,4 +2,7 @@ include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 PATH_FILTER = $(subst /,/,$(1)) +# Silence the tr1 namespace deprecation warnings +USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING + MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x64/ From 605937bbac37762df2afdb57d3927b8a8bc4a989 Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Mon, 6 Apr 2020 11:05:04 +0200 Subject: [PATCH 4/4] use the msvc from a new location --- configure/os/CONFIG.RHEL7-x86_64.win32-x86 | 2 +- configure/os/CONFIG.RHEL7-x86_64.windows-x64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/os/CONFIG.RHEL7-x86_64.win32-x86 b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 index 7b7ee8b21..93b0b79bc 100644 --- a/configure/os/CONFIG.RHEL7-x86_64.win32-x86 +++ b/configure/os/CONFIG.RHEL7-x86_64.win32-x86 @@ -5,4 +5,4 @@ PATH_FILTER = $(subst /,/,$(1)) # Silence the tr1 namespace deprecation warnings USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x86/ +MSVC_DIR = /opt/wine-msvc-2017/bin/x86/ diff --git a/configure/os/CONFIG.RHEL7-x86_64.windows-x64 b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 index 9fe82c648..8ea1a5ee5 100644 --- a/configure/os/CONFIG.RHEL7-x86_64.windows-x64 +++ b/configure/os/CONFIG.RHEL7-x86_64.windows-x64 @@ -5,4 +5,4 @@ PATH_FILTER = $(subst /,/,$(1)) # Silence the tr1 namespace deprecation warnings USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -MSVC_DIR = /afs/psi/intranet/Controls/scratch/wine-msvc-2017/drive_c/msvc/bin/x64/ +MSVC_DIR = /opt/wine-msvc-2017/bin/x64/