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,27 @@
@echo off
echo "Please only run this script if downloading files from GitHub or other sites fails."
echo ""
echo "This script needs to be run with admin rights."
echo "It may additionally require KB3154520 to be installed."
echo ""
echo "For more information, see"
echo "'https://developercommunity.visualstudio.com/content/problem/201610/unable-to-download-some-components-due-to-tls-12-o.html'"
echo "and"
echo "'https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework'"
echo "."
pause
echo "Enabling system default TLS versions for .NET 2.0 32bit"
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32
echo "Enabling system default TLS versions for .NET 4.0 64bit"
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32
echo "Enabling system default TLS versions for .NET 2.0 32bit"
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
echo "Enabling system default TLS versions for .NET 4.0 64bit"
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
pause

View file

@ -0,0 +1,222 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := openmpt
LOCAL_CFLAGS +=#-std=c99
LOCAL_CPPFLAGS += -std=c++17 -fexceptions -frtti
LOCAL_CPP_FEATURES += exceptions rtti
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/src $(LOCAL_PATH)/common $(LOCAL_PATH)/build/svn_version
LOCAL_CFLAGS += -fvisibility=hidden -Wall -DLIBOPENMPT_BUILD -DMPT_WITH_ZLIB
LOCAL_CPPFLAGS +=#-fvisibility=hidden -Wall -DLIBOPENMPT_BUILD -DMPT_WITH_ZLIB
LOCAL_LDLIBS += -lz
MPT_SVNURL?=
MPT_SVNVERSION?=
MPT_SVNDATE?=
ifneq ($(MPT_SVNURL),)
LOCAL_CFLAGS += -D MPT_SVNURL=\"$(MPT_SVNURL)\"
LOCAL_CPPFLAGS +=#-D MPT_SVNURL=\"$(MPT_SVNURL)\"
endif
ifneq ($(MPT_SVNVERSION),)
LOCAL_CFLAGS += -D MPT_SVNVERSION=\"$(MPT_SVNVERSION)\"
LOCAL_CPPFLAGS +=#-D MPT_SVNVERSION=\"$(MPT_SVNVERSION)\"
endif
ifneq ($(MPT_SVNDATE),)
LOCAL_CFLAGS += -D MPT_SVNDATE=\"$(MPT_SVNDATE)\"
LOCAL_CPPFLAGS +=#-D MPT_SVNDATE=\"$(MPT_SVNDATE)\"
endif
LOCAL_SRC_FILES :=
ifeq ($(MPT_WITH_MINIMP3),1)
LOCAL_CFLAGS += -DMPT_WITH_MINIMP3
LOCAL_CPPFLAGS +=#-DMPT_WITH_MINIMP3
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_SRC_FILES += include/minimp3/minimp3.c
LOCAL_LDLIBS +=
endif
ifeq ($(MPT_WITH_MPG123),1)
LOCAL_CFLAGS += -DMPT_WITH_MPG123
LOCAL_CPPFLAGS +=#-DMPT_WITH_MPG123
LOCAL_C_INCLUDES +=
LOCAL_SRC_FILES +=
LOCAL_LDLIBS += -lmpg123
endif
ifeq ($(MPT_WITH_OGG),1)
LOCAL_CFLAGS += -DMPT_WITH_OGG
LOCAL_CPPFLAGS +=#-DMPT_WITH_OGG
LOCAL_C_INCLUDES +=
LOCAL_SRC_FILES +=
LOCAL_LDLIBS += -logg
endif
ifeq ($(MPT_WITH_STBVORBIS),1)
LOCAL_CFLAGS += -DMPT_WITH_STBVORBIS
LOCAL_CPPFLAGS +=#-DMPT_WITH_STBVORBIS
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_SRC_FILES += include/stb_vorbis/stb_vorbis.c
LOCAL_LDLIBS +=
endif
ifeq ($(MPT_WITH_VORBIS),1)
LOCAL_CFLAGS += -DMPT_WITH_VORBIS
LOCAL_CPPFLAGS +=#-DMPT_WITH_VORBIS
LOCAL_C_INCLUDES +=
LOCAL_SRC_FILES +=
LOCAL_LDLIBS += -lvorbis
endif
ifeq ($(MPT_WITH_VORBISFILE),1)
LOCAL_CFLAGS += -DMPT_WITH_VORBISFILE
LOCAL_CPPFLAGS +=#-DMPT_WITH_VORBISFILE
LOCAL_C_INCLUDES +=
LOCAL_SRC_FILES +=
LOCAL_LDLIBS += -lvorbisfile
endif
LOCAL_SRC_FILES += \
common/ComponentManager.cpp \
common/Logging.cpp \
common/mptFileIO.cpp \
common/mptPathString.cpp \
common/mptRandom.cpp \
common/mptString.cpp \
common/mptStringBuffer.cpp \
common/mptStringFormat.cpp \
common/mptStringParse.cpp \
common/mptTime.cpp \
common/Profiler.cpp \
common/serialization_utils.cpp \
common/version.cpp \
libopenmpt/libopenmpt_c.cpp \
libopenmpt/libopenmpt_cxx.cpp \
libopenmpt/libopenmpt_impl.cpp \
libopenmpt/libopenmpt_ext_impl.cpp \
soundlib/AudioCriticalSection.cpp \
soundlib/ContainerMMCMP.cpp \
soundlib/ContainerPP20.cpp \
soundlib/ContainerUMX.cpp \
soundlib/ContainerXPK.cpp \
soundlib/Dlsbank.cpp \
soundlib/Fastmix.cpp \
soundlib/InstrumentExtensions.cpp \
soundlib/ITCompression.cpp \
soundlib/ITTools.cpp \
soundlib/Load_669.cpp \
soundlib/Load_amf.cpp \
soundlib/Load_ams.cpp \
soundlib/Load_c67.cpp \
soundlib/Load_dbm.cpp \
soundlib/Load_digi.cpp \
soundlib/Load_dmf.cpp \
soundlib/Load_dsm.cpp \
soundlib/Load_dsym.cpp \
soundlib/Load_dtm.cpp \
soundlib/Load_far.cpp \
soundlib/Load_fmt.cpp \
soundlib/Load_gdm.cpp \
soundlib/Load_imf.cpp \
soundlib/Load_it.cpp \
soundlib/Load_itp.cpp \
soundlib/load_j2b.cpp \
soundlib/Load_mdl.cpp \
soundlib/Load_med.cpp \
soundlib/Load_mid.cpp \
soundlib/Load_mo3.cpp \
soundlib/Load_mod.cpp \
soundlib/Load_mt2.cpp \
soundlib/Load_mtm.cpp \
soundlib/Load_mus_km.cpp \
soundlib/Load_okt.cpp \
soundlib/Load_plm.cpp \
soundlib/Load_psm.cpp \
soundlib/Load_ptm.cpp \
soundlib/Load_s3m.cpp \
soundlib/Load_sfx.cpp \
soundlib/Load_stm.cpp \
soundlib/Load_stp.cpp \
soundlib/Load_symmod.cpp \
soundlib/Load_ult.cpp \
soundlib/Load_uax.cpp \
soundlib/Load_wav.cpp \
soundlib/Load_xm.cpp \
soundlib/Message.cpp \
soundlib/MIDIEvents.cpp \
soundlib/MIDIMacros.cpp \
soundlib/MixerLoops.cpp \
soundlib/MixerSettings.cpp \
soundlib/MixFuncTable.cpp \
soundlib/ModChannel.cpp \
soundlib/modcommand.cpp \
soundlib/ModInstrument.cpp \
soundlib/ModSample.cpp \
soundlib/ModSequence.cpp \
soundlib/modsmp_ctrl.cpp \
soundlib/mod_specifications.cpp \
soundlib/MPEGFrame.cpp \
soundlib/OggStream.cpp \
soundlib/OPL.cpp \
soundlib/Paula.cpp \
soundlib/patternContainer.cpp \
soundlib/pattern.cpp \
soundlib/RowVisitor.cpp \
soundlib/S3MTools.cpp \
soundlib/SampleFormats.cpp \
soundlib/SampleFormatBRR.cpp \
soundlib/SampleFormatFLAC.cpp \
soundlib/SampleFormatMediaFoundation.cpp \
soundlib/SampleFormatMP3.cpp \
soundlib/SampleFormatOpus.cpp \
soundlib/SampleFormatSFZ.cpp \
soundlib/SampleFormatVorbis.cpp \
soundlib/SampleIO.cpp \
soundlib/Sndfile.cpp \
soundlib/Snd_flt.cpp \
soundlib/Snd_fx.cpp \
soundlib/Sndmix.cpp \
soundlib/SoundFilePlayConfig.cpp \
soundlib/UMXTools.cpp \
soundlib/UpgradeModule.cpp \
soundlib/Tables.cpp \
soundlib/Tagging.cpp \
soundlib/TinyFFT.cpp \
soundlib/tuningCollection.cpp \
soundlib/tuning.cpp \
soundlib/WAVTools.cpp \
soundlib/WindowedFIR.cpp \
soundlib/XMTools.cpp \
soundlib/plugins/DigiBoosterEcho.cpp \
soundlib/plugins/dmo/DMOPlugin.cpp \
soundlib/plugins/dmo/DMOUtils.cpp \
soundlib/plugins/dmo/Chorus.cpp \
soundlib/plugins/dmo/Compressor.cpp \
soundlib/plugins/dmo/Distortion.cpp \
soundlib/plugins/dmo/Echo.cpp \
soundlib/plugins/dmo/Flanger.cpp \
soundlib/plugins/dmo/Gargle.cpp \
soundlib/plugins/dmo/I3DL2Reverb.cpp \
soundlib/plugins/dmo/ParamEq.cpp \
soundlib/plugins/dmo/WavesReverb.cpp \
soundlib/plugins/LFOPlugin.cpp \
soundlib/plugins/PluginManager.cpp \
soundlib/plugins/PlugInterface.cpp \
soundlib/plugins/SymMODEcho.cpp \
sounddsp/AGC.cpp \
sounddsp/DSP.cpp \
sounddsp/EQ.cpp \
sounddsp/Reverb.cpp \
test/TestToolsLib.cpp \
test/test.cpp
include $(BUILD_SHARED_LIBRARY)

View file

@ -0,0 +1,5 @@
APP_CFLAGS :=#-std=c99
APP_CPPFLAGS := -std=c++17 -fexceptions -frtti
APP_LDFLAGS :=
APP_STL := c++_shared

View file

