diff --git a/build/make/config-mingw-w64.mk b/build/make/config-mingw-w64.mk index 840c73d2a0a..3146c18068d 100644 --- a/build/make/config-mingw-w64.mk +++ b/build/make/config-mingw-w64.mk @@ -13,17 +13,27 @@ else $(error unknown WINDOWS_ARCH) endif +ifeq ($(WINDOWS_CRT),) +MINGW_CRT = mingw32 +else ifeq ($(WINDOWS_CRT),crtdll) +MINGW_CRT = mingw32crt +else ifeq ($(WINDOWS_CRT),msvcrt) +MINGW_CRT = mingw32 +else ifeq ($(WINDOWS_CRT),ucrt) +MINGW_CRT = mingw32ucrt +endif + ifeq ($(origin CC),default) -CC = $(MINGW_ARCH)-w64-mingw32-gcc$(MINGW_FLAVOUR) +CC = $(MINGW_ARCH)-w64-$(MINGW_CRT)-gcc$(MINGW_FLAVOUR) endif ifeq ($(origin CXX),default) -CXX = $(MINGW_ARCH)-w64-mingw32-g++$(MINGW_FLAVOUR) +CXX = $(MINGW_ARCH)-w64-$(MINGW_CRT)-g++$(MINGW_FLAVOUR) endif ifeq ($(origin LD),default) LD = $(CXX) endif ifeq ($(origin AR),default) -AR = $(MINGW_ARCH)-w64-mingw32-ar$(MINGW_FLAVOUR) +AR = $(MINGW_ARCH)-w64-$(MINGW_CRT)-ar$(MINGW_FLAVOUR) endif ifneq ($(STDCXX),) diff --git a/doc/libopenmpt/changelog.md b/doc/libopenmpt/changelog.md index 76e0d5aa7cd..b28656c97d0 100644 --- a/doc/libopenmpt/changelog.md +++ b/doc/libopenmpt/changelog.md @@ -11,6 +11,9 @@ is just a high-level summary. `libopenmpt/bindings/freebasic/libopenmpt_ext.bi` were missing from the Autotools package. + * [**New**] New `Makefile` `CONFIG=mingw-w64` option + `WINDOWS_CRT=[crtdll,msvcrt,ucrt]` to select the toolchain CRT library. + * M15: Loosen SoundTracker file rejection heuristics a bit to allow loading of schmokk.mod and scramble_2.mod. Other heuristics has been tightened a bit. * MOD: Change VBlank timing heuristic to always assume CIA timing when long