openfoam/wmake/rules/linux64Mingw/c++
Mark Olesen 07c69fdf0d COMP: add static libgcc, libstdc++ linking for mingw (fixes #2680)
- this solves some 'dangling' dependency problems that plagued earlier
  versions (when MS-MPI was not also installed).
2023-01-24 18:21:05 +01:00

44 lines
1.4 KiB
Plaintext

#------------------------------------------------------------------------------
# mingw is gcc, but new enough to support c++14
# NB: gnu++14 (not c++14) to ensure __STRICT_ANSI__ is not defined
#------------------------------------------------------------------------------
include $(GENERAL_RULES)/Gcc/c++
CC := x86_64-w64-mingw32-g++ -std=gnu++14
c++ARCH := -m64 -pthread
ifneq (,$(strip $(WM_COMPILE_OPTION)))
sinclude $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
endif
c++FLAGS = \
$(c++ARCH) $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) \
$(FOAM_EXTRA_CXXFLAGS) $(LIB_HEADER_DIRS)
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
cctoo = $(Ctoo)
cpptoo = $(Ctoo)
cxxtoo = $(Ctoo)
LINK_LIBS = $(c++DBUG)
# Using "-Wl,--no-undefined,--enable-runtime-pseudo-reloc"
# does not forgive undefined symbols during linking
LINKLIBSO = $(CC) $(c++FLAGS) -shared \
-Wl,--output-def=$(LIB).def \
-Wl,--out-implib=$(LIB).dll.a \
-Wl,--no-undefined \
-Wl,--enable-runtime-pseudo-reloc \
-Wl,--enable-auto-import \
-Wl,--enable-auto-image-base \
-Wl,--strip-all
LINKEXE = $(CC) $(c++FLAGS) \
-static-libgcc -static-libstdc++ \
-Wl,--enable-auto-import \
-Wl,--strip-all \
-Wl,--force-exe-suffix
#------------------------------------------------------------------------------