@ -0,0 +1,21 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This is preliminary documentation.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0. The minimum required Android NDK version is r18b.
1. Copy the whole libopenmpt source tree below your jni directory.
2. Copy build/android_ndk/* into the root of libopenmpt, i.e. also into the
jni directory and adjust as needed.
3. If you want to support MO3 decoding, you have to either make libmpg123,
libogg, libvorbis and libvorbisfile available (recommended) OR build
libopenmpt with minimp3 and stb_vorbis support (not recommended).
Pass the appropriate options to ndk-build:
MPT_WITH_MINIMP3=1 : Build minimp3 into libopenmpt
MPT_WITH_MPG123=1 : Link against libmpg123 compiled externally
MPT_WITH_OGG=1 : Link against libogg compiled externally
MPT_WITH_STBVORBIS=1 : Build stb_vorbis into libopenmpt
MPT_WITH_VORBIS=1 : Link against libvorbis compiled externally
MPT_WITH_VORBISFILE=1 : Link against libvorbisfile compiled externally
4. Use ndk-build as usual.

View file

@ -0,0 +1,18 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%OPENMPT_VERSION%-%SVNVERSION%
appveyor UpdateBuild -Version "%OPENMPT_VERSION%-%SVNVERSION%-appveyor%APPVEYOR_BUILD_NUMBER%"
cd "%MY_DIR%"

View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -e
MY_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "${MY_DIR}"
cd ../..
SVN_INFO=$( svn info . > /dev/null 2>&1 ; echo $? )
if [ $SVN_INFO -eq 0 ] ; then
MPT_SVNURL="$( svn info --xml | grep '^<url>' | sed 's/<url>//g' | sed 's/<\/url>//g' )"
MPT_SVNVERSION="$( svnversion -n . | tr ':' '-' )"
MPT_SVNDATE="$( svn info --xml | grep '^<date>' | sed 's/<date>//g' | sed 's/<\/date>//g' )"
else
MPT_SVNURL=
MPT_SVNVERSION=
MPT_SVNDATE=
fi
cd build/android_ndk/
rm -f jni
ln -s ../.. jni
cd jni
rm -f Application.mk
ln -s build/android_ndk/Application.mk Application.mk
rm -f Android.mk
ln -s build/android_ndk/Android.mk Android.mk
cd ..
ndk-build MPT_SVNURL="$MPT_SVNURL" MPT_SVNVERSION="$MPT_SVNVERSION" MPT_SVNDATE="$MPT_SVNDATE" "$@" clean
ndk-build MPT_SVNURL="$MPT_SVNURL" MPT_SVNVERSION="$MPT_SVNVERSION" MPT_SVNDATE="$MPT_SVNDATE" "$@"

View file

@ -0,0 +1,37 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild openmpt123.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
if "%MPT_VS_ARCH%" == "Win32" (
msbuild in_openmpt.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild xmp-openmpt.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
)
msbuild libopenmpt.sln /target:Build /property:Configuration=ReleaseShared;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,35 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild openmpt123.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
if "%MPT_VS_ARCH%" == "Win32" (
msbuild in_openmpt.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild xmp-openmpt.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
)
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,29 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt_test.sln /target:Build /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,31 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments_winrt.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_TARGET%" || goto error
msbuild libopenmpt.sln /target:Build /property:Configuration=%MPT_VS_CONF%;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,31 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild OpenMPT%MPT_VS_FLAVOUR%.sln /target:Build /property:Configuration=%MPT_VS_CONF%;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,37 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
cmd /c build\download_externals.cmd auto nodownload || goto error
cmd /c build\auto\update_package_template.cmd || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win10 Win32 Release 7z default || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win10 x64 Release 7z default || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win10 ARM Release 7z default || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win10 ARM64 Release 7z default || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win7 Win32 Release 7z default || goto error
cmd /c build\auto\build_openmpt_args.cmd vs2019 win7 x64 Release 7z default || goto error
cmd /c build\auto\build_openmpt_release_packages_multiarch.cmd auto sign || goto error
cmd /c build\auto\build_openmpt_update_information.cmd auto || goto error
cmd /c build\auto\package_openmpt_installer_multiarch_args.cmd vs2019 win10 Win32 Release 7z default || goto error
goto noerror
:error
cd "%MY_DIR%"
echo "FAILED."
pause
exit 1
:noerror
cd "%MY_DIR%"
echo "ALL OK."
pause
exit 0

View file

@ -0,0 +1,51 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
set MY_DIR=%CD%
cd ..\.. || goto error
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
cd build\auto || goto error
set BUILD_PARAMS=--localtools --singlethreaded
if "x%1" == "xauto" (
set BUILD_PARAMS=%BUILD_PARAMS% --noninteractive
if "x%2" == "xsign" (
set BUILD_PARAMS=%BUILD_PARAMS% --sign-binaries --sign-installer
)
) else (
if "x%1" == "xsign" (
set BUILD_PARAMS=%BUILD_PARAMS% --sign-binaries --sign-installer
)
)
..\..\build\tools\python3\python.exe ..\..\build\auto\build_openmpt_release_packages_multiarch.py %BUILD_PARAMS% || goto error
set BUILD_PARAMS=
cd "%MY_DIR%"
goto ok
:ok
echo "All OK."
if "x%1" == "xauto" (
exit 0
)
goto end
:error
echo "Error!"
if "x%1" == "xauto" (
exit 1
)
goto end
:end
cd %MY_DIR%
pause

View file

@ -0,0 +1,348 @@
#!/usr/bin/env python3
# OpenMPT packaging script
# https://openmpt.org/
from pathlib import Path
from subprocess import Popen
from sys import executable
import os, shutil, hashlib
import sys
path7z = "C:\\Program Files\\7-Zip\\7z.exe"
pathISCC = "C:\\Program Files (x86)\\Inno Setup\\ISCC.exe"
singleThreaded = False
interactive = True
signBinaries = False
signInstaller = False
for arg in sys.argv:
if arg == '--localtools':
path7z = "build\\tools\\7zip\\7z.exe"
pathISCC = "build\\tools\\innosetup\\{app}\\ISCC.exe"
if arg == '--singlethreaded':
singleThreaded = True
if arg == '--noninteractive':
interactive = False
if arg == '--sign-binaries':
signBinaries = True
if arg == '--sign-installer':
signInstaller = True
def get_version_number():
with open('common/versionNumber.h', 'r') as f:
lines = f.readlines()
majormajor = 0
major = 0
minor = 0
minorminor = 0
for line in lines:
tokens = line.split()
if len(tokens) == 3:
if tokens[0] == '#define':
if tokens[1] == 'VER_MAJORMAJOR':
majormajor = int(tokens[2])
if tokens[1] == 'VER_MAJOR':
major = int(tokens[2])
if tokens[1] == 'VER_MINOR':
minor = int(tokens[2])
if tokens[1] == 'VER_MINORMINOR':
minorminor = int(tokens[2])
if majormajor < 1:
raise Exception("Could not parse version!")
if major < 1:
raise Exception("Could not parse version!")
if minor == 0 and minorminor == 0:
raise Exception("Could not parse version!")
return ("%d.%02d.%02d.%02d" % (majormajor, major, minor, minorminor), "%d.%02d" % (majormajor, major))
os.chdir(os.path.dirname(os.path.abspath(__file__)))
os.chdir("../..")
(openmpt_version, openmpt_version_short) = get_version_number()
def remove_file(filename):
if os.path.isfile(filename):
os.remove(filename)
def remove_dir(dirname):
if os.path.isdir(dirname):
shutil.rmtree(dirname)
openmpt_version_name = "OpenMPT-" + openmpt_version
openmpt_zip_x86_basepath = "installer/OpenMPT-" + openmpt_version + "-x86/"
openmpt_zip_x86_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-x86-legacy/"
openmpt_zip_amd64_basepath = "installer/OpenMPT-" + openmpt_version + "-amd64/"
openmpt_zip_amd64_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-amd64-legacy/"
openmpt_zip_arm_basepath = "installer/OpenMPT-" + openmpt_version + "-arm/"
openmpt_zip_arm64_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64/"
openmpt_zip_symbols_basepath = "installer/OpenMPT-" + openmpt_version + "-symbols/"
openmpt_zip_x86_path = openmpt_zip_x86_basepath
openmpt_zip_x86_legacy_path = openmpt_zip_x86_legacy_basepath
openmpt_zip_amd64_path = openmpt_zip_amd64_basepath
openmpt_zip_amd64_legacy_path = openmpt_zip_amd64_legacy_basepath
openmpt_zip_arm_path = openmpt_zip_arm_basepath
openmpt_zip_arm64_path = openmpt_zip_arm64_basepath
openmpt_zip_symbols_path = openmpt_zip_symbols_basepath
def copy_file(from_path, to_path, filename):
shutil.copyfile(from_path + filename, to_path + filename)
def copy_tree(from_path, to_path, pathname):
shutil.copytree(from_path + pathname, to_path + pathname)
def copy_binaries(from_path, to_path):
os.makedirs(to_path)
copy_file(from_path, to_path, "OpenMPT.exe")
copy_file(from_path, to_path, "openmpt-lame.dll")
copy_file(from_path, to_path, "openmpt-mpg123.dll")
copy_file(from_path, to_path, "openmpt-soundtouch.dll")
copy_file(from_path, to_path, "openmpt-wine-support.zip")
def copy_pluginbridge(from_path, arch, to_path):
copy_file(from_path + arch + "/", to_path, "PluginBridge-" + arch + ".exe")
copy_file(from_path + arch + "/", to_path, "PluginBridgeLegacy-" + arch + ".exe")
def copy_symbols(from_path, to_path):
os.makedirs(to_path)
copy_file(from_path, to_path, "OpenMPT.pdb")
copy_file(from_path, to_path, "openmpt-lame.pdb")
copy_file(from_path, to_path, "openmpt-mpg123.pdb")
copy_file(from_path, to_path, "openmpt-soundtouch.pdb")
def copy_symbols_pluginbridge(from_path, to_path, arch):
copy_file(from_path, to_path, "PluginBridge-" + arch + ".pdb")
copy_file(from_path, to_path, "PluginBridgeLegacy-" + arch + ".pdb")
def copy_other(to_path, openmpt_version_short):
copy_tree("packageTemplate/", to_path, "ExampleSongs")
copy_tree("packageTemplate/", to_path, "extraKeymaps")
copy_tree("packageTemplate/", to_path, "ReleaseNotesImages")
copy_tree("packageTemplate/", to_path, "Licenses")
copy_file("packageTemplate/", to_path, "History.txt")
copy_file("packageTemplate/", to_path, "License.txt")
copy_file("packageTemplate/", to_path, "OpenMPT Issue Tracker.url")
copy_file("packageTemplate/", to_path, "OpenMPT Support and Community Forum.url")
copy_file("packageTemplate/", to_path, "OpenMPT File Icon.ico")
copy_file("packageTemplate/", to_path, "Release Notes.html")
copy_file("packageTemplate/", to_path, "OpenMPT Manual.chm")
copy_file("packageTemplate/", to_path, "readme.txt")
remove_dir(openmpt_zip_x86_basepath)
remove_dir(openmpt_zip_amd64_basepath)
remove_dir(openmpt_zip_arm_basepath)
remove_dir(openmpt_zip_arm64_basepath)
remove_dir(openmpt_zip_symbols_basepath)
remove_file("installer/" + openmpt_version_name + "-Setup.exe")
remove_file("installer/" + openmpt_version_name + "-Setup.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-x86.zip")
remove_file("installer/" + openmpt_version_name + "-portable-x86.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-x86-legacy.zip")
remove_file("installer/" + openmpt_version_name + "-portable-x86-legacy.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-amd64.zip")
remove_file("installer/" + openmpt_version_name + "-portable-amd64.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip")
remove_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-arm.zip")
remove_file("installer/" + openmpt_version_name + "-portable-arm.update.json")
remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip")
remove_file("installer/" + openmpt_version_name + "-portable-arm64.update.json")
remove_file("installer/" + openmpt_version_name + "-symbols.7z")
remove_file("installer/" + openmpt_version_name + "-Setup.exe.digests")
remove_file("installer/" + openmpt_version_name + "-portable-x86.zip.digests")
remove_file("installer/" + openmpt_version_name + "-portable-x86-legacy.zip.digests")
remove_file("installer/" + openmpt_version_name + "-portable-amd64.zip.digests")
remove_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip.digests")
remove_file("installer/" + openmpt_version_name + "-portable-arm.zip.digests")
remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip.digests")
remove_file("installer/" + openmpt_version_name + "-symbols.7z.digests")
remove_file("installer/" + openmpt_version_name + "-update.json")
print("Generating manual...")
pManual = Popen([executable, "wiki.py"], cwd="mptrack/manual_generator/")
if singleThreaded:
pManual.communicate()
if(pManual.returncode != 0):
raise Exception("Something went wrong during manual creation!")
sourcePathModern = "bin/release/vs2019-win10-static/"
sourcePathLegacy = "bin/release/vs2019-win7-static/"
signToolCmdLine = ["signtool", "sign", "/fd", "sha256", "/a", "/tr", "http://time.certum.pl", "/td", "sha256"]
def list_binaries(path):
binaries = []
for f in os.listdir(path):
if f.endswith((".exe", ".dll")):
binaries.append(path + f)
return binaries
if(signBinaries):
print("Signing binaries...")
signDirs = [sourcePathModern + "x86/", sourcePathLegacy + "x86/", sourcePathModern + "amd64/", sourcePathLegacy + "amd64/", sourcePathModern + "arm/", sourcePathModern + "arm64/"]
signFiles = []
for dir in signDirs:
signFiles = signFiles + list_binaries(dir)
pSigntool = Popen(signToolCmdLine + signFiles)
pSigntool.communicate()
if(pSigntool.returncode != 0):
raise Exception("Something went wrong during signing!")
print("Copying x86 binaries...")
shutil.rmtree(openmpt_zip_x86_basepath, ignore_errors=True)
copy_binaries(sourcePathModern + "x86/", openmpt_zip_x86_path)
copy_pluginbridge(sourcePathModern, "x86", openmpt_zip_x86_path)
copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_x86_path)
copy_pluginbridge(sourcePathModern, "arm", openmpt_zip_x86_path)
copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_x86_path)
Path(openmpt_zip_x86_path + "OpenMPT.portable").touch()
print("Copying x86 legacy binaries...")
shutil.rmtree(openmpt_zip_x86_legacy_basepath, ignore_errors=True)
copy_binaries(sourcePathLegacy + "x86/", openmpt_zip_x86_legacy_path)
copy_pluginbridge(sourcePathLegacy, "x86", openmpt_zip_x86_legacy_path)
copy_pluginbridge(sourcePathLegacy, "amd64", openmpt_zip_x86_legacy_path)
Path(openmpt_zip_x86_legacy_path + "OpenMPT.portable").touch()
print("Copying amd64 binaries...")
shutil.rmtree(openmpt_zip_amd64_basepath, ignore_errors=True)
copy_binaries(sourcePathModern + "amd64/", openmpt_zip_amd64_path)
copy_pluginbridge(sourcePathModern, "x86", openmpt_zip_amd64_path)
copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_amd64_path)
copy_pluginbridge(sourcePathModern, "arm", openmpt_zip_amd64_path)
copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_amd64_path)
Path(openmpt_zip_amd64_path + "OpenMPT.portable").touch()
print("Copying amd64 legacy binaries...")
shutil.rmtree(openmpt_zip_amd64_legacy_basepath, ignore_errors=True)
copy_binaries(sourcePathLegacy + "amd64/", openmpt_zip_amd64_legacy_path)
copy_pluginbridge(sourcePathLegacy, "x86", openmpt_zip_amd64_legacy_path)
copy_pluginbridge(sourcePathLegacy, "amd64", openmpt_zip_amd64_legacy_path)
Path(openmpt_zip_amd64_legacy_path + "OpenMPT.portable").touch()
print("Copying arm binaries...")
shutil.rmtree(openmpt_zip_arm_basepath, ignore_errors=True)
copy_binaries(sourcePathModern + "arm/", openmpt_zip_arm_path)
copy_pluginbridge(sourcePathModern, "x86", openmpt_zip_arm_path)
copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_arm_path)
copy_pluginbridge(sourcePathModern, "arm", openmpt_zip_arm_path)
copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_arm_path)
Path(openmpt_zip_arm_path + "OpenMPT.portable").touch()
print("Copying arm64 binaries...")
shutil.rmtree(openmpt_zip_arm64_basepath, ignore_errors=True)
copy_binaries(sourcePathModern + "arm64/", openmpt_zip_arm64_path)
copy_pluginbridge(sourcePathModern, "x86", openmpt_zip_arm64_path)
copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_arm64_path)
copy_pluginbridge(sourcePathModern, "arm", openmpt_zip_arm64_path)
copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_arm64_path)
Path(openmpt_zip_arm64_path + "OpenMPT.portable").touch()
print("Copying symbols...")
shutil.rmtree(openmpt_zip_symbols_basepath, ignore_errors=True)
copy_symbols(sourcePathModern + "x86/", openmpt_zip_symbols_path + "x86/")
copy_symbols(sourcePathLegacy + "x86/", openmpt_zip_symbols_path + "x86-legacy/")
copy_symbols(sourcePathModern + "amd64/", openmpt_zip_symbols_path + "amd64/")
copy_symbols(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/")
copy_symbols(sourcePathModern + "arm/", openmpt_zip_symbols_path + "arm/")
copy_symbols(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/")
copy_symbols_pluginbridge(sourcePathModern + "x86/", openmpt_zip_symbols_path + "x86/", "x86")
copy_symbols_pluginbridge(sourcePathLegacy + "x86/", openmpt_zip_symbols_path + "x86-legacy/", "x86")
copy_symbols_pluginbridge(sourcePathModern + "amd64/", openmpt_zip_symbols_path + "amd64/", "amd64")
copy_symbols_pluginbridge(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/", "amd64")
copy_symbols_pluginbridge(sourcePathModern + "arm/", openmpt_zip_symbols_path + "arm/", "arm")
copy_symbols_pluginbridge(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/", "arm64")
if not singleThreaded:
pManual.communicate()
if(pManual.returncode != 0):
raise Exception("Something went wrong during manual creation!")
print("Updating package template...")
pTemplate = Popen(["build\\auto\\update_package_template.cmd"], cwd="./")
pTemplate.communicate()
if(pTemplate.returncode != 0):
raise Exception("Something went wrong during updating package template!")
print("Other package contents...")
copy_other(openmpt_zip_x86_path, openmpt_version_short)
copy_other(openmpt_zip_x86_legacy_path, openmpt_version_short)
copy_other(openmpt_zip_amd64_path, openmpt_version_short)
copy_other(openmpt_zip_amd64_legacy_path, openmpt_version_short)
copy_other(openmpt_zip_arm_path, openmpt_version_short)
copy_other(openmpt_zip_arm64_path, openmpt_version_short)
print("Creating zip files and installers...")
isccParams = ["install-multi-arch.iss"]
if signInstaller:
isccParams = ["/Ssigntool=" + (" ".join(signToolCmdLine)) + " $f", "install-multi-arch-signed.iss"]
pInno = Popen([pathISCC] + isccParams, cwd="installer/")
if singleThreaded:
pInno.communicate()
p7zx86 = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-x86.zip", "."], cwd=openmpt_zip_x86_basepath)
if singleThreaded:
p7zx86.communicate()
p7zx86legacy = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-x86-legacy.zip", "."], cwd=openmpt_zip_x86_legacy_basepath)
if singleThreaded:
p7zx86legacy.communicate()
p7zamd64 = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-amd64.zip", "."], cwd=openmpt_zip_amd64_basepath)
if singleThreaded:
p7zamd64.communicate()
p7zamd64legacy = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-amd64-legacy.zip", "."], cwd=openmpt_zip_amd64_legacy_basepath)
if singleThreaded:
p7zamd64legacy.communicate()
p7zarm = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm.zip", "."], cwd=openmpt_zip_arm_basepath)
if singleThreaded:
p7zarm.communicate()
p7zarm64 = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64.zip", "."], cwd=openmpt_zip_arm64_basepath)
if singleThreaded:
p7zarm64.communicate()
p7zsymbols = Popen([path7z, "a", "-t7z", "-mx=9", "../" + openmpt_version_name + "-symbols.7z", "."], cwd=openmpt_zip_symbols_basepath)
if singleThreaded:
p7zsymbols.communicate()
if not singleThreaded:
pInno.communicate()
p7zx86.communicate()
p7zx86legacy.communicate()
p7zamd64.communicate()
p7zamd64legacy.communicate()
p7zarm.communicate()
p7zarm64.communicate()
p7zsymbols.communicate()
if(p7zx86.returncode != 0 or p7zx86legacy.returncode != 0 or p7zamd64.returncode != 0 or p7zamd64legacy.returncode != 0 or p7zarm.returncode != 0 or p7zarm64.returncode != 0 or pInno.returncode != 0):
raise Exception("Something went wrong during packaging!")
def hash_file(filename):
sha3_512 = hashlib.sha3_512()
sha256 = hashlib.sha256()
with open(filename, "rb") as f:
buf = f.read()
sha3_512.update(buf)
sha256.update(buf)
with open(filename + ".digests", "wb") as f:
f.write(("SHA3-512: " + sha3_512.hexdigest() + "\nSHA256: " + sha256.hexdigest() + "\n").encode('utf-8'))
f.close()
hash_file("installer/" + openmpt_version_name + "-Setup.exe")
hash_file("installer/" + openmpt_version_name + "-portable-x86.zip")
hash_file("installer/" + openmpt_version_name + "-portable-x86-legacy.zip")
hash_file("installer/" + openmpt_version_name + "-portable-amd64.zip")
hash_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip")
hash_file("installer/" + openmpt_version_name + "-portable-arm.zip")
hash_file("installer/" + openmpt_version_name + "-portable-arm64.zip")
hash_file("installer/" + openmpt_version_name + "-symbols.7z")
shutil.rmtree(openmpt_zip_x86_basepath)
shutil.rmtree(openmpt_zip_x86_legacy_basepath)
shutil.rmtree(openmpt_zip_amd64_basepath)
shutil.rmtree(openmpt_zip_amd64_legacy_basepath)
shutil.rmtree(openmpt_zip_arm_basepath)
shutil.rmtree(openmpt_zip_arm64_basepath)
shutil.rmtree(openmpt_zip_symbols_basepath)
if interactive:
input(openmpt_version_name + " has been packaged successfully.")

View file

@ -0,0 +1,37 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
set MY_DIR=%CD%
cd ..\.. || goto error
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
cd build\auto || goto error
..\..\build\tools\python3\python.exe ..\..\installer\generate_update_json.py || goto error
cd "%MY_DIR%"
goto ok
:ok
echo "All OK."
if "x%1" == "xauto" (
exit 0
)
goto end
:error
echo "Error!"
if "x%1" == "xauto" (
exit 1
)
goto end
:end
cd %MY_DIR%
pause

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e
function checkclean {
if [ $(svn status | wc -l) -ne 0 ]; then
return 1
fi
return 0
}
checkclean || ( echo "error: Working copy not clean" ; exit 1 )
./build/svn/run_clang-format.sh
checkclean || ( echo "warning: Formatting does not adhere to enforced clang-format rules." ; svn diff )
svn revert -R .

View file

@ -0,0 +1,37 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild openmpt123.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
if "%MPT_VS_ARCH%" == "Win32" (
msbuild in_openmpt.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild xmp-openmpt.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
)
msbuild libopenmpt.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=ReleaseShared;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,29 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt_test.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,31 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments_winrt.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_TARGET%" || goto error
msbuild libopenmpt.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=%MPT_VS_CONF%;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,31 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild OpenMPT%MPT_VS_FLAVOUR%.sln /target:Build /p:RunCodeAnalysis=true /p:EnableCppCoreCheck=false /property:Configuration=%MPT_VS_CONF%;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
rm -rf bin/stage
make CONFIG=emscripten VERBOSE=1 clean-dist
make CONFIG=emscripten EMSCRIPTEN_TARGET=wasm VERBOSE=1 clean
make CONFIG=emscripten EMSCRIPTEN_TARGET=asmjs128m VERBOSE=1 clean
make CONFIG=emscripten EMSCRIPTEN_TARGET=asmjs VERBOSE=1 clean
make CONFIG=emscripten EMSCRIPTEN_TARGET=js VERBOSE=1 clean

View file

@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -e
#
# Dist clean script for libopenmpt.
#
# This is meant to be run by the libopenmpt maintainers.
#
# WARNING: The script expects the be run from the root of an OpenMPT svn
# checkout. It invests no effort in verifying this precondition.
#
# We want ccache
export PATH="/usr/lib/ccache:$PATH"
# Clean dist
make NO_SDL=1 NO_SDL2=1 clean-dist
# Clean
make NO_SDL=1 NO_SDL2=1 clean

View file

@ -0,0 +1,39 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt_test.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild libopenmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild openmpt123.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
if "%MPT_VS_ARCH%" == "Win32" (
msbuild in_openmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild xmp-openmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
)
msbuild libopenmpt.sln /target:Clean /property:Configuration=ReleaseShared;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,39 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild libopenmpt_test.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild libopenmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild openmpt123.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
if "%MPT_VS_ARCH%" == "Win32" (
msbuild in_openmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild xmp-openmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
)
msbuild libopenmpt.sln /target:Clean /property:Configuration=ReleaseShared;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,33 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments_winrt.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_TARGET%" || goto error
msbuild libopenmpt.sln /target:Clean /property:Configuration=Release;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
msbuild libopenmpt.sln /target:Clean /property:Configuration=ReleaseShared;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,31 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
cd "build\%MPT_VS_WITHTARGET%" || goto error
msbuild OpenMPT%MPT_VS_FLAVOUR%.sln /target:Clean /property:Configuration=%MPT_VS_CONF%;Platform=%MPT_VS_ARCH% /maxcpucount /verbosity:minimal || goto error
cd ..\.. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,37 @@
#!/usr/bin/env bash
# Usage: build/auto/cppcheck_openmpt.sh [win32W|win64|win32A] [options]
set -e
CPPCHECK_INCLUDES="-Isrc -Iinclude -Iinclude/vstsdk2.4 -Iinclude/ASIOSDK2/common -Iinclude/flac/include -Iinclude/lame/include -Iinclude/lhasa/lib/public -Iinclude/mpg123/ports/MSVC++ -Iinclude/mpg123/src/libmpg123 -Iinclude/ogg/include -Iinclude/opus/include -Iinclude/opusenc/include -Iinclude/opusfile/include -Iinclude/portaudio/include -Iinclude/rtaudio -Iinclude/vorbis/include -Iinclude/zlib -Icommon -Isoundlib -Ibuild/svn_version"
CPPCHECK_DEFINES="-DMODPLUG_TRACKER -DMPT_BUILD_MSVC -DMPT_BUILD_MSVC_STATIC"
case ${1} in
win32W)
CPPCHECK_PLATFORM="--platform=win32W -D_WIN32 -DWIN32 -D_UNICODE -DUNICODE -D_WINDOWS -DWINDOWS -D_MFC_VER"
;;
win64)
CPPCHECK_PLATFORM="--platform=win64 -D_WIN32 -DWIN32 -D_WIN64 -DWIN64 -D_UNICODE -DUNICODE -D_WINDOWS -DWINDOWS -D_MFC_VER"
;;
win32A)
CPPCHECK_PLATFORM="--platform=win32A -D_WIN32 -DWIN32 -D_WINDOWS -DWINDOWS -D_MFC_VER"
;;
*)
CPPCHECK_PLATFORM=""
;;
esac
CPPCHECK_OPTIONS=${2}
CPPCHECK_FILES="common/ soundbase/ sounddev/ sounddsp/ soundlib/ test/ unarchiver/ mptrack/ pluginBridge/"
NPROC=$(nproc)
echo "Platform: $CPPCHECK_PLATFORM"
echo "Checking config ..."
cppcheck -j $NPROC -DCPPCHECK -DMPT_CPPCHECK_CUSTOM $CPPCHECK_PLATFORM --std=c99 --std=c++17 --library=windows.cfg --library=microsoft_atl.cfg --library=mfc.cfg --library=build/cppcheck/nlohmann-json.cfg --suppressions-list=build/cppcheck/nlohmann-json.suppressions.txt --suppressions-list=build/cppcheck/r8brain.suppressions.txt --enable=warning --inline-suppr --template='{file}:{line}: warning: {severity}: {message} [{id}]' --suppress=missingIncludeSystem --suppress=uninitMemberVar $CPPCHECK_OPTIONS $CPPCHECK_DEFINES $CPPCHECK_INCLUDES --check-config --suppress=unmatchedSuppression $CPPCHECK_FILES
echo "Checking C++ ..."
cppcheck -j $NPROC -DCPPCHECK -DMPT_CPPCHECK_CUSTOM $CPPCHECK_PLATFORM --std=c99 --std=c++17 --library=windows.cfg --library=microsoft_atl.cfg --library=mfc.cfg --library=build/cppcheck/nlohmann-json.cfg --suppressions-list=build/cppcheck/nlohmann-json.suppressions.txt --suppressions-list=build/cppcheck/r8brain.suppressions.txt --enable=warning --inline-suppr --template='{file}:{line}: warning: {severity}: {message} [{id}]' --suppress=missingIncludeSystem --suppress=uninitMemberVar $CPPCHECK_OPTIONS $CPPCHECK_DEFINES $CPPCHECK_INCLUDES $CPPCHECK_FILES

View file

@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -e
mkdir -p bin
rm -rf bin/stage
mkdir -p bin/stage
make CONFIG=emscripten VERBOSE=1 clean-dist
make CONFIG=emscripten EMSCRIPTEN_TARGET=all VERBOSE=1 clean
make CONFIG=emscripten EMSCRIPTEN_TARGET=wasm VERBOSE=1 clean
make CONFIG=emscripten EMSCRIPTEN_TARGET=js VERBOSE=1 clean
mkdir -p bin/stage/all
make CONFIG=emscripten EMSCRIPTEN_TARGET=all VERBOSE=1 clean
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=all VERBOSE=1
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=all VERBOSE=1 check
make CONFIG=emscripten TEST=0 EMSCRIPTEN_TARGET=all VERBOSE=1
cp bin/libopenmpt.js bin/stage/all/
cp bin/libopenmpt.js.mem bin/stage/all/
cp bin/libopenmpt.wasm bin/stage/all/
cp bin/libopenmpt.wasm.js bin/stage/all/
make CONFIG=emscripten EMSCRIPTEN_TARGET=all VERBOSE=1 clean
mkdir -p bin/stage/wasm
make CONFIG=emscripten EMSCRIPTEN_TARGET=wasm VERBOSE=1 clean
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=wasm VERBOSE=1
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=wasm VERBOSE=1 check
make CONFIG=emscripten TEST=0 EMSCRIPTEN_TARGET=wasm VERBOSE=1
cp bin/libopenmpt.js bin/stage/wasm/
cp bin/libopenmpt.wasm bin/stage/wasm/
make CONFIG=emscripten EMSCRIPTEN_TARGET=wasm VERBOSE=1 clean
mkdir -p bin/stage/js
make CONFIG=emscripten EMSCRIPTEN_TARGET=js VERBOSE=1 clean
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=js VERBOSE=1
make CONFIG=emscripten TEST=1 ONLY_TEST=1 EMSCRIPTEN_TARGET=js VERBOSE=1 check
make CONFIG=emscripten TEST=0 EMSCRIPTEN_TARGET=js VERBOSE=1
cp bin/libopenmpt.js bin/stage/js/
cp bin/libopenmpt.js.mem bin/stage/js/
make CONFIG=emscripten EMSCRIPTEN_TARGET=js VERBOSE=1 clean
make CONFIG=emscripten VERBOSE=1 dist-js

View file

@ -0,0 +1,124 @@
#!/usr/bin/env bash
set -e
#
# Dist script for libopenmpt.
#
# This is meant to be run by the libopenmpt maintainers.
#
# WARNING: The script expects the be run from the root of an OpenMPT svn
# checkout. It invests no effort in verifying this precondition.
#
# We want ccache
export PATH="/usr/lib/ccache:$PATH"
# Create bin directory
mkdir -p bin
# Check that the API headers are standard compliant
echo "Checking C header ..."
echo '#include <stddef.h>' > bin/empty.c
echo '' > bin/headercheck.c
echo '#include "libopenmpt/libopenmpt.h"' >> bin/headercheck.c
echo 'int main() { return 0; }' >> bin/headercheck.c
echo " cc"
cc -pedantic -Wall -Wextra -Werror -I. bin/headercheck.c -o bin/headercheck.cc.out
echo " cc 89"
cc -std=c89 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.c -o bin/headercheck.cc89.out
echo " cc 99"
cc -std=c99 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.c -o bin/headercheck.cc99.out
echo " cc 11"
cc -std=c11 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.c -o bin/headercheck.cc11.out
if cc -std=c18 -c bin/empty.c -o bin/empty.cc18.out > /dev/null 2>&1 ; then
echo " cc 18"
cc -std=c18 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.c -o bin/headercheck.cc18.out
fi
echo " gcc 89"
gcc -std=c89 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.gcc89.out
echo " gcc 99"
gcc -std=c99 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.gcc99.out
echo " gcc 11"
gcc -std=c11 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.gcc11.out
if gcc -std=c18 -c bin/empty.c -o bin/empty.gcc18.out > /dev/null 2>&1 ; then
echo " gcc 18"
gcc -std=c18 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.gcc18.out
fi
echo " clang 89"
clang -std=c89 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.clang89.out
echo " clang 99"
clang -std=c99 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.clang99.out
echo " clang 11"
clang -std=c11 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.clang11.out
if clang -std=c18 -c bin/empty.c -o bin/empty.clang18.out > /dev/null 2>&1 ; then
echo " clang 18"
clang -std=c18 -pedantic -Wall -Wextra -Wpedantic -Werror -I. bin/headercheck.c -o bin/headercheck.clang18.out
fi
if [ `uname -s` != "Darwin" ] ; then
if [ `uname -m` == "x86_64" ] ; then
echo " tcc"
tcc -Wall -Wunusupported -Wwrite-strings -Werror -I. bin/headercheck.c -o bin/headercheck.tcc.out
fi
fi
rm bin/headercheck.*.out
rm bin/headercheck.c
echo "Checking C++ header ..."
echo '#include <array>' > bin/empty.cpp
touch bin/empty.dummy.out
echo '' > bin/headercheck.cpp
echo '#include "libopenmpt/libopenmpt.hpp"' >> bin/headercheck.cpp
echo 'int main() { return 0; }' >> bin/headercheck.cpp
#echo " c++"
#c++ -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp.out
echo " c++ 17"
c++ -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp17.out
if c++ -std=c++20 -c bin/empty.cpp -o bin/empty.cpp20.out > /dev/null 2>&1 ; then
echo " c++ 20"
c++ -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp20.out
fi
echo " g++ 17"
g++ -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.gpp17.out
if g++ -std=c++20 -c bin/empty.cpp -o bin/empty.gpp20.out > /dev/null 2>&1 ; then
echo " g++ 20"
g++ -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.gpp20.out
fi
echo " clang++ 17"
clang++ -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.clangpp17.out
if clang++ -std=c++20 -c bin/empty.cpp -o bin/empty.clangpp20.out > /dev/null 2>&1 ; then
echo " clang++ 20"
clang++ -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.clangpp20.out
fi
rm bin/headercheck.*.out
rm bin/headercheck.cpp
rm bin/empty.*.out
rm bin/empty.cpp
rm bin/empty.c
echo "Checking version helper ..."
c++ -Wall -Wextra -I. -Isrc -Icommon build/auto/helper_get_openmpt_version.cpp -o bin/helper_get_openmpt_version
rm bin/helper_get_openmpt_version
# Clean dist
make NO_SDL=1 NO_SDL2=1 clean-dist
# Check the build
make NO_SDL=1 NO_SDL2=1 STRICT=1 clean
make NO_SDL=1 NO_SDL2=1 STRICT=1
make NO_SDL=1 NO_SDL2=1 STRICT=1 check
make NO_SDL=1 NO_SDL2=1 STRICT=1 clean
# Build Unix-like tarball, Windows zipfile and docs tarball
if `svn info . > /dev/null 2>&1` ; then
make NO_SDL=1 NO_SDL2=1 SILENT_DOCS=1 dist
fi
# Clean
make NO_SDL=1 NO_SDL2=1 clean
# Build autoconfiscated tarball
./build/autotools/autoconfiscate.sh
# Test autotools tarball
./build/autotools/test_tarball.sh

View file

@ -0,0 +1,52 @@
@echo off
cd build\auto
cl /I..\.. /I..\..\src /I..\..\common /EHsc helper_get_openmpt_version.cpp
cd ..\..
build\auto\helper_get_openmpt_version.exe openmpt > openmpt_version.txt
set /p OPENMPT_VERSION=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe openmpt-version-majormajor > openmpt_version.txt
set /p OPENMPT_VERSION_MAJORMAJOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe openmpt-version-major > openmpt_version.txt
set /p OPENMPT_VERSION_MAJOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe openmpt-version-minor > openmpt_version.txt
set /p OPENMPT_VERSION_MINOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe openmpt-version-minorminor > openmpt_version.txt
set /p OPENMPT_VERSION_MINORMINOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe libopenmpt-version-major > openmpt_version.txt
set /p LIBOPENMPT_VERSION_MAJOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe libopenmpt-version-minor > openmpt_version.txt
set /p LIBOPENMPT_VERSION_MINOR=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe libopenmpt-version-patch > openmpt_version.txt
set /p LIBOPENMPT_VERSION_PATCH=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe libopenmpt-version-prerel > openmpt_version.txt
set /p LIBOPENMPT_VERSION_PREREL=<openmpt_version.txt
del /f openmpt_version.txt
build\auto\helper_get_openmpt_version.exe libopenmpt-version-string > openmpt_version.txt
set /p LIBOPENMPT_VERSION_STRING=<openmpt_version.txt
del /f openmpt_version.txt
cd build\auto
del /f helper_get_openmpt_version.obj
del /f helper_get_openmpt_version.exe
cd ..\..
rem echo %OPENMPT_VERSION%

View file

@ -0,0 +1,71 @@
#define LIBOPENMPT_BUILD
#include "common/BuildSettings.h"
#include <iostream>
#include <string>
#include <vector>
#include "common/versionNumber.h"
#include "libopenmpt/libopenmpt_version.h"
#define VER_HELPER_STRINGIZE(x) #x
#define VER_STRINGIZE(x) VER_HELPER_STRINGIZE(x)
int main( int argc, char * argv [] ) {
std::vector<std::string> args = std::vector<std::string>( argv, argv + argc );
for ( std::vector<std::string>::const_iterator i = args.begin(); i != args.end(); ++i ) {
if ( i == args.begin() ) {
// skip program name
continue;
}
std::string arg = *i;
if ( arg == "" ) {
std::cout << "unknown" << std::endl;
} else if ( arg == "openmpt" ) {
std::cout << VER_STRINGIZE(VER_MAJORMAJOR) << "." << VER_STRINGIZE(VER_MAJOR) << "." << VER_STRINGIZE(VER_MINOR) << "." << VER_STRINGIZE(VER_MINORMINOR) << std::endl;
} else if ( arg == "openmpt-version-majormajor" ) {
std::cout << VER_STRINGIZE(VER_MAJORMAJOR) << std::endl;
} else if ( arg == "openmpt-version-major" ) {
std::cout << VER_STRINGIZE(VER_MAJOR) << std::endl;
} else if ( arg == "openmpt-version-minor" ) {
std::cout << VER_STRINGIZE(VER_MINOR) << std::endl;
} else if ( arg == "openmpt-version-minorminor" ) {
std::cout << VER_STRINGIZE(VER_MINORMINOR) << std::endl;
#ifdef OPENMPT_API_VERSION_MAJOR
} else if ( arg == "libopenmpt-version-major" ) {
std::cout << OPENMPT_API_VERSION_MAJOR << std::endl;
#endif
#ifdef OPENMPT_API_VERSION_MINOR
} else if ( arg == "libopenmpt-version-minor" ) {
std::cout << OPENMPT_API_VERSION_MINOR << std::endl;
#endif
#ifdef OPENMPT_API_VERSION_PATCH
} else if ( arg == "libopenmpt-version-patch" ) {
std::cout << OPENMPT_API_VERSION_PATCH << std::endl;
#endif
#ifdef OPENMPT_API_VERSION_PREREL
} else if ( arg == "libopenmpt-version-prerel" ) {
std::cout << OPENMPT_API_VERSION_PREREL << std::endl;
#endif
#ifdef OPENMPT_API_VERSION_STRING
} else if ( arg == "libopenmpt-version-string" ) {
std::cout << OPENMPT_API_VERSION_STRING << std::endl;
#endif
} else {
std::cout << "unknown" << std::endl;
}
}
return 0;
}

View file

@ -0,0 +1,48 @@
@echo off
set SVNVERSION=unknown
set SVNVERSION_VALID=false
del /f svnversion.txt
if "x%SVNVERSION%" == "xunknown" (
set SVNVERSION_VALID=true
svnversion > svnversion.txt
if errorlevel 1 (
set SVNVERSION_VALID=false
)
)
if "x%SVNVERSION_VALID%" == "xtrue" (
set /p %RAWSVNVERSION=<svnversion.txt
)
if "x%SVNVERSION_VALID%" == "xtrue" (
if "%RAWSVNVERSION%" == "Unversioned directory" (
set SVNVERSION_VALID=false
)
)
if "x%SVNVERSION_VALID%" == "xtrue" (
set SVNVERSION=r%RAWSVNVERSION::=-%
)
del /f svnversion.txt
set GITVERSION_VALID=false
del /f gitversion.txt
if "x%SVNVERSION%" == "xunknown" (
set GITVERSION_VALID=true
git log --date=format:%%Y%%m%%d%%H%%M%%S --format=format:%%cd -n 1 > gitversion.txt
if errorlevel 1 (
set GITVERSION_VALID=false
)
)
if "x%GITVERSION_VALID%" == "xtrue" (
set /p %RAWGITVERSION=<gitversion.txt
)
if "x%GITVERSION_VALID%" == "xtrue" (
set SVNVERSION=d%RAWGITVERSION%
)
del /f gitversion.txt
set RAWSVNVERSION=
set SVNVERSION_VALID=
set GITVERSION_VALID=
echo %SVNVERSION%

View file

@ -0,0 +1,313 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%LIBOPENMPT_VERSION_STRING%+%SVNVERSION%
if "x%LIBOPENMPT_VERSION_PREREL%" == "x" (
set MPT_REVISION=%LIBOPENMPT_VERSION_STRING%+release
)
set MPT_PKG_TAG=%MPT_DIST_VARIANT_OS%
cd bin || goto error
rmdir /s /q libopenmpt
mkdir libopenmpt || goto error
mkdir libopenmpt\bin.windows
mkdir libopenmpt\bin.windows\%LIBOPENMPT_VERSION_STRING%
rmdir /s /q libopenmpt-windows
del /f /q libopenmpt-windows.tar
del /f /q libopenmpt-%MPT_REVISION%.bin.windows.%MPT_PKG_FORMAT%
mkdir libopenmpt-windows
cd libopenmpt-windows || goto error
mkdir openmpt123
mkdir openmpt123\x86
mkdir openmpt123\amd64
mkdir openmpt123\x86-legacy
mkdir openmpt123\amd64-legacy
mkdir openmpt123\arm
mkdir openmpt123\arm64
mkdir XMPlay
mkdir Winamp
mkdir XMPlay-legacy
mkdir Winamp-legacy
rmdir /s /q Licenses
mkdir Licenses
copy /y ..\..\src\mpt\LICENSE.BSD-3-Clause.txt .\Licenses\License.mpt.BSD-3-Clause.txt || goto error
copy /y ..\..\src\mpt\LICENSE.BSL-1.0.txt .\Licenses\License.mpt.BSL-1.0.txt || goto error
rem copy /y ..\..\include\ancient\LICENSE .\Licenses\License.ancient.txt || goto error
rem copy /y ..\..\include\ancient\src\BZIP2Table.hpp .\Licenses\License.ancient.bzip2.txt || goto error
copy /y ..\..\include\flac\COPYING.Xiph .\Licenses\License.FLAC.txt || goto error
rem copy /y ..\..\include\lame\COPYING .\Licenses\License.lame.txt || goto error
rem copy /y ..\..\include\lhasa\COPYING .\Licenses\License.lhasa.txt || goto error
rem copy /y ..\..\include\minimp3\LICENSE .\Licenses\License.minimp3.txt || goto error
rem copy /y ..\..\include\miniz\miniz.c .\Licenses\License.miniz.txt || goto error
copy /y ..\..\include\mpg123\COPYING .\Licenses\License.mpg123.txt || goto error
copy /y ..\..\include\mpg123\AUTHORS .\Licenses\License.mpg123.Authors.txt || goto error
rem copy /y ..\..\include\nlohmann-json\LICENSE.MIT .\Licenses\License.nlohmann-json.txt || goto error
copy /y ..\..\include\ogg\COPYING .\Licenses\License.ogg.txt || goto error
rem copy /y ..\..\include\opus\COPYING .\Licenses\License.Opus.txt || goto error
rem copy /y ..\..\include\opusenc\COPYING .\Licenses\License.Opusenc.txt || goto error
rem copy /y ..\..\include\opusenc\AUTHORS .\Licenses\License.Opusenc.Authors.txt || goto error
rem copy /y ..\..\include\opusfile\COPYING .\Licenses\License.Opusfile.txt || goto error
copy /y ..\..\include\portaudio\LICENSE.txt .\Licenses\License.PortAudio.txt || goto error
copy /y ..\..\include\portaudio\bindings\cpp\COPYING .\Licenses\License.portaudiocpp.txt || goto error
copy /y ..\..\include\pugixml\LICENSE.md .\Licenses\License.PugiXML.txt || goto error
rem copy /y ..\..\include\r8brain\LICENSE .\Licenses\License.R8Brain.txt || goto error
rem copy /y ..\..\include\rtaudio\README.md .\Licenses\License.RtAudio.txt || goto error
rem copy /y ..\..\include\rtmidi\License.txt .\Licenses\License.RtMidi.txt || goto error
rem copy /y ..\..\include\smbPitchShift\smbPitchShift.cpp .\Licenses\License.smbPitchShift.txt || goto error
rem copy /y ..\..\include\soundtouch\COPYING.TXT .\Licenses\License.SoundTouch.txt || goto error
rem copy /y ..\..\include\stb_vorbis\stb_vorbis.c .\Licenses\License.stb_vorbis.txt || goto error
rem copy /y ..\..\include\unrar\license.txt .\Licenses\License.UnRAR.txt || goto error
copy /y ..\..\include\vorbis\COPYING .\Licenses\License.Vorbis.txt || goto error
copy /y ..\..\include\zlib\README .\Licenses\License.zlib.txt || goto error
rem copy /y ..\..\include\zlib\contrib\minizip\MiniZip64_info.txt .\Licenses\License.minizip.txt || goto error
copy /y ..\..\LICENSE .\LICENSE.txt || goto error
copy /y ..\..\libopenmpt\dox\changelog.md .\ || goto error
copy /y ..\..\libopenmpt\doc\xmp-openmpt.txt .\XMPlay\ || goto error
copy /y ..\..\libopenmpt\doc\in_openmpt.txt .\Winamp\ || goto error
copy /y ..\..\libopenmpt\doc\xmp-openmpt.txt .\XMPlay-legacy\ || goto error
copy /y ..\..\libopenmpt\doc\in_openmpt.txt .\Winamp-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\openmpt123.exe .\openmpt123\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\openmpt-mpg123.dll .\openmpt123\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\amd64\openmpt123.exe .\openmpt123\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm\openmpt123.exe .\openmpt123\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm\openmpt-mpg123.dll .\openmpt123\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64\openmpt123.exe .\openmpt123\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64\openmpt-mpg123.dll .\openmpt123\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt123.exe .\openmpt123\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt-mpg123.dll .\openmpt123\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\amd64\openmpt123.exe .\openmpt123\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\xmp-openmpt.dll .\XMPlay\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\openmpt-mpg123.dll .\XMPlay\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\in_openmpt.dll .\Winamp\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-static\x86\openmpt-mpg123.dll .\Winamp\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\xmp-openmpt.dll .\XMPlay-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt-mpg123.dll .\XMPlay-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\in_openmpt.dll .\Winamp-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt-mpg123.dll .\Winamp-legacy\ || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT% -mx=9 ..\libopenmpt\bin.windows\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.bin.windows.%MPT_PKG_FORMAT% ^
LICENSE.txt ^
Licenses ^
changelog.md ^
openmpt123\x86\openmpt123.exe ^
openmpt123\x86\openmpt-mpg123.dll ^
openmpt123\amd64\openmpt123.exe ^
openmpt123\amd64\openmpt-mpg123.dll ^
openmpt123\arm\openmpt123.exe ^
openmpt123\arm\openmpt-mpg123.dll ^
openmpt123\arm64\openmpt123.exe ^
openmpt123\arm64\openmpt-mpg123.dll ^
openmpt123\x86-legacy\openmpt123.exe ^
openmpt123\x86-legacy\openmpt-mpg123.dll ^
openmpt123\amd64-legacy\openmpt123.exe ^
openmpt123\amd64-legacy\openmpt-mpg123.dll ^
XMPlay\xmp-openmpt.txt ^
XMPlay\xmp-openmpt.dll ^
XMPlay\openmpt-mpg123.dll ^
Winamp\in_openmpt.txt ^
Winamp\in_openmpt.dll ^
Winamp\openmpt-mpg123.dll ^
XMPlay-legacy\xmp-openmpt.txt ^
XMPlay-legacy\xmp-openmpt.dll ^
XMPlay-legacy\openmpt-mpg123.dll ^
Winamp-legacy\in_openmpt.txt ^
Winamp-legacy\in_openmpt.dll ^
Winamp-legacy\openmpt-mpg123.dll ^
|| goto error
cd .. || goto error
rmdir /s /q libopenmpt-windows
..\build\tools\7zip\7z.exe a -r -ttar libopenmpt-windows.tar libopenmpt || goto error
del /f /q libopenmpt\bin.windows\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.bin.windows.%MPT_PKG_FORMAT%
rmdir /s /q libopenmpt
cd .. || goto error
cd bin || goto error
rmdir /s /q libopenmpt
mkdir libopenmpt || goto error
mkdir libopenmpt\dev.windows.%MPT_VS_VER%
mkdir libopenmpt\dev.windows.%MPT_VS_VER%\%LIBOPENMPT_VERSION_STRING%
rmdir /s /q libopenmpt-dev-windows-%MPT_VS_VER%
del /f /q libopenmpt-dev-windows-%MPT_VS_VER%.tar
del /f /q libopenmpt-%MPT_REVISION%.dev.windows.%MPT_VS_VER%.%MPT_PKG_FORMAT%
mkdir libopenmpt-dev-windows-%MPT_VS_VER%
cd libopenmpt-dev-windows-%MPT_VS_VER% || goto error
mkdir inc
mkdir inc\libopenmpt
mkdir lib
mkdir lib\x86
mkdir lib\amd64
mkdir lib\arm
mkdir lib\arm64
mkdir lib\x86-legacy
mkdir lib\amd64-legacy
mkdir bin
mkdir bin\x86
mkdir bin\amd64
mkdir bin\arm
mkdir bin\arm64
mkdir bin\x86-legacy
mkdir bin\amd64-legacy
copy /y ..\..\LICENSE .\LICENSE.txt || goto error
rmdir /s /q Licenses
mkdir Licenses
copy /y ..\..\src\mpt\LICENSE.BSD-3-Clause.txt .\Licenses\License.mpt.BSD-3-Clause.txt || goto error
copy /y ..\..\src\mpt\LICENSE.BSL-1.0.txt .\Licenses\License.mpt.BSL-1.0.txt || goto error
rem copy /y ..\..\include\ancient\LICENSE .\Licenses\License.ancient.txt || goto error
rem copy /y ..\..\include\ancient\src\BZIP2Table.hpp .\Licenses\License.ancient.bzip2.txt || goto error
rem copy /y ..\..\include\flac\COPYING.Xiph .\Licenses\License.FLAC.txt || goto error
rem copy /y ..\..\include\lame\COPYING .\Licenses\License.lame.txt || goto error
rem copy /y ..\..\include\lhasa\COPYING .\Licenses\License.lhasa.txt || goto error
rem copy /y ..\..\include\minimp3\LICENSE .\Licenses\License.minimp3.txt || goto error
rem copy /y ..\..\include\miniz\LICENSE .\Licenses\License.miniz.txt || goto error
copy /y ..\..\include\mpg123\COPYING .\Licenses\License.mpg123.txt || goto error
copy /y ..\..\include\mpg123\AUTHORS .\Licenses\License.mpg123.Authors.txt || goto error
rem copy /y ..\..\include\nlohmann-json\LICENSE.MIT .\Licenses\License.nlohmann-json.txt || goto error
copy /y ..\..\include\ogg\COPYING .\Licenses\License.ogg.txt || goto error
rem copy /y ..\..\include\opus\COPYING .\Licenses\License.Opus.txt || goto error
rem copy /y ..\..\include\opusenc\COPYING .\Licenses\License.Opusenc.txt || goto error
rem copy /y ..\..\include\opusenc\AUTHORS .\Licenses\License.Opusenc.Authors.txt || goto error
rem copy /y ..\..\include\opusfile\COPYING .\Licenses\License.Opusfile.txt || goto error
rem copy /y ..\..\include\portaudio\LICENSE.txt .\Licenses\License.PortAudio.txt || goto error
rem copy /y ..\..\include\portaudio\bindings\cpp\COPYING .\Licenses\License.portaudiocpp.txt || goto error
rem copy /y ..\..\include\pugixml\LICENSE.md .\Licenses\License.PugiXML.txt || goto error
rem copy /y ..\..\include\r8brain\LICENSE .\Licenses\License.R8Brain.txt || goto error
rem copy /y ..\..\include\rtaudio\README.md .\Licenses\License.RtAudio.txt || goto error
rem copy /y ..\..\include\rtmidi\License.txt .\Licenses\License.RtMidi.txt || goto error
rem copy /y ..\..\include\smbPitchShift\smbPitchShift.cpp .\Licenses\License.smbPitchShift.txt || goto error
rem copy /y ..\..\include\soundtouch\COPYING.TXT .\Licenses\License.SoundTouch.txt || goto error
rem copy /y ..\..\include\stb_vorbis\stb_vorbis.c .\Licenses\License.stb_vorbis.txt || goto error
rem copy /y ..\..\include\unrar\license.txt .\Licenses\License.UnRAR.txt || goto error
copy /y ..\..\include\vorbis\COPYING .\Licenses\License.Vorbis.txt || goto error
copy /y ..\..\include\zlib\README .\Licenses\License.zlib.txt || goto error
rem copy /y ..\..\include\zlib\contrib\minizip\MiniZip64_info.txt .\Licenses\License.minizip.txt || goto error
copy /y ..\..\libopenmpt\dox\changelog.md .\changelog.md || goto error
copy /y ..\..\libopenmpt\libopenmpt.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt.hpp inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_config.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_version.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_ext.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_ext.hpp inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_buffer.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_fd.h inc\libopenmpt\ || goto error
copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_file.h inc\libopenmpt\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\libopenmpt.lib lib\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\libopenmpt.dll bin\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\openmpt-mpg123.dll bin\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\openmpt-ogg.dll bin\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\openmpt-vorbis.dll bin\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\x86\openmpt-zlib.dll bin\x86\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\libopenmpt.lib lib\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\libopenmpt.dll bin\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\openmpt-mpg123.dll bin\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\openmpt-ogg.dll bin\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\openmpt-vorbis.dll bin\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win81-shared\amd64\openmpt-zlib.dll bin\amd64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\libopenmpt.lib lib\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\libopenmpt.dll bin\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\openmpt-mpg123.dll bin\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\openmpt-ogg.dll bin\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\openmpt-vorbis.dll bin\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm\openmpt-zlib.dll bin\arm\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\libopenmpt.lib lib\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\libopenmpt.dll bin\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-mpg123.dll bin\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-ogg.dll bin\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-vorbis.dll bin\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-zlib.dll bin\arm64\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\libopenmpt.lib lib\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\libopenmpt.dll bin\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\openmpt-mpg123.dll bin\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\openmpt-ogg.dll bin\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\openmpt-vorbis.dll bin\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\x86\openmpt-zlib.dll bin\x86-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\libopenmpt.lib lib\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\libopenmpt.dll bin\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\openmpt-mpg123.dll bin\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\openmpt-ogg.dll bin\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\openmpt-vorbis.dll bin\amd64-legacy\ || goto error
copy /y ..\..\bin\release\%MPT_VS_VER%-win7-shared\amd64\openmpt-zlib.dll bin\amd64-legacy\ || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT% -mx=9 ..\libopenmpt\dev.windows.%MPT_VS_VER%\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.dev.windows.%MPT_VS_VER%.%MPT_PKG_FORMAT% ^
LICENSE.txt ^
Licenses ^
changelog.md ^
inc\libopenmpt\libopenmpt.h ^
inc\libopenmpt\libopenmpt.hpp ^
inc\libopenmpt\libopenmpt_config.h ^
inc\libopenmpt\libopenmpt_version.h ^
inc\libopenmpt\libopenmpt_ext.h ^
inc\libopenmpt\libopenmpt_ext.hpp ^
inc\libopenmpt\libopenmpt_stream_callbacks_buffer.h ^
inc\libopenmpt\libopenmpt_stream_callbacks_fd.h ^
inc\libopenmpt\libopenmpt_stream_callbacks_file.h ^
lib\x86\libopenmpt.lib ^
lib\amd64\libopenmpt.lib ^
lib\arm\libopenmpt.lib ^
lib\arm64\libopenmpt.lib ^
lib\x86-legacy\libopenmpt.lib ^
lib\amd64-legacy\libopenmpt.lib ^
bin\x86\libopenmpt.dll ^
bin\x86\openmpt-mpg123.dll ^
bin\x86\openmpt-ogg.dll ^
bin\x86\openmpt-vorbis.dll ^
bin\x86\openmpt-zlib.dll ^
bin\amd64\libopenmpt.dll ^
bin\amd64\openmpt-mpg123.dll ^
bin\amd64\openmpt-ogg.dll ^
bin\amd64\openmpt-vorbis.dll ^
bin\amd64\openmpt-zlib.dll ^
bin\arm\libopenmpt.dll ^
bin\arm\openmpt-mpg123.dll ^
bin\arm\openmpt-ogg.dll ^
bin\arm\openmpt-vorbis.dll ^
bin\arm\openmpt-zlib.dll ^
bin\arm64\libopenmpt.dll ^
bin\arm64\openmpt-mpg123.dll ^
bin\arm64\openmpt-ogg.dll ^
bin\arm64\openmpt-vorbis.dll ^
bin\arm64\openmpt-zlib.dll ^
bin\x86-legacy\libopenmpt.dll ^
bin\x86-legacy\openmpt-mpg123.dll ^
bin\x86-legacy\openmpt-ogg.dll ^
bin\x86-legacy\openmpt-vorbis.dll ^
bin\x86-legacy\openmpt-zlib.dll ^
bin\amd64-legacy\libopenmpt.dll ^
bin\amd64-legacy\openmpt-mpg123.dll ^
bin\amd64-legacy\openmpt-ogg.dll ^
bin\amd64-legacy\openmpt-vorbis.dll ^
bin\amd64-legacy\openmpt-zlib.dll ^
|| goto error
cd .. || goto error
rmdir /s /q libopenmpt-dev-windows-%MPT_VS_VER%
..\build\tools\7zip\7z.exe a -r -ttar libopenmpt-dev-windows-%MPT_VS_VER%.tar libopenmpt || goto error
del /f /q libopenmpt\dev.windows.%MPT_VS_VER%\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.dev.windows.%MPT_VS_VER%.%MPT_PKG_FORMAT%
rmdir /s /q libopenmpt
cd .. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,117 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%LIBOPENMPT_VERSION_STRING%+%SVNVERSION%
if "x%LIBOPENMPT_VERSION_PREREL%" == "x" (
set MPT_REVISION=%LIBOPENMPT_VERSION_STRING%+release
)
set MPT_PKG_TAG=%MPT_DIST_VARIANT_OS%
cd bin || goto error
rmdir /s /q libopenmpt
mkdir libopenmpt || goto error
mkdir libopenmpt\bin.retro.winxp
mkdir libopenmpt\bin.retro.winxp\%LIBOPENMPT_VERSION_STRING%
rmdir /s /q libopenmpt-retro-winxp
del /f /q libopenmpt-retro-winxp.tar
del /f /q libopenmpt-%MPT_REVISION%.bin.retro.winxp.%MPT_PKG_FORMAT%
mkdir libopenmpt-retro-winxp
cd libopenmpt-retro-winxp || goto error
mkdir openmpt123
mkdir openmpt123\x86
mkdir openmpt123\amd64
mkdir XMPlay
mkdir Winamp
rmdir /s /q Licenses
mkdir Licenses
copy /y ..\..\src\mpt\LICENSE.BSD-3-Clause.txt .\Licenses\License.mpt.BSD-3-Clause.txt || goto error
copy /y ..\..\src\mpt\LICENSE.BSL-1.0.txt .\Licenses\License.mpt.BSL-1.0.txt || goto error
rem copy /y ..\..\include\ancient\LICENSE .\Licenses\License.ancient.txt || goto error
rem copy /y ..\..\include\ancient\src\BZIP2Table.hpp .\Licenses\License.ancient.bzip2.txt || goto error
copy /y ..\..\include\flac\COPYING.Xiph .\Licenses\License.FLAC.txt || goto error
rem copy /y ..\..\include\lame\COPYING .\Licenses\License.lame.txt || goto error
rem copy /y ..\..\include\lhasa\COPYING .\Licenses\License.lhasa.txt || goto error
rem copy /y ..\..\include\minimp3\LICENSE .\Licenses\License.minimp3.txt || goto error
rem copy /y ..\..\include\miniz\miniz.c .\Licenses\License.miniz.txt || goto error
copy /y ..\..\include\mpg123\COPYING .\Licenses\License.mpg123.txt || goto error
copy /y ..\..\include\mpg123\AUTHORS .\Licenses\License.mpg123.Authors.txt || goto error
rem copy /y ..\..\include\nlohmann-json\LICENSE.MIT .\Licenses\License.nlohmann-json.txt || goto error
copy /y ..\..\include\ogg\COPYING .\Licenses\License.ogg.txt || goto error
rem copy /y ..\..\include\opus\COPYING .\Licenses\License.Opus.txt || goto error
rem copy /y ..\..\include\opusenc\COPYING .\Licenses\License.Opusenc.txt || goto error
rem copy /y ..\..\include\opusenc\AUTHORS .\Licenses\License.Opusenc.Authors.txt || goto error
rem copy /y ..\..\include\opusfile\COPYING .\Licenses\License.Opusfile.txt || goto error
copy /y ..\..\include\portaudio\LICENSE.txt .\Licenses\License.PortAudio.txt || goto error
copy /y ..\..\include\portaudio\bindings\cpp\COPYING .\Licenses\License.portaudiocpp.txt || goto error
copy /y ..\..\include\pugixml\LICENSE.md .\Licenses\License.PugiXML.txt || goto error
rem copy /y ..\..\include\r8brain\LICENSE .\Licenses\License.R8Brain.txt || goto error
rem copy /y ..\..\include\rtaudio\README.md .\Licenses\License.RtAudio.txt || goto error
rem copy /y ..\..\include\rtmidi\License.txt .\Licenses\License.RtMidi.txt || goto error
rem copy /y ..\..\include\smbPitchShift\smbPitchShift.cpp .\Licenses\License.smbPitchShift.txt || goto error
rem copy /y ..\..\include\soundtouch\COPYING.TXT .\Licenses\License.SoundTouch.txt || goto error
rem copy /y ..\..\include\stb_vorbis\stb_vorbis.c .\Licenses\License.stb_vorbis.txt || goto error
rem copy /y ..\..\include\unrar\license.txt .\Licenses\License.UnRAR.txt || goto error
copy /y ..\..\include\vorbis\COPYING .\Licenses\License.Vorbis.txt || goto error
copy /y ..\..\include\zlib\README .\Licenses\License.zlib.txt || goto error
rem copy /y ..\..\include\zlib\contrib\minizip\MiniZip64_info.txt .\Licenses\License.minizip.txt || goto error
copy /y ..\..\LICENSE .\LICENSE.txt || goto error
copy /y ..\..\libopenmpt\dox\changelog.md .\ || goto error
copy /y ..\..\libopenmpt\doc\xmp-openmpt.txt .\XMPlay\ || goto error
copy /y ..\..\libopenmpt\doc\in_openmpt.txt .\Winamp\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\openmpt123.exe .\openmpt123\x86\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\openmpt-mpg123.dll .\openmpt123\x86\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\amd64\openmpt123.exe .\openmpt123\amd64\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\xmp-openmpt.dll .\XMPlay\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\openmpt-mpg123.dll .\XMPlay\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\in_openmpt.dll .\Winamp\ || goto error
copy /y ..\..\bin\release\vs2017-winxp-static\x86\openmpt-mpg123.dll .\Winamp\ || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT% -mx=9 ..\libopenmpt\bin.retro.winxp\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.bin.retro.winxp.%MPT_PKG_FORMAT% ^
LICENSE.txt ^
Licenses ^
changelog.md ^
openmpt123\x86\openmpt123.exe ^
openmpt123\x86\openmpt-mpg123.dll ^
openmpt123\amd64\openmpt123.exe ^
openmpt123\amd64\openmpt-mpg123.dll ^
XMPlay\xmp-openmpt.txt ^
XMPlay\xmp-openmpt.dll ^
XMPlay\openmpt-mpg123.dll ^
Winamp\in_openmpt.txt ^
Winamp\in_openmpt.dll ^
Winamp\openmpt-mpg123.dll ^
|| goto error
cd .. || goto error
rmdir /s /q libopenmpt-retro-winxp
..\build\tools\7zip\7z.exe a -r -ttar libopenmpt-retro-winxp.tar libopenmpt || goto error
del /f /q libopenmpt\bin.retro.winxp\%LIBOPENMPT_VERSION_STRING%\libopenmpt-%MPT_REVISION%.bin.retro.winxp.%MPT_PKG_FORMAT%
rmdir /s /q libopenmpt
cd .. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,98 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%OPENMPT_VERSION%-%SVNVERSION%
cmd /c build\auto\update_package_template.cmd || goto error
cd bin || goto error
rmdir /s /q openmpt
mkdir openmpt || goto error
mkdir openmpt\bin.%MPT_DIST_VARIANT_TRK%
mkdir openmpt\bin.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
mkdir openmpt\dbg.%MPT_DIST_VARIANT_TRK%
mkdir openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
rmdir /s /q openmpt-%MPT_DIST_VARIANT_TRK%
del /f /q openmpt-%MPT_DIST_VARIANT_TRK%.tar
del /f /q openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%.%MPT_PKG_FORMAT%
del /f /q openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols.%MPT_PKG_FORMAT_SYMBOLS%
mkdir openmpt-%MPT_DIST_VARIANT_TRK%
cd openmpt-%MPT_DIST_VARIANT_TRK% || goto error
copy /y ..\..\LICENSE .\License.txt || goto error
rmdir /s /q Licenses
mkdir Licenses
copy /y ..\..\packageTemplate\Licenses\*.* .\Licenses\ || goto error
rmdir /s /q extraKeymaps
mkdir extraKeymaps
copy /y ..\..\packageTemplate\extraKeymaps\*.* .\extraKeymaps\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\OpenMPT%MPT_VS_FLAVOUR%.exe .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\OpenMPT%MPT_VS_FLAVOUR%.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-lame.dll .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-lame.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-mpg123.dll .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-mpg123.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-soundtouch.dll .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-soundtouch.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\x86\PluginBridge-x86.exe .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\x86\PluginBridge-x86.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\amd64\PluginBridge-amd64.exe .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\amd64\PluginBridge-amd64.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\x86\PluginBridgeLegacy-x86.exe .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\x86\PluginBridgeLegacy-x86.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\amd64\PluginBridgeLegacy-amd64.exe .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\amd64\PluginBridgeLegacy-amd64.pdb .\ || goto error
copy /y ..\..\bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH_TRK%\openmpt-wine-support.zip .\ || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT% -mx=9 ..\openmpt\bin.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%.%MPT_PKG_FORMAT% ^
License.txt ^
Licenses ^
OpenMPT%MPT_VS_FLAVOUR%.exe ^
openmpt-lame.dll ^
openmpt-mpg123.dll ^
openmpt-soundtouch.dll ^
PluginBridge-x86.exe ^
PluginBridge-amd64.exe ^
PluginBridgeLegacy-x86.exe ^
PluginBridgeLegacy-amd64.exe ^
openmpt-wine-support.zip ^
extraKeymaps ^
|| goto error
mkdir ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\OpenMPT%MPT_VS_FLAVOUR%.pdb.%MPT_PKG_FORMAT_SYMBOLS% OpenMPT%MPT_VS_FLAVOUR%.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\openmpt-lame.pdb.%MPT_PKG_FORMAT_SYMBOLS% openmpt-lame.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\openmpt-mpg123.pdb.%MPT_PKG_FORMAT_SYMBOLS% openmpt-mpg123.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\openmpt-soundtouch.pdb.%MPT_PKG_FORMAT_SYMBOLS% openmpt-soundtouch.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\PluginBridge-x86.pdb.%MPT_PKG_FORMAT_SYMBOLS% PluginBridge-x86.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\PluginBridge-amd64.pdb.%MPT_PKG_FORMAT_SYMBOLS% PluginBridge-amd64.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\PluginBridgeLegacy-x86.pdb.%MPT_PKG_FORMAT_SYMBOLS% PluginBridgeLegacy-x86.pdb || goto error
..\..\build\tools\7zip\7z.exe a -t%MPT_PKG_FORMAT_SYMBOLS% -mx=9 ..\openmpt\dbg.%MPT_DIST_VARIANT_TRK%\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols\PluginBridgeLegacy-amd64.pdb.%MPT_PKG_FORMAT_SYMBOLS% PluginBridgeLegacy-amd64.pdb || goto error
cd .. || goto error
..\build\tools\7zip\7z.exe a -ttar openmpt-%MPT_DIST_VARIANT_TRK%.tar openmpt || goto error
del /f /q openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%.%MPT_PKG_FORMAT%
del /f /q openmpt-%MPT_DIST_VARIANT_TRK%-%MPT_REVISION%-symbols.%MPT_PKG_FORMAT_SYMBOLS%
rmdir /s /q openmpt-%MPT_DIST_VARIANT_TRK%
cd .. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,48 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%OPENMPT_VERSION%-%SVNVERSION%
cd bin || goto error
rmdir /s /q openmpt
del /f /q openmpt-pkg.win.tar
mkdir openmpt
mkdir openmpt\pkg.win
mkdir openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x64.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable-x64.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x64.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable-x64.zip.digests
..\build\tools\7zip\7z.exe a -ttar openmpt-pkg.win.tar openmpt || goto error
rmdir /s /q openmpt
cd .. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,75 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call build\auto\setup_vs_any.cmd
call build\auto\helper_get_svnversion.cmd
call build\auto\helper_get_openmpt_version.cmd
set MPT_REVISION=%OPENMPT_VERSION%-%SVNVERSION%
if "x%OPENMPT_VERSION_MINORMINOR%" == "x00" (
set MPT_REVISION=%OPENMPT_VERSION%
)
cd bin || goto error
rmdir /s /q openmpt
del /f /q openmpt-pkg.win-multi.tar
mkdir openmpt
mkdir openmpt\pkg.win
mkdir openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
mkdir openmpt\dbg.win
mkdir openmpt\dbg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-Setup.exe
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-Setup.exe.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-Setup.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-Setup.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86-legacy.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86-legacy.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86-legacy.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86-legacy.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86-legacy.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86-legacy.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x86-legacy.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-x86-legacy.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64-legacy.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64-legacy.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64-legacy.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64-legacy.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64-legacy.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64-legacy.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-amd64-legacy.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-amd64-legacy.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm64.zip openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm64.zip
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm64.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm64.zip.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm64.update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm64.update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-arm64.update.json.jws.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-portable-arm64.update.json.jws.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-symbols.7z openmpt\dbg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-symbols.7z
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-symbols.7z.digests openmpt\dbg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-symbols.7z.digests
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-update.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-update.json
copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-update-publickey.jwk.json openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%MPT_REVISION%-update-publickey.jwk.json
..\build\tools\7zip\7z.exe a -ttar openmpt-pkg.win-multi.tar openmpt || goto error
rmdir /s /q openmpt
cd .. || goto error
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1 @@
Automated build scripts that are used for automated builds and packaging.

View file

@ -0,0 +1,161 @@
@echo off
set MPT_VS_VER=%1
set MPT_VS_TARGET=%2
set MPT_VS_ARCH=%3
set MPT_VS_CONF=%4
set MPT_PKG_FORMAT=%5
set MPT_VS_FLAVOUR=%6
if "%MPT_VS_VER%" == "" goto setupargumentserror
if "%MPT_VS_TARGET%" == "" goto setupargumentserror
if "%MPT_VS_ARCH%" == "" goto setupargumentserror
if "%MPT_VS_CONF%" == "" goto setupargumentserror
if "%MPT_PKG_FORMAT%" == "" goto setupargumentserror
goto setupargumentsstart
:setupargumentserror
echo "Usage: foo.cmd vs2019 xp Win32 Release 7z default"
rem vs2019 winxp Win32 Release x86-32 winxp release static
rem MPT_VS_VER MPT_VS_TARGET MPT_VS_ARCH MPT_VS_CONF MPT_BIN_ARCH MPT_BIN_TARGET MPT_BIN_CONF MPT_BIN_RUNTIME
exit 1
:setupargumentsstart
if "%MPT_VS_TARGET%" == "winxp" set MPT_VS_WITHTARGET=%MPT_VS_VER%winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_VS_WITHTARGET=%MPT_VS_VER%winvista
if "%MPT_VS_TARGET%" == "win7" set MPT_VS_WITHTARGET=%MPT_VS_VER%win7
if "%MPT_VS_TARGET%" == "win81" set MPT_VS_WITHTARGET=%MPT_VS_VER%win81
if "%MPT_VS_TARGET%" == "win10" set MPT_VS_WITHTARGET=%MPT_VS_VER%win10
if "%MPT_VS_TARGET%" == "default" set MPT_VS_WITHTARGET=%MPT_VS_VER%win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_VS_WITHTARGET=%MPT_VS_VER%win10clang
if "%MPT_VS_ARCH%" == "Win32" (
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang
)
if "%MPT_VS_ARCH%" == "x64" (
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang
)
if "%MPT_VS_ARCH%" == "ARM" (
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang
)
if "%MPT_VS_ARCH%" == "ARM64" (
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang
)
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET32=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET32=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET32=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET32=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET32=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET32=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET32=win10clang
if "%MPT_VS_TARGET%" == "winxp" set MPT_BIN_TARGET64=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_BIN_TARGET64=vista
if "%MPT_VS_TARGET%" == "win7" set MPT_BIN_TARGET64=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET64=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET64=win10
if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET64=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET64=win10clang
if "%MPT_VS_ARCH%" == "Win32" set MPT_BIN_ARCH_TRK=x86
if "%MPT_VS_ARCH%" == "x64" set MPT_BIN_ARCH_TRK=amd64
if "%MPT_VS_ARCH%" == "ARM" set MPT_BIN_ARCH_TRK=arm
if "%MPT_VS_ARCH%" == "ARM64" set MPT_BIN_ARCH_TRK=arm64
if "%MPT_VS_ARCH%" == "Win32" set MPT_BIN_ARCH=x86
if "%MPT_VS_ARCH%" == "x64" set MPT_BIN_ARCH=amd64
if "%MPT_VS_ARCH%" == "ARM" set MPT_BIN_ARCH=arm
if "%MPT_VS_ARCH%" == "ARM64" set MPT_BIN_ARCH=arm64
if "%MPT_VS_CONF%" == "Release" set MPT_BIN_CONF=release
if "%MPT_VS_CONF%" == "ReleaseShared" set MPT_BIN_CONF=release
if "%MPT_VS_CONF%" == "Release" set MPT_BIN_RUNTIME=static
if "%MPT_VS_CONF%" == "ReleaseShared" set MPT_BIN_RUNTIME=shared
if "%MPT_VS_ARCH%" == "Win32" set MPT_DIST_VARIANT_ARCH=x86
if "%MPT_VS_ARCH%" == "x64" set MPT_DIST_VARIANT_ARCH=amd64
if "%MPT_VS_ARCH%" == "ARM" set MPT_DIST_VARIANT_ARCH=arm
if "%MPT_VS_ARCH%" == "ARM64" set MPT_DIST_VARIANT_ARCH=arm64
if "%MPT_VS_TARGET%" == "winxp" set MPT_DIST_VARIANT_OS=winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_DIST_VARIANT_OS=winvista
if "%MPT_VS_TARGET%" == "win7" set MPT_DIST_VARIANT_OS=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_DIST_VARIANT_OS=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_DIST_VARIANT_OS=win10
if "%MPT_VS_TARGET%" == "default" set MPT_DIST_VARIANT_OS=win81
if "%MPT_VS_TARGET%" == "win10clang" set MPT_DIST_VARIANT_OS=win10clang
set MPT_DIST_VARIANT=%MPT_DIST_VARIANT_OS%-%MPT_DIST_VARIANT_ARCH%
if "%MPT_VS_TARGET%" == "winxp" set MPT_DIST_VARIANT_PREFIX=retro-winxp
if "%MPT_VS_TARGET%" == "vista" set MPT_DIST_VARIANT_PREFIX=retro-winvista
if "%MPT_VS_TARGET%" == "win7" set MPT_DIST_VARIANT_PREFIX=win7
if "%MPT_VS_TARGET%" == "win81" set MPT_DIST_VARIANT_PREFIX=win81
if "%MPT_VS_TARGET%" == "win10" set MPT_DIST_VARIANT_PREFIX=win10
if "%MPT_VS_TARGET%" == "default" set MPT_DIST_VARIANT_PREFIX=
if "%MPT_VS_TARGET%" == "win10clang" set MPT_DIST_VARIANT_PREFIX=win10clang
if "%MPT_VS_ARCH%" == "Win32" set MPT_DIST_VARIANT_SUFFIX=x86
if "%MPT_VS_ARCH%" == "x64" set MPT_DIST_VARIANT_SUFFIX=amd64
if "%MPT_VS_ARCH%" == "ARM" set MPT_DIST_VARIANT_SUFFIX=arm
if "%MPT_VS_ARCH%" == "ARM64" set MPT_DIST_VARIANT_SUFFIX=arm64
set MPT_DIST_VARIANT_TRK=%MPT_DIST_VARIANT_PREFIX%-%MPT_DIST_VARIANT_SUFFIX%
rem Environment Variable \ Program Bitness 32bit Native 64bit Native WOW64
rem PROCESSOR_ARCHITECTURE x86 AMD64 x86
rem PROCESSOR_ARCHITEW6432 undefined undefined AMD64
set MPT_HOST_BITNESS=32
if "%PROCESSOR_ARCHITECTURE%" == "x86" (
if "%PROCESSOR_ARCHITEW6432%" == "AMD64" (
set MPT_HOST_BITNESS=64
) else (
set MPT_HOST_BITNESS=32
)
)
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
set MPT_HOST_BITNESS=64
)
if "%MPT_PKG_FORMAT%" == "" set MPT_PKG_FORMAT=zip
if "%MPT_PKG_FORMAT%" == "7z" set MPT_PKG_FORMAT_SYMBOLS=xz
if "%MPT_PKG_FORMAT%" == "zip" set MPT_PKG_FORMAT_SYMBOLS=zip
if "%MPT_PKG_FORMAT_SYMBOLS%" == "" set MPT_PKG_FORMAT_SYMBOLS=zip
if "%MPT_VS_FLAVOUR%" == "default" set MPT_VS_FLAVOUR=

View file

@ -0,0 +1,22 @@
@echo off
set MPT_VS_VER=%1
set MPT_VS_TARGET=%2
set MPT_VS_ARCH=%3
set MPT_VS_CONF=%4
set MPT_PKG_FORMAT=%5
set MPT_VS_FLAVOUR=%6
if "%MPT_VS_VER%" == "" goto setupargumentserror
if "%MPT_VS_TARGET%" == "" goto setupargumentserror
if "%MPT_VS_ARCH%" == "" goto setupargumentserror
if "%MPT_VS_CONF%" == "" goto setupargumentserror
if "%MPT_PKG_FORMAT%" == "" goto setupargumentserror
goto setupargumentsstart
:setupargumentserror
echo "Usage: foo.cmd vs2019 winstore82 Win32 Release 7z default"
exit 1
:setupargumentsstart

View file

@ -0,0 +1,16 @@
@echo off
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" goto win64
if exist "C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" goto win32
goto setupdone
:win32
call "C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
goto setupdone
:win64
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
goto setupdone
:setupdone

View file

@ -0,0 +1,16 @@
@echo off
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" goto win64
if exist "C:\Program Files\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" goto win32
goto setupdone
:win32
call "C:\Program Files\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
goto setupdone
:win64
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
goto setupdone
:setupdone

View file

@ -0,0 +1,11 @@
@echo off
if exist "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" goto win64
goto setupdone
:win64
call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
goto setupdone
:setupdone

View file

@ -0,0 +1,26 @@
@echo off
if exist "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call %~dp0\setup_vs2022.cmd
goto vsdone
)
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call %~dp0\setup_vs2019.cmd
goto vsdone
)
if exist "C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call %~dp0\setup_vs2019.cmd
goto vsdone
)
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call %~dp0\setup_vs2017.cmd
goto vsdone
)
if exist "C:\Program Files\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call %~dp0\setup_vs2017.cmd
goto vsdone
)
:vsdone

View file

@ -0,0 +1,37 @@
@echo off
set BATCH_DIR=%~dp0
cd %BATCH_DIR%
cd ..\..
set MY_DIR=%CD%
call "build\auto\setup_arguments.cmd" %1 %2 %3 %4 %5 %6
call "build\auto\setup_%MPT_VS_VER%.cmd"
if "%MPT_BIN_ARCH%" == "x86" (
"bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET32%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH%\libopenmpt_test.exe" || goto error
)
if "%MPT_BIN_ARCH%" == "amd64" (
if "%MPT_HOST_BITNESS%" == "64" (
"bin\%MPT_BIN_CONF%\%MPT_VS_VER%-%MPT_BIN_TARGET64%-%MPT_BIN_RUNTIME%\%MPT_BIN_ARCH%\libopenmpt_test.exe" || goto error
) else (
echo "Warning: Host is not 64 bit. Skipping 64 bit test suite."
)
)
goto noerror
:error
cd "%MY_DIR%"
exit 1
:noerror
cd "%MY_DIR%"
exit 0

View file

@ -0,0 +1,48 @@
@echo off
cd packageTemplate || goto error
copy /y ..\LICENSE .\License.txt || goto error
choice /C y /N /T 1 /D y
rmdir /s /q Licenses
choice /C y /N /T 1 /D y
mkdir Licenses
copy /y ..\src\mpt\LICENSE.BSD-3-Clause.txt .\Licenses\License.mpt.BSD-3-Clause.txt || goto error
copy /y ..\src\mpt\LICENSE.BSL-1.0.txt .\Licenses\License.mpt.BSL-1.0.txt || goto error
copy /y ..\include\ancient\LICENSE .\Licenses\License.ancient.txt || goto error
copy /y ..\include\ancient\src\BZIP2Table.hpp .\Licenses\License.ancient.bzip2.txt || goto error
copy /y ..\include\flac\COPYING.Xiph .\Licenses\License.FLAC.txt || goto error
copy /y ..\include\lame\COPYING .\Licenses\License.lame.txt || goto error
copy /y ..\include\lhasa\COPYING .\Licenses\License.lhasa.txt || goto error
rem copy /y ..\include\minimp3\LICENSE .\Licenses\License.minimp3.txt || goto error
rem copy /y ..\include\miniz\LICENSE .\Licenses\License.miniz.txt || goto error
copy /y ..\include\mpg123\COPYING .\Licenses\License.mpg123.txt || goto error
copy /y ..\include\mpg123\AUTHORS .\Licenses\License.mpg123.Authors.txt || goto error
copy /y ..\include\nlohmann-json\LICENSE.MIT .\Licenses\License.nlohmann-json.txt || goto error
copy /y ..\include\ogg\COPYING .\Licenses\License.ogg.txt || goto error
copy /y ..\include\opus\COPYING .\Licenses\License.Opus.txt || goto error
copy /y ..\include\opusenc\COPYING .\Licenses\License.Opusenc.txt || goto error
copy /y ..\include\opusenc\AUTHORS .\Licenses\License.Opusenc.Authors.txt || goto error
copy /y ..\include\opusfile\COPYING .\Licenses\License.Opusfile.txt || goto error
copy /y ..\include\portaudio\LICENSE.txt .\Licenses\License.PortAudio.txt || goto error
rem copy /y ..\include\portaudio\bindings\cpp\COPYING .\Licenses\License.portaudiocpp.txt || goto error
rem copy /y ..\include\pugixml\LICENSE.md .\Licenses\License.PugiXML.txt || goto error
copy /y ..\include\r8brain\LICENSE .\Licenses\License.R8Brain.txt || goto error
copy /y ..\include\rtaudio\README.md .\Licenses\License.RtAudio.txt || goto error
copy /y ..\include\rtkit\rtkit.h .\Licenses\License.RealtimeKit.txt || goto error
copy /y ..\include\rtmidi\License.txt .\Licenses\License.RtMidi.txt || goto error
copy /y ..\include\smbPitchShift\smbPitchShift.cpp .\Licenses\License.smbPitchShift.txt || goto error
copy /y ..\include\soundtouch\COPYING.TXT .\Licenses\License.SoundTouch.txt || goto error
rem copy /y ..\include\stb_vorbis\stb_vorbis.c .\Licenses\License.stb_vorbis.txt || goto error
copy /y ..\include\unrar\license.txt .\Licenses\License.UnRAR.txt || goto error
copy /y ..\include\vorbis\COPYING .\Licenses\License.Vorbis.txt || goto error
copy /y ..\include\zlib\README .\Licenses\License.zlib.txt || goto error
copy /y ..\include\zlib\contrib\minizip\MiniZip64_info.txt .\Licenses\License.minizip.txt || goto error
cd .. || goto error
goto noerror
:error
exit 1
:noerror
exit 0

View file

@ -0,0 +1,634 @@
ACLOCAL_AMFLAGS = -I m4 --install
EXTRA_DIST =
EXTRA_DIST += .clang-format
EXTRA_DIST += m4/emptydir
EXTRA_DIST += libopenmpt/libopenmpt.pc.in
EXTRA_DIST += LICENSE
EXTRA_DIST += README.md
EXTRA_DIST += Doxyfile.in
EXTRA_DIST += doc/contributing.md
EXTRA_DIST += doc/libopenmpt_styleguide.md
EXTRA_DIST += doc/module_formats.md
EXTRA_DIST += doc/openmpt_styleguide.md
EXTRA_DIST += libopenmpt/.clang-format
EXTRA_DIST += libopenmpt/dox/changelog.md
EXTRA_DIST += libopenmpt/dox/dependencies.md
EXTRA_DIST += libopenmpt/dox/gettingstarted.md
EXTRA_DIST += libopenmpt/dox/index.dox
EXTRA_DIST += libopenmpt/dox/packaging.md
EXTRA_DIST += libopenmpt/dox/tests.md
EXTRA_DIST += libopenmpt/libopenmpt_version.mk
EXTRA_DIST += openmpt123/.clang-format
EXTRA_DIST += src/mpt/.clang-format
EXTRA_DIST += src/mpt/LICENSE.BSD-3-Clause.txt
EXTRA_DIST += src/mpt/LICENSE.BSL-1.0.txt
EXTRA_DIST += test/test.xm
EXTRA_DIST += test/test.s3m
EXTRA_DIST += test/test.mod
EXTRA_DIST += test/test.mptm
EXTRA_DIST += man/openmpt123.1
EXTRA_DIST += examples/.clang-format
EXTRA_DIST += libopenmpt/bindings/freebasic/libopenmpt.bi
MOSTLYCLEANFILES =
dist_doc_DATA =
dist_doc_DATA += LICENSE
dist_doc_DATA += README.md
nobase_dist_doc_DATA =
nobase_dist_doc_DATA += examples/libopenmpt_example_cxx.cpp
nobase_dist_doc_DATA += examples/libopenmpt_example_c_mem.c
nobase_dist_doc_DATA += examples/libopenmpt_example_c_unsafe.c
nobase_dist_doc_DATA += examples/libopenmpt_example_c.c
nobase_dist_doc_DATA += examples/libopenmpt_example_c_probe.c
nobase_dist_doc_DATA += examples/libopenmpt_example_c_stdout.c
bin_PROGRAMS =
check_PROGRAMS =
lib_LTLIBRARIES =
if ENABLE_TESTS
TESTS = libopenmpttest
endif
if ENABLE_EXAMPLES
check_PROGRAMS += libopenmpt_example_c_stdout
check_PROGRAMS += libopenmpt_example_c_probe
if HAVE_PORTAUDIO
check_PROGRAMS += libopenmpt_example_c
check_PROGRAMS += libopenmpt_example_c_mem
check_PROGRAMS += libopenmpt_example_c_unsafe
endif
if HAVE_PORTAUDIOCPP
check_PROGRAMS += libopenmpt_example_cxx
endif
libopenmpt_example_c_stdout_SOURCES = examples/libopenmpt_example_c_stdout.c
libopenmpt_example_c_probe_SOURCES = examples/libopenmpt_example_c_probe.c
if HAVE_PORTAUDIO
libopenmpt_example_c_SOURCES = examples/libopenmpt_example_c.c
libopenmpt_example_c_mem_SOURCES = examples/libopenmpt_example_c_mem.c
libopenmpt_example_c_unsafe_SOURCES = examples/libopenmpt_example_c_unsafe.c
endif
if HAVE_PORTAUDIOCPP
libopenmpt_example_cxx_SOURCES = examples/libopenmpt_example_cxx.cpp
endif
libopenmpt_example_c_stdout_CPPFLAGS = $(WIN32_CPPFLAGS)
libopenmpt_example_c_probe_CPPFLAGS = $(WIN32_CPPFLAGS)
if HAVE_PORTAUDIO
libopenmpt_example_c_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
libopenmpt_example_c_mem_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
libopenmpt_example_c_unsafe_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
endif
if HAVE_PORTAUDIOCPP
libopenmpt_example_cxx_CPPFLAGS = $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) $(PORTAUDIOCPP_CFLAGS)
endif
libopenmpt_example_c_stdout_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
libopenmpt_example_c_probe_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
if HAVE_PORTAUDIO
libopenmpt_example_c_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
libopenmpt_example_c_mem_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
libopenmpt_example_c_unsafe_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
endif
if HAVE_PORTAUDIOCPP
libopenmpt_example_cxx_CXXFLAGS = $(WIN32_CXXFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
endif
libopenmpt_example_c_stdout_LDADD = $(lib_LTLIBRARIES)
libopenmpt_example_c_probe_LDADD = $(lib_LTLIBRARIES)
if HAVE_PORTAUDIO
libopenmpt_example_c_LDADD = $(lib_LTLIBRARIES) $(PORTAUDIO_LIBS)
libopenmpt_example_c_mem_LDADD = $(lib_LTLIBRARIES) $(PORTAUDIO_LIBS)
libopenmpt_example_c_unsafe_LDADD = $(lib_LTLIBRARIES) $(PORTAUDIO_LIBS)
endif
if HAVE_PORTAUDIOCPP
libopenmpt_example_cxx_LDADD = $(lib_LTLIBRARIES) $(PORTAUDIOCPP_LIBS)
endif
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA =
nobase_include_HEADERS =
MPT_FILES_SRC_MPT =
MPT_FILES_SRC_MPT += src/mpt/audio/sample.hpp
MPT_FILES_SRC_MPT += src/mpt/audio/span.hpp
MPT_FILES_SRC_MPT += src/mpt/base/algorithm.hpp
MPT_FILES_SRC_MPT += src/mpt/base/aligned_array.hpp
MPT_FILES_SRC_MPT += src/mpt/base/alloc.hpp
MPT_FILES_SRC_MPT += src/mpt/base/arithmetic_shift.hpp
MPT_FILES_SRC_MPT += src/mpt/base/array.hpp
MPT_FILES_SRC_MPT += src/mpt/base/bit.hpp
MPT_FILES_SRC_MPT += src/mpt/base/check_platform.hpp
MPT_FILES_SRC_MPT += src/mpt/base/compiletime_warning.hpp
MPT_FILES_SRC_MPT += src/mpt/base/constexpr_throw.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect_compiler.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect_libc.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect_libcxx.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect_os.hpp
MPT_FILES_SRC_MPT += src/mpt/base/detect_quirks.hpp
MPT_FILES_SRC_MPT += src/mpt/base/floatingpoint.hpp
MPT_FILES_SRC_MPT += src/mpt/base/integer.hpp
MPT_FILES_SRC_MPT += src/mpt/base/macros.hpp
MPT_FILES_SRC_MPT += src/mpt/base/math.hpp
MPT_FILES_SRC_MPT += src/mpt/base/memory.hpp
MPT_FILES_SRC_MPT += src/mpt/base/namespace.hpp
MPT_FILES_SRC_MPT += src/mpt/base/numbers.hpp
MPT_FILES_SRC_MPT += src/mpt/base/numeric.hpp
MPT_FILES_SRC_MPT += src/mpt/base/pointer.hpp
MPT_FILES_SRC_MPT += src/mpt/base/preprocessor.hpp
MPT_FILES_SRC_MPT += src/mpt/base/saturate_cast.hpp
MPT_FILES_SRC_MPT += src/mpt/base/saturate_round.hpp
MPT_FILES_SRC_MPT += src/mpt/base/secure.hpp
MPT_FILES_SRC_MPT += src/mpt/base/semantic_version.hpp
MPT_FILES_SRC_MPT += src/mpt/base/source_location.hpp
MPT_FILES_SRC_MPT += src/mpt/base/span.hpp
MPT_FILES_SRC_MPT += src/mpt/base/utility.hpp
MPT_FILES_SRC_MPT += src/mpt/base/version.hpp
MPT_FILES_SRC_MPT += src/mpt/base/wrapping_divide.hpp
MPT_FILES_SRC_MPT += src/mpt/binary/base64.hpp
MPT_FILES_SRC_MPT += src/mpt/binary/base64url.hpp
MPT_FILES_SRC_MPT += src/mpt/binary/hex.hpp
MPT_FILES_SRC_MPT += src/mpt/check/libc.hpp
MPT_FILES_SRC_MPT += src/mpt/check/mfc.hpp
MPT_FILES_SRC_MPT += src/mpt/check/windows.hpp
MPT_FILES_SRC_MPT += src/mpt/crc/crc.hpp
#MPT_FILES_SRC_MPT += src/mpt/crypto/exception.hpp
#MPT_FILES_SRC_MPT += src/mpt/crypto/hash.hpp
#MPT_FILES_SRC_MPT += src/mpt/crypto/jwk.hpp
MPT_FILES_SRC_MPT += src/mpt/detect/dl.hpp
MPT_FILES_SRC_MPT += src/mpt/detect/ltdl.hpp
MPT_FILES_SRC_MPT += src/mpt/detect/mfc.hpp
MPT_FILES_SRC_MPT += src/mpt/detect/nlohmann_json.hpp
MPT_FILES_SRC_MPT += src/mpt/endian/floatingpoint.hpp
MPT_FILES_SRC_MPT += src/mpt/endian/int24.hpp
MPT_FILES_SRC_MPT += src/mpt/endian/integer.hpp
MPT_FILES_SRC_MPT += src/mpt/environment/environment.hpp
MPT_FILES_SRC_MPT += src/mpt/exception_text/exception_text.hpp
MPT_FILES_SRC_MPT += src/mpt/format/default_floatingpoint.hpp
MPT_FILES_SRC_MPT += src/mpt/format/default_formatter.hpp
MPT_FILES_SRC_MPT += src/mpt/format/default_integer.hpp
MPT_FILES_SRC_MPT += src/mpt/format/default_string.hpp
MPT_FILES_SRC_MPT += src/mpt/format/helpers.hpp
MPT_FILES_SRC_MPT += src/mpt/format/message.hpp
MPT_FILES_SRC_MPT += src/mpt/format/message_macros.hpp
MPT_FILES_SRC_MPT += src/mpt/format/simple.hpp
MPT_FILES_SRC_MPT += src/mpt/format/simple_floatingpoint.hpp
MPT_FILES_SRC_MPT += src/mpt/format/simple_integer.hpp
MPT_FILES_SRC_MPT += src/mpt/format/simple_spec.hpp
MPT_FILES_SRC_MPT += src/mpt/io/base.hpp
MPT_FILES_SRC_MPT += src/mpt/io/io.hpp
MPT_FILES_SRC_MPT += src/mpt/io/io_span.hpp
MPT_FILES_SRC_MPT += src/mpt/io/io_stdstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io/io_virtual_wrapper.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/callbackstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_callbackstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_filename_traits.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_memory.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_stdstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_traits_filedata.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filecursor_traits_memory.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_base.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_base_buffered.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_base_seekable.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_base_unseekable.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_callbackstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_memory.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filedata_stdstream.hpp
MPT_FILES_SRC_MPT += src/mpt/io_read/filereader.hpp
MPT_FILES_SRC_MPT += src/mpt/io_write/buffer.hpp
#MPT_FILES_SRC_MPT += src/mpt/json/json.hpp
#MPT_FILES_SRC_MPT += src/mpt/library/library.hpp
MPT_FILES_SRC_MPT += src/mpt/mutex/mutex.hpp
MPT_FILES_SRC_MPT += src/mpt/osinfo/class.hpp
MPT_FILES_SRC_MPT += src/mpt/osinfo/windows_version.hpp
MPT_FILES_SRC_MPT += src/mpt/out_of_memory/out_of_memory.hpp
MPT_FILES_SRC_MPT += src/mpt/parse/parse.hpp
#MPT_FILES_SRC_MPT += src/mpt/path/path.hpp
MPT_FILES_SRC_MPT += src/mpt/random/crand.hpp
MPT_FILES_SRC_MPT += src/mpt/random/default_engines.hpp
MPT_FILES_SRC_MPT += src/mpt/random/device.hpp
MPT_FILES_SRC_MPT += src/mpt/random/engine.hpp
MPT_FILES_SRC_MPT += src/mpt/random/engine_lcg.hpp
MPT_FILES_SRC_MPT += src/mpt/random/random.hpp
MPT_FILES_SRC_MPT += src/mpt/random/seed.hpp
MPT_FILES_SRC_MPT += src/mpt/string/buffer.hpp
MPT_FILES_SRC_MPT += src/mpt/string/types.hpp
MPT_FILES_SRC_MPT += src/mpt/string/utility.hpp
MPT_FILES_SRC_MPT += src/mpt/string_transcode/transcode.hpp
MPT_FILES_SRC_MPT += src/mpt/string_transcode/macros.hpp
MPT_FILES_SRC_MPT += src/mpt/system_error/system_error.hpp
MPT_FILES_SRC_MPT += src/mpt/test/test.hpp
MPT_FILES_SRC_MPT += src/mpt/test/test_macros.hpp
MPT_FILES_SRC_MPT += src/mpt/uuid/guid.hpp
MPT_FILES_SRC_MPT += src/mpt/uuid/uuid.hpp
#MPT_FILES_SRC_MPT += src/mpt/uuid_namespace/uuid_namespace.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_arithmetic_shift.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_bit.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_math.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_saturate_cast.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_saturate_round.hpp
MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_wrapping_divide.hpp
MPT_FILES_SRC_MPT += src/mpt/binary/tests/tests_binary.hpp
MPT_FILES_SRC_MPT += src/mpt/crc/tests/tests_crc.hpp
#MPT_FILES_SRC_MPT += src/mpt/crypto/tests/tests_crypto.hpp
MPT_FILES_SRC_MPT += src/mpt/endian/tests/tests_endian_floatingpoint.hpp
MPT_FILES_SRC_MPT += src/mpt/endian/tests/tests_endian_integer.hpp
MPT_FILES_SRC_MPT += src/mpt/format/tests/tests_format_message.hpp
MPT_FILES_SRC_MPT += src/mpt/format/tests/tests_format_simple.hpp
MPT_FILES_SRC_MPT += src/mpt/io/tests/tests_io.hpp
MPT_FILES_SRC_MPT += src/mpt/parse/tests/tests_parse.hpp
MPT_FILES_SRC_MPT += src/mpt/random/tests/tests_random.hpp
MPT_FILES_SRC_MPT += src/mpt/string/tests/tests_string_buffer.hpp
MPT_FILES_SRC_MPT += src/mpt/string/tests/tests_string_utility.hpp
MPT_FILES_SRC_MPT += src/mpt/string_transcode/tests/tests_string_transcode.hpp
MPT_FILES_SRC_MPT += src/mpt/uuid/tests/tests_uuid.hpp
#MPT_FILES_SRC_MPT += src/mpt/uuid_namespace/tests/tests_uuid_namespace.hpp
MPT_FILES_SRC_OPENMPT =
MPT_FILES_SRC_OPENMPT += src/openmpt/all/BuildSettings.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/base/Endian.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/base/FlagSet.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/base/Int24.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/base/Types.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/logging/Logger.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/random/ModPlug.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/Copy.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/CopyMix.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/Dither.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/DitherModPlug.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/DitherNone.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/DitherSimple.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/MixSample.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/MixSampleConvert.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleClip.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleClipFixedPoint.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleConvert.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleConvertFixedPoint.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleDecode.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleEncode.hpp
MPT_FILES_SRC_OPENMPT += src/openmpt/soundbase/SampleFormat.hpp
MPT_FILES_COMMON =
MPT_FILES_COMMON += common/BuildSettings.h
MPT_FILES_COMMON += common/ComponentManager.cpp
MPT_FILES_COMMON += common/ComponentManager.h
MPT_FILES_COMMON += common/Dither.h
MPT_FILES_COMMON += common/FileReader.h
MPT_FILES_COMMON += common/FileReaderFwd.h
MPT_FILES_COMMON += common/Logging.cpp
MPT_FILES_COMMON += common/Logging.h
MPT_FILES_COMMON += common/misc_util.h
MPT_FILES_COMMON += common/mptAssert.h
MPT_FILES_COMMON += common/mptBaseMacros.h
MPT_FILES_COMMON += common/mptBaseTypes.h
MPT_FILES_COMMON += common/mptBaseUtils.h
MPT_FILES_COMMON += common/mptFileIO.cpp
MPT_FILES_COMMON += common/mptFileIO.h
MPT_FILES_COMMON += common/mptPathString.cpp
MPT_FILES_COMMON += common/mptPathString.h
MPT_FILES_COMMON += common/mptRandom.cpp
MPT_FILES_COMMON += common/mptRandom.h
MPT_FILES_COMMON += common/mptString.cpp
MPT_FILES_COMMON += common/mptString.h
MPT_FILES_COMMON += common/mptStringBuffer.cpp
MPT_FILES_COMMON += common/mptStringBuffer.h
MPT_FILES_COMMON += common/mptStringFormat.cpp
MPT_FILES_COMMON += common/mptStringFormat.h
MPT_FILES_COMMON += common/mptStringParse.cpp
MPT_FILES_COMMON += common/mptStringParse.h
MPT_FILES_COMMON += common/mptTime.cpp
MPT_FILES_COMMON += common/mptTime.h
MPT_FILES_COMMON += common/Profiler.cpp
MPT_FILES_COMMON += common/Profiler.h
MPT_FILES_COMMON += common/serialization_utils.cpp
MPT_FILES_COMMON += common/serialization_utils.h
MPT_FILES_COMMON += common/stdafx.h
MPT_FILES_COMMON += common/version.cpp
MPT_FILES_COMMON += common/version.h
MPT_FILES_COMMON += common/versionNumber.h
MPT_FILES_SOUNDLIB =
MPT_FILES_SOUNDLIB += soundlib/AudioCriticalSection.cpp
MPT_FILES_SOUNDLIB += soundlib/AudioCriticalSection.h
MPT_FILES_SOUNDLIB += soundlib/AudioReadTarget.h
MPT_FILES_SOUNDLIB += soundlib/BitReader.h
MPT_FILES_SOUNDLIB += soundlib/ContainerMMCMP.cpp
MPT_FILES_SOUNDLIB += soundlib/ContainerPP20.cpp
MPT_FILES_SOUNDLIB += soundlib/ContainerUMX.cpp
MPT_FILES_SOUNDLIB += soundlib/ContainerXPK.cpp
MPT_FILES_SOUNDLIB += soundlib/Container.h
MPT_FILES_SOUNDLIB += soundlib/Dlsbank.cpp
MPT_FILES_SOUNDLIB += soundlib/Dlsbank.h
MPT_FILES_SOUNDLIB += soundlib/Fastmix.cpp
MPT_FILES_SOUNDLIB += soundlib/FloatMixer.h
MPT_FILES_SOUNDLIB += soundlib/InstrumentExtensions.cpp
MPT_FILES_SOUNDLIB += soundlib/IntMixer.h
MPT_FILES_SOUNDLIB += soundlib/ITCompression.cpp
MPT_FILES_SOUNDLIB += soundlib/ITCompression.h
MPT_FILES_SOUNDLIB += soundlib/ITTools.cpp
MPT_FILES_SOUNDLIB += soundlib/ITTools.h
MPT_FILES_SOUNDLIB += soundlib/Load_669.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_amf.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_ams.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_c67.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_dbm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_digi.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_dmf.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_dsm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_dsym.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_dtm.cpp
MPT_FILES_SOUNDLIB += soundlib/Loaders.h
MPT_FILES_SOUNDLIB += soundlib/Load_far.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_fmt.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_gdm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_imf.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_it.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_itp.cpp
MPT_FILES_SOUNDLIB += soundlib/load_j2b.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mdl.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_med.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mid.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mo3.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mod.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mt2.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mtm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_mus_km.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_okt.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_plm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_psm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_ptm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_s3m.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_sfx.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_stm.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_stp.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_symmod.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_uax.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_ult.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_wav.cpp
MPT_FILES_SOUNDLIB += soundlib/Load_xm.cpp
MPT_FILES_SOUNDLIB += soundlib/Message.cpp
MPT_FILES_SOUNDLIB += soundlib/Message.h
MPT_FILES_SOUNDLIB += soundlib/MIDIEvents.cpp
MPT_FILES_SOUNDLIB += soundlib/MIDIEvents.h
MPT_FILES_SOUNDLIB += soundlib/MIDIMacros.cpp
MPT_FILES_SOUNDLIB += soundlib/MIDIMacros.h
MPT_FILES_SOUNDLIB += soundlib/Mixer.h
MPT_FILES_SOUNDLIB += soundlib/MixerInterface.h
MPT_FILES_SOUNDLIB += soundlib/MixerLoops.cpp
MPT_FILES_SOUNDLIB += soundlib/MixerLoops.h
MPT_FILES_SOUNDLIB += soundlib/MixerSettings.cpp
MPT_FILES_SOUNDLIB += soundlib/MixerSettings.h
MPT_FILES_SOUNDLIB += soundlib/MixFuncTable.cpp
MPT_FILES_SOUNDLIB += soundlib/MixFuncTable.h
MPT_FILES_SOUNDLIB += soundlib/ModChannel.cpp
MPT_FILES_SOUNDLIB += soundlib/ModChannel.h
MPT_FILES_SOUNDLIB += soundlib/modcommand.cpp
MPT_FILES_SOUNDLIB += soundlib/modcommand.h
MPT_FILES_SOUNDLIB += soundlib/ModInstrument.cpp
MPT_FILES_SOUNDLIB += soundlib/ModInstrument.h
MPT_FILES_SOUNDLIB += soundlib/ModSample.cpp
MPT_FILES_SOUNDLIB += soundlib/ModSample.h
MPT_FILES_SOUNDLIB += soundlib/ModSampleCopy.h
MPT_FILES_SOUNDLIB += soundlib/ModSequence.cpp
MPT_FILES_SOUNDLIB += soundlib/ModSequence.h
MPT_FILES_SOUNDLIB += soundlib/modsmp_ctrl.cpp
MPT_FILES_SOUNDLIB += soundlib/modsmp_ctrl.h
MPT_FILES_SOUNDLIB += soundlib/mod_specifications.cpp
MPT_FILES_SOUNDLIB += soundlib/mod_specifications.h
MPT_FILES_SOUNDLIB += soundlib/MPEGFrame.cpp
MPT_FILES_SOUNDLIB += soundlib/MPEGFrame.h
MPT_FILES_SOUNDLIB += soundlib/OggStream.cpp
MPT_FILES_SOUNDLIB += soundlib/OggStream.h
MPT_FILES_SOUNDLIB += soundlib/opal.h
MPT_FILES_SOUNDLIB += soundlib/OPL.cpp
MPT_FILES_SOUNDLIB += soundlib/OPL.h
MPT_FILES_SOUNDLIB += soundlib/Paula.cpp
MPT_FILES_SOUNDLIB += soundlib/Paula.h
MPT_FILES_SOUNDLIB += soundlib/patternContainer.cpp
MPT_FILES_SOUNDLIB += soundlib/patternContainer.h
MPT_FILES_SOUNDLIB += soundlib/pattern.cpp
MPT_FILES_SOUNDLIB += soundlib/pattern.h
MPT_FILES_SOUNDLIB += soundlib/Resampler.h
MPT_FILES_SOUNDLIB += soundlib/RowVisitor.cpp
MPT_FILES_SOUNDLIB += soundlib/RowVisitor.h
MPT_FILES_SOUNDLIB += soundlib/S3MTools.cpp
MPT_FILES_SOUNDLIB += soundlib/S3MTools.h
MPT_FILES_SOUNDLIB += soundlib/SampleCopy.h
MPT_FILES_SOUNDLIB += soundlib/SampleFormats.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatBRR.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatFLAC.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatMediaFoundation.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatMP3.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatOpus.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatSFZ.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleFormatVorbis.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleIO.cpp
MPT_FILES_SOUNDLIB += soundlib/SampleIO.h
MPT_FILES_SOUNDLIB += soundlib/SampleNormalize.h
MPT_FILES_SOUNDLIB += soundlib/Snd_defs.h
MPT_FILES_SOUNDLIB += soundlib/Sndfile.cpp
MPT_FILES_SOUNDLIB += soundlib/Sndfile.h
MPT_FILES_SOUNDLIB += soundlib/Snd_flt.cpp
MPT_FILES_SOUNDLIB += soundlib/Snd_fx.cpp
MPT_FILES_SOUNDLIB += soundlib/Sndmix.cpp
MPT_FILES_SOUNDLIB += soundlib/SoundFilePlayConfig.cpp
MPT_FILES_SOUNDLIB += soundlib/SoundFilePlayConfig.h
MPT_FILES_SOUNDLIB += soundlib/Tables.cpp
MPT_FILES_SOUNDLIB += soundlib/Tables.h
MPT_FILES_SOUNDLIB += soundlib/Tagging.cpp
MPT_FILES_SOUNDLIB += soundlib/Tagging.h
MPT_FILES_SOUNDLIB += soundlib/TinyFFT.cpp
MPT_FILES_SOUNDLIB += soundlib/TinyFFT.h
MPT_FILES_SOUNDLIB += soundlib/tuningbase.h
MPT_FILES_SOUNDLIB += soundlib/tuningCollection.cpp
MPT_FILES_SOUNDLIB += soundlib/tuningcollection.h
MPT_FILES_SOUNDLIB += soundlib/tuning.cpp
MPT_FILES_SOUNDLIB += soundlib/tuning.h
MPT_FILES_SOUNDLIB += soundlib/UMXTools.cpp
MPT_FILES_SOUNDLIB += soundlib/UMXTools.h
MPT_FILES_SOUNDLIB += soundlib/UpgradeModule.cpp
MPT_FILES_SOUNDLIB += soundlib/WAVTools.cpp
MPT_FILES_SOUNDLIB += soundlib/WAVTools.h
MPT_FILES_SOUNDLIB += soundlib/WindowedFIR.cpp
MPT_FILES_SOUNDLIB += soundlib/WindowedFIR.h
MPT_FILES_SOUNDLIB += soundlib/XMTools.cpp
MPT_FILES_SOUNDLIB += soundlib/XMTools.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/DMOPlugin.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/DMOPlugin.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/DMOUtils.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/DMOUtils.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Chorus.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Chorus.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Compressor.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Compressor.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Distortion.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Distortion.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Echo.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Echo.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Flanger.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Flanger.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Gargle.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/Gargle.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/I3DL2Reverb.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/I3DL2Reverb.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/ParamEq.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/ParamEq.h
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/WavesReverb.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/dmo/WavesReverb.h
MPT_FILES_SOUNDLIB += soundlib/plugins/DigiBoosterEcho.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/DigiBoosterEcho.h
MPT_FILES_SOUNDLIB += soundlib/plugins/LFOPlugin.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/LFOPlugin.h
MPT_FILES_SOUNDLIB += soundlib/plugins/PluginManager.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/PluginManager.h
MPT_FILES_SOUNDLIB += soundlib/plugins/PluginMixBuffer.h
MPT_FILES_SOUNDLIB += soundlib/plugins/PluginStructs.h
MPT_FILES_SOUNDLIB += soundlib/plugins/PlugInterface.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/PlugInterface.h
MPT_FILES_SOUNDLIB += soundlib/plugins/SymMODEcho.cpp
MPT_FILES_SOUNDLIB += soundlib/plugins/SymMODEcho.h
MPT_FILES_SOUNDDSP =
MPT_FILES_SOUNDDSP += sounddsp/AGC.cpp
MPT_FILES_SOUNDDSP += sounddsp/AGC.h
MPT_FILES_SOUNDDSP += sounddsp/DSP.cpp
MPT_FILES_SOUNDDSP += sounddsp/DSP.h
MPT_FILES_SOUNDDSP += sounddsp/EQ.cpp
MPT_FILES_SOUNDDSP += sounddsp/EQ.h
MPT_FILES_SOUNDDSP += sounddsp/Reverb.cpp
MPT_FILES_SOUNDDSP += sounddsp/Reverb.h
pkgconfig_DATA += libopenmpt/libopenmpt.pc
lib_LTLIBRARIES += libopenmpt.la
libopenmpt_la_LDFLAGS = -version-info $(LIBOPENMPT_LTVER_CURRENT):$(LIBOPENMPT_LTVER_REVISION):$(LIBOPENMPT_LTVER_AGE) -no-undefined
nobase_include_HEADERS += libopenmpt/libopenmpt.h
nobase_include_HEADERS += libopenmpt/libopenmpt.hpp
nobase_include_HEADERS += libopenmpt/libopenmpt_version.h
nobase_include_HEADERS += libopenmpt/libopenmpt_config.h
nobase_include_HEADERS += libopenmpt/libopenmpt_stream_callbacks_buffer.h
nobase_include_HEADERS += libopenmpt/libopenmpt_stream_callbacks_fd.h
nobase_include_HEADERS += libopenmpt/libopenmpt_stream_callbacks_file.h
nobase_include_HEADERS += libopenmpt/libopenmpt_ext.h
nobase_include_HEADERS += libopenmpt/libopenmpt_ext.hpp
libopenmpt_la_CPPFLAGS =
libopenmpt_la_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) -DLIBOPENMPT_BUILD -I$(srcdir)/build/svn_version -I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
libopenmpt_la_CXXFLAGS =
libopenmpt_la_CXXFLAGS += $(WIN32_CXXFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
libopenmpt_la_CFLAGS =
libopenmpt_la_CFLAGS += $(WIN32_CFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
libopenmpt_la_LIBADD =
libopenmpt_la_LIBADD += $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) $(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
libopenmpt_la_SOURCES =
libopenmpt_la_SOURCES += build/svn_version/svn_version.h
libopenmpt_la_SOURCES += $(MPT_FILES_SRC_MPT)
libopenmpt_la_SOURCES += $(MPT_FILES_SRC_OPENMPT)
libopenmpt_la_SOURCES += $(MPT_FILES_COMMON)
libopenmpt_la_SOURCES += $(MPT_FILES_SOUNDBASE)
libopenmpt_la_SOURCES += $(MPT_FILES_SOUNDLIB)
libopenmpt_la_SOURCES += $(MPT_FILES_SOUNDDSP)
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_c.cpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_cxx.cpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_ext_impl.cpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_impl.cpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_config.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_ext.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_ext.hpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_ext_impl.hpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt.hpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_impl.hpp
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_internal.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_stream_callbacks_buffer.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_stream_callbacks_fd.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_stream_callbacks_file.h
libopenmpt_la_SOURCES += libopenmpt/libopenmpt_version.h
if ENABLE_TESTS
check_PROGRAMS += libopenmpttest
libopenmpttest_CPPFLAGS =
libopenmpttest_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) -DLIBOPENMPT_BUILD -DLIBOPENMPT_BUILD_TEST -I$(srcdir)/build/svn_version -I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
libopenmpttest_CXXFLAGS =
libopenmpttest_CXXFLAGS += $(WIN32_CXXFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
libopenmpttest_CFLAGS =
libopenmpttest_CFLAGS += $(WIN32_CFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
libopenmpttest_LDADD =
libopenmpttest_LDADD += $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) $(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
libopenmpttest_SOURCES =
libopenmpttest_SOURCES += libopenmpt/libopenmpt_test.cpp
libopenmpttest_SOURCES += test/mpt_tests_base.cpp
libopenmpttest_SOURCES += test/mpt_tests_binary.cpp
libopenmpttest_SOURCES += test/mpt_tests_crc.cpp
#libopenmpttest_SOURCES += test/mpt_tests_crypto.cpp
libopenmpttest_SOURCES += test/mpt_tests_endian.cpp
libopenmpttest_SOURCES += test/mpt_tests_format.cpp
libopenmpttest_SOURCES += test/mpt_tests_io.cpp
libopenmpttest_SOURCES += test/mpt_tests_parse.cpp
libopenmpttest_SOURCES += test/mpt_tests_random.cpp
libopenmpttest_SOURCES += test/mpt_tests_string.cpp
libopenmpttest_SOURCES += test/mpt_tests_string_transcode.cpp
libopenmpttest_SOURCES += test/mpt_tests_uuid.cpp
#libopenmpttest_SOURCES += test/mpt_tests_uuid_namespace.cpp
libopenmpttest_SOURCES += test/test.cpp
libopenmpttest_SOURCES += test/test.h
libopenmpttest_SOURCES += test/TestTools.h
libopenmpttest_SOURCES += test/TestToolsLib.cpp
libopenmpttest_SOURCES += test/TestToolsLib.h
libopenmpttest_SOURCES += test/TestToolsTracker.h
libopenmpttest_SOURCES += build/svn_version/svn_version.h
libopenmpttest_SOURCES += $(MPT_FILES_SRC_MPT)
libopenmpttest_SOURCES += $(MPT_FILES_SRC_OPENMPT)
libopenmpttest_SOURCES += $(MPT_FILES_COMMON)
libopenmpttest_SOURCES += $(MPT_FILES_SOUNDBASE)
libopenmpttest_SOURCES += $(MPT_FILES_SOUNDLIB)
libopenmpttest_SOURCES += $(MPT_FILES_SOUNDDSP)
libopenmpttest_SOURCES += libopenmpt/libopenmpt_c.cpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_cxx.cpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_ext_impl.cpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_impl.cpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_config.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_ext.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_ext.hpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_ext_impl.hpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt.hpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_impl.hpp
libopenmpttest_SOURCES += libopenmpt/libopenmpt_internal.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_stream_callbacks_buffer.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_stream_callbacks_fd.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_stream_callbacks_file.h
libopenmpttest_SOURCES += libopenmpt/libopenmpt_version.h
endif
if ENABLE_OPENMPT123
bin_PROGRAMS += bin/openmpt123
bin_openmpt123_CPPFLAGS =
bin_openmpt123_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) -I$(srcdir)/src $(PORTAUDIO_CFLAGS) $(PULSEAUDIO_CFLAGS) $(SDL2_CFLAGS) $(SNDFILE_CFLAGS) $(FLAC_CFLAGS)
bin_openmpt123_CXXFLAGS =
bin_openmpt123_CXXFLAGS += $(WIN32_CXXFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
bin_openmpt123_LDADD = libopenmpt.la $(PORTAUDIO_LIBS) $(PULSEAUDIO_LIBS) $(SDL2_LIBS) $(SNDFILE_LIBS) $(FLAC_LIBS) $(OPENMPT123_WIN32_LIBS)
bin_openmpt123_SOURCES =
bin_openmpt123_SOURCES += $(MPT_FILES_SRC_MPT)
bin_openmpt123_SOURCES += openmpt123/openmpt123_allegro42.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_config.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123.cpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_flac.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_mmio.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_portaudio.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_pulseaudio.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_raw.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_sdl2.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_sndfile.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_stdout.hpp
bin_openmpt123_SOURCES += openmpt123/openmpt123_waveout.hpp
man1_MANS = man/openmpt123.1
endif
@DX_RULES@
MOSTLYCLEANFILES += $(DX_CLEANFILES)

View file

@ -0,0 +1,250 @@
#!/usr/bin/env bash
set -e
#
# This script autoconficates the libopenmpt source tree and builds an
# autotools-based release tarball.
#
# WARNING: The script expects to be run from the root of an OpenMPT svn
# checkout. The invests no effort in verifying this precondition.
#
echo "Gathering version ..."
. libopenmpt/libopenmpt_version.mk
echo "Cleaning local build ..."
make NO_SDL=1 NO_SDL2=1 clean
echo "Cleaning dist-autotools.tar ..."
rm -rf bin/dist-autotools.tar || true
echo "Cleaning tmp directory ..."
if [ -e bin/dist-autotools ]; then
chmod -R u+rw bin/dist-autotools || true
fi
rm -rf bin/dist-autotools || true
echo "Making tmp directory ..."
mkdir bin/dist-autotools
if `svn info . > /dev/null 2>&1` ; then
echo "Exporting svn ..."
svn export ./LICENSE bin/dist-autotools/LICENSE
svn export ./README.md bin/dist-autotools/README.md
svn export ./.clang-format bin/dist-autotools/.clang-format
svn export ./common bin/dist-autotools/common
mkdir bin/dist-autotools/doc
svn export ./doc/contributing.md bin/dist-autotools/doc/contributing.md
svn export ./doc/libopenmpt_styleguide.md bin/dist-autotools/doc/libopenmpt_styleguide.md
svn export ./doc/module_formats.md bin/dist-autotools/doc/module_formats.md
svn export ./doc/openmpt_styleguide.md bin/dist-autotools/doc/openmpt_styleguide.md
svn export ./soundlib bin/dist-autotools/soundlib
svn export ./sounddsp bin/dist-autotools/sounddsp
mkdir -p bin/dist-autotools/src/mpt
svn export ./src/mpt/.clang-format bin/dist-autotools/src/mpt/.clang-format
svn export ./src/mpt/LICENSE.BSD-3-Clause.txt bin/dist-autotools/src/mpt/LICENSE.BSD-3-Clause.txt
svn export ./src/mpt/LICENSE.BSL-1.0.txt bin/dist-autotools/src/mpt/LICENSE.BSL-1.0.txt
svn export ./src/mpt/audio bin/dist-autotools/src/mpt/audio
svn export ./src/mpt/base bin/dist-autotools/src/mpt/base
svn export ./src/mpt/binary bin/dist-autotools/src/mpt/binary
svn export ./src/mpt/check bin/dist-autotools/src/mpt/check
svn export ./src/mpt/crc bin/dist-autotools/src/mpt/crc
#svn export ./src/mpt/crypto bin/dist-autotools/src/mpt/crypto
svn export ./src/mpt/detect bin/dist-autotools/src/mpt/detect
svn export ./src/mpt/endian bin/dist-autotools/src/mpt/endian
svn export ./src/mpt/environment bin/dist-autotools/src/mpt/environment
svn export ./src/mpt/exception_text bin/dist-autotools/src/mpt/exception_text
svn export ./src/mpt/format bin/dist-autotools/src/mpt/format
svn export ./src/mpt/io bin/dist-autotools/src/mpt/io
svn export ./src/mpt/io_read bin/dist-autotools/src/mpt/io_read
svn export ./src/mpt/io_write bin/dist-autotools/src/mpt/io_write
#svn export ./src/mpt/json bin/dist-autotools/src/mpt/json
#svn export ./src/mpt/library bin/dist-autotools/src/mpt/library
svn export ./src/mpt/mutex bin/dist-autotools/src/mpt/mutex
svn export ./src/mpt/out_of_memory bin/dist-autotools/src/mpt/out_of_memory
svn export ./src/mpt/osinfo bin/dist-autotools/src/mpt/osinfo
svn export ./src/mpt/parse bin/dist-autotools/src/mpt/parse
#svn export ./src/mpt/path bin/dist-autotools/src/mpt/path
svn export ./src/mpt/random bin/dist-autotools/src/mpt/random
svn export ./src/mpt/string bin/dist-autotools/src/mpt/string
svn export ./src/mpt/string_transcode bin/dist-autotools/src/mpt/string_transcode
svn export ./src/mpt/system_error bin/dist-autotools/src/mpt/system_error
svn export ./src/mpt/test bin/dist-autotools/src/mpt/test
svn export ./src/mpt/uuid bin/dist-autotools/src/mpt/uuid
#svn export ./src/mpt/uuid_namespace bin/dist-autotools/src/mpt/uuid_namespace
mkdir -p bin/dist-autotools/src/openmpt
svn export ./src/openmpt/all bin/dist-autotools/src/openmpt/all
svn export ./src/openmpt/base bin/dist-autotools/src/openmpt/base
svn export ./src/openmpt/logging bin/dist-autotools/src/openmpt/logging
svn export ./src/openmpt/random bin/dist-autotools/src/openmpt/random
svn export ./src/openmpt/soundbase bin/dist-autotools/src/openmpt/soundbase
svn export ./test bin/dist-autotools/test
rm bin/dist-autotools/test/mpt_tests_crypto.cpp
rm bin/dist-autotools/test/mpt_tests_uuid_namespace.cpp
svn export ./libopenmpt bin/dist-autotools/libopenmpt
svn export ./examples bin/dist-autotools/examples
svn export ./openmpt123 bin/dist-autotools/openmpt123
mkdir bin/dist-autotools/build
mkdir bin/dist-autotools/build/svn_version
svn export ./build/svn_version/svn_version.h bin/dist-autotools/build/svn_version/svn_version.h
mkdir bin/dist-autotools/m4
touch bin/dist-autotools/m4/emptydir
svn export ./build/autotools/configure.ac bin/dist-autotools/configure.ac
svn export ./build/autotools/Makefile.am bin/dist-autotools/Makefile.am
else
echo "Exporting git ..."
cp -r ./LICENSE bin/dist-autotools/LICENSE
cp -r ./README.md bin/dist-autotools/README.md
cp -r ./.clang-format bin/dist-autotools/.clang-format
cp -r ./common bin/dist-autotools/common
mkdir bin/dist-autotools/doc
cp -r ./doc/contributing.md bin/dist-autotools/doc/contributing.md
cp -r ./doc/libopenmpt_styleguide.md bin/dist-autotools/doc/libopenmpt_styleguide.md
cp -r ./doc/module_formats.md bin/dist-autotools/doc/module_formats.md
cp -r ./doc/openmpt_styleguide.md bin/dist-autotools/doc/openmpt_styleguide.md
cp -r ./soundlib bin/dist-autotools/soundlib
cp -r ./sounddsp bin/dist-autotools/sounddsp
mkdir -p bin/dist-autotools/src/mpt
cp -r ./src/mpt/.clang-format bin/dist-autotools/src/mpt/.clang-format
cp -r ./src/mpt/LICENSE.BSD-3-Clause.txt bin/dist-autotools/src/mpt/LICENSE.BSD-3-Clause.txt
cp -r ./src/mpt/LICENSE.BSL-1.0.txt bin/dist-autotools/src/mpt/LICENSE.BSL-1.0.txt
cp -r ./src/mpt/audio bin/dist-autotools/src/mpt/audio
cp -r ./src/mpt/base bin/dist-autotools/src/mpt/base
cp -r ./src/mpt/binary bin/dist-autotools/src/mpt/binary
cp -r ./src/mpt/check bin/dist-autotools/src/mpt/check
cp -r ./src/mpt/crc bin/dist-autotools/src/mpt/crc
#cp -r ./src/mpt/crypto bin/dist-autotools/src/mpt/crypto
cp -r ./src/mpt/detect bin/dist-autotools/src/mpt/detect
cp -r ./src/mpt/endian bin/dist-autotools/src/mpt/endian
cp -r ./src/mpt/environment bin/dist-autotools/src/mpt/environment
cp -r ./src/mpt/exception_text bin/dist-autotools/src/mpt/exception_text
cp -r ./src/mpt/format bin/dist-autotools/src/mpt/format
cp -r ./src/mpt/io bin/dist-autotools/src/mpt/io
cp -r ./src/mpt/io_read bin/dist-autotools/src/mpt/io_read
cp -r ./src/mpt/io_write bin/dist-autotools/src/mpt/io_write
#cp -r ./src/mpt/json bin/dist-autotools/src/mpt/json
#cp -r ./src/mpt/library bin/dist-autotools/src/mpt/library
cp -r ./src/mpt/mutex bin/dist-autotools/src/mpt/mutex
cp -r ./src/mpt/out_of_memory bin/dist-autotools/src/mpt/out_of_memory
cp -r ./src/mpt/osinfo bin/dist-autotools/src/mpt/osinfo
cp -r ./src/mpt/parse bin/dist-autotools/src/mpt/parse
#cp -r ./src/mpt/path bin/dist-autotools/src/mpt/path
cp -r ./src/mpt/random bin/dist-autotools/src/mpt/random
cp -r ./src/mpt/string bin/dist-autotools/src/mpt/string
cp -r ./src/mpt/string_transcode bin/dist-autotools/src/mpt/string_transcode
cp -r ./src/mpt/system_error bin/dist-autotools/src/mpt/system_error
cp -r ./src/mpt/test bin/dist-autotools/src/mpt/test
cp -r ./src/mpt/uuid bin/dist-autotools/src/mpt/uuid
#cp -r ./src/mpt/uuid_namespace bin/dist-autotools/src/mpt/uuid_namespace
mkdir -p bin/dist-autotools/src/openmpt
cp -r ./src/openmpt/all bin/dist-autotools/src/openmpt/all
cp -r ./src/openmpt/base bin/dist-autotools/src/openmpt/base
cp -r ./src/openmpt/logging bin/dist-autotools/src/openmpt/logging
cp -r ./src/openmpt/random bin/dist-autotools/src/openmpt/random
cp -r ./src/openmpt/soundbase bin/dist-autotools/src/openmpt/soundbase
cp -r ./test bin/dist-autotools/test
rm bin/dist-autotools/test/mpt_tests_crypto.cpp
rm bin/dist-autotools/test/mpt_tests_uuid_namespace.cpp
cp -r ./libopenmpt bin/dist-autotools/libopenmpt
cp -r ./examples bin/dist-autotools/examples
cp -r ./openmpt123 bin/dist-autotools/openmpt123
mkdir bin/dist-autotools/build
mkdir bin/dist-autotools/build/svn_version
cp -r ./build/svn_version/svn_version.h bin/dist-autotools/build/svn_version/svn_version.h
mkdir bin/dist-autotools/m4
touch bin/dist-autotools/m4/emptydir
cp -r ./build/autotools/configure.ac bin/dist-autotools/configure.ac
cp -r ./build/autotools/Makefile.am bin/dist-autotools/Makefile.am
fi
echo "Querying svn version ..."
if `svn info . > /dev/null 2>&1` ; then
BUILD_SVNURL="$(svn info --xml | grep '^<url>' | sed 's/<url>//g' | sed 's/<\/url>//g' | sed 's/\//\\\//g' )"
BUILD_SVNVERSION="$(svnversion -n . | tr ':' '-' )"
BUILD_SVNDATE="$(svn info --xml | grep '^<date>' | sed 's/<date>//g' | sed 's/<\/date>//g' )"
else
BUILD_SVNURL="$(git log --grep=git-svn-id -n 1 | grep git-svn-id | tail -n 1 | tr ' ' '\n' | tail -n 2 | head -n 1 | sed 's/@/ /g' | awk '{print $1;}' | sed 's/\//\\\//g')"
BUILD_SVNVERSION="$(git log --grep=git-svn-id -n 1 | grep git-svn-id | tail -n 1 | tr ' ' '\n' | tail -n 2 | head -n 1 | sed 's/@/ /g' | awk '{print $2;}')$(if [ $(git rev-list $(git log --grep=git-svn-id -n 1 --format=format:'%H') ^$(git log -n 1 --format=format:'%H') --count ) -ne 0 ] ; then echo M ; fi)"
BUILD_SVNDATE="$(git log -n 1 --date=iso --format=format:'%cd' | sed 's/ +0000/Z/g' | tr ' ' 'T')"
fi
echo " BUILD_SVNURL=${BUILD_SVNURL}"
echo " BUILD_SVNVERSION=${BUILD_SVNVERSION}"
echo " BUILD_SVNDATE=${BUILD_SVNDATE}"
echo "Building man pages ..."
make NO_SDL=1 NO_SDL2=1 bin/openmpt123.1
echo "Copying man pages ..."
mkdir bin/dist-autotools/man
cp bin/openmpt123.1 bin/dist-autotools/man/openmpt123.1
echo "Cleaning local buid ..."
make NO_SDL=1 NO_SDL2=1 clean
echo "Changing to autotools package directory ..."
OLDDIR="$(pwd)"
cd bin/dist-autotools/
echo "Setting version in configure.ac ..."
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_VERSION_MAJOR!!/${LIBOPENMPT_VERSION_MAJOR}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_VERSION_MINOR!!/${LIBOPENMPT_VERSION_MINOR}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_VERSION_PATCH!!/${LIBOPENMPT_VERSION_PATCH}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_VERSION_PREREL!!/${LIBOPENMPT_VERSION_PREREL}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_LTVER_CURRENT!!/${LIBOPENMPT_LTVER_CURRENT}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_LTVER_REVISION!!/${LIBOPENMPT_LTVER_CURRENT}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
cat configure.ac | sed "s/!!MPT_LIBOPENMPT_LTVER_AGE!!/${LIBOPENMPT_LTVER_AGE}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo " SemVer metadata "
MPT_SEMVER_METADATA_PREFIX=
if [ "${LIBOPENMPT_VERSION_PREREL}x" = "x" ] ; then
MPT_SEMVER_METADATA_PREFIX=release
else
MPT_SEMVER_METADATA_PREFIX=r${BUILD_SVNVERSION}
fi
cat configure.ac | sed "s/!!MPT_SEMVER_METADATA_PREFIX!!/${MPT_SEMVER_METADATA_PREFIX}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo " SVNURL"
cat configure.ac | sed "s/!!MPT_SVNURL!!/${BUILD_SVNURL}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo " SVNVERSION"
cat configure.ac | sed "s/!!MPT_SVNVERSION!!/${BUILD_SVNVERSION}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo " SVNDATE"
cat configure.ac | sed "s/!!MPT_SVNDATE!!/${BUILD_SVNDATE}/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo " PACKAGE"
cat configure.ac | sed "s/!!MPT_PACKAGE!!/true/g" > configure.ac.tmp && mv configure.ac.tmp configure.ac
echo "Generating 'Doxyfile.in' ..."
( cat libopenmpt/Doxyfile | grep -v '^PROJECT_NUMBER' | sed 's/INPUT += /INPUT += @top_srcdir@\//g' > Doxyfile.in ) && ( echo "PROJECT_NUMBER = @PACKAGE_VERSION@" >> Doxyfile.in ) && rm libopenmpt/Doxyfile
echo "OUTPUT_DIRECTORY = doxygen-doc" >> Doxyfile.in
echo "WARN_IF_DOC_ERROR = NO" >> Doxyfile.in
echo "Running 'autoreconf -i' ..."
autoreconf -i
echo "Running './configure' ..."
./configure
echo "Running 'make dist' ..."
make dist
echo "Running 'make distcheck' ..."
#make distcheck
(
make distcheck 3>&1 1>&2 2>&3 | ( grep -v 'libtool: install: warning:' || true ) | ( grep -v 'libtool: warning: remember to run' || true ) | ( grep -v "libtool: warning: '.*la' has not been installed" || true )
exit ${PIPESTATUS[0]}
) 3>&1 1>&2 2>&3
echo "Running 'make' ..."
make
echo "Running 'make check' ..."
make check
echo "Building dist-autotools.tar ..."
cd "$OLDDIR"
MPT_LIBOPENMPT_VERSION=$(make NO_SDL=1 NO_SDL2=1 distversion-tarball)
cd bin/dist-autotools
rm -rf libopenmpt
mkdir -p libopenmpt/src.autotools/$MPT_LIBOPENMPT_VERSION/
cp *.tar.gz libopenmpt/src.autotools/$MPT_LIBOPENMPT_VERSION/
tar -cv --numeric-owner --owner=0 --group=0 -f ../dist-autotools.tar libopenmpt
cd ../..

View file

@ -0,0 +1,346 @@
AC_INIT([libopenmpt], [!!MPT_LIBOPENMPT_VERSION_MAJOR!!.!!MPT_LIBOPENMPT_VERSION_MINOR!!.!!MPT_LIBOPENMPT_VERSION_PATCH!!!!MPT_LIBOPENMPT_VERSION_PREREL!!+!!MPT_SEMVER_METADATA_PREFIX!!.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/])
AC_PREREQ([2.68])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_FILES([Makefile libopenmpt/libopenmpt.pc Doxyfile])
AM_INIT_AUTOMAKE([1.11 -Wall -Werror foreign subdir-objects])
AM_PROG_AR
LT_INIT
AC_SYS_LARGEFILE
PKG_PROG_PKG_CONFIG([0.24])
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_INSTALL
LIBOPENMPT_LTVER_CURRENT=!!MPT_LIBOPENMPT_LTVER_CURRENT!!
LIBOPENMPT_LTVER_REVISION=!!MPT_LIBOPENMPT_LTVER_REVISION!!
LIBOPENMPT_LTVER_AGE=!!MPT_LIBOPENMPT_LTVER_AGE!!
AC_SUBST([LIBOPENMPT_LTVER_CURRENT])
AC_SUBST([LIBOPENMPT_LTVER_REVISION])
AC_SUBST([LIBOPENMPT_LTVER_AGE])
AC_DEFINE([MPT_SVNURL], ["!!MPT_SVNURL!!"], [svn version])
AC_DEFINE([MPT_SVNVERSION], ["!!MPT_SVNVERSION!!"], [svn version])
AC_DEFINE([MPT_SVNDATE], ["!!MPT_SVNDATE!!"], [svn date])
AC_DEFINE([MPT_PACKAGE], [!!MPT_PACKAGE!!], [is package])
AC_ARG_VAR(CXXSTDLIB_PCLIBSPRIVATE, [C++ standard library (or libraries) required for static linking. This will be put in the pkg-config file libopenmpt.pc Libs.private field and used for nothing else.])
AC_CANONICAL_HOST
case $host_os in
mingw32*)
LIBOPENMPT_WIN32_LIBS="-lole32 -lrpcrt4"
LIBOPENMPT_LIBS_PRIVATE_WIN32="-lole32 -lrpcrt4"
OPENMPT123_WIN32_LIBS=-lwinmm
WIN32_CPPFLAGS=
WIN32_CXXFLAGS="-municode -mthreads"
WIN32_CFLAGS="-municode -mthreads"
WIN32_CONSOLE_CXXFLAGS=-mconsole
WIN32_CONSOLE_CFLAGS=-mconsole
;;
*)
LIBOPENMPT_WIN32_LIBS=
LIBOPENMPT_LIBS_PRIVATE_WIN32=
OPENMPT123_WIN32_LIBS=
WIN32_CPPFLAGS=
WIN32_CXXFLAGS=
WIN32_CFLAGS=
WIN32_CONSOLE_CXXFLAGS=
WIN32_CONSOLE_CFLAGS=
;;
esac
AC_SUBST([LIBOPENMPT_WIN32_LIBS])
AC_SUBST([OPENMPT123_WIN32_LIBS])
AC_SUBST([WIN32_CPPFLAGS])
AC_SUBST([WIN32_CXXFLAGS])
AC_SUBST([WIN32_CFLAGS])
AC_SUBST([WIN32_CONSOLE_CXXFLAGS])
AC_SUBST([WIN32_CONSOLE_CFLAGS])
LIBOPENMPT_REQUIRES_PRIVATE=
LIBOPENMPT_LIBS_PRIVATE=
# Required libopenmpt dependency: zlib
ZLIB_PKG=
AC_ARG_WITH([zlib], AS_HELP_STRING([--without-zlib], [Disable use of zlib.]))
AS_IF([test "x$with_zlib" != "xno"],
[
PKG_CHECK_MODULES([ZLIB], [zlib],
[
ZLIB_PKG=zlib
AC_DEFINE([MPT_WITH_ZLIB], [], [with zlib])
], [AC_MSG_ERROR([Unable to find zlib.])])
]
)
# Required libopenmpt dependency: mpg123
MPG123_PKG=
AC_ARG_WITH([mpg123], AS_HELP_STRING([--without-mpg123], [Disable use of libmpg123.]))
AS_IF([test "x$with_mpg123" != "xno"],
[
PKG_CHECK_MODULES([MPG123], [libmpg123 >= 1.14.0],
[
MPG123_PKG=libmpg123
AC_DEFINE([MPT_WITH_MPG123], [], [with mpg123])
], [AC_MSG_ERROR([Unable to find libmpg123.])])
]
)
# Required libopenmpt dependency: ogg
OGG_PKG=
AC_ARG_WITH([ogg], AS_HELP_STRING([--without-ogg], [Disable use of libogg.]))
AS_IF([test "x$with_ogg" != "xno"],
[
PKG_CHECK_MODULES([OGG], [ogg],
[
OGG_PKG=ogg
AC_DEFINE([MPT_WITH_OGG], [], [with ogg])
], [AC_MSG_ERROR([Unable to find libogg.])])
]
)
# Required libopenmpt dependency: vorbis
VORBIS_PKG=
AC_ARG_WITH([vorbis], AS_HELP_STRING([--without-vorbis], [Disable use of libvorbis.]))
AS_IF([test "x$with_vorbis" != "xno"],
[
PKG_CHECK_MODULES([VORBIS], [vorbis],
[
VORBIS_PKG=vorbis
AC_DEFINE([MPT_WITH_VORBIS], [], [with vorbis])
], [AC_MSG_ERROR([Unable to find libvorbis.])])
]
)
# Required libopenmpt dependency: vorbisfile
VORBISFILE_PKG=
AC_ARG_WITH([vorbisfile], AS_HELP_STRING([--without-vorbisfile], [Disable use of libvorbisfile.]))
AS_IF([test "x$with_vorbisfile" != "xno"],
[
PKG_CHECK_MODULES([VORBISFILE], [vorbisfile],
[
VORBISFILE_PKG=vorbisfile
AC_DEFINE([MPT_WITH_VORBISFILE], [], [with vorbisfile])
], [AC_MSG_ERROR([Unable to find libvorbisfile.])])
]
)
LIBOPENMPT_REQUIRES_PRIVATE="$ZLIB_PKG $MPG123_PKG $OGG_PKG $VORBIS_PKG $VORBISFILE_PKG"
LIBOPENMPT_LIBS_PRIVATE="$CXXSTDLIB_PCLIBSPRIVATE $LIBOPENMPT_LIBS_PRIVATE_WIN32"
AC_SUBST([LIBOPENMPT_REQUIRES_PRIVATE])
AC_SUBST([LIBOPENMPT_LIBS_PRIVATE])
# openmpt123
AC_ARG_ENABLE([openmpt123], AS_HELP_STRING([--disable-openmpt123], [Disable the openmpt123 command line player.]))
AM_CONDITIONAL([ENABLE_OPENMPT123], [test "x$enable_openmpt123" != "xno"])
# examples
AC_ARG_ENABLE([examples], AS_HELP_STRING([--disable-examples], [Disable the example programs.]))
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" != "xno"])
# tests
AC_ARG_ENABLE([tests], AS_HELP_STRING([--disable-tests], [Disable the test suite.]))
AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" != "xno"])
# Optional openmpt123 dependency
AC_ARG_WITH([pulseaudio], AS_HELP_STRING([--with-pulseaudio], [Enable use of libpulse and libpulse-simple (enabled by default on Linux).]))
AS_IF([test "x$enable_openmpt123" != "xno"],[
case $host_os in
linux*)
AS_IF([test "x$with_pulseaudio" != "xno"],
[
PKG_CHECK_MODULES([PULSEAUDIO], [libpulse libpulse-simple],
[
have_pulseaudio=1
AC_DEFINE([MPT_WITH_PULSEAUDIO], [], [with libpulseaudio])
],
[
have_pulseaudio=0
AC_MSG_ERROR([Unable to find libpulse and/or libpulse-simple.])
]
)
],
[
have_pulseaudio=0
]
)
;;
*)
AS_IF([test "x$with_pulseaudio" = "xyes"],
[
PKG_CHECK_MODULES([PULSEAUDIO], [libpulse libpulse-simple],
[
have_pulseaudio=1
AC_DEFINE([MPT_WITH_PULSEAUDIO], [], [with libpulseaudio])
],
[
have_pulseaudio=0
AC_MSG_ERROR([Unable to find libpulse and/or libpulse-simple.])
]
)
],
[
have_pulseaudio=0
]
)
;;
esac
],[have_pulseaudio=0])
# Optional openmpt123 and examples dependency
AC_ARG_WITH([portaudio], AS_HELP_STRING([--without-portaudio], [Disable use of libportaudio.]))
AS_IF([test "x$enable_openmpt123$enable_examples" != "xnono"],[
AS_IF([test "x$with_portaudio" != "xno"],
[
PKG_CHECK_MODULES([PORTAUDIO], [portaudio-2.0],
[
have_portaudio=1
AC_DEFINE([MPT_WITH_PORTAUDIO], [], [with libportaudio])
],
[
have_portaudio=0
AC_MSG_ERROR([Unable to find libportaudio.])
]
)
],
[
have_portaudio=0
]
)
],[have_portaudio=0])
AM_CONDITIONAL([HAVE_PORTAUDIO], [test x$have_portaudio = x1])
# Optional examples dependency: PortAudio C++
AC_ARG_WITH([portaudiocpp], AS_HELP_STRING([--without-portaudiocpp], [Disable use of libportaudiocpp.]))
AS_IF([test "x$enable_examples" != "xno"],[
AS_IF([test "x$with_portaudiocpp" != "xno"],
[
PKG_CHECK_MODULES([PORTAUDIOCPP], [portaudiocpp],
[
have_portaudiocpp=1
AC_DEFINE([MPT_WITH_PORTAUDIOCPP], [], [with libportaudiocpp])
],
[
have_portaudiocpp=0
AC_MSG_ERROR([Unable to find libportaudiocpp.])
]
)
],
[
have_portaudiocpp=0
]
)
],[have_portaudiocpp=0])
AM_CONDITIONAL([HAVE_PORTAUDIOCPP], [test x$have_portaudiocpp = x1])
# Optional disabled openmpt123 dependency: libsdl2
AC_ARG_WITH([sdl2], AS_HELP_STRING([--with-sdl2], [Enable use of libsdl2.]))
AS_IF([test "x$enable_openmpt123" != "xno"],[
AS_IF([test "x$with_sdl2" = "xyes"],
[
PKG_CHECK_MODULES([SDL2], [sdl2 >= 2.0.4], [AC_DEFINE([MPT_WITH_SDL2], [], [with libsdl2])], [AC_MSG_ERROR([Unable to find libsdl2.])])
]
)
])
# Optional openmpt123 dependency: libsndfile
AC_ARG_WITH([sndfile], AS_HELP_STRING([--without-sndfile], [Disable use of libsndfile.]))
AS_IF([test "x$enable_openmpt123" != "xno"],[
AS_IF([test "x$with_sndfile" != "xno"],
[
PKG_CHECK_MODULES([SNDFILE], [sndfile], [AC_DEFINE([MPT_WITH_SNDFILE], [], [with libsndfile])], [AC_MSG_ERROR([Unable to find libsndfile.])])
]
)
])
# Optional openmpt123 dependency: libFLAC
AC_ARG_WITH([flac], AS_HELP_STRING([--without-flac], [Disable use of libflac.]))
AS_IF([test "x$enable_openmpt123" != "xno"],[
AS_IF([test "x$with_flac" != "xno"],
[
PKG_CHECK_MODULES([FLAC], [flac >= 1.3.0], [AC_DEFINE([MPT_WITH_FLAC], [], [with libflac])], [AC_MSG_ERROR([Unable to find libflac >= 1.3.0.])])
]
)
])
# We want a modern C compiler
AC_PROG_CC_STDC
#AC_PROG_CC_C99
# We need C++17 support
#AX_CXX_COMPILE_STDCXX(20, [noext], [optional])
#AS_IF([test "x$HAVE_CXX20" != "x1"],
# [
# AX_CXX_COMPILE_STDCXX(17, [noext], [mandatory])
# ],[]
#)
AX_CXX_COMPILE_STDCXX(17, [noext], [mandatory])
AC_LANG_PUSH([C])
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [CFLAGS="$CFLAGS -fvisibility=hidden"])
AX_CFLAGS_WARN_ALL
AC_LANG_POP([C])
AC_LANG_PUSH([C++])
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [CXXFLAGS="$CXXFLAGS -fvisibility=hidden"])
AX_CXXFLAGS_WARN_ALL
AC_LANG_POP([C++])
# mingw c++ thread
AC_LANG_PUSH([C++])
case $host_os in
mingw32*)
AC_CHECK_HEADER([mingw.mutex.h],
[
have_mingwstdtthreads=1
],
[
have_mingwstdtthreads=0
]
)
;;
*)
have_mingwstdtthreads=0
;;
esac
AC_LANG_POP([C++])
AS_IF([test "x$have_mingwstdtthreads" = "x1"],
[
MINGWSTDTHREADS_CPPFLAGS=-DMPT_WITH_MINGWSTDTHREADS
],
[
MINGWSTDTHREADS_CPPFLAGS=
]
)
AC_SUBST([MINGWSTDTHREADS_CPPFLAGS])
DX_DOXYGEN_FEATURE(ON)
DX_DOT_FEATURE(OFF)
DX_HTML_FEATURE(ON)
DX_MAN_FEATURE(OFF)
DX_CHM_FEATURE(OFF)
DX_CHI_FEATURE(OFF)
DX_RTF_FEATURE(OFF)
DX_XML_FEATURE(OFF)
DX_PDF_FEATURE(OFF)
DX_PS_FEATURE(OFF)
DX_INIT_DOXYGEN([libopenmpt], [Doxyfile], [doxygen-doc])
AC_OUTPUT

View file

@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -e
# We want ccache
export PATH="/usr/lib/ccache:$PATH"
cd bin/dist-autotools/
if [ "x$1" = "x" ] ; then
echo "Testing the tarball ..."
mkdir test-tarball
cd test-tarball
gunzip -c ../libopenmpt*.tar.gz | tar -xvf -
cd libopenmpt*
./configure
make
make check
cd ..
cd ..
else
echo "Testing tarball cross-compilation ..."
mkdir test-tarball2
cd test-tarball2
gunzip -c ../libopenmpt*.tar.gz | tar -xvf -
cd libopenmpt*
if [ "x$2" = "x" ] ; then
./configure --host=$1 --without-zlib --without-ogg --without-vorbis --without-vorbisfile --without-mpg123 --without-pulseaudio --without-portaudio -without-sndfile --without-flac --without-portaudiocpp
else
./configure --host=$1 CC=$1-gcc-$2 CXX=$1-g++-$2 --without-zlib --without-ogg --without-vorbis --without-vorbisfile --without-mpg123 --without-pulseaudio --without-portaudio -without-sndfile --without-flac --without-portaudiocpp
fi
make
cd ..
cd ..
fi
cd ../..

View file

@ -0,0 +1,137 @@
@echo off
if not "x%1" == "xauto" (
echo "WARNING: This script will unconditionally remove all files from the destination directories."
pause
)
if "x%2" == "xnodownload" (
set MPT_DOWNLOAD=no
)
if not "x%2" == "xnodownload" (
set MPT_DOWNLOAD=yes
)
set MY_DIR=%CD%
set BATCH_DIR=%~dp0
cd %BATCH_DIR% || goto error
cd .. || goto error
goto main
:main
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2019.cmd || goto error
cd include\genie\build\vs2019 || goto error
msbuild genie.sln /target:Build /property:Configuration=Release;Platform=Win32;WindowsTargetPlatformVersion=10.0 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto geniedone
)
if exist "C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2019.cmd || goto error
cd include\genie\build\vs2019 || goto error
msbuild genie.sln /target:Build /property:Configuration=Release;Platform=Win32;WindowsTargetPlatformVersion=10.0 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto geniedone
)
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2017.cmd || goto error
cd include\genie\build\vs2017 || goto error
msbuild genie.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto geniedone
)
if exist "C:\Program Files\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2017.cmd || goto error
cd include\genie\build\vs2017 || goto error
msbuild genie.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto geniedone
)
:geniedone
copy /y include\genie\OpenMPT.txt include\genie\OpenMPT-version.txt
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2019.cmd || goto error
rem cd include\premake || goto error
rem nmake -f Bootstrap.mak windows MSDEV=vs2019 || goto error
rem bin\release\premake5 embed --bytecode || goto error
rem bin\release\premake5 --to=build/vs2019 vs2019 --no-curl --no-zlib --no-luasocket || goto error
rem cd ..\.. || goto error
cd include\premake\build\vs2019 || goto error
msbuild Premake5.sln /target:Clean /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
msbuild Premake5.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto premakedone
)
if exist "C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2019.cmd || goto error
rem cd include\premake || goto error
rem nmake -f Bootstrap.mak windows MSDEV=vs2019 || goto error
rem bin\release\premake5 embed --bytecode || goto error
rem bin\release\premake5 --to=build/vs2019 vs2019 --no-curl --no-zlib --no-luasocket || goto error
rem cd ..\.. || goto error
cd include\premake\build\vs2019 || goto error
msbuild Premake5.sln /target:Clean /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
msbuild Premake5.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto premakedone
)
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2017.cmd || goto error
rem cd include\premake || goto error
rem nmake -f Bootstrap.mak windows MSDEV=vs2017 || goto error
rem bin\release\premake5 embed --bytecode || goto error
rem bin\release\premake5 --to=build/vs2017 vs2017 --no-curl --no-zlib --no-luasocket || goto error
rem cd ..\.. || goto error
cd include\premake\build\vs2017 || goto error
msbuild Premake5.sln /target:Clean /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
msbuild Premake5.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto premakedone
)
if exist "C:\Program Files\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
call build\auto\setup_vs2017.cmd || goto error
rem cd include\premake || goto error
rem nmake -f Bootstrap.mak windows MSDEV=vs2017 || goto error
rem bin\release\premake5 embed --bytecode || goto error
rem bin\release\premake5 --to=build/vs2017 vs2017 --no-curl --no-zlib --no-luasocket || goto error
rem cd ..\.. || goto error
cd include\premake\build\vs2017 || goto error
msbuild Premake5.sln /target:Clean /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
msbuild Premake5.sln /target:Build /property:Configuration=Release;Platform=Win32 /maxcpucount /verbosity:minimal || goto error
cd ..\..\..\.. || goto error
goto premakedone
)
goto error
:premakedone
copy /y include\premake\OpenMPT.txt include\premake\OpenMPT-version.txt
goto ok
:ok
echo "All OK."
if "x%1" == "xauto" (
exit 0
)
goto end
:error
echo "Error!"
if "x%1" == "xauto" (
exit 1
)
goto end
:end
cd %MY_DIR%
pause

View file

@ -0,0 +1,71 @@
#!/usr/bin/env bash
set -e
MY_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $MY_DIR
cd "${MY_DIR}"
cd ..
function unpack () {
set -e
MPT_GET_DESTDIR="$1"
MPT_GET_FILE="$2"
MPT_GET_SUBDIR="$3"
cd include
if [ -d "$1" ]; then
rm -rf "$1"
fi
if [ "$3" = "." ]; then
mkdir "$1"
cd "$1"
unzip "../../$2"
cd ..
else
unzip "../$2"
if [ ! "$3" = "$1" ]; then
mv "$3" "$1"
fi
fi
cd ..
return 0
}
cd include/genie
make
./bin/linux/genie embed
make clean
make
mkdir -p build/vs2017
./bin/linux/genie --to=../build/vs2017 vs2017
./bin/linux/genie --to=../build/vs2019 vs2019
cd ../..
cp include/genie/OpenMPT.txt include/genie/OpenMPT-version.txt
cd include/premake
#make -f Bootstrap.mak linux
##bin/release/premake5 test
#bin/release/premake5 embed --bytecode
#bin/release/premake5 --to=build/gmake.unix gmake --no-curl --no-zlib --no-luasocket
cd build/gmake2.unix
make
cd ../..
#bin/release/premake5 test --no-curl --no-zlib --no-luasocket
cd ../..
cp include/premake/OpenMPT.txt include/premake/OpenMPT-version.txt

View file

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<def format="2">
<define name="JSON_HEDLEY_DEPRECATED(x)" value=""/>
<define name="JSON_HEDLEY_DEPRECATED_FOR(x,y)" value=""/>
<define name="JSON_HEDLEY_NON_NULL(x)" value=""/>
<define name="NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(...)" value=""/>
</def>

View file

@ -0,0 +1 @@
containerOutOfBounds:include/nlohmann-json/include/nlohmann/json.hpp

View file

@ -0,0 +1,12 @@
operatorEqVarError:include/r8brain/CDSPFIRFilter.h
operatorEqVarError:include/r8brain/CDSPFracInterpolator.h
operatorEqVarError:include/r8brain/CDSPRealFFT.h
operatorEqVarError:include/r8brain/r8bbase.h
uninitMemberVarPrivate:include/r8brain/CDSPFIRFilter.h
uninitMemberVarPrivate:include/r8brain/CDSPFracInterpolator.h
uninitMemberVarPrivate:include/r8brain/CDSPRealFFT.h
uninitMemberVarPrivate:include/r8brain/r8bbase.h
virtualCallInConstructor:include/r8brain/CDSPBlockConvolver.h
virtualCallInConstructor:include/r8brain/CDSPFracInterpolator.h
virtualCallInConstructor:include/r8brain/CDSPHBDownsampler.h
virtualCallInConstructor:include/r8brain/CDSPHBUpsampler.h

View file

@ -0,0 +1,100 @@
@echo off
if not "x%1" == "xauto" (
echo "WARNING: This script will unconditionally remove all files from the destination directories."
pause
)
if "x%2" == "xnodownload" (
set MPT_DOWNLOAD=no
)
if not "x%2" == "xnodownload" (
set MPT_DOWNLOAD=yes
)
set MY_DIR=%CD%
set BATCH_DIR=%~dp0
cd %BATCH_DIR% || goto error
cd .. || goto error
goto main
:killdir
set MPT_KILLDIR_DIR="%~1"
if exist %MPT_KILLDIR_DIR% rmdir /S /Q %MPT_KILLDIR_DIR%
exit /B 0
goto error
:main
if not exist "build\externals" mkdir "build\externals"
if not exist "build\tools" mkdir "build\tools"
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://www.7-zip.org/a/7za920.zip" "build\externals\7za920.zip" 84e830c91a0e8ae499cc4814080da6569d8a6acbddc585c8b62abc86c809793aeb669b0a741063a379fd281ade85f120bc27efeb67d63bf961be893eec8bc3b3 384846 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://www.7-zip.org/a/7z2201-extra.7z" "build\externals\7z2201-extra.7z" 845b3fd5dda4187e47fa0650a5d8465484e6c407a2a1745bb12bc50aa266cc4b573393184642c1875388c262f16039c1b93f102908799147dbfc824a52d8d89d 1018450 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://www.7-zip.org/a/7z2201-x64.exe" "build\externals\7z2201-x64.exe" 965d43f06d104bf6707513c459f18aaf8b049f4a043643d720b184ed9f1bb6c929309c51c3991d5aaff7b9d87031a7248ee3274896521abe955d0e49f901ac94 1575742 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://web.archive.org/web/20131217072017if_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "build\externals\WA5.55_SDK.exe" 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 336166 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://www.un4seen.com/files/xmp-sdk.zip" "build\externals\xmp-sdk.zip" 62c442d656d4bb380360368a0f5f01da11b4ed54333d7f54f875a9a5ec390b08921e00bd08e62cd7a0a5fe642e3377023f20a950cc2a42898ff4cda9ab88fc91 322744 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://web.archive.org/web/20200918004813if_/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" "build\externals\htmlhelp.exe" d91371244ea98c691b4674ee266c4a2496a296800c176adae069d21f5c52c0763b21cc7859cfffa865b89e50171a2c99a6d14620c32f7d72c0ef04045348f856 3509072 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://www.python.org/ftp/python/3.10.6/python-3.10.6-embed-amd64.zip" "build\externals\python-3.10.6-embed-amd64.zip" 18c919f8585d4220e972b61eed5ef1f7b7ce3895a1d23ac7f5ebd1ab95a3e438e548b63307af018b31aac31216f28607bf6e7ee0ba4cd8ed678bfebb87bdbab0 8585728 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://netcologne.dl.sourceforge.net/project/innounp/innounp/innounp%%%%200.50/innounp050.rar" "build\externals\innounp050.rar" dbbc809308267a866db9d6b751fdeda6d179e1a65d8ddb14bb51984431ae91493f9a76105e1789b245732043a2c696c869ed10964b48cf59f81e55bd52f85330 141621 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://files.jrsoftware.org/is/6/innosetup-6.2.1.exe" "build\externals\innosetup-6.2.1.exe" be4a517ea178b988931548bf2cc7cdda2fc5a66da5ff82e4ed60bacd1854a79ea26bed41138a65d6392fca1e22517f78d5053bd09bb98a6b4c6bad1e3b6c28f9 4710104 || goto error
call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://download.openmpt.org/resources/modules/example_songs_ompt_1_30.7z" "build\externals\example_songs_ompt_1_30.7z" bfecf7f97fd71bd52bcfb38307ccb98c751e6a0fa0c1f31208b22b9392f03ea3da8f9271327df2de4fc2e463e0c13c6a24107fbe18caf8f446b7e7cf93073fa5 4881392 || goto error
call :killdir "build\tools\7zipold" || goto error
call :killdir "build\tools\7zipa" || goto error
call :killdir "build\tools\7zip" || goto error
rem Get old 7zip distributed as zip and unpack with built-in zip depacker
rem Get current 7zip commandline version which can unpack 7zip and the 7zip installer but not other archive formats
rem Get 7zip installer and unpack it with current commandline 7zip
rem This is a mess for automatic. Oh well.
cscript build\scriptlib\unpack-zip.vbs "build\externals\7za920.zip" "build\tools\7zipold" || goto error
build\tools\7zipold\7za.exe x -y -obuild\tools\7zipa "build\externals\7z2201-extra.7z" || goto error
build\tools\7zipa\7za.exe x -y -obuild\tools\7zip "build\externals\7z2201-x64.exe" || goto error
call build\scriptlib\unpack.cmd "build\tools\htmlhelp" "build\externals\htmlhelp.exe" "." || goto error
call build\scriptlib\unpack.cmd "include\winamp" "build\externals\WA5.55_SDK.exe" "." || goto error
call build\scriptlib\unpack.cmd "include\xmplay" "build\externals\xmp-sdk.zip" "." || goto error
call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.10.6-embed-amd64.zip" "." || goto error
call :killdir "build\tools\innounp" || goto error
call :killdir "build\tools\innosetup" || goto error
call build\scriptlib\unpack.cmd "build\tools\innounp" "build\externals\innounp050.rar" "." || goto error
build\tools\innounp\innounp.exe -x -dbuild\tools\innosetup "build\externals\innosetup-6.2.1.exe" || goto error
call build\scriptlib\unpack.cmd "packageTemplate\ExampleSongs" "build\externals\example_songs_ompt_1_30.7z" "." || goto error
goto ok
:ok
echo "All OK."
if "x%1" == "xauto" (
exit 0
)
goto end
:error
echo "Error!"
if "x%1" == "xauto" (
exit 1
)
goto end
:end
cd %MY_DIR%
pause

View file

@ -0,0 +1,90 @@
#!/usr/bin/env bash
# stop on error
set -e
# normalize current directory to project root
cd build 2>&1 > /dev/null || true
cd ..
function download_and_unpack_tar () {
set -e
MPT_GET_DESTDIR="$1"
MPT_GET_URL="$2"
MPT_GET_FILE="$3"
MPT_GET_SUBDIR="$4"
if [ ! -f "$3" ]; then
wget "$2" -O "$3"
fi
cd include
if [ -d "$1" ]; then
rm -rf "$1"
fi
if [ "$4" = "." ]; then
mkdir "$1"
cd "$1"
tar xvaf "../../$3"
cd ..
else
tar xvaf "../$3"
if [ ! "$4" = "$1" ]; then
mv "$4" "$1"
fi
fi
cd ..
return 0
}
function download_and_unpack_zip () {
set -e
MPT_GET_DESTDIR="$1"
MPT_GET_URL="$2"
MPT_GET_FILE="$3"
MPT_GET_SUBDIR="$4"
if [ ! -f "$3" ]; then
wget "$2" -O "$3"
fi
cd include
if [ -d "$1" ]; then
rm -rf "$1"
fi
if [ "$4" = "." ]; then
mkdir "$1"
cd "$1"
unzip "../../$3"
cd ..
else
unzip "../$3"
if [ ! "$4" = "$1" ]; then
mv "$4" "$1"
fi
fi
cd ..
return 0
}
function download () {
set -e
MPT_GET_URL="$1"
MPT_GET_FILE="$2"
if [ ! -f "$2" ]; then
wget "$1" -O "$2"
fi
return 0
}
if [ ! -d "build/externals" ]; then
mkdir build/externals
fi
if [ ! -d "build/tools" ]; then
mkdir build/tools
fi
download_and_unpack_zip "allegro42" "https://lib.openmpt.org/files/libopenmpt/contrib/allegro/allegro-4.2.3.1-hg.8+r8500.zip" "build/externals/allegro-4.2.3.1-hg.8+r8500.zip" "."
download_and_unpack_zip "cwsdpmi" "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7b.zip" "build/externals/csdpmi7b.zip" "."
download "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7s.zip" "build/externals/csdpmi7s.zip"
#download_and_unpack_zip "cwsdpmi" "https://djgpp.mirror.garr.it/current/v2misc/csdpmi7b.zip" "build/externals/csdpmi7b.zip" "."
#download "https://djgpp.mirror.garr.it/current/v2misc/csdpmi7s.zip" "build/externals/csdpmi7s.zip"

View file

@ -0,0 +1,81 @@
LIBRARY
EXPORTS
;include/vorbis $ cat *.h | grep extern | grep -v '^extern "C"' | tr '(' ' ' | sed 's/const /const_/g' | awk '{print $3;}' | sed 's/\*//g' | sort
ov_bitrate
ov_bitrate_instant
ov_clear
ov_comment
ov_crosslap
ov_fopen
ov_halfrate
ov_halfrate_p
ov_info
ov_open
ov_open_callbacks
ov_pcm_seek
ov_pcm_seek_lap
ov_pcm_seek_page
ov_pcm_seek_page_lap
ov_pcm_tell
ov_pcm_total
ov_raw_seek
ov_raw_seek_lap
ov_raw_tell
ov_raw_total
ov_read
ov_read_filter
ov_read_float
ov_seekable
ov_serialnumber
ov_streams
ov_test
ov_test_callbacks
ov_test_open
ov_time_seek
ov_time_seek_lap
ov_time_seek_page
ov_time_seek_page_lap
ov_time_tell
ov_time_total
vorbis_analysis
vorbis_analysis_blockout
vorbis_analysis_buffer
vorbis_analysis_headerout
vorbis_analysis_init
vorbis_analysis_wrote
vorbis_bitrate_addblock
vorbis_bitrate_flushpacket
vorbis_block_clear
vorbis_block_init
vorbis_comment_add
vorbis_comment_add_tag
vorbis_comment_clear
vorbis_commentheader_out
vorbis_comment_init
vorbis_comment_query
vorbis_comment_query_count
vorbis_dsp_clear
vorbis_encode_ctl
vorbis_encode_init
vorbis_encode_init_vbr
vorbis_encode_setup_init
vorbis_encode_setup_managed
vorbis_encode_setup_vbr
vorbis_granule_time
vorbis_info_blocksize
vorbis_info_clear
vorbis_info_init
vorbis_packet_blocksize
vorbis_synthesis
vorbis_synthesis_blockin
vorbis_synthesis_halfrate
vorbis_synthesis_halfrate_p
vorbis_synthesis_headerin
vorbis_synthesis_idheader
vorbis_synthesis_init
vorbis_synthesis_lapout
vorbis_synthesis_pcmout
vorbis_synthesis_read
vorbis_synthesis_restart
vorbis_synthesis_trackonly
vorbis_version_string

