diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/external_dependencies/openmpt-trunk/build/wine | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/build/wine')
7 files changed, 675 insertions, 0 deletions
diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/build_wine_support.cmd b/Src/external_dependencies/openmpt-trunk/build/wine/build_wine_support.cmd new file mode 100644 index 00000000..c74858b9 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/build_wine_support.cmd @@ -0,0 +1,106 @@ +rem @echo off + +set CUR_DIR=%CD% + +set BATCH_DIR=%~dp0 + +set INTDIR=%1 + +set OUTDIR=%2 + +cd %BATCH_DIR% +cd ..\.. + +del /f /q "%OUTDIR%\openmpt-wine-support.zip" +"C:\Program Files\7-Zip\7z.exe" a -tzip -mm=Deflate -mx=9 openmpt-wine-support.zip ^ + LICENSE ^ + include\nlohmann-json\LICENSE.MIT ^ + include\nlohmann-json\include\nlohmann\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\conversions\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\input\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\iterators\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\meta\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\meta\call_std\*.hpp ^ + include\nlohmann-json\include\nlohmann\detail\output\*.hpp ^ + include\nlohmann-json\include\nlohmann\thirdparty\hedley\*.hpp ^ + include\rtkit\rtkit.c ^ + include\rtkit\rtkit.h ^ + src\mpt\audio\*.hpp ^ + src\mpt\base\*.hpp ^ + src\mpt\base\tests\*.hpp ^ + src\mpt\binary\*.hpp ^ + src\mpt\binary\tests\*.hpp ^ + src\mpt\check\*.hpp ^ + src\mpt\crc\*.hpp ^ + src\mpt\crc\tests\*.hpp ^ + src\mpt\crypto\*.hpp ^ + src\mpt\crypto\tests\*.hpp ^ + src\mpt\detect\*.hpp ^ + src\mpt\endian\*.hpp ^ + src\mpt\endian\tests\*.hpp ^ + src\mpt\environment\*.hpp ^ + src\mpt\exception_text\*.hpp ^ + src\mpt\format\*.hpp ^ + src\mpt\format\test\*.hpp ^ + src\mpt\io\*.hpp ^ + src\mpt\io\tests\*.hpp ^ + src\mpt\io_read\*.hpp ^ + src\mpt\io_write\*.hpp ^ + src\mpt\json\*.hpp ^ + src\mpt\library\*.hpp ^ + src\mpt\mutex\*.hpp ^ + src\mpt\osinfo\*.hpp ^ + src\mpt\parse\*.hpp ^ + src\mpt\parse\tests\*.hpp ^ + src\mpt\path\*.hpp ^ + src\mpt\out_of_memory\*.hpp ^ + src\mpt\random\*.hpp ^ + src\mpt\random\tests\*.hpp ^ + src\mpt\string\*.hpp ^ + src\mpt\string\tests\*.hpp ^ + src\mpt\string_transcode\*.hpp ^ + src\mpt\string_transcode\tests\*.hpp ^ + src\mpt\system_error\*.hpp ^ + src\mpt\test\*.hpp ^ + src\mpt\uuid\*.hpp ^ + src\mpt\uuid\test\*.hpp ^ + src\mpt\uuid_namespace\*.hpp ^ + src\mpt\uuid_namespace\tests\*.hpp ^ + src\openmpt\all\*.cpp ^ + src\openmpt\all\*.hpp ^ + src\openmpt\base\*.cpp ^ + src\openmpt\base\*.hpp ^ + src\openmpt\logging\*.cpp ^ + src\openmpt\logging\*.hpp ^ + src\openmpt\random\*.cpp ^ + src\openmpt\random\*.hpp ^ + src\openmpt\soundbase\*.cpp ^ + src\openmpt\soundbase\*.hpp ^ + src\openmpt\sounddevice\*.cpp ^ + src\openmpt\sounddevice\*.hpp ^ + common\*.h ^ + common\*.cpp ^ + misc\*.h ^ + misc\*.cpp ^ + mptrack\wine\*.h ^ + mptrack\wine\*.cpp ^ + mptrack\wine\*.c ^ + build\wine\dialog.sh ^ + build\wine\native_support.mk ^ + build\wine\wine_wrapper.mk ^ + build\wine\wine_wrapper.spec ^ + build\wine\deps\*.txt ^ + || goto error + +cd %BATCH_DIR% +mkdir "%OUTDIR%" +move ..\..\openmpt-wine-support.zip "%OUTDIR%\" || goto error + +goto noerror + +:error +exit 1 + +:noerror +exit 0 diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/deps/debian.txt b/Src/external_dependencies/openmpt-trunk/build/wine/deps/debian.txt new file mode 100644 index 00000000..fe91af20 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/deps/debian.txt @@ -0,0 +1,9 @@ +coreutils
+dialog
+make pkg-config cpp gcc g++ binutils
+wine wine-dev libwine-dev (or wine-development wine-development-dev libwine-development-dev)
+libpulse-dev
+libjack-jackd2-dev
+portaudio19-dev
+libdbus-1-dev
+ccache
diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/deps/ubuntu.txt b/Src/external_dependencies/openmpt-trunk/build/wine/deps/ubuntu.txt new file mode 100644 index 00000000..fe91af20 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/deps/ubuntu.txt @@ -0,0 +1,9 @@ +coreutils
+dialog
+make pkg-config cpp gcc g++ binutils
+wine wine-dev libwine-dev (or wine-development wine-development-dev libwine-development-dev)
+libpulse-dev
+libjack-jackd2-dev
+portaudio19-dev
+libdbus-1-dev
+ccache
diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/dialog.sh b/Src/external_dependencies/openmpt-trunk/build/wine/dialog.sh new file mode 100644 index 00000000..671d03e0 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/dialog.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env sh + +# Usage: +# dailog.sh [tui|gui] [--infobox|--messagebox|--yesno|--gauge] title message +# WARNING: no error checking is done + +fake_dialog () { + case "$2" in + --infobox) + echo "" + echo "$3" + echo "$4" + echo "" + ;; + --msgbox) + echo "" + echo "$3" + echo "$4" + read -p "Press [Enter] key to continue ... \$ " DIALOG_RESULT + echo "" + ;; + --yesno) + while true ; do + echo "" + echo "$3" + echo "$4" + read -p "([yes], no) \$ " DIALOG_RESULT + echo "" + case "x$DIALOG_RESULT" in + xno) + DIALOG_RESULT="n" + break + ;; + xNO) + DIALOG_RESULT="n" + break + ;; + xyes) + DIALOG_RESULT="y" + break + ;; + xYES) + DIALOG_RESULT="y" + break + ;; + x) + DIALOG_RESULT="y" + break + ;; + *) + ;; + esac + done + case "$DIALOG_RESULT" in + n) + (exit 1) + ;; + y) + (exit 0) + ;; + *) + (exit 0) + ;; + esac + ;; + --textbox) + echo "" + echo "$3" + if command -v "less" 2>/dev/null 1>/dev/null ; then + less "$4" + else + if command -v "more" 2>/dev/null 1>/dev/null ; then + more "$4" + else + cat "$4" + read -p "Press [Enter] key to continue ... \$ " DIALOG_RESULT + fi + fi + echo "" + ;; + *) + echo "$4" + ;; + esac +} + +fake_progress () { + echo "" + echo "$3" + echo "$4" + echo -n "0%..." + while IFS='' read -r line ; do + if [ '(' "$line" -gt 1 ')' -a '(' "$line" -lt 100 ')' ]; then + echo -n "$line%..." + fi + done + echo -n "100%" + echo "" + echo "" +} + +if [ "$2" = "--gauge" ]; then + if [ "$1" = "tui" ]; then + DIALOG_LIST="dialog whiptail gdialog xdialog fake_progress" + else + DIALOG_LIST="zenity gdialog xdialog dialog whiptail fake_progress" + fi + for d in $DIALOG_LIST ; do + if [ "$d" = "fake_progress" ]; then + fake_progress "tui" "$2" "$3" "$4" + exit $? + else + if command -v "$d" 2>/dev/null 1>/dev/null ; then + if [ "$d" = "zenity" ]; then + exec $d --title "$3" --auto-close --progress "--text=$4" 0 0 0 + else + exec $d --title "$3" "$2" "$4" 0 0 0 + fi + fi + fi + done +else + if [ "$1" = "tui" ]; then + DIALOG_LIST="dialog whiptail gdialog xdialog fake_dialog" + else + DIALOG_LIST="gdialog xdialog dialog whiptail fake_dialog" + fi + for d in $DIALOG_LIST ; do + if [ "$d" = "fake_dialog" ]; then + fake_dialog "tui" "$2" "$3" "$4" + exit $? + else + if command -v "$d" 2>/dev/null 1>/dev/null ; then + exec $d --title "$3" "$2" "$4" 0 0 + fi + fi + done +fi diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/native_support.mk b/Src/external_dependencies/openmpt-trunk/build/wine/native_support.mk new file mode 100644 index 00000000..9a88ea9d --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/native_support.mk @@ -0,0 +1,241 @@ + +ifeq ($(MPT_PROGRESS_FILE),) +MPT_PROGRESS_FILE:=/dev/null +endif + +ifneq ($(words $(MAKECMDGOALS)),1) +.DEFAULT_GOAL = all +%: + @$(MAKE) $@ --no-print-directory -rRf $(firstword $(MAKEFILE_LIST)) +else +ifndef PROGRESS +T := $(shell $(MAKE) $(MAKECMDGOALS) --no-print-directory -nrRf $(firstword $(MAKEFILE_LIST)) PROGRESS="COUNTTHIS" | grep -c "COUNTTHIS") +N := x +C = $(words $N)$(eval N := x $N) +D = $(words $N)$(eval N := $N) +PROGRESS = @echo "`expr \( $C '-' 1 \) '*' 100 / $T`" >$(MPT_PROGRESS_FILE) +PROGRESS_ECHO = @echo "[`printf %3s \`expr \( $D '-' 1 \) '*' 100 / $T\``%]" +endif + +PROGRESS_ECHO ?= echo + +V?=2 +INFO ?= @echo +SILENT ?= @ +VERYSILENT ?= @ + +ifeq ($(V),6) +INFO = @true +SILENT = +VERYSILENT = +endif + +ifeq ($(V),5) +INFO = @true +SILENT = +VERYSILENT = +endif + +ifeq ($(V),4) +INFO = @true +SILENT = +VERYSILENT = @ +endif + +ifeq ($(V),3) +INFO = @$(PROGRESS_ECHO) +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),2) +INFO = @$(PROGRESS_ECHO) +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),1) +INFO = @true +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),0) +INFO = @true +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(MPT_ARCH_BITS),) +MPT_ARCH_TARGET:= +else +MPT_ARCH_TARGET:=-m$(MPT_ARCH_BITS) +endif + +MPT_TARGET?= + +MPT_TRY_DBUS?=1 +MPT_TRY_PORTAUDIO?=1 +MPT_TRY_PULSEAUDIO?=1 +MPT_TRY_RTAUDIO?=1 + +CPPFLAGS += $(MPT_ARCH_TARGET) -Icommon -Isrc -Iinclude/nlohmann-json/include -Iinclude +CXXFLAGS += $(MPT_ARCH_TARGET) -std=gnu++17 -fpermissive -fPIC -fvisibility=hidden +CFLAGS += $(MPT_ARCH_TARGET) -std=c99 -fPIC -fvisibility=hidden +LDFLAGS += $(MPT_ARCH_TARGET) +LDLIBS += -lm -lpthread +ARFLAGS += + +CXXFLAGS += -Os -ffast-math +CFLAGS += -Os -ffast-math -fno-strict-aliasing + +CXXFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align +CFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align + +ifeq ($(shell command -v ccache 2>/dev/null 1>/dev/null && echo yes),yes) +CCACHE=ccache +else +CCACHE= +endif + +ifeq ($(MPT_TRY_DBUS),2) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists dbus-1 && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I dbus-1 ) -DMPT_WITH_DBUS +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L dbus-1 ) $(shell $(MPT_TARGET)pkg-config --libs-only-other dbus-1 ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l dbus-1 ) +CPPFLAGS += -DMPT_WITH_RTKIT +RTKIT_C_SOURCES += include/rtkit/rtkit.c +else +$(error DBus not found.) +endif + +else +ifeq ($(MPT_TRY_DBUS),1) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists dbus-1 && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I dbus-1 ) -DMPT_WITH_DBUS +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L dbus-1 ) $(shell $(MPT_TARGET)pkg-config --libs-only-other dbus-1 ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l dbus-1 ) +CPPFLAGS += -DMPT_WITH_RTKIT +RTKIT_C_SOURCES += include/rtkit/rtkit.c +endif + +endif +endif + +ifeq ($(MPT_TRY_PORTAUDIO),2) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists portaudio-2.0 && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I portaudio-2.0 ) -DMPT_WITH_PORTAUDIO +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L portaudio-2.0 ) $(shell $(MPT_TARGET)pkg-config --libs-only-other portaudio-2.0 ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l portaudio-2.0 ) +else +$(error PortAudio not found.) +endif + +else +ifeq ($(MPT_TRY_PORTAUDIO),1) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists portaudio-2.0 && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I portaudio-2.0 ) -DMPT_WITH_PORTAUDIO +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L portaudio-2.0 ) $(shell $(MPT_TARGET)pkg-config --libs-only-other portaudio-2.0 ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l portaudio-2.0 ) +endif + +endif +endif + +ifeq ($(MPT_TRY_PULSEAUDIO),2) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists libpulse libpulse-simple && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I libpulse libpulse-simple ) -DMPT_WITH_PULSEAUDIO -DMPT_WITH_PULSEAUDIOSIMPLE +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L libpulse libpulse-simple ) $(shell $(MPT_TARGET)pkg-config --libs-only-other libpulse libpulse-simple ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l libpulse libpulse-simple ) +else +$(error PulseAudio not found.) +endif + +else +ifeq ($(MPT_TRY_PULSEAUDIO),1) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists libpulse libpulse-simple && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I libpulse libpulse-simple ) -DMPT_WITH_PULSEAUDIO -DMPT_WITH_PULSEAUDIOSIMPLE +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L libpulse libpulse-simple ) $(shell $(MPT_TARGET)pkg-config --libs-only-other libpulse libpulse-simple ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l libpulse libpulse-simple ) +else +ifeq ($(shell $(MPT_TARGET)pkg-config --exists libpulse && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I libpulse ) -DMPT_WITH_PULSEAUDIO +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L libpulse ) $(shell $(MPT_TARGET)pkg-config --libs-only-other libpulse ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l libpulse ) +endif +endif + +endif +endif + +ifeq ($(MPT_TRY_RTAUDIO),2) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists rtaudio && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I rtaudio ) -DMPT_WITH_RTAUDIO +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L rtaudio ) $(shell $(MPT_TARGET)pkg-config --libs-only-other rtaudio ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l rtaudio ) +else +$(error RtAudio not found.) +endif + +else +ifeq ($(MPT_TRY_RTAUDIO),1) + +ifeq ($(shell $(MPT_TARGET)pkg-config --exists rtaudio && echo yes),yes) +CPPFLAGS += $(shell $(MPT_TARGET)pkg-config --cflags-only-I rtaudio ) -DMPT_WITH_RTAUDIO +LDFLAGS += $(shell $(MPT_TARGET)pkg-config --libs-only-L rtaudio ) $(shell $(MPT_TARGET)pkg-config --libs-only-other rtaudio ) +LDLIBS += $(shell $(MPT_TARGET)pkg-config --libs-only-l rtaudio ) +endif + +endif +endif + +.PHONY: all +all: libopenmpt_native_support.so + +%: %.o + $(PROGRESS) + $(INFO) Linking $@ ... + $(SILENT)$(MPT_TARGET)$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@ + +%.o: %.cpp + $(PROGRESS) + $(INFO) Compiling $< ... + $(SILENT)$(CCACHE) $(MPT_TARGET)$(COMPILE.cc) -DMODPLUG_TRACKER -DMPT_BUILD_WINESUPPORT -DMPT_WITH_NLOHMANNJSON $(OUTPUT_OPTION) $< + +%.o: %.c + $(PROGRESS) + $(INFO) Compiling $< ... + $(SILENT)$(CCACHE) $(MPT_TARGET)$(COMPILE.c) -DMODPLUG_TRACKER -DMPT_BUILD_WINESUPPORT -DMPT_WITH_NLOHMANNJSON $(OUTPUT_OPTION) $< + +COMMON_CXX_SOURCES += $(wildcard common/*.cpp) +MISC_CXX_SOURCES += $(wildcard misc/*.cpp) +SOUNDDEVICE_CXX_SOURCES += $(wildcard src/openmpt/sounddevice/*.cpp) +WINESUPPORT_CXX_SOURCES += $(wildcard mptrack/wine/*.cpp) + +OPENMPT_WINESUPPORT_CXX_SOURCES += \ + $(COMMON_CXX_SOURCES) \ + $(MISC_CXX_SOURCES) \ + $(SOUNDDEVICE_CXX_SOURCES) \ + $(WINESUPPORT_CXX_SOURCES) \ + +OPENMPT_WINESUPPORT_C_SOURCES += \ + $(RTKIT_C_SOURCES) \ + +OPENMPT_WINESUPPORT_OBJECTS = $(OPENMPT_WINESUPPORT_CXX_SOURCES:.cpp=.o) $(OPENMPT_WINESUPPORT_C_SOURCES:.c=.o) + +OPENMPT_WINESUPPORT_LDFLAGS = -Wl,-z,defs,--no-undefined +LDLIBS_OPENMPT_WINESUPPORT = + +libopenmpt_native_support.so: $(OPENMPT_WINESUPPORT_OBJECTS) + $(PROGRESS) + $(INFO) Linking $@ ... + $(SILENT)$(MPT_TARGET)$(LINK.cc) -shared $(OPENMPT_WINESUPPORT_LDFLAGS) $^ $(LOADLIBS) $(LDLIBS) $(LDLIBS_OPENMPT_WINESUPPORT) -o $@ + +endif diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.mk b/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.mk new file mode 100644 index 00000000..4868d09d --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.mk @@ -0,0 +1,134 @@ + +ifeq ($(MPT_PROGRESS_FILE),) +MPT_PROGRESS_FILE:=/dev/null +endif + +ifeq ($(MPT_WINEGCC_LANG),) +MPT_WINEGCC_LANG:=CPLUSPLUS +endif + +ifneq ($(words $(MAKECMDGOALS)),1) +.DEFAULT_GOAL = all +%: + @$(MAKE) $@ --no-print-directory -rRf $(firstword $(MAKEFILE_LIST)) +else +ifndef PROGRESS +T := $(shell $(MAKE) $(MAKECMDGOALS) --no-print-directory -nrRf $(firstword $(MAKEFILE_LIST)) PROGRESS="COUNTTHIS" | grep -c "COUNTTHIS") +N := x +C = $(words $N)$(eval N := x $N) +D = $(words $N)$(eval N := $N) +PROGRESS = @echo "`expr \( $C '-' 1 \) '*' 100 / $T`" >$(MPT_PROGRESS_FILE) +PROGRESS_ECHO = @echo "[`printf %3s \`expr \( $D '-' 1 \) '*' 100 / $T\``%]" +endif + +PROGRESS_ECHO ?= echo + +V?=2 +INFO ?= @echo +SILENT ?= @ +VERYSILENT ?= @ + +ifeq ($(V),6) +INFO = @true +SILENT = +VERYSILENT = +endif + +ifeq ($(V),5) +INFO = @true +SILENT = +VERYSILENT = +endif + +ifeq ($(V),4) +INFO = @true +SILENT = +VERYSILENT = @ +endif + +ifeq ($(V),3) +INFO = @$(PROGRESS_ECHO) +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),2) +INFO = @$(PROGRESS_ECHO) +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),1) +INFO = @true +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(V),0) +INFO = @true +SILENT = @ +VERYSILENT = @ +endif + +ifeq ($(MPT_ARCH_BITS),) +MPT_ARCH_TARGET:= +else +MPT_ARCH_TARGET:=-m$(MPT_ARCH_BITS) +endif + +CPPFLAGS += $(MPT_ARCH_TARGET) -DMPT_WINEGCC -Icommon +CXXFLAGS += $(MPT_ARCH_TARGET) -std=gnu++17 -fpermissive -fPIC -fvisibility=hidden +CFLAGS += $(MPT_ARCH_TARGET) -std=gnu99 -fPIC -fvisibility=hidden +LDFLAGS += $(MPT_ARCH_TARGET) +LDLIBS += -lm +ARFLAGS += + +CXXFLAGS += -Os -ffast-math +CFLAGS += -Os -ffast-math -fno-strict-aliasing + +CXXFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align +CFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align + +#ifeq ($(shell command -v ccache 2>/dev/null 1>/dev/null && echo yes),yes) +CCACHE=ccache +#else +CCACHE= +#endif + +.PHONY: all +all: openmpt_wine_wrapper.dll + +openmpt_wine_wrapper.dll: openmpt_wine_wrapper.dll.so + $(PROGRESS) + $(INFO) Copying $@ ... + $(VERYSILENT)cp openmpt_wine_wrapper.dll.so openmpt_wine_wrapper.dll + +ifeq ($(MPT_WINEGCC_LANG),CPLUSPLUS) + +openmpt_wine_wrapper.dll.so: openmpt_wine_wrapper.o build/wine/wine_wrapper.spec libopenmpt_native_support.so + $(PROGRESS) + $(INFO) Linking $@ ... + $(SILENT)$(WINEGXX) -shared $(CPPFLAGS) -DMPT_BUILD_WINESUPPORT_WRAPPER $(CXXFLAGS) $(LDFLAGS) "-Wl,-rpath,$(MPT_WINE_SEARCHPATH)" build/wine/wine_wrapper.spec openmpt_wine_wrapper.o -L. -lopenmpt_native_support $(LOADLIBS) $(LDLIBS) -o openmpt_wine_wrapper.dll.so + +openmpt_wine_wrapper.o: mptrack/wine/WineWrapper.cpp + $(PROGRESS) + $(INFO) Compiling $@ ... + $(SILENT)$(CCACHE) $(WINEGXX) -c $(CPPFLAGS) -DMPT_BUILD_WINESUPPORT_WRAPPER $(CXXFLAGS) mptrack/wine/WineWrapper.cpp -o openmpt_wine_wrapper.o + +endif + +ifeq ($(MPT_WINEGCC_LANG),C) + +openmpt_wine_wrapper.dll.so: openmpt_wine_wrapper.o build/wine/wine_wrapper.spec libopenmpt_native_support.so + $(PROGRESS) + $(INFO) Linking $@ ... + $(SILENT)$(WINEGXX) -shared $(CPPFLAGS) -DMPT_BUILD_WINESUPPORT_WRAPPER $(CFLAGS) $(LDFLAGS) "-Wl,-rpath,$(MPT_WINE_SEARCHPATH)" build/wine/wine_wrapper.spec openmpt_wine_wrapper.o -L. -lopenmpt_native_support $(LOADLIBS) $(LDLIBS) -o openmpt_wine_wrapper.dll.so + +openmpt_wine_wrapper.o: mptrack/wine/WineWrapper.c + $(PROGRESS) + $(INFO) Compiling $@ ... + $(SILENT)$(CCACHE) $(WINEGXX) -c $(CPPFLAGS) -DMPT_BUILD_WINESUPPORT_WRAPPER $(CFLAGS) mptrack/wine/WineWrapper.c -o openmpt_wine_wrapper.o + +endif + +endif diff --git a/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.spec b/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.spec new file mode 100644 index 00000000..7a4da665 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/build/wine/wine_wrapper.spec @@ -0,0 +1,38 @@ +@ cdecl OpenMPT_Wine_Wrapper_Init ( ) +@ cdecl OpenMPT_Wine_Wrapper_Fini ( ) +@ cdecl OpenMPT_Wine_Wrapper_Alloc ( long ) +@ cdecl OpenMPT_Wine_Wrapper_Free ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_String_Length ( str ) +@ cdecl OpenMPT_Wine_Wrapper_String_Duplicate ( str ) +@ cdecl OpenMPT_Wine_Wrapper_String_Free ( str ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_EnumerateDevices ( ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Construct ( str ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Destruct ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_SetMessageReceiver ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_SetCallback ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetDeviceInfo ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetDeviceCaps ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetDeviceDynamicCaps ( ptr str ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Init ( ptr str ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Open ( ptr str ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Close ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Start ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_Stop ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetRequestFlags ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_IsInited ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_IsOpen ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_IsAvailable ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_IsPlaying ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_IsPlayingSilence ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_StopAndAvoidPlayingSilence ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_EndPlayingSilence ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_OnIdle ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetSettings ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetActualSampleFormat ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetEffectiveBufferAttributes ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetTimeInfo ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetStreamPosition ( ptr ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_DebugIsFragileDevice ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_DebugInRealtimeCallback ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_GetStatistics ( ptr ) +@ cdecl OpenMPT_Wine_Wrapper_SoundDevice_OpenDriverSettings ( ptr ) |