Add mingw-compiled libopenmpt 0.4.0 DLLs

This commit is contained in:
mazmazz 2019-01-03 14:54:22 -05:00
parent dd856a8c89
commit d1534257dd
6 changed files with 56 additions and 2 deletions

View file

@ -0,0 +1,54 @@
# libopenmpt mingw-w64 binary info
Current built version as of 2019/01/03 is 0.4.0+r11103.pkg
mingw binaries (.dll): `bin/[x86 or x86_64]/mingw`
mingw import libraries (.dll.a): `lib/[x86 or x86_64]/mingw`
# Building libopenmpt with mingw-w64
libopenmpt must be built from the Makefile / Android dev package in the
[Downloads page](https://lib.openmpt.org/libopenmpt/download/#all-downloads)
Use the mingw-w64 distributions from
[SourceForge](https://sourceforge.net/projects/mingw-w64/files/#readme).
You can download the appropriate 7-zip archive, extract to a folder of
your choice, remove any existing mingw directories from your PATH,
then call `mingw32-make.exe` from its direct location.
FOR LIBOPENMPT, YOU MUST USE A MINGW PACKAGE THAT SUPPORTS THE POSIX
THREADING MODEL! DO NOT COMPILE WITH A WIN32 THREADING MODEL!
I use GCC 7.3.0:
* [x86_64-posix-seh](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/7.3.0/threads-posix/seh/x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z)
* [i686-posix-dwarf](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/threads-posix/dwarf/i686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z)
## x86 build instructions
```
set CFLAGS=-march=pentium -static-libgcc
set CXXFLAGS=-march=pentium -static-libgcc -static-libstdc++
set LDFLAGS=-Wl,--out-implib,bin/libopenmpt.dll.a -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,-Bdynamic,--no-whole-archive
cd [libopenmpt-make-src]
[x86-mingw-w64-bin]/mingw32-make.exe CONFIG=mingw64-win32
```
`libopenmpt.dll` and `libopenmpt.dll.a` will be built in the
`bin/` folder.
## x86_64 build instructions
```
set CFLAGS=-march=nocona -static-libgcc
set CXXFLAGS=-march=nocona -static-libgcc -static-libstdc++
set LDFLAGS=-Wl,--out-implib,bin/libopenmpt.dll.a -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,-Bdynamic,--no-whole-archive
cd [libopenmpt-make-src]
[x86_64-mingw-w64-bin]/mingw32-make.exe CONFIG=mingw64-win64
```
`libopenmpt.dll` and `libopenmpt.dll.a` will be built in the
`bin/` folder.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -13,7 +13,7 @@ ifdef MINGW64
ifdef HAVE_OPENMPT
LIBOPENMPT_CFLAGS?=-I../libs/libopenmpt/inc
LIBOPENMPT_LDFLAGS?=-L../libs/libopenmpt/lib/x86_64 -llibopenmpt
LIBOPENMPT_LDFLAGS?=-L../libs/libopenmpt/lib/x86_64/mingw -lopenmpt
endif
SDL_CFLAGS?=-I../libs/SDL2/x86_64-w64-mingw32/include/SDL2 -I../libs/SDL2_mixer/x86_64-w64-mingw32/include/SDL2 -Dmain=SDL_main
@ -25,7 +25,7 @@ else
ifdef HAVE_OPENMPT
LIBOPENMPT_CFLAGS?=-I../libs/libopenmpt/inc
LIBOPENMPT_LDFLAGS?=-L../libs/libopenmpt/lib/x86 -llibopenmpt
LIBOPENMPT_LDFLAGS?=-L../libs/libopenmpt/lib/x86/mingw -lopenmpt
endif
SDL_CFLAGS?=-I../libs/SDL2/i686-w64-mingw32/include/SDL2 -I../libs/SDL2_mixer/i686-w64-mingw32/include/SDL2 -Dmain=SDL_main