View file

@ -0,0 +1,55 @@
project "mpg123"
uuid "7adfafb9-0a83-4d35-9891-fb24fdf30b53"
language "C"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "mpg123"
dofile "../../build/genie/genie-defaults-DLL.lua"
dofile "../../build/genie/genie-defaults.lua"
targetname "openmpt-mpg123"
includedirs {
"../../include/mpg123/ports/MSVC++",
"../../include/mpg123/src/libmpg123",
"../../include/mpg123/src/compat",
"../../include/mpg123/src",
}
flags { "Unicode" }
files {
"../../include/mpg123/src/compat/compat.c",
"../../include/mpg123/src/compat/compat_str.c",
}
files {
--"../../include/mpg123/src/libmpg123/calctables.c",
"../../include/mpg123/src/libmpg123/dct64.c",
--"../../include/mpg123/src/libmpg123/dither.c",
"../../include/mpg123/src/libmpg123/equalizer.c",
"../../include/mpg123/src/libmpg123/feature.c",
"../../include/mpg123/src/libmpg123/format.c",
"../../include/mpg123/src/libmpg123/frame.c",
"../../include/mpg123/src/libmpg123/icy.c",
"../../include/mpg123/src/libmpg123/icy2utf8.c",
"../../include/mpg123/src/libmpg123/id3.c",
"../../include/mpg123/src/libmpg123/index.c",
"../../include/mpg123/src/libmpg123/layer1.c",
"../../include/mpg123/src/libmpg123/layer2.c",
"../../include/mpg123/src/libmpg123/layer3.c",
--"../../include/mpg123/src/libmpg123/lfs_alias.c",
--"../../include/mpg123/src/libmpg123/lfs_wrap.c",
"../../include/mpg123/src/libmpg123/libmpg123.c",
"../../include/mpg123/src/libmpg123/ntom.c",
"../../include/mpg123/src/libmpg123/optimize.c",
"../../include/mpg123/src/libmpg123/parse.c",
"../../include/mpg123/src/libmpg123/readers.c",
"../../include/mpg123/src/libmpg123/stringbuf.c",
"../../include/mpg123/src/libmpg123/synth.c",
"../../include/mpg123/src/libmpg123/synth_8bit.c",
"../../include/mpg123/src/libmpg123/synth_real.c",
"../../include/mpg123/src/libmpg123/synth_s32.c",
"../../include/mpg123/src/libmpg123/tabinit.c",
}
defines { "DYNAMIC_BUILD", "OPT_GENERIC" }
links {
"shlwapi",
}
buildoptions { "/wd4018", "/wd4244", "/wd4267", "/wd4305", "/wd4334" }
buildoptions { "/wd6011", "/wd6285", "/wd6297", "/wd6305", "/wd6385", "/wd6386" } -- /analyze

