aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/build/genie
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/external_dependencies/openmpt-trunk/build/genie
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/build/genie')
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/def/ext-vorbis.def81
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/ext-mpg123.lua55
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/ext-ogg.lua21
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/ext-vorbis.lua99
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/ext-zlib.lua47
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-DLL.lua3
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIB.lua3
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIBorDLL.lua16
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults.lua128
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/genie.lua72
-rw-r--r--Src/external_dependencies/openmpt-trunk/build/genie/mpt-libopenmpt.lua99
11 files changed, 624 insertions, 0 deletions
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/def/ext-vorbis.def b/Src/external_dependencies/openmpt-trunk/build/genie/def/ext-vorbis.def
new file mode 100644
index 00000000..5a9efebf
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/def/ext-vorbis.def
@@ -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
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/ext-mpg123.lua b/Src/external_dependencies/openmpt-trunk/build/genie/ext-mpg123.lua
new file mode 100644
index 00000000..c711b04b
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/ext-mpg123.lua
@@ -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
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/ext-ogg.lua b/Src/external_dependencies/openmpt-trunk/build/genie/ext-ogg.lua
new file mode 100644
index 00000000..f300a36a
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/ext-ogg.lua
@@ -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
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/ext-vorbis.lua b/Src/external_dependencies/openmpt-trunk/build/genie/ext-vorbis.lua
new file mode 100644
index 00000000..6572649d
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/ext-vorbis.lua
@@ -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 {}
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/ext-zlib.lua b/Src/external_dependencies/openmpt-trunk/build/genie/ext-zlib.lua
new file mode 100644
index 00000000..8be0c36a
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/ext-zlib.lua
@@ -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
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-DLL.lua b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-DLL.lua
new file mode 100644
index 00000000..12572e79
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-DLL.lua
@@ -0,0 +1,3 @@
+
+configuration {}
+ kind "SharedLib"
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIB.lua b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIB.lua
new file mode 100644
index 00000000..bdebdb2f
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIB.lua
@@ -0,0 +1,3 @@
+
+configuration {}
+ kind "StaticLib"
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIBorDLL.lua b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIBorDLL.lua
new file mode 100644
index 00000000..8c8ae3b1
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults-LIBorDLL.lua
@@ -0,0 +1,16 @@
+
+configuration {}
+
+configuration "Debug"
+ kind "StaticLib"
+
+configuration "DebugShared"
+ kind "SharedLib"
+
+configuration "Release"
+ kind "StaticLib"
+
+configuration "ReleaseShared"
+ kind "SharedLib"
+
+configuration {}
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults.lua b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults.lua
new file mode 100644
index 00000000..887ef405
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/genie-defaults.lua
@@ -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 {}
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/genie.lua b/Src/external_dependencies/openmpt-trunk/build/genie/genie.lua
new file mode 100644
index 00000000..16acbdaa
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/genie.lua
@@ -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"
+
diff --git a/Src/external_dependencies/openmpt-trunk/build/genie/mpt-libopenmpt.lua b/Src/external_dependencies/openmpt-trunk/build/genie/mpt-libopenmpt.lua
new file mode 100644
index 00000000..69fd9ece
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/build/genie/mpt-libopenmpt.lua
@@ -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)" }