diff --git a/mxe.src/bullet.mk b/mxe.src/bullet.mk index 7436044..00c6be0 100644 --- a/mxe.src/bullet.mk +++ b/mxe.src/bullet.mk @@ -10,6 +10,7 @@ $(PKG)_CHECKSUM := e6e8b755280ce2c1a8218529eae5dd78e184f7036854229cea611374ad5a6 $(PKG)_GH_CONF := bulletphysics/bullet3/releases $(PKG)_URL_2 := https://github.com/bulletphysics/bullet3/archive/$($(PKG)_VERSION).tar.gz $(PKG)_DEPS := cc +$(PKG)_PATCHES := define $(PKG)_BUILD cd '$(1)' && '$(TARGET)-cmake' . \ diff --git a/mxe.src/openal-2-fix-visibility.patch b/mxe.src/openal-2-fix-visibility.patch deleted file mode 100644 index d9b62c3..0000000 --- a/mxe.src/openal-2-fix-visibility.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0087edb2..28960a4f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -282,15 +282,6 @@ ELSE() - int main() {return 0;}" HAVE_GCC_DESTRUCTOR) - ENDIF() - --# Set visibility/export options if available --IF(WIN32) -- SET(EXPORT_DECL "__declspec(dllexport)") -- IF(NOT MINGW) -- SET(ALIGN_DECL "__declspec(align(x))") -- ELSE() -- SET(ALIGN_DECL "__declspec(aligned(x))") -- ENDIF() --ELSE() - SET(OLD_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") - # Yes GCC, really don't accept visibility modes you don't support - SET(CMAKE_REQUIRED_FLAGS "${OLD_REQUIRED_FLAGS} -Wattributes -Werror") -@@ -321,7 +312,6 @@ ELSE() - ENDIF() - - SET(CMAKE_REQUIRED_FLAGS "${OLD_REQUIRED_FLAGS}") --ENDIF() - - SET(SSE_SWITCH "") - SET(SSE2_SWITCH "") diff --git a/mxe.src/openexr-3-namespace-fix.patch b/mxe.src/openexr-3-namespace-fix.patch deleted file mode 100644 index dbd8dd8..0000000 --- a/mxe.src/openexr-3-namespace-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/IlmImf/ImfDwaCompressor.h b/IlmImf/ImfDwaCompressor.h -index 654ae790..ae80ca4e 100644 ---- a/IlmImf/ImfDwaCompressor.h -+++ b/IlmImf/ImfDwaCompressor.h -@@ -71,7 +71,7 @@ class DwaCompressor: public Compressor - - virtual int numScanLines () const; - -- virtual Imf::Compressor::Format format () const; -+ virtual Format format () const; - - virtual int compress (const char *inPtr, - int inSize, diff --git a/mxe.src/openexr-4-namespace-fix.patch b/mxe.src/openexr-4-namespace-fix.patch deleted file mode 100644 index 4cc1a1e..0000000 --- a/mxe.src/openexr-4-namespace-fix.patch +++ /dev/null @@ -1,161 +0,0 @@ -diff --git a/IlmImf/ImfDwaCompressor.cpp b/IlmImf/ImfDwaCompressor.cpp -index 1c1bd454..8bfc7d6f 100644 ---- a/IlmImf/ImfDwaCompressor.cpp -+++ b/IlmImf/ImfDwaCompressor.cpp -@@ -1845,7 +1845,7 @@ DwaCompressor::numScanLines() const - } - - --Imf::Compressor::Format -+Compressor::Format - DwaCompressor::format() const - { - if (GLOBAL_SYSTEM_LITTLE_ENDIAN) -@@ -1927,7 +1927,7 @@ DwaCompressor::compress - _outBuffer = new char[outBufferSize]; - } - -- char *outDataPtr = &_outBuffer[NUM_SIZES_SINGLE * sizeof(Imf::Int64) + -+ char *outDataPtr = &_outBuffer[NUM_SIZES_SINGLE * sizeof(Int64) + - channelRuleSize]; - - // -@@ -1980,7 +1980,7 @@ DwaCompressor::compress - - if (fileVersion >= 2) - { -- char *writePtr = &_outBuffer[NUM_SIZES_SINGLE * sizeof(Imf::Int64)]; -+ char *writePtr = &_outBuffer[NUM_SIZES_SINGLE * sizeof(Int64)]; - Xdr::write (writePtr, channelRuleSize); - - for (size_t i = 0; i < channelRules.size(); ++i) -@@ -2011,7 +2011,7 @@ DwaCompressor::compress - continue; - - rowPtrs[chan].push_back(inDataPtr); -- inDataPtr += cd->width * Imf::pixelTypeSize(cd->type); -+ inDataPtr += cd->width * pixelTypeSize(cd->type); - } - } - -@@ -2111,7 +2111,7 @@ DwaCompressor::compress - for (int x = 0; x < cd->width; ++x) - { - for (int byte = 0; -- byte < Imf::pixelTypeSize (cd->type); -+ byte < pixelTypeSize (cd->type); - ++byte) - { - -@@ -2119,7 +2119,7 @@ DwaCompressor::compress - } - } - -- *rleRawSize += cd->width * Imf::pixelTypeSize(cd->type); -+ *rleRawSize += cd->width * pixelTypeSize(cd->type); - } - - break; -@@ -2131,7 +2131,7 @@ DwaCompressor::compress - // - - { -- int scanlineSize = cd->width * Imf::pixelTypeSize(cd->type); -+ int scanlineSize = cd->width * pixelTypeSize(cd->type); - - for (unsigned int y = 0; y < rowPtrs[chan].size(); ++y) - { -@@ -2650,7 +2650,7 @@ DwaCompressor::uncompress - continue; - - rowPtrs[chan].push_back (outBufferEnd); -- outBufferEnd += cd->width * Imf::pixelTypeSize (cd->type); -+ outBufferEnd += cd->width * pixelTypeSize (cd->type); - } - } - -@@ -2702,7 +2702,7 @@ DwaCompressor::uncompress - continue; - - ChannelData *cd = &_channelData[chan]; -- int pixelSize = Imf::pixelTypeSize (cd->type); -+ int pixelSize = pixelTypeSize (cd->type); - - switch (cd->compression) - { -@@ -2794,7 +2794,7 @@ DwaCompressor::uncompress - - { - int row = 0; -- int dstScanlineSize = cd->width * Imf::pixelTypeSize (cd->type); -+ int dstScanlineSize = cd->width * pixelTypeSize (cd->type); - - for (int y = minY; y <= maxY; ++y) - { -@@ -2940,7 +2940,7 @@ DwaCompressor::initializeBuffers (size_t &outBufferSize) - // - - int rleAmount = 2 * numScanLines() * (_max[0] - _min[0] + 1) * -- Imf::pixelTypeSize (_channelData[chan].type); -+ pixelTypeSize (_channelData[chan].type); - - rleBufferSize += rleAmount; - } -@@ -2950,7 +2950,7 @@ DwaCompressor::initializeBuffers (size_t &outBufferSize) - case UNKNOWN: - - unknownBufferSize += numScanLines() * (_max[0] - _min[0] + 1) * -- Imf::pixelTypeSize (_channelData[chan].type); -+ pixelTypeSize (_channelData[chan].type); - break; - - default: -@@ -3073,13 +3073,13 @@ DwaCompressor::initializeBuffers (size_t &outBufferSize) - case RLE: - planarUncBufferSize[RLE] += - numScanLines() * (_max[0] - _min[0] + 1) * -- Imf::pixelTypeSize (_channelData[chan].type); -+ pixelTypeSize (_channelData[chan].type); - break; - - case UNKNOWN: - planarUncBufferSize[UNKNOWN] += - numScanLines() * (_max[0] - _min[0] + 1) * -- Imf::pixelTypeSize (_channelData[chan].type); -+ pixelTypeSize (_channelData[chan].type); - break; - - default: -@@ -3386,11 +3386,11 @@ DwaCompressor::setupChannelData (int minX, int minY, int maxX, int maxY) - { - ChannelData *cd = &_channelData[chan]; - -- cd->width = Imf::numSamples (cd->xSampling, minX, maxX); -- cd->height = Imf::numSamples (cd->ySampling, minY, maxY); -+ cd->width = numSamples (cd->xSampling, minX, maxX); -+ cd->height = numSamples (cd->ySampling, minY, maxY); - - cd->planarUncSize = -- cd->width * cd->height * Imf::pixelTypeSize (cd->type); -+ cd->width * cd->height * pixelTypeSize (cd->type); - - cd->planarUncBuffer = planarUncBuffer[cd->compression]; - cd->planarUncBufferEnd = cd->planarUncBuffer; -@@ -3398,7 +3398,7 @@ DwaCompressor::setupChannelData (int minX, int minY, int maxX, int maxY) - cd->planarUncRle[0] = cd->planarUncBuffer; - cd->planarUncRleEnd[0] = cd->planarUncRle[0]; - -- for (int byte = 1; byte < Imf::pixelTypeSize(cd->type); ++byte) -+ for (int byte = 1; byte < pixelTypeSize(cd->type); ++byte) - { - cd->planarUncRle[byte] = - cd->planarUncRle[byte-1] + cd->width * cd->height; -@@ -3416,7 +3416,7 @@ DwaCompressor::setupChannelData (int minX, int minY, int maxX, int maxY) - else - { - planarUncBuffer[cd->compression] += -- cd->width * cd->height * Imf::pixelTypeSize (cd->planarUncType); -+ cd->width * cd->height * pixelTypeSize (cd->planarUncType); - } - } - } diff --git a/mxe.src/openexr-5-namespace-fix.patch b/mxe.src/openexr-5-namespace-fix.patch deleted file mode 100644 index 9900faa..0000000 --- a/mxe.src/openexr-5-namespace-fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/IlmImf/ImfZip.cpp b/IlmImf/ImfZip.cpp -index 93d625e1..7268e948 100644 ---- a/IlmImf/ImfZip.cpp -+++ b/IlmImf/ImfZip.cpp -@@ -42,14 +42,14 @@ - - OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER - --Imf::Zip::Zip(size_t maxRawSize): -+Zip::Zip(size_t maxRawSize): - _maxRawSize(maxRawSize), - _tmpBuffer(0) - { - _tmpBuffer = new char[_maxRawSize]; - } - --Imf::Zip::Zip(size_t maxScanLineSize, size_t numScanLines): -+Zip::Zip(size_t maxScanLineSize, size_t numScanLines): - _maxRawSize(0), - _tmpBuffer(0) - { -@@ -57,19 +57,19 @@ Imf::Zip::Zip(size_t maxScanLineSize, size_t numScanLines): - _tmpBuffer = new char[_maxRawSize]; - } - --Imf::Zip::~Zip() -+Zip::~Zip() - { - if (_tmpBuffer) delete[] _tmpBuffer; - } - - size_t --Imf::Zip::maxRawSize() -+Zip::maxRawSize() - { - return _maxRawSize; - } - - size_t --Imf::Zip::maxCompressedSize() -+Zip::maxCompressedSize() - { - return uiAdd (uiAdd (_maxRawSize, - size_t (ceil (_maxRawSize * 0.01))), -@@ -77,7 +77,7 @@ Imf::Zip::maxCompressedSize() - } - - int --Imf::Zip::compress(const char *raw, int rawSize, char *compressed) -+Zip::compress(const char *raw, int rawSize, char *compressed) - { - // - // Reorder the pixel data. -@@ -136,7 +136,7 @@ Imf::Zip::compress(const char *raw, int rawSize, char *compressed) - } - - int --Imf::Zip::uncompress(const char *compressed, int compressedSize, -+Zip::uncompress(const char *compressed, int compressedSize, - char *raw) - { - // diff --git a/mxe.src/openmw-3-fix-openal-headers.patch b/mxe.src/openmw-3-fix-openal-headers.patch deleted file mode 100644 index d634388..0000000 --- a/mxe.src/openmw-3-fix-openal-headers.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/apps/openmw/mwsound/openal_output.hpp b/apps/openmw/mwsound/openal_output.hpp -index b6a26c99a..6ce10d940 100644 ---- a/apps/openmw/mwsound/openal_output.hpp -+++ b/apps/openmw/mwsound/openal_output.hpp -@@ -6,8 +6,8 @@ - #include - #include - --#include "alc.h" --#include "al.h" -+#include "AL/alc.h" -+#include "AL/al.h" - #include "alext.h" - - #include "sound_output.hpp" diff --git a/mxe.src/openmw.mk b/mxe.src/openmw.mk index 96c3eb5..382f06d 100644 --- a/mxe.src/openmw.mk +++ b/mxe.src/openmw.mk @@ -7,8 +7,10 @@ $(PKG)_CHECKSUM := b63cf971f406ef5f28019f65e9e2bd9641a227459ede45d147562917f67e1 $(PKG)_GH_CONF := openmw/openmw/releases $(PKG)_URL_2 := https://github.com/openmw/openmw/archive/openmw-$($(PKG)_VERSION).tar.gz $(PKG)_DEPS := cc bullet qt openscenegraph boost ffmpeg openal sdl2 mygui +$(PKG)_BINARY_LOCATION := $(PREFIX)/$(TARGET)/opt/openmw define $(PKG)_BUILD + cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \ -DMyGUI_LIBRARY=$(PREFIX)/$(TARGET)/lib/Release/libMyGUIEngineStatic.a \ -DMYGUI_STATIC=ON \ @@ -28,8 +30,10 @@ define $(PKG)_BUILD -DBoost_ALL_NO_LIB=ON \ -DCMAKE_BUILD_TYPE=None \ -DBUILD_SHARED_LIBS=OFF \ - -DCMAKE_CXX_FLAGS="-static -Wa,-mbig-obj -Wl,-Bstatic" \ + -DCMAKE_CXX_FLAGS="-static -Wa,-mbig-obj -Wl,-Bstatic -DAL_LIBTYPE_STATIC" \ -DOPENMW_CUSTOM_FLAGS="-Wl,-Bstatic $(PREFIX)/$(TARGET)/lib/libOpenAL32.a `$(TARGET)-pkg-config --cflags --libs openal freetype2 sdl2 gl libavcodec libavdevice libavfilter libavformat libavresample libavutil`" $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' VERBOSE=1 - $(MAKE) -C '$(BUILD_DIR)' -j 1 install VERBOSE=1 + $(TARGET)-strip '$(BUILD_DIR)/openmw.exe' + mkdir -p '$($(PKG)_BINARY_LOCATION)' + cp '$(BUILD_DIR)/openmw.exe' '$($(PKG)_BINARY_LOCATION)' endef diff --git a/nwah b/nwah index 25eed8d..0449002 100755 --- a/nwah +++ b/nwah @@ -30,11 +30,10 @@ OPENMW_TARGET=${OPENMW_TARGET:-${DEFAULT_OPENMW_TARGET}} cd "$(dirname "$(realpath "$0")")" nwah_mxe() { - cp -u mxe.src/* mxe/src; - test -f mxe/src/bullet-1-pkgconfig.patch && rm mxe/src/bullet-1-pkgconfig.patch; - pushd mxe; + pushd mxe > /dev/null; echo "> mxe: make $@" - make MXE_TARGETS="${OPENMW_TARGET}" "$@"; + make MXE_PLUGIN_DIRS="../mxe.src" MXE_TARGETS="${OPENMW_TARGET}" "$@"; + popd > /dev/null; } main() {