View file

@ -0,0 +1,21 @@
project "ogg"
uuid "d8d5e11c-f959-49ef-b741-b3f6de52ded8"
language "C"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "ogg"
dofile "../../build/genie/genie-defaults-LIBorDLL.lua"
dofile "../../build/genie/genie-defaults.lua"
targetname "openmpt-ogg"
includedirs { "../../include/ogg/include" }
flags { "Unicode" }
files {
"../../include/ogg/include/ogg/ogg.h",
"../../include/ogg/include/ogg/os_types.h",
"../../include/ogg/src/bitwise.c",
"../../include/ogg/src/framing.c",
}
configuration "DebugShared or ReleaseShared"
files { "../../include/ogg/win32/ogg.def" }
configuration {}
buildoptions { "/wd6001", "/wd6011" } -- /analyze

View file

@ -0,0 +1,99 @@
project "vorbis"
-- NOTE: Unlike the official libvorbis, we built everything into a single library instead of the vorbis, vorbisenc, vorbisfile split.
uuid "b544dcb7-16e5-41bc-b51b-7ead8cfdfa05"
language "C"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "vorbis"
dofile "../../build/genie/genie-defaults-LIBorDLL.lua"
dofile "../../build/genie/genie-defaults.lua"
targetname "openmpt-vorbis"
local extincludedirs = {
"../../include/ogg/include",
}
includedirs ( extincludedirs )
includedirs {
"../../include/vorbis/include",
"../../include/vorbis/lib",
}
flags { "Unicode" }
files {
"../../include/vorbis/include/vorbis/codec.h",
"../../include/vorbis/include/vorbis/vorbisenc.h",
"../../include/vorbis/include/vorbis/vorbisfile.h",
}
files {
"../../include/vorbis/lib/analysis.c",
"../../include/vorbis/lib/backends.h",
--"../../include/vorbis/lib/barkmel.c",
"../../include/vorbis/lib/bitrate.c",
"../../include/vorbis/lib/bitrate.h",
"../../include/vorbis/lib/block.c",
"../../include/vorbis/lib/codebook.c",
"../../include/vorbis/lib/codebook.h",
"../../include/vorbis/lib/codec_internal.h",
"../../include/vorbis/lib/envelope.c",
"../../include/vorbis/lib/envelope.h",
"../../include/vorbis/lib/floor0.c",
"../../include/vorbis/lib/floor1.c",
"../../include/vorbis/lib/highlevel.h",
"../../include/vorbis/lib/info.c",
"../../include/vorbis/lib/lookup.c",
"../../include/vorbis/lib/lookup.h",
"../../include/vorbis/lib/lookup_data.h",
"../../include/vorbis/lib/lpc.c",
"../../include/vorbis/lib/lpc.h",
"../../include/vorbis/lib/lsp.c",
"../../include/vorbis/lib/lsp.h",
"../../include/vorbis/lib/mapping0.c",
"../../include/vorbis/lib/masking.h",
"../../include/vorbis/lib/mdct.c",
"../../include/vorbis/lib/mdct.h",
"../../include/vorbis/lib/misc.h",
"../../include/vorbis/lib/os.h",
"../../include/vorbis/lib/psy.c",
"../../include/vorbis/lib/psy.h",
-- "../../include/vorbis/lib/psytune.c",
"../../include/vorbis/lib/registry.c",
"../../include/vorbis/lib/registry.h",
"../../include/vorbis/lib/res0.c",
"../../include/vorbis/lib/scales.h",
"../../include/vorbis/lib/sharedbook.c",
"../../include/vorbis/lib/smallft.c",
"../../include/vorbis/lib/smallft.h",
"../../include/vorbis/lib/synthesis.c",
-- "../../include/vorbis/lib/tone.c",
"../../include/vorbis/lib/vorbisenc.c",
"../../include/vorbis/lib/vorbisfile.c",
"../../include/vorbis/lib/window.c",
"../../include/vorbis/lib/window.h",
"../../include/vorbis/lib/books/coupled/res_books_51.h",
"../../include/vorbis/lib/books/coupled/res_books_stereo.h",
"../../include/vorbis/lib/books/floor/floor_books.h",
"../../include/vorbis/lib/books/uncoupled/res_books_uncoupled.h",
"../../include/vorbis/lib/modes/floor_all.h",
"../../include/vorbis/lib/modes/psych_8.h",
"../../include/vorbis/lib/modes/psych_11.h",
"../../include/vorbis/lib/modes/psych_16.h",
"../../include/vorbis/lib/modes/psych_44.h",
"../../include/vorbis/lib/modes/residue_8.h",
"../../include/vorbis/lib/modes/residue_16.h",
"../../include/vorbis/lib/modes/residue_44.h",
"../../include/vorbis/lib/modes/residue_44p51.h",
"../../include/vorbis/lib/modes/residue_44u.h",
"../../include/vorbis/lib/modes/setup_8.h",
"../../include/vorbis/lib/modes/setup_11.h",
"../../include/vorbis/lib/modes/setup_16.h",
"../../include/vorbis/lib/modes/setup_22.h",
"../../include/vorbis/lib/modes/setup_32.h",
"../../include/vorbis/lib/modes/setup_44.h",
"../../include/vorbis/lib/modes/setup_44p51.h",
"../../include/vorbis/lib/modes/setup_44u.h",
"../../include/vorbis/lib/modes/setup_X.h",
}
buildoptions { "/wd4101", "/wd4244", "/wd4267", "/wd4305" }
buildoptions { "/wd6001", "/wd6011", "/wd6255", "/wd6262", "/wd6263", "/wd6297", "/wd6308", "/wd6385", "/wd6386", "/wd6387", "/wd28182" } -- /analyze
links { "ogg" }
configuration "DebugShared or ReleaseShared"
files { "../../build/genie/def/ext-vorbis.def" }
configuration {}

