Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
|
@ -0,0 +1,48 @@
|
|||
|
||||
CC = contrib/fuzzing/afl/afl-clang-lto
|
||||
CXX = contrib/fuzzing/afl/afl-clang-lto++
|
||||
LD = contrib/fuzzing/afl/afl-clang-lto++
|
||||
AR = ar
|
||||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX)
|
||||
else
|
||||
ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++17 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++17' ; fi ), c++17)
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
endif
|
||||
endif
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=0
|
||||
STATIC_LIB=1
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -fPIC -fno-strict-aliasing
|
||||
CFLAGS += -fPIC -fno-strict-aliasing
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm
|
||||
ARFLAGS := rcs
|
||||
|
||||
CXXFLAGS_WARNINGS += -Wmissing-declarations
|
||||
CFLAGS_WARNINGS += -Wmissing-prototypes
|
||||
|
||||
ifeq ($(CHECKED_ADDRESS),1)
|
||||
CXXFLAGS += -fsanitize=address
|
||||
CFLAGS += -fsanitize=address
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_UNDEFINED),1)
|
||||
CXXFLAGS += -fsanitize=undefined
|
||||
CFLAGS += -fsanitize=undefined
|
||||
endif
|
||||
|
||||
include build/make/warnings-clang.mk
|
||||
|
||||
EXESUFFIX=
|
||||
|
||||
FUZZ=1
|
||||
CPPFLAGS += -DMPT_BUILD_FUZZER -DMPT_BUILD_FATAL_ASSERTS
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
CC = $(TOOLCHAIN_PREFIX)clang$(TOOLCHAIN_SUFFIX)
|
||||
CXX = $(TOOLCHAIN_PREFIX)clang++$(TOOLCHAIN_SUFFIX)
|
||||
LD = $(TOOLCHAIN_PREFIX)clang++$(TOOLCHAIN_SUFFIX)
|
||||
AR = $(TOOLCHAIN_PREFIX)ar$(TOOLCHAIN_SUFFIX)
|
||||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX)
|
||||
else
|
||||
ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++17 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++17' ; fi ), c++17)
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
endif
|
||||
endif
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -fPIC
|
||||
CFLAGS += -fPIC
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm
|
||||
ARFLAGS := rcs
|
||||
|
||||
ifeq ($(OPTIMIZE_LTO),1)
|
||||
CXXFLAGS += -flto=thin
|
||||
CFLAGS += -flto=thin
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_ADDRESS),1)
|
||||
CXXFLAGS += -fsanitize=address
|
||||
CFLAGS += -fsanitize=address
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_UNDEFINED),1)
|
||||
CXXFLAGS += -fsanitize=undefined
|
||||
CFLAGS += -fsanitize=undefined
|
||||
endif
|
||||
|
||||
include build/make/warnings-clang.mk
|
||||
|
||||
EXESUFFIX=
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
ifeq ($(HOST),unix)
|
||||
|
||||
ifeq ($(HOST_FLAVOUR),MACOSX)
|
||||
|
||||
NO_PULSEAUDIO?=1
|
||||
include build/make/config-clang.mk
|
||||
# Mac OS X overrides
|
||||
DYNLINK=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
else ifeq ($(HOST_FLAVOUR),MSYS2)
|
||||
|
||||
ifeq ($(MSYSTEM),MINGW64)
|
||||
WINDOWS_ARCH=amd64
|
||||
include build/make/config-mingw-w64.mk
|
||||
else ifeq ($(MSYSTEM),MINGW32)
|
||||
WINDOWS_ARCH=x86
|
||||
include build/make/config-mingw-w64.mk
|
||||
else ifeq ($(MSYSTEM),UCRT64)
|
||||
WINDOWS_ARCH=amd64
|
||||
include build/make/config-mingw-w64.mk
|
||||
else ifeq ($(MSYSTEM),CLANG64)
|
||||
WINDOWS_ARCH=amd64
|
||||
MINGW_COMPILER=clang
|
||||
include build/make/config-mingw-w64.mk
|
||||
else
|
||||
WINDOWS_ARCH=x86
|
||||
include build/make/config-mingw-w64.mk
|
||||
endif
|
||||
|
||||
else ifeq ($(HOST_FLAVOUR),LINUX)
|
||||
|
||||
include build/make/config-gcc.mk
|
||||
|
||||
else ifeq ($(HOST_FLAVOUR),FREEBSD)
|
||||
|
||||
include build/make/config-clang.mk
|
||||
NO_LTDL?=1
|
||||
NO_PORTAUDIOCPP?=1
|
||||
|
||||
else ifeq ($(HOST_FLAVOUR),OPENBSD)
|
||||
|
||||
NO_PORTAUDIOCPP?=1
|
||||
NO_PULSEAUDIO?=1
|
||||
include build/make/config-clang.mk
|
||||
|
||||
else ifeq ($(HOST_FLAVOUR),HAIKU)
|
||||
|
||||
# In Haiku x86 32bit (but not 64bit),
|
||||
# modern compilers need a -x86 suffix.
|
||||
UNAME_P:=$(shell uname -p)
|
||||
ifeq ($(UNAME_P),x86)
|
||||
TOOLCHAIN_SUFFIX=-x86
|
||||
endif
|
||||
include build/make/config-gcc.mk
|
||||
|
||||
else
|
||||
|
||||
include build/make/config-generic.mk
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
include build/make/config-generic.mk
|
||||
|
||||
endif
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
|
||||
CC = i386-pc-msdosdjgpp-gcc
|
||||
CXX = i386-pc-msdosdjgpp-g++
|
||||
LD = i386-pc-msdosdjgpp-g++
|
||||
AR = i386-pc-msdosdjgpp-ar
|
||||
|
||||
# Note that we are using GNU extensions instead of 100% standards-compliant
|
||||
# mode, because otherwise DJGPP-specific headers/functions are unavailable.
|
||||
CXXFLAGS_STDCXX = -std=gnu++17
|
||||
CFLAGS_STDC = -std=gnu99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -march=i386 -m80387 -mtune=pentium -ffast-math
|
||||
CFLAGS += -march=i386 -m80387 -mtune=pentium -ffast-math
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm
|
||||
ARFLAGS := rcs
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=0
|
||||
STATIC_LIB=1
|
||||
SHARED_SONAME=0
|
||||
|
||||
DEBUG=0
|
||||
OPTIMIZE=0
|
||||
OPTIMIZE_SIZE=1
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
# generates warnings
|
||||
MPT_COMPILER_NOVISIBILITY=1
|
||||
|
||||
# causes crashes on process shutdown,
|
||||
# makes memory locking difficult
|
||||
MPT_COMPILER_NOGCSECTIONS=1
|
||||
|
||||
ifeq ($(ALLOW_LGPL),1)
|
||||
LOCAL_ZLIB=1
|
||||
LOCAL_MPG123=1
|
||||
LOCAL_OGG=1
|
||||
LOCAL_VORBIS=1
|
||||
else
|
||||
NO_ZLIB=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
endif
|
||||
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
||||
|
||||
ifeq ($(BUNDLED_ALLEGRO42),1)
|
||||
|
||||
CPPFLAGS_ALLEGRO42 := -Iinclude/allegro42/include -DALLEGRO_HAVE_STDINT_H -DLONG_LONG="long long"
|
||||
LDFLAGS_ALLEGRO42 :=
|
||||
LDLIBS_ALLEGRO42 := include/allegro42/lib/djgpp/liballeg.a
|
||||
|
||||
include/allegro42/lib/djgpp/liballeg.a:
|
||||
+cd include/allegro42 && ./xmake.sh clean
|
||||
+cd include/allegro42 && ./xmake.sh lib
|
||||
|
||||
bin/openmpt123$(EXESUFFIX): include/allegro42/lib/djgpp/liballeg.a
|
||||
|
||||
MISC_OUTPUTS += include/allegro42/lib/djgpp/liballeg.a
|
||||
|
||||
endif
|
|
@ -0,0 +1,160 @@
|
|||
|
||||
CC = emcc -c
|
||||
CXX = em++ -c
|
||||
LD = em++
|
||||
AR = emar
|
||||
LINK.cc = em++ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
|
||||
|
||||
EMSCRIPTEN_TARGET?=default
|
||||
EMSCRIPTEN_THREADS?=0
|
||||
EMSCRIPTEN_PORTS?=0
|
||||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX)
|
||||
else
|
||||
ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++17 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++17' ; fi ), c++17)
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
endif
|
||||
endif
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -fPIC
|
||||
CFLAGS += -fPIC
|
||||
LDFLAGS +=
|
||||
LDLIBS +=
|
||||
ARFLAGS := rcs
|
||||
|
||||
ifeq ($(EMSCRIPTEN_THREADS),1)
|
||||
CXXFLAGS += -pthread
|
||||
CFLAGS += -pthread
|
||||
LDFLAGS += -pthread
|
||||
endif
|
||||
|
||||
ifeq ($(EMSCRIPTEN_PORTS),1)
|
||||
CXXFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFI
|
||||
CFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFI
|
||||
LDFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1
|
||||
NO_MINIZ=1
|
||||
NO_MINIMP3=1
|
||||
NO_STBVORBIS=1
|
||||
endif
|
||||
|
||||
CXXFLAGS += -Oz
|
||||
CFLAGS += -Oz
|
||||
LDFLAGS += -Oz
|
||||
|
||||
# Enable LTO as recommended by Emscripten
|
||||
#CXXFLAGS += -flto=thin
|
||||
#CFLAGS += -flto=thin
|
||||
#LDFLAGS += -flto=thin -Wl,--thinlto-jobs=all
|
||||
# As per recommendation in <https://github.com/emscripten-core/emscripten/issues/15638#issuecomment-982772770>,
|
||||
# thinLTO is not as well tested as full LTO. Stick to full LTO for now.
|
||||
CXXFLAGS += -flto
|
||||
CFLAGS += -flto
|
||||
LDFLAGS += -flto
|
||||
|
||||
ifeq ($(EMSCRIPTEN_TARGET),default)
|
||||
# emits whatever is emscripten's default, currently (1.38.8) this is the same as "wasm" below.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS +=
|
||||
|
||||
LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
||||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),all)
|
||||
# emits native wasm AND javascript with full wasm optimizations.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=2 -s LEGACY_VM_SUPPORT=1 -Wno-transpile
|
||||
|
||||
LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
||||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),audioworkletprocessor)
|
||||
# emits an es6 module in a single file suitable for use in an AudioWorkletProcessor
|
||||
CPPFLAGS += -DMPT_BUILD_WASM -DMPT_BUILD_AUDIOWORKLETPROCESSOR
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=1 -s WASM_ASYNC_COMPILATION=0 -s MODULARIZE=1 -s EXPORT_ES6=1 -s SINGLE_FILE=1
|
||||
|
||||
LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
||||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),wasm)
|
||||
# emits native wasm.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=1
|
||||
|
||||
LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
||||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),js)
|
||||
# emits only plain javascript with plain javascript focused optimizations.
|
||||
CPPFLAGS += -DMPT_BUILD_ASMJS
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=0 -s LEGACY_VM_SUPPORT=1 -Wno-transpile
|
||||
|
||||
LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
||||
|
||||
endif
|
||||
|
||||
CXXFLAGS += -s DISABLE_EXCEPTION_CATCHING=0
|
||||
CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0 -fno-strict-aliasing
|
||||
LDFLAGS += -s DISABLE_EXCEPTION_CATCHING=0 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s ERROR_ON_MISSING_LIBRARIES=1 -s EXPORT_NAME="'libopenmpt'"
|
||||
|
||||
include build/make/warnings-clang.mk
|
||||
|
||||
REQUIRES_RUNPREFIX=1
|
||||
|
||||
EXESUFFIX=.js
|
||||
SOSUFFIX=.js
|
||||
RUNPREFIX=node
|
||||
TEST_LDFLAGS= --pre-js build/make/test-pre.js -lnodefs.js
|
||||
|
||||
ifeq ($(EMSCRIPTEN_THREADS),1)
|
||||
RUNPREFIX+=--experimental-wasm-threads --experimental-wasm-bulk-memory
|
||||
endif
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
EXAMPLES=1
|
||||
OPENMPT123=0
|
||||
SHARED_SONAME=0
|
||||
NO_SHARED_LINKER_FLAG=1
|
||||
|
||||
# Disable the generic compiler optimization flags as emscripten is sufficiently different.
|
||||
# Optimization flags are hard-coded for emscripten in this file.
|
||||
DEBUG=0
|
||||
OPTIMIZE=0
|
||||
OPTIMIZE_SIZE=0
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
ifeq ($(ALLOW_LGPL),1)
|
||||
LOCAL_ZLIB=1
|
||||
LOCAL_MPG123=1
|
||||
LOCAL_OGG=1
|
||||
LOCAL_VORBIS=1
|
||||
else
|
||||
NO_ZLIB=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
endif
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_FLAC=1
|
||||
NO_SNDFILE=1
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
CC = $(TOOLCHAIN_PREFIX)gcc$(TOOLCHAIN_SUFFIX)
|
||||
CXX = $(TOOLCHAIN_PREFIX)g++$(TOOLCHAIN_SUFFIX)
|
||||
LD = $(TOOLCHAIN_PREFIX)g++($TOOLCHAIN_SUFFIX)
|
||||
AR = $(TOOLCHAIN_PREFIX)ar$(TOOLCHAIN_SUFFIX)
|
||||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX)
|
||||
else
|
||||
ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++17 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++17' ; fi ), c++17)
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
endif
|
||||
endif
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -fPIC
|
||||
CFLAGS += -fPIC
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm
|
||||
ARFLAGS := rcs
|
||||
|
||||
ifeq ($(OPTIMIZE_LTO),1)
|
||||
CXXFLAGS += -flto
|
||||
CFLAGS += -flto
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_ADDRESS),1)
|
||||
CXXFLAGS += -fsanitize=address
|
||||
CFLAGS += -fsanitize=address
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_UNDEFINED),1)
|
||||
CXXFLAGS += -fsanitize=undefined
|
||||
CFLAGS += -fsanitize=undefined
|
||||
endif
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
$(warning warning: CONFIG=generic is deprecated. Use CONFIG=standard instead.)
|
||||
|
||||
CC ?= cc
|
||||
CXX ?= c++
|
||||
LD ?= c++
|
||||
AR = ar
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS +=
|
||||
LDLIBS +=
|
||||
ARFLAGS := rcs
|
||||
|
||||
MPT_COMPILER_GENERIC=1
|
||||
SHARED_LIB=0
|
||||
DYNLINK=0
|
||||
|
||||
EXESUFFIX=
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
$(warning warning: CONFIG=haiku is deprecated. The OS is auto-detected.)
|
||||
|
||||
include config-defaults.mk
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
$(warning warning: CONFIG=macosx is deprecated. The OS is auto-detected.)
|
||||
|
||||
include config-defaults.mk
|
|
@ -0,0 +1,118 @@
|
|||
|
||||
ifeq ($(WINDOWS_ARCH),)
|
||||
MINGW_ARCH = i686
|
||||
else ifeq ($(WINDOWS_ARCH),x86)
|
||||
MINGW_ARCH = i686
|
||||
else ifeq ($(WINDOWS_ARCH),amd64)
|
||||
MINGW_ARCH = x86_64
|
||||
#else ifeq ($(WINDOWS_ARCH),arm)
|
||||
#MINGW_ARCH =
|
||||
#else ifeq ($(WINDOWS_ARCH),arm64)
|
||||
#MINGW_ARCH =
|
||||
else
|
||||
$(error unknown WINDOWS_ARCH)
|
||||
endif
|
||||
|
||||
CC = $(MINGW_ARCH)-w64-mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = $(MINGW_ARCH)-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = $(MINGW_ARCH)-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = $(MINGW_ARCH)-w64-mingw32-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += -municode -mconsole -mthreads
|
||||
CFLAGS += -municode -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lrpcrt4 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
ifeq ($(WINDOWS_FAMILY),)
|
||||
# nothing
|
||||
else ifeq ($(WINDOWS_FAMILY),desktop-app)
|
||||
# nothing
|
||||
else ifeq ($(WINDOWS_FAMILY),app)
|
||||
CPPFLAGS += -DWINAPI_FAMILY=2
|
||||
OPENMPT123=0
|
||||
else ifeq ($(WINDOWS_FAMILY),phone-app)
|
||||
CPPFLAGS += -DWINAPI_FAMILY=3
|
||||
OPENMPT123=0
|
||||
else ifeq ($(WINDOWS_FAMILY),pc-app)
|
||||
CPPFLAGS += -DWINAPI_FAMILY=2
|
||||
OPENMPT123=0
|
||||
else
|
||||
$(error unknown WINDOWS_FAMILY)
|
||||
endif
|
||||
|
||||
ifeq ($(WINDOWS_VERSION),)
|
||||
# nothing
|
||||
else ifeq ($(WINDOWS_VERSION),win95)
|
||||
CPPFLAGS += -D_WIN32_WINDOWS=0x0400
|
||||
else ifeq ($(WINDOWS_VERSION),win98)
|
||||
CPPFLAGS += -D_WIN32_WINDOWS=0x0410
|
||||
else ifeq ($(WINDOWS_VERSION),winme)
|
||||
CPPFLAGS += -D_WIN32_WINDOWS=0x0490
|
||||
else ifeq ($(WINDOWS_VERSION),winnt4)
|
||||
CPPFLAGS += -D_WIN32_WINNT=0x0400
|
||||
else ifeq ($(WINDOWS_VERSION),win2000)
|
||||
CPPFLAGS += -D_WIN32_WINNT=0x0500
|
||||
else ifeq ($(WINDOWS_VERSION),winxp)
|
||||
CPPFLAGS += -D_WIN32_WINNT=0x0501
|
||||
else ifeq ($(WINDOWS_VERSION),winxp64)
|
||||
CPPFLAGS += -D_WIN32_WINNT=0x0502
|
||||
else ifeq ($(WINDOWS_VERSION),winvista)
|
||||
CPPFLAGS += -DNTDDI_VERSION=0x06000000
|
||||
else ifeq ($(WINDOWS_VERSION),win7)
|
||||
CPPFLAGS += -DNTDDI_VERSION=0x06010000
|
||||
else ifeq ($(WINDOWS_VERSION),win8)
|
||||
CPPFLAGS += -DNTDDI_VERSION=0x06020000
|
||||
else ifeq ($(WINDOWS_VERSION),win8.1)
|
||||
CPPFLAGS += -DNTDDI_VERSION=0x06030000
|
||||
else ifeq ($(WINDOWS_VERSION),win10)
|
||||
CPPFLAGS += -DNTDDI_VERSION=0x0A000000
|
||||
else
|
||||
$(error unknown WINDOWS_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(MINGW_COMPILER),clang)
|
||||
include build/make/warnings-clang.mk
|
||||
else
|
||||
include build/make/warnings-gcc.mk
|
||||
endif
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
ifeq ($(HOST_FLAVOUR),MSYS2)
|
||||
|
||||
else
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
||||
|
||||
endif
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
CC = mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = mingw32-gcc-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=gnu++17
|
||||
CFLAGS_STDC = -std=gnu99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DWIN32 -D_WIN32 -DWINVER=0x0410 -D_WIN32_WINDOWS=0x0410 -DMPT_BUILD_RETRO
|
||||
CXXFLAGS += -mconsole -mthreads
|
||||
CFLAGS += -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lrpcrt4 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
LDFLAGS += -static -static-libgcc -static-libstdc++
|
||||
|
||||
#CXXFLAGS += -ffunction-sections -fdata-sections
|
||||
#CFLAGS += -ffunction-sections -fdata-sections
|
||||
#LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
CXXFLAGS += -march=i486 -m80387 -mtune=pentium
|
||||
CFLAGS += -march=i486 -m80387 -mtune=pentium
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
FORCE_UNIX_STYLE_COMMANDS=1
|
||||
|
||||
IN_OPENMPT=1
|
||||
XMP_OPENMPT=1
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
|
@ -0,0 +1,47 @@
|
|||
|
||||
CC = i686-w64-mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = i686-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = i686-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = i686-w64-mingw32-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DWIN32 -D_WIN32
|
||||
CXXFLAGS += -municode -mconsole -mthreads
|
||||
CFLAGS += -municode -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lrpcrt4 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
|
@ -0,0 +1,47 @@
|
|||
|
||||
CC = x86_64-w64-mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = x86_64-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = x86_64-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = x86_64-w64-mingw32-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DWIN32 -D_WIN32 -DWIN64 -D_WIN64
|
||||
CXXFLAGS += -municode -mconsole -mthreads
|
||||
CFLAGS += -municode -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lrpcrt4 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
CC = x86_64-w64-mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = x86_64-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = x86_64-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = x86_64-w64-mingw32-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DWIN32 -D_WIN32 -DWIN64 -D_WIN64 -DWINAPI_FAMILY=0x2 -D_WIN32_WINNT=0x0602
|
||||
CXXFLAGS += -municode -mconsole -mthreads
|
||||
CFLAGS += -municode -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
OPENMPT123=0
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
CC = i686-w64-mingw32-gcc$(MINGW_FLAVOUR)
|
||||
CXX = i686-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
LD = i686-w64-mingw32-g++$(MINGW_FLAVOUR)
|
||||
AR = i686-w64-mingw32-ar$(MINGW_FLAVOUR)
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DWIN32 -D_WIN32 -DWINAPI_FAMILY=0x2 -D_WIN32_WINNT=0x0602
|
||||
CXXFLAGS += -municode -mconsole -mthreads
|
||||
CFLAGS += -municode -mconsole -mthreads
|
||||
LDFLAGS +=
|
||||
LDLIBS += -lm -lole32 -lrpcrt4 -lwinmm
|
||||
ARFLAGS := rcs
|
||||
|
||||
PC_LIBS_PRIVATE += -lole32 -lrpcrt4
|
||||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
OPENMPT123=0
|
||||
|
||||
NO_ZLIB=1
|
||||
NO_LTDL=1
|
||||
NO_DL=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
NO_SDL=1
|
||||
NO_SDL2=1
|
||||
NO_SNDFILE=1
|
||||
NO_FLAC=1
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
CC ?= cc
|
||||
CXX ?= c++
|
||||
LD ?= c++
|
||||
AR = ar
|
||||
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
CFLAGS_STDC = -std=c99
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
||||
CPPFLAGS += -DMPT_COMPILER_GENERIC
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS +=
|
||||
LDLIBS +=
|
||||
ARFLAGS := rcs
|
||||
|
||||
MPT_COMPILER_GENERIC=1
|
||||
SHARED_LIB=0
|
||||
DYNLINK=0
|
||||
|
||||
EXESUFFIX=
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
var Module = {
|
||||
'preInit': function(text) {
|
||||
FS.mkdir('/test');
|
||||
FS.mount(NODEFS, {'root': '../test/'}, '/test');
|
||||
FS.mkdir('/libopenmpt');
|
||||
FS.mount(NODEFS, {'root': '../libopenmpt/'}, '/libopenmpt');
|
||||
}
|
||||
};
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
CXXFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wmissing-prototypes -Wshift-count-negative -Wshift-count-overflow -Wshift-op-parentheses -Wshift-overflow -Wshift-sign-overflow -Wundef
|
||||
CFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wmissing-prototypes -Wshift-count-negative -Wshift-count-overflow -Wshift-op-parentheses -Wshift-overflow -Wshift-sign-overflow -Wundef
|
||||
|
||||
CXXFLAGS_WARNINGS += -Wdeprecated -Wextra-semi -Wframe-larger-than=16000 -Wglobal-constructors -Wimplicit-fallthrough -Wmissing-declarations -Wnon-virtual-dtor -Wreserved-id-macro
|
||||
|
||||
#CXXFLAGS_WARNINGS += -Wfloat-equal
|
||||
#CXXFLAGS_WARNINGS += -Wdocumentation
|
||||
#CXXFLAGS_WARNINGS += -Wconversion
|
||||
#CXXFLAGS_WARNINGS += -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++98-c++11-c++14-compat -Wno-padded -Wno-weak-vtables -Wno-sign-conversion -Wno-shadow-field-in-constructor -Wno-conversion -Wno-switch-enum -Wno-old-style-cast
|
||||
|
||||
ifeq ($(MODERN),1)
|
||||
LDFLAGS += -fuse-ld=lld
|
||||
ifeq ($(OPTIMIZE_LTO),1)
|
||||
LDFLAGS += -Wl,--thinlto-jobs=all
|
||||
endif
|
||||
CXXFLAGS_WARNINGS +=
|
||||
CFLAGS_WARNINGS += -Wframe-larger-than=4000
|
||||
LDFLAGS_WARNINGS += -Wl,-no-undefined -Wl,--detect-odr-violations
|
||||
# re-renable after 1.29 branch
|
||||
#CXXFLAGS_WARNINGS += -Wdouble-promotion
|
||||
#CFLAGS_WARNINGS += -Wdouble-promotion
|
||||
endif
|
||||
|
||||
CFLAGS_SILENT += -Wno-\#warnings
|
||||
CFLAGS_SILENT += -Wno-cast-align
|
||||
CFLAGS_SILENT += -Wno-cast-qual
|
||||
CFLAGS_SILENT += -Wno-missing-prototypes
|
||||
CFLAGS_SILENT += -Wno-sign-compare
|
||||
CFLAGS_SILENT += -Wno-unused-function
|
||||
CFLAGS_SILENT += -Wno-unused-parameter
|
||||
CFLAGS_SILENT += -Wno-unused-variable
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
CXXFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wfloat-conversion -Wframe-larger-than=16000 -Winit-self -Wlogical-op -Wmissing-declarations -Wpointer-arith -Wstrict-aliasing -Wsuggest-override -Wundef
|
||||
CFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wfloat-conversion -Wlogical-op -Wundef
|
||||
|
||||
CXXFLAGS_WARNINGS += -Wno-psabi
|
||||
|
||||
ifeq ($(MODERN),1)
|
||||
LDFLAGS += -fuse-ld=gold
|
||||
CXXFLAGS_WARNINGS +=
|
||||
CFLAGS_WARNINGS += -Wframe-larger-than=4000
|
||||
#CXXFLAGS_WARNINGS += -Wstrict-aliasing -Wpointer-arith -Winit-self -Wshadow -Wswitch-enum -Wstrict-prototypes
|
||||
LDFLAGS_WARNINGS += -Wl,-no-undefined -Wl,--detect-odr-violations
|
||||
# re-renable after 1.29 branch
|
||||
#CXXFLAGS_WARNINGS += -Wdouble-promotion
|
||||
#CFLAGS_WARNINGS += -Wdouble-promotion
|
||||
endif
|
||||
|
||||
CFLAGS_SILENT += -Wno-cast-qual
|
||||
CFLAGS_SILENT += -Wno-empty-body
|
||||
CFLAGS_SILENT += -Wno-float-conversion
|
||||
CFLAGS_SILENT += -Wno-implicit-fallthrough
|
||||
CFLAGS_SILENT += -Wno-old-style-declaration
|
||||
CFLAGS_SILENT += -Wno-sign-compare
|
||||
CFLAGS_SILENT += -Wno-type-limits
|
||||
CFLAGS_SILENT += -Wno-unused-but-set-variable
|
||||
CFLAGS_SILENT += -Wno-unused-function
|
||||
CFLAGS_SILENT += -Wno-unused-parameter
|
Loading…
Add table
Add a link
Reference in a new issue