Initial community commit

This commit is contained in:
Jef 2024-09-24 14:54:57 +02:00
parent 537bcbc862
commit fc06254474
16440 changed files with 4239995 additions and 2 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 )