View file

@ -0,0 +1,47 @@
project "zlib"
uuid "1654FB18-FDE6-406F-9D84-BA12BFBD67B2"
language "C"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "zlib"
dofile "../../build/genie/genie-defaults-LIBorDLL.lua"
dofile "../../build/genie/genie-defaults.lua"
targetname "openmpt-zlib"
includedirs { "../../include/zlib" }
flags { "Unicode" }
files {
"../../include/zlib/adler32.c",
"../../include/zlib/compress.c",
"../../include/zlib/crc32.c",
"../../include/zlib/deflate.c",
"../../include/zlib/gzclose.c",
"../../include/zlib/gzlib.c",
"../../include/zlib/gzread.c",
"../../include/zlib/gzwrite.c",
"../../include/zlib/infback.c",
"../../include/zlib/inffast.c",
"../../include/zlib/inflate.c",
"../../include/zlib/inftrees.c",
"../../include/zlib/trees.c",
"../../include/zlib/uncompr.c",
"../../include/zlib/zutil.c",
}
files {
"../../include/zlib/crc32.h",
"../../include/zlib/deflate.h",
"../../include/zlib/gzguts.h",
"../../include/zlib/inffast.h",
"../../include/zlib/inffixed.h",
"../../include/zlib/inflate.h",
"../../include/zlib/inftrees.h",
"../../include/zlib/trees.h",
"../../include/zlib/zconf.h",
"../../include/zlib/zlib.h",
"../../include/zlib/zutil.h",
}
configuration "DebugShared or ReleaseShared"
defines { "ZLIB_DLL" }
configuration {}
buildoptions { "/wd4267" }
buildoptions { "/wd6297", "/wd6385" } -- /analyze

View file

@ -0,0 +1,3 @@
configuration {}
kind "SharedLib"

View file

@ -0,0 +1,3 @@
configuration {}
kind "StaticLib"

View file

@ -0,0 +1,16 @@
configuration {}
configuration "Debug"
kind "StaticLib"
configuration "DebugShared"
kind "SharedLib"
configuration "Release"
kind "StaticLib"
configuration "ReleaseShared"
kind "SharedLib"
configuration {}

View file

@ -0,0 +1,128 @@
configuration {}
objdir ( "../../build/obj/" .. mpt_projectpathname .. "/" .. mpt_projectname )
flags { "Cpp17" }
configuration { "Debug", "x32" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/x86" )
configuration { "DebugShared", "x32" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/x86" )
configuration { "Release", "x32" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/x86" )
configuration { "ReleaseShared", "x32" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/x86" )
configuration { "Debug", "x64" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/amd64" )
configuration { "DebugShared", "x64" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/amd64" )
configuration { "Release", "x64" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/amd64" )
configuration { "ReleaseShared", "x64" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/amd64" )
configuration { "Debug", "ARM" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/arm" )
configuration { "DebugShared", "ARM" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/arm" )
configuration { "Release", "ARM" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/arm" )
configuration { "ReleaseShared", "ARM" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/arm" )
configuration { "Debug", "ARM64" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/arm64" )
configuration { "DebugShared", "ARM64" }
targetdir ( "../../bin/debug/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/arm64" )
configuration { "Release", "ARM64" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-static/arm64" )
configuration { "ReleaseShared", "ARM64" }
targetdir ( "../../bin/release/" .. _ACTION .. "-" .. mpt_bindirsuffix .. "-shared/arm64" )
configuration "Debug"
defines { "DEBUG" }
defines { "MPT_BUILD_DEBUG" }
defines { "MPT_BUILD_MSVC_STATIC" }
flags { "Symbols" }
configuration "DebugShared"
defines { "DEBUG" }
defines { "MPT_BUILD_DEBUG" }
defines { "MPT_BUILD_MSVC_SHARED" }
flags { "Symbols" }
configuration "Release"
defines { "NDEBUG" }
defines { "MPT_BUILD_MSVC_STATIC" }
flags { "Symbols" }
flags { "OptimizeSpeed" }
configuration "ReleaseShared"
defines { "NDEBUG" }
defines { "MPT_BUILD_MSVC_SHARED" }
flags { "Symbols" }
flags { "OptimizeSpeed" }
configuration {}
defines { "MPT_BUILD_MSVC" }
configuration {}
defines {
"WIN32",
"_CRT_NONSTDC_NO_WARNINGS",
"_CRT_SECURE_NO_WARNINGS",
"_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1",
"_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1",
}
configuration {}
if _ACTION ~= "postprocess" then
if _OPTIONS["target"] == "windesktop81" then
defines { "_WIN32_WINNT=0x0603" }
elseif _OPTIONS["target"] == "winphone8" then
defines { "_WIN32_WINNT=0x0602" }
premake.vstudio.toolset = "v110_wp80"
elseif _OPTIONS["target"] == "winphone81" then
defines { "_WIN32_WINNT=0x0603" }
premake.vstudio.toolset = "v120_wp81"
premake.vstudio.storeapp = "8.1"
elseif _OPTIONS["target"] == "winstore81" then
defines { "_WIN32_WINNT=0x0603" }
premake.vstudio.toolset = "v120"
premake.vstudio.storeapp = "8.1"
elseif _OPTIONS["target"] == "winstore82" then
defines { "_WIN32_WINNT=0x0603" }
premake.vstudio.storeapp = "8.2"
local action = premake.action.current()
action.vstudio.windowsTargetPlatformVersion = "10.0.10240.0"
action.vstudio.windowsTargetPlatformMinVersion = "10.0.10240.0"
elseif _OPTIONS["target"] == "winstore10" then
defines { "_WIN32_WINNT=0x0A00" }
premake.vstudio.storeapp = "10.0"
configuration {}
configuration { "x32" }
defines { "NTDDI_VERSION=0x0A000000" }
configuration {}
configuration { "x64" }
defines { "NTDDI_VERSION=0x0A000000" }
configuration {}
configuration { "ARM" }
defines { "NTDDI_VERSION=0x0A000000" }
configuration {}
configuration { "ARM64" }
defines { "NTDDI_VERSION=0x0A000004" }
configuration {}
end
end
configuration {}

View file

@ -0,0 +1,72 @@
-- genie gets a tiny bit confused if the same project appears in multiple
-- solutions in a single run. genie adds a bogus $projectname path to the
-- intermediate objects directory in that case. work-around using multiple
-- invocations of genie and a custom option to distinguish them.
newoption {
trigger = "group",
value = "PROJECTS",
description = "OpenMPT project group",
allowed = {
{ "libopenmpt", "libopenmpt" },
}
}
newoption {
trigger = "target",
value = "PROJECTS",
description = "windows target platform",
allowed = {
{ "windesktop81", "windesktop81" },
{ "winphone8" , "winphone8" },
{ "winphone81" , "winphone81" },
{ "winstore81" , "winstore81" },
{ "winstore82" , "winstore82" },
{ "winstore10" , "winstore10" },
}
}
if _ACTION == "vs2019" then
if _OPTIONS["target"] == "windesktop81" then
mpt_projectpathname = "vs2019win81"
mpt_bindirsuffix = "win81"
end
if _OPTIONS["target"] == "winstore10" then
mpt_projectpathname = "vs2019uwp"
mpt_bindirsuffix = "uwp"
end
end
if _ACTION == "vs2017" then
if _OPTIONS["target"] == "windesktop81" then
mpt_projectpathname = "vs2017win81"
mpt_bindirsuffix = "win81"
end
if _OPTIONS["target"] == "winstore82" then
mpt_projectpathname = "vs2017uwp"
mpt_bindirsuffix = "uwp"
end
end
--mpt_projectpathname = _OPTIONS["target"]
--mpt_bindirsuffix = _OPTIONS["target"]
solution "libopenmpt"
location ( "../../build/" .. mpt_projectpathname )
configurations { "Debug", "Release", "DebugShared", "ReleaseShared" }
if _OPTIONS["target"] == "winstore10" then
platforms { "x32", "x64", "ARM", "ARM64" }
else
platforms { "x32", "x64", "ARM" }
end
dofile "../../build/genie/mpt-libopenmpt.lua"
dofile "../../build/genie/ext-mpg123.lua"
dofile "../../build/genie/ext-ogg.lua"
dofile "../../build/genie/ext-vorbis.lua"
dofile "../../build/genie/ext-zlib.lua"

View file

@ -0,0 +1,99 @@
project "libopenmpt"
uuid "9C5101EF-3E20-4558-809B-277FDD50E878"
language "C++"
location ( "../../build/" .. mpt_projectpathname )
vpaths { ["*"] = "../../" }
mpt_projectname = "libopenmpt"
dofile "../../build/genie/genie-defaults-LIBorDLL.lua"
dofile "../../build/genie/genie-defaults.lua"
local extincludedirs = {
"../../include/mpg123/ports/MSVC++",
"../../include/mpg123/src/libmpg123",
"../../include/ogg/include",
"../../include/vorbis/include",
"../../include/zlib",
}
includedirs ( extincludedirs )
includedirs {
"../..",
"../../src",
"../../common",
"$(IntDir)/svn_version",
"../../build/svn_version",
}
files {
"../../src/mpt/**.cpp",
"../../src/mpt/**.hpp",
"../../src/openmpt/**.cpp",
"../../src/openmpt/**.hpp",
"../../common/*.cpp",
"../../common/*.h",
"../../soundlib/*.cpp",
"../../soundlib/*.h",
"../../soundlib/plugins/*.cpp",
"../../soundlib/plugins/*.h",
"../../soundlib/plugins/dmo/*.cpp",
"../../soundlib/plugins/dmo/*.h",
"../../sounddsp/*.cpp",
"../../sounddsp/*.h",
"../../libopenmpt/libopenmpt.h",
"../../libopenmpt/libopenmpt.hpp",
"../../libopenmpt/libopenmpt_config.h",
"../../libopenmpt/libopenmpt_ext.h",
"../../libopenmpt/libopenmpt_ext.hpp",
"../../libopenmpt/libopenmpt_ext_impl.hpp",
"../../libopenmpt/libopenmpt_impl.hpp",
"../../libopenmpt/libopenmpt_internal.h",
"../../libopenmpt/libopenmpt_stream_callbacks_buffer.h",
"../../libopenmpt/libopenmpt_stream_callbacks_fd.h",
"../../libopenmpt/libopenmpt_stream_callbacks_file.h",
"../../libopenmpt/libopenmpt_version.h",
"../../libopenmpt/libopenmpt_c.cpp",
"../../libopenmpt/libopenmpt_cxx.cpp",
"../../libopenmpt/libopenmpt_ext_impl.cpp",
"../../libopenmpt/libopenmpt_impl.cpp",
}
excludes {
"../../src/mpt/crypto/**.cpp",
"../../src/mpt/crypto/**.hpp",
"../../src/mpt/json/**.cpp",
"../../src/mpt/json/**.hpp",
"../../src/mpt/library/**.cpp",
"../../src/mpt/library/**.hpp",
"../../src/mpt/path/**.cpp",
"../../src/mpt/path/**.hpp",
"../../src/mpt/test/**.cpp",
"../../src/mpt/test/**.hpp",
"../../src/mpt/uuid_namespace/**.cpp",
"../../src/mpt/uuid_namespace/**.hpp",
"../../src/openmpt/sounddevice/**.cpp",
"../../src/openmpt/sounddevice/**.hpp",
}
resdefines {
"MPT_BUILD_VER_FILENAME=\"" .. mpt_projectname .. ".dll\"",
"MPT_BUILD_VER_FILEDESC=\"" .. mpt_projectname .. "\"",
}
configuration "DebugShared or ReleaseShared"
defines { "LIBOPENMPT_BUILD_DLL" }
resincludedirs {
"$(IntDir)/svn_version",
"../../build/svn_version",
"$(ProjDir)/../../build/svn_version",
}
files {
"../../libopenmpt/libopenmpt_version.rc",
}
resdefines { "MPT_BUILD_VER_DLL" }
configuration {}
flags { "Unicode" }
flags { "ExtraWarnings" }
defines { "LIBOPENMPT_BUILD" }
links {
"mpg123",
"vorbis",
"ogg",
"zlib",
}
prebuildcommands { "..\\..\\build\\svn_version\\update_svn_version_vs_premake.cmd $(IntDir)" }

View file

@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -e
echo "# This file was generated automatically by running build/git/generate_gitignore.sh inside a svn working copy." > .gitignore
(
svn pl --recursive --xml | xpath -q -e '/properties/target[property/@name = "svn:ignore"]' | grep '^<target' | sed 's/<target path=//g' | sed 's/>$//g' | sed 's/"//g'
) | sort | while IFS=$'\n' read -r WCDIR ; do
if [ "x$WCDIR" = "x." ] ; then
PREFIX="/"
else
PREFIX="/${WCDIR}/"
fi
echo "checking ${WCDIR} ..."
(
svn pg svn:ignore "${WCDIR}"
) | sort | while IFS=$'\n' read -r PATTERN ; do
if [ "x$PATTERN" != "x" ] ; then
echo " setting ${WCDIR}: ${PREFIX}${PATTERN}"
echo "${PREFIX}${PATTERN}" >> .gitignore
fi
done
done

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,4 @@
$(warning warning: CONFIG=haiku is deprecated. The OS is auto-detected.)
include config-defaults.mk

View file

@ -0,0 +1,4 @@
$(warning warning: CONFIG=macosx is deprecated. The OS is auto-detected.)
include config-defaults.mk

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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');
}
};

View file

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

View file

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

View file

@ -0,0 +1,8 @@
#include "PCH.h"
OPENMPT_NAMESPACE_BEGIN
MPT_MSVC_WORKAROUND_LNK4221(PCH)
OPENMPT_NAMESPACE_END

View file

@ -0,0 +1,157 @@
#pragma once
#if defined(MPT_BUILD_ENABLE_PCH)
#include "openmpt/all/BuildSettings.hpp"
#if defined(MODPLUG_TRACKER)
#if defined(MPT_WITH_MFC)
#include <afx.h>
#include <afxwin.h>
#include <afxext.h>
#include <afxcmn.h>
#include <afxcview.h>
#include <afxdlgs.h>
#ifdef MPT_MFC_FULL
#include <afxlistctrl.h>
#endif // MPT_MFC_FULL
#include <afxole.h>
#endif // MPT_WITH_MFC
#endif // MODPLUG_TRACKER
#if MPT_COMPILER_MSVC
#include <intrin.h>
#endif // MPT_COMPILER_MSVC
#if defined(MODPLUG_TRACKER)
#if MPT_OS_WINDOWS
#include <windows.h>
#include <windowsx.h>
#include <shlwapi.h>
#include <mmsystem.h>
#endif // MPT_OS_WINDOWS
#endif // MODPLUG_TRACKER
#include "mpt/base/aligned_array.hpp"
#include "mpt/base/memory.hpp"
#include "mpt/base/span.hpp"
#include "mpt/base/utility.hpp"
#include "mpt/crc/crc.hpp"
#include "mpt/crypto/hash.hpp"
#include "mpt/crypto/jwk.hpp"
#include "mpt/exception_text/exception_text.hpp"
#include "mpt/io/base.hpp"
#include "mpt/io/io.hpp"
#include "mpt/io/io_span.hpp"
#include "mpt/io/io_stdstream.hpp"
#include "mpt/io/io_virtual_wrapper.hpp"
#include "mpt/io_read/filecursor.hpp"
#include "mpt/io_read/filecursor_memory.hpp"
#include "mpt/io_read/filecursor_stdstream.hpp"
#include "mpt/io_read/filedata.hpp"
#include "mpt/io_read/filereader.hpp"
#include "mpt/out_of_memory/out_of_memory.hpp"
#include "mpt/system_error/system_error.hpp"
#if defined(MODPLUG_TRACKER)
#include "mpt/uuid/guid.hpp"
#endif // MODPLUG_TRACKER
#include "mpt/uuid/uuid.hpp"
#include "openmpt/base/Endian.hpp"
#include "openmpt/base/FlagSet.hpp"
#include "openmpt/base/Types.hpp"
#include "openmpt/logging/Logger.hpp"
#include "../common/mptBaseMacros.h"
#include "../common/mptBaseTypes.h"
#include "../common/mptAssert.h"
#include "../common/mptBaseUtils.h"
#include "../common/mptString.h"
#include "../common/mptStringFormat.h"
#include "../common/mptStringParse.h"
#include "../common/mptPathString.h"
#include "../common/Logging.h"
#include "../common/misc_util.h"
#include "../common/ComponentManager.h"
#include "../common/FileReader.h"
#include "../common/mptFileIO.h"
#include "../common/mptRandom.h"
#include "../common/mptStringBuffer.h"
#include "../common/mptTime.h"
#include "../common/Profiler.h"
#include "../common/serialization_utils.h"
#include "../common/version.h"
#include "../misc/mptCPU.h"
#include "../misc/mptLibrary.h"
#include "../misc/mptMutex.h"
#include "../misc/mptOS.h"
#include "../misc/mptWine.h"
#include <algorithm>
#include <array>
#include <atomic>
#if MPT_CXX_AT_LEAST(20)
#include <bit>
#endif
#include <bitset>
#include <chrono>
#include <exception>
#include <fstream>
#include <iomanip>
#include <ios>
#include <istream>
#include <iterator>
#include <limits>
#include <locale>
#include <map>
#include <memory>
#include <mutex>
#include <new>
#include <numeric>
#include <optional>
#include <ostream>
#include <random>
#include <set>
#include <sstream>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <thread>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>
#if MPT_CXX_AT_LEAST(20)
#include <version>
#endif
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <math.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#endif // MPT_BUILD_ENABLE_PCH

View file

@ -0,0 +1,22 @@
LIBRARY
EXPORTS
;cat include/lhasa/lib/public/*.h | grep -v '^ ' | sed 's/\*//g' | tr '\t' ' ' | grep -v '^ ' | grep ' lha_' | tr '\(' ' ' | awk '{print $2;}' | sort
lha_decoder_for_name
lha_decoder_free
lha_decoder_get_crc
lha_decoder_get_length
lha_decoder_monitor
lha_decoder_new
lha_decoder_read
lha_input_stream_free
lha_input_stream_from
lha_input_stream_from_FILE
lha_input_stream_new
lha_reader_check
lha_reader_current_is_fake
lha_reader_extract
lha_reader_free
lha_reader_new
lha_reader_next_file
lha_reader_read
lha_reader_set_dir_policy

View file

@ -0,0 +1,5 @@
LIBRARY
EXPORTS
;
mp3dec_init
mp3dec_decode_frame

View file

@ -0,0 +1,60 @@
LIBRARY
EXPORTS
;
fill_win32_filefunc
fill_win32_filefunc64
fill_win32_filefunc64A
fill_win32_filefunc64W
;zlib/contrib/minizip $ cat *.h | grep ZEXPORT | tr '(' ' ' | awk '{print $4;}' | sort
unzClose
unzCloseCurrentFile
unzGetCurrentFileInfo
unzGetCurrentFileInfo64
unzGetCurrentFileZStreamPos64
unzGetFilePos
unzGetFilePos64
unzGetGlobalComment
unzGetGlobalInfo
unzGetGlobalInfo64
unzGetLocalExtrafield
unzGetOffset
unzGetOffset64
unzGoToFilePos
unzGoToFilePos64
unzGoToFirstFile
unzGoToNextFile
unzLocateFile
unzOpen
unzOpen2
unzOpen2_64
unzOpen64
unzOpenCurrentFile
unzOpenCurrentFile2
unzOpenCurrentFile3
unzOpenCurrentFilePassword
unzReadCurrentFile
unzRepair
unzSetOffset
unzSetOffset64
unzStringFileNameCompare
unzeof
unztell
unztell64
zipClose
zipCloseFileInZip
zipCloseFileInZipRaw
zipCloseFileInZipRaw64
zipOpen
zipOpen2
zipOpen2_64
zipOpen64
zipOpenNewFileInZip
zipOpenNewFileInZip2
zipOpenNewFileInZip2_64
zipOpenNewFileInZip3
zipOpenNewFileInZip3_64
zipOpenNewFileInZip4
zipOpenNewFileInZip4_64
zipOpenNewFileInZip64
zipRemoveExtraInfoBlock
zipWriteInFileInZip

View file

@ -0,0 +1,65 @@
EXPORTS
;castxml --castxml-gccxml -o out.xml -I. -I../../opus/include/ opusfile.h
;cat out.xml | grep Function | grep 'file=\"f39\"' | awk '{print $3;}' | sed 's/name=//g' | sed 's/"//g' | sort
op_bitrate
op_bitrate_instant
op_channel_count
op_current_link
op_fdopen
op_fopen
op_free
op_freopen
op_head
op_link_count
op_mem_stream_create
op_open_callbacks
op_open_file
op_open_memory
op_open_url
op_pcm_seek
op_pcm_tell
op_pcm_total
op_raw_seek
op_raw_tell
op_raw_total
op_read
op_read_float
op_read_float_stereo
op_read_stereo
op_seekable
op_serialno
op_set_decode_callback
op_set_dither_enabled
op_set_gain_offset
op_tags
op_test
op_test_callbacks
op_test_file
op_test_memory
op_test_open
op_test_url
op_url_stream_create
op_url_stream_vcreate
op_vopen_url
op_vtest_url
opus_granule_sample
opus_head_parse
opus_picture_tag_clear
opus_picture_tag_init
opus_picture_tag_parse
opus_server_info_clear
opus_server_info_init
opus_tagcompare
opus_tagncompare
opus_tags_add
opus_tags_add_comment
opus_tags_clear
opus_tags_copy
opus_tags_get_album_gain
opus_tags_get_binary_suffix
opus_tags_get_track_gain
opus_tags_init
opus_tags_parse
opus_tags_query
opus_tags_query_count
opus_tags_set_binary_suffix

View file

@ -0,0 +1,58 @@
EXPORTS
;
Pa_GetVersion @1
Pa_GetVersionText @2
Pa_GetErrorText @3
Pa_Initialize @4
Pa_Terminate @5
Pa_GetHostApiCount @6
Pa_GetDefaultHostApi @7
Pa_GetHostApiInfo @8
Pa_HostApiTypeIdToHostApiIndex @9
Pa_HostApiDeviceIndexToDeviceIndex @10
Pa_GetLastHostErrorInfo @11
Pa_GetDeviceCount @12
Pa_GetDefaultInputDevice @13
Pa_GetDefaultOutputDevice @14
Pa_GetDeviceInfo @15
Pa_IsFormatSupported @16
Pa_OpenStream @17
Pa_OpenDefaultStream @18
Pa_CloseStream @19
Pa_SetStreamFinishedCallback @20
Pa_StartStream @21
Pa_StopStream @22
Pa_AbortStream @23
Pa_IsStreamStopped @24
Pa_IsStreamActive @25
Pa_GetStreamInfo @26
Pa_GetStreamTime @27
Pa_GetStreamCpuLoad @28
Pa_ReadStream @29
Pa_WriteStream @30
Pa_GetStreamReadAvailable @31
Pa_GetStreamWriteAvailable @32
Pa_GetSampleSize @33
Pa_Sleep @34
;OpenMPT PaAsio_GetAvailableBufferSizes @50
;OpenMPT PaAsio_ShowControlPanel @51
PaUtil_InitializeX86PlainConverters @52
;OpenMPT PaAsio_GetInputChannelName @53
;OpenMPT PaAsio_GetOutputChannelName @54
PaUtil_SetDebugPrintFunction @55
;OpenMPT PaWasapi_GetAudioClient @56
;OpenMPT PaWasapi_UpdateDeviceList @57
;OpenMPT PaWasapi_GetDeviceCurrentFormat @58
;OpenMPT PaWasapi_GetDeviceDefaultFormat @59
;OpenMPT PaWasapi_GetDeviceMixFormat @60
;OpenMPT PaWasapi_GetDeviceRole @61
;OpenMPT PaWasapi_ThreadPriorityBoost @62
;OpenMPT PaWasapi_ThreadPriorityRevert @63
;OpenMPT PaWasapi_GetFramesPerHostBuffer @64
;OpenMPT PaWasapi_GetJackCount @65
;OpenMPT PaWasapi_GetJackDescription @66
;OpenMPT PaWasapiWinrt_SetDefaultDeviceId @67
;OpenMPT PaWasapi_SetStreamStateHandler @68
;OpenMPT PaWasapiWinrt_PopulateDeviceList @69
;OpenMPT PaWasapi_GetIMMDevice @70

View file

@ -0,0 +1,30 @@
LIBRARY
EXPORTS
;cat include/stb_vorbis/stb_vorbis.c | grep '^extern' | grep -E -o 'stb_vorbis_.*\(' | sed 's/ *(//' | sed 's/.* //g' | sed 's/(//g'
stb_vorbis_get_info
stb_vorbis_get_comment
stb_vorbis_get_error
stb_vorbis_close
stb_vorbis_get_sample_offset
stb_vorbis_get_file_offset
stb_vorbis_open_pushdata
stb_vorbis_decode_frame_pushdata
stb_vorbis_flush_pushdata
;stb_vorbis_decode_filename
;stb_vorbis_decode_memory
;stb_vorbis_open_memory
;stb_vorbis_open_filename
;stb_vorbis_open_file
;stb_vorbis_open_file_section
;stb_vorbis_seek_frame
;stb_vorbis_seek
;stb_vorbis_seek_start
;stb_vorbis_stream_length_in_samples
;stb_vorbis_stream_length_in_seconds
;stb_vorbis_get_frame_float
;stb_vorbis_get_frame_short_interleaved
;stb_vorbis_get_frame_short
;stb_vorbis_get_samples_float_interleaved
;stb_vorbis_get_samples_float
;stb_vorbis_get_samples_short_interleaved
;stb_vorbis_get_samples_short

View file

@ -0,0 +1,81 @@
LIBRARY
EXPORTS
;include/vorbis $ cat *.h | grep extern | grep -v '^extern "C"' | tr '(' ' ' | sed 's/const /const_/g' | awk '{print $3;}' | sed 's/\*//g' | sort
ov_bitrate
ov_bitrate_instant
ov_clear
ov_comment
ov_crosslap
ov_fopen
ov_halfrate
ov_halfrate_p
ov_info
ov_open
ov_open_callbacks
ov_pcm_seek
ov_pcm_seek_lap
ov_pcm_seek_page
ov_pcm_seek_page_lap
ov_pcm_tell
ov_pcm_total
ov_raw_seek
ov_raw_seek_lap
ov_raw_tell
ov_raw_total
ov_read
ov_read_filter
ov_read_float
ov_seekable
ov_serialnumber
ov_streams
ov_test
ov_test_callbacks
ov_test_open
ov_time_seek
ov_time_seek_lap
ov_time_seek_page
ov_time_seek_page_lap
ov_time_tell
ov_time_total
vorbis_analysis
vorbis_analysis_blockout
vorbis_analysis_buffer
vorbis_analysis_headerout
vorbis_analysis_init
vorbis_analysis_wrote
vorbis_bitrate_addblock
vorbis_bitrate_flushpacket
vorbis_block_clear
vorbis_block_init
vorbis_comment_add
vorbis_comment_add_tag
vorbis_comment_clear
vorbis_comment_init
vorbis_comment_query
vorbis_comment_query_count
vorbis_commentheader_out
vorbis_dsp_clear
vorbis_encode_ctl
vorbis_encode_init
vorbis_encode_init_vbr
vorbis_encode_setup_init
vorbis_encode_setup_managed
vorbis_encode_setup_vbr
vorbis_granule_time
vorbis_info_blocksize
vorbis_info_clear
vorbis_info_init
vorbis_packet_blocksize
vorbis_synthesis
vorbis_synthesis_blockin
vorbis_synthesis_halfrate
vorbis_synthesis_halfrate_p
vorbis_synthesis_headerin
vorbis_synthesis_idheader
vorbis_synthesis_init
vorbis_synthesis_lapout
vorbis_synthesis_pcmout
vorbis_synthesis_read
vorbis_synthesis_restart
vorbis_synthesis_trackonly
vorbis_version_string

View file

@ -0,0 +1,152 @@
project "UnRAR"
uuid "95CC809B-03FC-4EDB-BB20-FD07A698C05F"
language "C++"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "unrar"
dofile "../../build/premake/premake-defaults-LIBorDLL.lua"
dofile "../../build/premake/premake-defaults.lua"
targetname "openmpt-unrar"
includedirs { "../../include/unrar" }
filter {}
filter { "action:vs*" }
characterset "Unicode"
filter {}
defines {
"NOMINMAX",
"NOVOLUME",
"UNRAR",
"RAR_NOCRYPT",
"RARDLL",
"SILENT",
}
files {
"../../include/unrar/archive.cpp",
"../../include/unrar/arcread.cpp",
"../../include/unrar/blake2s.cpp",
"../../include/unrar/cmddata.cpp",
"../../include/unrar/consio.cpp",
"../../include/unrar/crc.cpp",
"../../include/unrar/crypt.cpp",
"../../include/unrar/dll.cpp",
"../../include/unrar/encname.cpp",
"../../include/unrar/errhnd.cpp",
"../../include/unrar/extinfo.cpp",
"../../include/unrar/extract.cpp",
"../../include/unrar/filcreat.cpp",
"../../include/unrar/file.cpp",
"../../include/unrar/filefn.cpp",
"../../include/unrar/filestr.cpp",
"../../include/unrar/find.cpp",
"../../include/unrar/getbits.cpp",
"../../include/unrar/global.cpp",
"../../include/unrar/hash.cpp",
"../../include/unrar/headers.cpp",
"../../include/unrar/isnt.cpp",
"../../include/unrar/list.cpp",
"../../include/unrar/match.cpp",
"../../include/unrar/options.cpp",
"../../include/unrar/pathfn.cpp",
"../../include/unrar/qopen.cpp",
"../../include/unrar/rarvm.cpp",
"../../include/unrar/rawread.cpp",
"../../include/unrar/rdwrfn.cpp",
"../../include/unrar/recvol.cpp",
"../../include/unrar/rijndael.cpp",
"../../include/unrar/rs.cpp",
"../../include/unrar/rs16.cpp",
"../../include/unrar/scantree.cpp",
"../../include/unrar/secpassword.cpp",
"../../include/unrar/sha1.cpp",
"../../include/unrar/sha256.cpp",
"../../include/unrar/smallfn.cpp",
"../../include/unrar/strfn.cpp",
"../../include/unrar/strlist.cpp",
"../../include/unrar/system.cpp",
"../../include/unrar/threadpool.cpp",
"../../include/unrar/timefn.cpp",
"../../include/unrar/ui.cpp",
"../../include/unrar/unicode.cpp",
"../../include/unrar/unpack.cpp",
"../../include/unrar/volume.cpp",
}
files {
"../../include/unrar/archive.hpp",
"../../include/unrar/array.hpp",
"../../include/unrar/blake2s.hpp",
"../../include/unrar/cmddata.hpp",
"../../include/unrar/coder.hpp",
"../../include/unrar/compress.hpp",
"../../include/unrar/consio.hpp",
"../../include/unrar/crc.hpp",
"../../include/unrar/crypt.hpp",
"../../include/unrar/dll.hpp",
"../../include/unrar/encname.hpp",
"../../include/unrar/errhnd.hpp",
"../../include/unrar/extinfo.hpp",
"../../include/unrar/extract.hpp",
"../../include/unrar/filcreat.hpp",
"../../include/unrar/file.hpp",
"../../include/unrar/filefn.hpp",
"../../include/unrar/filestr.hpp",
"../../include/unrar/find.hpp",
"../../include/unrar/getbits.hpp",
"../../include/unrar/global.hpp",
"../../include/unrar/hash.hpp",
"../../include/unrar/headers.hpp",
"../../include/unrar/headers5.hpp",
"../../include/unrar/isnt.hpp",
"../../include/unrar/list.hpp",
"../../include/unrar/loclang.hpp",
"../../include/unrar/log.hpp",
"../../include/unrar/match.hpp",
"../../include/unrar/model.hpp",
"../../include/unrar/options.hpp",
"../../include/unrar/os.hpp",
"../../include/unrar/pathfn.hpp",
"../../include/unrar/qopen.hpp",
"../../include/unrar/rar.hpp",
"../../include/unrar/rardefs.hpp",
"../../include/unrar/rarlang.hpp",
"../../include/unrar/raros.hpp",
"../../include/unrar/rartypes.hpp",
"../../include/unrar/rarvm.hpp",
"../../include/unrar/rawint.hpp",
"../../include/unrar/rawread.hpp",
"../../include/unrar/rdwrfn.hpp",
"../../include/unrar/recvol.hpp",
"../../include/unrar/resource.hpp",
"../../include/unrar/rijndael.hpp",
"../../include/unrar/rs.hpp",
"../../include/unrar/rs16.hpp",
"../../include/unrar/scantree.hpp",
"../../include/unrar/secpassword.hpp",
"../../include/unrar/sha1.hpp",
"../../include/unrar/sha256.hpp",
"../../include/unrar/smallfn.hpp",
"../../include/unrar/strfn.hpp",
"../../include/unrar/strlist.hpp",
"../../include/unrar/suballoc.hpp",
"../../include/unrar/system.hpp",
"../../include/unrar/threadpool.hpp",
"../../include/unrar/timefn.hpp",
"../../include/unrar/ui.hpp",
"../../include/unrar/unicode.hpp",
"../../include/unrar/unpack.hpp",
"../../include/unrar/version.hpp",
"../../include/unrar/volume.hpp",
}
filter {}
filter { "action:vs*" }
buildoptions { "/wd4996" }
filter {}
filter { "action:vs*" }
buildoptions {
"/wd6031",
"/wd6262",
"/wd28159",
} -- analyze
filter {}
filter { "kind:SharedLib" }
files { "../../include/unrar/dll_nocrypt.def" }
filter {}

View file

@ -0,0 +1,38 @@
project "ancient"
uuid "e1184509-74f7-421d-a8c8-feec2c28ecc2"
language "C++"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "ancient"
dofile "../../build/premake/premake-defaults-LIBorDLL.lua"
dofile "../../build/premake/premake-defaults.lua"
targetname "openmpt-ancient"
includedirs {
"../../include/ancient/api",
"../../include/ancient/api/ancient",
"../../include/ancient/src",
}
filter {}
filter { "action:vs*" }
characterset "Unicode"
filter {}
files {
"../../include/ancient/api/ancient/**.hpp",
}
files {
"../../include/ancient/src/**.hpp",
"../../include/ancient/src/**.cpp",
}
filter { "action:vs*" }
buildoptions {
"/wd4146",
"/wd4244",
}
buildoptions {
"/wd4251",
"/wd4275",
}
filter {}
filter { "kind:SharedLib" }
defines { "ANCIENT_API_DECLSPEC_DLLEXPORT" }
filter {}

View file

@ -0,0 +1,128 @@
project "flac"
uuid "E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5"
language "C"
location ( "../../build/" .. mpt_projectpathname .. "/ext" )
mpt_projectname = "flac"
dofile "../../build/premake/premake-defaults-LIBorDLL.lua"
dofile "../../build/premake/premake-defaults.lua"
targetname "openmpt-flac"
local extincludedirs = {
"../../include/ogg/include",
}
filter { "action:vs*" }
includedirs ( extincludedirs )
filter { "not action:vs*" }
sysincludedirs ( extincludedirs )
filter {}
includedirs {
"../../include/flac/include",
"../../include/flac/src/libFLAC/include",
}
filter {}
filter { "action:vs*" }
characterset "Unicode"
filter {}
files {
"../../include/flac/src/libFLAC/bitmath.c",
"../../include/flac/src/libFLAC/bitreader.c",
"../../include/flac/src/libFLAC/bitwriter.c",
"../../include/flac/src/libFLAC/cpu.c",
"../../include/flac/src/libFLAC/crc.c",
"../../include/flac/src/libFLAC/fixed.c",
"../../include/flac/src/libFLAC/fixed_intrin_sse2.c",
"../../include/flac/src/libFLAC/fixed_intrin_ssse3.c",
"../../include/flac/src/libFLAC/float.c",
"../../include/flac/src/libFLAC/format.c",
"../../include/flac/src/libFLAC/lpc.c",
"../../include/flac/src/libFLAC/lpc_intrin_avx2.c",
"../../include/flac/src/libFLAC/lpc_intrin_sse2.c",
"../../include/flac/src/libFLAC/lpc_intrin_sse41.c",
"../../include/flac/src/libFLAC/lpc_intrin_sse.c",
"../../include/flac/src/libFLAC/md5.c",
"../../include/flac/src/libFLAC/memory.c",
"../../include/flac/src/libFLAC/metadata_iterators.c",
"../../include/flac/src/libFLAC/metadata_object.c",
"../../include/flac/src/libFLAC/ogg_decoder_aspect.c",
"../../include/flac/src/libFLAC/ogg_encoder_aspect.c",
"../../include/flac/src/libFLAC/ogg_helper.c",
"../../include/flac/src/libFLAC/ogg_mapping.c",
"../../include/flac/src/libFLAC/stream_decoder.c",
"../../include/flac/src/libFLAC/stream_encoder.c",
"../../include/flac/src/libFLAC/stream_encoder_intrin_avx2.c",
"../../include/flac/src/libFLAC/stream_encoder_intrin_sse2.c",
"../../include/flac/src/libFLAC/stream_encoder_intrin_ssse3.c",
"../../include/flac/src/libFLAC/stream_encoder_framing.c",
"../../include/flac/src/libFLAC/window.c",
"../../include/flac/src/libFLAC/windows_unicode_filenames.c",
}
files {
"../../include/flac/src/libFLAC/include/private/all.h",
"../../include/flac/src/libFLAC/include/private/bitmath.h",
"../../include/flac/src/libFLAC/include/private/bitreader.h",
"../../include/flac/src/libFLAC/include/private/bitwriter.h",
"../../include/flac/src/libFLAC/include/private/cpu.h",
"../../include/flac/src/libFLAC/include/private/crc.h",
"../../include/flac/src/libFLAC/include/private/fixed.h",
"../../include/flac/src/libFLAC/include/private/float.h",
"../../include/flac/src/libFLAC/include/private/format.h",
"../../include/flac/src/libFLAC/include/private/lpc.h",
"../../include/flac/src/libFLAC/include/private/md5.h",
"../../include/flac/src/libFLAC/include/private/memory.h",
"../../include/flac/src/libFLAC/include/private/metadata.h",
"../../include/flac/src/libFLAC/include/private/ogg_decoder_aspect.h",
"../../include/flac/src/libFLAC/include/private/ogg_encoder_aspect.h",
"../../include/flac/src/libFLAC/include/private/ogg_helper.h",
"../../include/flac/src/libFLAC/include/private/ogg_mapping.h",
"../../include/flac/src/libFLAC/include/private/stream_encoder.h",
"../../include/flac/src/libFLAC/include/private/stream_encoder_framing.h",
"../../include/flac/src/libFLAC/include/private/window.h",
"../../include/flac/src/libFLAC/include/protected/all.h",
"../../include/flac/src/libFLAC/include/protected/stream_decoder.h",
"../../include/flac/src/libFLAC/include/protected/stream_encoder.h",
}
filter { "action:vs*" }
files {
"../../include/flac/src/share/win_utf8_io/win_utf8_io.c",
}
filter {}
files {
"../../include/flac/include/FLAC/all.h",
"../../include/flac/include/FLAC/assert.h",
"../../include/flac/include/FLAC/callback.h",
"../../include/flac/include/FLAC/export.h",
"../../include/flac/include/FLAC/format.h",
"../../include/flac/include/FLAC/metadata.h",
"../../include/flac/include/FLAC/ordinals.h",
"../../include/flac/include/FLAC/stream_decoder.h",
"../../include/flac/include/FLAC/stream_encoder.h",
}
files {
"../../include/flac/include/share/alloc.h",
"../../include/flac/include/share/compat.h",
"../../include/flac/include/share/endswap.h",
"../../include/flac/include/share/macros.h",
"../../include/flac/include/share/private.h",
"../../include/flac/include/share/safe_str.h",
}
filter { "action:vs*" }
files {
"../../include/flac/include/share/win_utf8_io.h",
"../../include/flac/include/share/windows_unicode_filenames.h",
}
filter {}
filter { "action:vs*" }
buildoptions { "/wd4101", "/wd4244", "/wd4267", "/wd4334" }
filter {}
filter { "action:vs*" }
buildoptions { "/wd6001", "/wd6011", "/wd6031", "/wd6297", "/wd28182" } -- /analyze
filter {}
defines { "FLAC__HAS_OGG=1" }
links { "ogg" }
defines { "PACKAGE_VERSION=\"1.3.4\"" }
filter {}
filter { "kind:StaticLib" }
defines { "FLAC__NO_DLL" }
filter { "kind:SharedLib" }
defines { "FLAC_API_EXPORTS" }
filter {}

Some files were not shown because too many files have changed in this diff Show more