diff options
author | Colin Bourassa <colin.bourassa@gmail.com> | 2015-10-09 12:12:23 (GMT) |
---|---|---|
committer | Colin Bourassa <colin.bourassa@gmail.com> | 2015-10-09 12:12:23 (GMT) |
commit | ba218dd7f80488e07194fab59c5b831d5a7c4d53 (patch) | |
tree | c8f7d2bb3c8424a86516a401f56c528a7ab4f23b | |
parent | 27b722edbd2951972848494ced169cf49ca664a0 (diff) | |
parent | 8300f39b75e64896bbd9e15ced2dd1867feac5f2 (diff) | |
download | mxe-ba218dd7f80488e07194fab59c5b831d5a7c4d53.zip mxe-ba218dd7f80488e07194fab59c5b831d5a7c4d53.tar.gz mxe-ba218dd7f80488e07194fab59c5b831d5a7c4d53.tar.bz2 |
Merge branch 'master' into libcomm14cux_2.1.0_update
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | LICENSE.md | 1 | ||||
-rw-r--r-- | Makefile | 18 | ||||
-rw-r--r-- | index.html | 13 | ||||
-rw-r--r-- | src/boost-test.cmake | 14 | ||||
-rw-r--r-- | src/boost.mk | 9 | ||||
-rw-r--r-- | src/cmake/modules/CMakeParseArguments.cmake (renamed from src/cmake/CMakeParseArguments.cmake) | 0 | ||||
-rw-r--r-- | src/cmake/modules/FindFreetype.cmake (renamed from src/cmake/FindFreetype.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindOpenSSL.cmake (renamed from src/cmake/FindOpenSSL.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindPackageHandleStandardArgs.cmake (renamed from src/cmake/FindPackageHandleStandardArgs.cmake) | 0 | ||||
-rw-r--r-- | src/cmake/modules/FindPackageMessage.cmake (renamed from src/cmake/FindPackageMessage.cmake) | 0 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL.cmake (renamed from src/cmake/FindSDL.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL_image.cmake (renamed from src/cmake/FindSDL_image.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL_mixer.cmake (renamed from src/cmake/FindSDL_mixer.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL_net.cmake (renamed from src/cmake/FindSDL_net.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL_sound.cmake (renamed from src/cmake/FindSDL_sound.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindSDL_ttf.cmake (renamed from src/cmake/FindSDL_ttf.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/modules/FindTIFF.cmake (renamed from src/cmake/FindTIFF.cmake) | 2 | ||||
-rw-r--r-- | src/cmake/test/CMakeLists.txt | 18 | ||||
-rw-r--r-- | src/curl.mk | 4 | ||||
-rw-r--r-- | src/freetype.mk | 4 | ||||
-rw-r--r-- | src/gdal.mk | 90 | ||||
-rw-r--r-- | src/gmp.mk | 2 | ||||
-rw-r--r-- | src/guile.mk | 2 | ||||
-rw-r--r-- | src/harfbuzz.mk | 4 | ||||
-rw-r--r-- | src/icu4c.mk | 2 | ||||
-rw-r--r-- | src/ilmbase.mk | 4 | ||||
-rw-r--r-- | src/libass.mk | 5 | ||||
-rw-r--r-- | src/libdnet.mk | 1 | ||||
-rw-r--r-- | src/libmysqlclient-1-fixes.patch | 339 | ||||
-rw-r--r-- | src/libmysqlclient.def | 124 | ||||
-rw-r--r-- | src/libmysqlclient.mk | 51 | ||||
-rw-r--r-- | src/lua.mk | 3 | ||||
-rw-r--r-- | src/luajit.mk | 2 | ||||
-rw-r--r-- | src/mxe-conf.mk | 7 | ||||
-rw-r--r-- | src/ncurses.mk | 4 | ||||
-rw-r--r-- | src/ocaml-core.mk | 2 | ||||
-rw-r--r-- | src/openblas.mk | 3 | ||||
-rw-r--r-- | src/openexr-2-64-bit-fixes.patch | 27 | ||||
-rw-r--r-- | src/openexr.mk | 6 | ||||
-rw-r--r-- | src/openscenegraph.mk | 2 | ||||
-rw-r--r-- | src/pkgconf.mk | 2 | ||||
-rw-r--r-- | src/protobuf.mk | 4 | ||||
-rw-r--r-- | src/pthreads.mk | 19 | ||||
-rw-r--r-- | src/qt-test.cmake | 24 | ||||
-rw-r--r-- | src/qt.mk | 11 | ||||
-rw-r--r-- | src/qtbase-1.patch | 85 | ||||
-rw-r--r-- | src/qtbase.mk | 4 | ||||
-rw-r--r-- | src/sdl-test.cmake | 15 | ||||
-rw-r--r-- | src/sdl.mk | 9 | ||||
-rw-r--r-- | src/speexdsp.mk | 25 | ||||
-rw-r--r-- | src/unrtf-1.patch | 70 | ||||
-rw-r--r-- | src/unrtf.mk | 24 | ||||
-rw-r--r-- | src/vtk6-2-config-compiletools.patch (renamed from src/vtk6-3-config-compiletools.patch) | 12 | ||||
-rw-r--r-- | src/vtk6-2-mingw-w64.patch | 28 | ||||
-rw-r--r-- | src/vtk6.mk | 13 | ||||
-rw-r--r-- | src/wget.mk | 4 | ||||
-rw-r--r-- | src/widl.mk | 4 | ||||
-rw-r--r-- | src/winpthreads-test.cmake | 18 | ||||
-rw-r--r-- | src/xmlrpc-c.mk | 4 | ||||
-rw-r--r-- | src/xz.mk | 4 | ||||
-rwxr-xr-x | tools/build-pkg.lua | 57 | ||||
-rw-r--r-- | versions.json | 17 |
63 files changed, 1069 insertions, 170 deletions
@@ -6,3 +6,10 @@ /pkg /wip/ /tmp-* + +# generated by build-pkg +/*-*.list +/mxe-*.tar.xz +/mxe-*.deb +/wheezy +/jessie @@ -8,6 +8,7 @@ Copyright (c) 2007-2015 * Tony Theodore * Martin Gerhardy * Tiancheng "Timothy" Gu + * Boris Nagaev * ... and many other contributors (contact via the project mailing list) @@ -23,6 +23,8 @@ PKG_CDN := d1yihgixbnrglp.cloudfront.net PWD := $(shell pwd) SHELL := bash +BUILD_CC := $(shell (gcc --help >/dev/null 2>&1 && echo gcc) || (clang --help >/dev/null 2>&1 && echo clang)) +BUILD_CXX := $(shell (g++ --help >/dev/null 2>&1 && echo g++) || (clang++ --help >/dev/null 2>&1 && echo clang++)) DATE := $(shell gdate --help >/dev/null 2>&1 && echo g)date INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install LIBTOOL := $(shell glibtool --help >/dev/null 2>&1 && echo g)libtool @@ -35,9 +37,9 @@ WGET := wget --no-check-certificate \ $(SED) -n 's,GNU \(Wget\) \([0-9.]*\).*,\1/\2,p') REQUIREMENTS := autoconf automake autopoint bash bison bzip2 cmake flex \ - gcc g++ gperf intltoolize $(LIBTOOL) $(LIBTOOLIZE) \ - $(MAKE) openssl $(PATCH) $(PERL) python ruby scons \ - $(SED) $(SORT) unzip wget xz 7za + $(BUILD_CC) $(BUILD_CXX) gperf intltoolize $(LIBTOOL) \ + $(LIBTOOLIZE) $(MAKE) openssl $(PATCH) $(PERL) python \ + ruby scons $(SED) $(SORT) unzip wget xz 7za PREFIX := $(PWD)/usr LOG_DIR := $(PWD)/log @@ -140,6 +142,10 @@ endef ENV_WHITELIST := PATH LANG MAKE% MXE% %PROXY %proxy LD_LIBRARY_PATH ACLOCAL_PATH unexport $(filter-out $(ENV_WHITELIST),$(shell env | cut -d '=' -f1)) +# disable wine with readonly directory (created by mxe-conf) +# see https://github.com/mxe/mxe/issues/841 +export WINEPREFIX=$(PREFIX)/readonly + SHORT_PKG_VERSION = \ $(word 1,$(subst ., ,$($(1)_VERSION))).$(word 2,$(subst ., ,$($(1)_VERSION))) @@ -344,11 +350,11 @@ $(foreach TARGET,$(MXE_TARGETS),$(eval $(call TARGET_RULE,$(TARGET)))) define PKG_RULE .PHONY: download-$(1) -download-$(1): $(addprefix download-,$(value $(call LOOKUP_PKG_RULE,$(1),DEPS,$(3)))) \ - download-only-$(1) +download-$(1): $(addprefix download-,$($(1)_DEPS)) download-only-$(1) .PHONY: download-only-$(1) download-only-$(1): + $(and $($(1)_URL), @[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)' @if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ $(PRINTF_FMT) '[download]' '$(1)'; \ @@ -367,7 +373,7 @@ download-only-$(1): echo; \ exit 1; \ fi; \ - fi + fi) endef $(foreach PKG,$(PKGS),$(eval $(call PKG_RULE,$(PKG)))) @@ -1743,6 +1743,10 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre> <td class="website"><a href="http://www.musepack.net/">libmpcdec</a></td> </tr> <tr> + <td class="package">libmysqlclient</td> + <td class="website"><a href="https://dev.mysql.com/downloads/connector/c/">libmysqlclient</a></td> + </tr> + <tr> <td class="package">libntlm</td> <td class="website"><a href="http://www.nongnu.org/libntlm/">Libntlm</a></td> </tr> @@ -2407,6 +2411,10 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre> <td class="website"><a href="http://www.speex.org/">Speex</a></td> </tr> <tr> + <td class="package">speexdsp</td> + <td class="website"><a href="http://www.speex.org/">SpeexDSP</a></td> + </tr> + <tr> <td class="package">sqlite</td> <td class="website"><a href="http://www.sqlite.org/">SQLite</a></td> </tr> @@ -2459,6 +2467,10 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre> <td class="website"><a href="http://www.twolame.org/">TwoLAME</a></td> </tr> <tr> + <td class="package">unrtf</td> + <td class="website"><a href="https://www.gnu.org/software/unrtf/">unRTF</a></td> + </tr> + <tr> <td class="package">vamp-plugin-sdk</td> <td class="website"><a href="http://vamp-plugins.org/">Vamp Plugins SDK</a></td> </tr> @@ -2965,6 +2977,7 @@ endef</pre> <li>Tony Theodore</li> <li>Martin Gerhardy</li> <li>Tiancheng "Timothy" Gu</li> + <li>Boris Nagaev</li> <li><a href="https://github.com/mxe/mxe/graphs/contributors">... and many other contributors</a></li> </ul> diff --git a/src/boost-test.cmake b/src/boost-test.cmake new file mode 100644 index 0000000..3875fec --- /dev/null +++ b/src/boost-test.cmake @@ -0,0 +1,14 @@ +# This file is part of MXE. +# See index.html for further information. + +# partial module - included by src/cmake/CMakeLists.txt + +set(TGT test-${PKG}-cmake) + +enable_language(CXX) +add_executable(${TGT} ${CMAKE_CURRENT_LIST_DIR}/${PKG}-test.cpp) + +find_package(Boost ${PKG_VERSION} EXACT COMPONENTS chrono serialization system thread REQUIRED) +target_link_libraries(${TGT} ${Boost_LIBRARIES}) + +install(TARGETS ${TGT} DESTINATION bin) diff --git a/src/boost.mk b/src/boost.mk index 0d48c8b..b4fc4ac 100644 --- a/src/boost.mk +++ b/src/boost.mk @@ -71,4 +71,13 @@ define $(PKG)_BUILD -lboost_thread_win32-mt \ -lboost_system-mt \ -lboost_chrono-mt + + # test cmake + $(and $(ENABLE_CMAKE_TESTS), + mkdir '$(1).test-cmake' + cd '$(1).test-cmake' && '$(TARGET)-cmake' \ + -DPKG=$(PKG) \ + -DPKG_VERSION=$($(PKG)_VERSION) \ + '$(PWD)/src/cmake/test' + $(MAKE) -C '$(1).test-cmake' -j 1 install) endef diff --git a/src/cmake/CMakeParseArguments.cmake b/src/cmake/modules/CMakeParseArguments.cmake index 8553f38..8553f38 100644 --- a/src/cmake/CMakeParseArguments.cmake +++ b/src/cmake/modules/CMakeParseArguments.cmake diff --git a/src/cmake/FindFreetype.cmake b/src/cmake/modules/FindFreetype.cmake index f1821f6..e436662 100644 --- a/src/cmake/FindFreetype.cmake +++ b/src/cmake/modules/FindFreetype.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindOpenSSL.cmake b/src/cmake/modules/FindOpenSSL.cmake index 6b4f985..3763d80 100644 --- a/src/cmake/FindOpenSSL.cmake +++ b/src/cmake/modules/FindOpenSSL.cmake @@ -36,6 +36,8 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if (UNIX) find_package(PkgConfig QUIET) pkg_check_modules(_OPENSSL QUIET openssl) diff --git a/src/cmake/FindPackageHandleStandardArgs.cmake b/src/cmake/modules/FindPackageHandleStandardArgs.cmake index 6bcf1e7..6bcf1e7 100644 --- a/src/cmake/FindPackageHandleStandardArgs.cmake +++ b/src/cmake/modules/FindPackageHandleStandardArgs.cmake diff --git a/src/cmake/FindPackageMessage.cmake b/src/cmake/modules/FindPackageMessage.cmake index a0349d3..a0349d3 100644 --- a/src/cmake/FindPackageMessage.cmake +++ b/src/cmake/modules/FindPackageMessage.cmake diff --git a/src/cmake/FindSDL.cmake b/src/cmake/modules/FindSDL.cmake index f426494..791b4af 100644 --- a/src/cmake/FindSDL.cmake +++ b/src/cmake/modules/FindSDL.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindSDL_image.cmake b/src/cmake/modules/FindSDL_image.cmake index 6251d9d..27b6342 100644 --- a/src/cmake/FindSDL_image.cmake +++ b/src/cmake/modules/FindSDL_image.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindSDL_mixer.cmake b/src/cmake/modules/FindSDL_mixer.cmake index 08bc886..c80d2da 100644 --- a/src/cmake/FindSDL_mixer.cmake +++ b/src/cmake/modules/FindSDL_mixer.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindSDL_net.cmake b/src/cmake/modules/FindSDL_net.cmake index 61465e9..e4be76e 100644 --- a/src/cmake/FindSDL_net.cmake +++ b/src/cmake/modules/FindSDL_net.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindSDL_sound.cmake b/src/cmake/modules/FindSDL_sound.cmake index 9e8fa0b..0c6d765 100644 --- a/src/cmake/FindSDL_sound.cmake +++ b/src/cmake/modules/FindSDL_sound.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindSDL_ttf.cmake b/src/cmake/modules/FindSDL_ttf.cmake index 1d2ca02..12362f4 100644 --- a/src/cmake/FindSDL_ttf.cmake +++ b/src/cmake/modules/FindSDL_ttf.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/FindTIFF.cmake b/src/cmake/modules/FindTIFF.cmake index 08602dd..6dab2b4 100644 --- a/src/cmake/FindTIFF.cmake +++ b/src/cmake/modules/FindTIFF.cmake @@ -1,6 +1,8 @@ # This file is part of MXE. # See index.html for further information. +message("== Custom MXE File: " ${CMAKE_CURRENT_LIST_FILE}) + if(NOT PKG_CONFIG_FOUND) find_package(PkgConfig REQUIRED) endif() diff --git a/src/cmake/test/CMakeLists.txt b/src/cmake/test/CMakeLists.txt new file mode 100644 index 0000000..095050e --- /dev/null +++ b/src/cmake/test/CMakeLists.txt @@ -0,0 +1,18 @@ +# This file is part of MXE. +# See index.html for further information. + +# 2.8.11 is recommended as a minimum for Qt5 +# http://doc.qt.io/qt-5/cmake-manual.html +cmake_minimum_required(VERSION 2.8.11) + +# set languages in individual modules +project(mxe NONE) + +# see cmake --help-policy <cmp> for details +cmake_policy(SET CMP0017 NEW) +cmake_policy(SET CMP0020 NEW) + +# so we can find pkg-test.cmake files to include +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../.. ${CMAKE_MODULE_PATH}) + +include(${PKG}-test) diff --git a/src/curl.mk b/src/curl.mk index 76cea81..023964b 100644 --- a/src/curl.mk +++ b/src/curl.mk @@ -3,8 +3,8 @@ PKG := curl $(PKG)_IGNORE := -$(PKG)_VERSION := 7.44.0 -$(PKG)_CHECKSUM := e7aab6b92fb30f88f9150090f6fa04f1e4358809ca8642d4e79cd79db652563e +$(PKG)_VERSION := 7.45.0 +$(PKG)_CHECKSUM := 96cd9711d8f38fa6f99af085a67ad1e0ebca339f2a9a00a2aa59c40a66c4552d $(PKG)_SUBDIR := curl-$($(PKG)_VERSION) $(PKG)_FILE := curl-$($(PKG)_VERSION).tar.lzma $(PKG)_URL := http://curl.haxx.se/download/$($(PKG)_FILE) diff --git a/src/freetype.mk b/src/freetype.mk index b942017..9b6ad4f 100644 --- a/src/freetype.mk +++ b/src/freetype.mk @@ -3,8 +3,8 @@ PKG := freetype $(PKG)_IGNORE := -$(PKG)_VERSION := 2.6 -$(PKG)_CHECKSUM := 8469fb8124764f85029cc8247c31e132a2c5e51084ddce2a44ea32ee4ae8347e +$(PKG)_VERSION := 2.6.1 +$(PKG)_CHECKSUM := 2f6e9a7de3ae8e85bdd2fe237e27d868d3ba7a27495e65906455c27722dd1a17 $(PKG)_SUBDIR := freetype-$($(PKG)_VERSION) $(PKG)_FILE := freetype-$($(PKG)_VERSION).tar.bz2 $(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/freetype/freetype2/$(shell echo '$($(PKG)_VERSION)' | cut -d . -f 1,2,3)/$($(PKG)_FILE) diff --git a/src/gdal.mk b/src/gdal.mk index ba2bacf..f6a626d 100644 --- a/src/gdal.mk +++ b/src/gdal.mk @@ -10,8 +10,8 @@ $(PKG)_FILE := gdal-$($(PKG)_VERSION).tar.gz $(PKG)_URL := http://download.osgeo.org/gdal/$($(PKG)_VERSION)/$($(PKG)_FILE) $(PKG)_URL_2 := ftp://ftp.remotesensing.org/gdal/$($(PKG)_VERSION)/$($(PKG)_FILE) $(PKG)_DEPS := gcc armadillo curl expat geos giflib gta hdf4 hdf5 \ - jpeg json-c libgeotiff libpng libxml2 netcdf openjpeg \ - postgresql proj sqlite tiff zlib + jpeg json-c libgeotiff libmysqlclient libpng libxml2 \ + netcdf openjpeg postgresql proj sqlite tiff zlib define $(PKG)_UPDATE $(WGET) -q -O- 'http://trac.osgeo.org/gdal/wiki/DownloadSource' | \ @@ -21,59 +21,61 @@ endef define $(PKG)_BUILD cd '$(1)' && autoreconf -fi -I ./m4 - # The option '--without-threads' means native win32 threading without pthread. + # The option '--with-threads=no' means native win32 threading without pthread. + # mysql uses threading from Vista onwards - '-D_WIN32_WINNT=0x0600' cd '$(1)' && ./configure \ $(MXE_CONFIGURE_OPTS) \ - --with-bsb \ - --with-grib \ - --with-ogr \ - --with-pam \ - --without-threads \ --with-armadillo='$(PREFIX)/$(TARGET)' \ - --with-libz='$(PREFIX)/$(TARGET)' \ - --with-png='$(PREFIX)/$(TARGET)' \ - --with-libtiff='$(PREFIX)/$(TARGET)' \ + --with-bsb \ + --with-cfitsio=no \ + --with-dods-root=no \ + --with-dwgdirect=no \ + --with-ecw=no \ + --with-epsilon=no \ + --with-expat='$(PREFIX)/$(TARGET)' \ + --with-fme=no \ + --with-geos='$(PREFIX)/$(TARGET)/bin/geos-config' \ --with-geotiff='$(PREFIX)/$(TARGET)' \ - --with-jpeg='$(PREFIX)/$(TARGET)' \ - --with-openjpeg='$(PREFIX)/$(TARGET)' \ --with-gif='$(PREFIX)/$(TARGET)' \ - --with-expat='$(PREFIX)/$(TARGET)' \ - --with-sqlite3='$(PREFIX)/$(TARGET)' \ + --with-grass=no \ + --with-grib \ --with-gta='$(PREFIX)/$(TARGET)' \ --with-hdf4='$(PREFIX)/$(TARGET)' \ --with-hdf5='$(PREFIX)/$(TARGET)' \ + --with-idb=no \ + --with-ingres=no \ + --with-jasper=no \ + --with-jp2mrsid=no \ + --with-jpeg='$(PREFIX)/$(TARGET)' \ + --with-kakadu=no \ + --with-libgrass=no \ --with-libjson-c='$(PREFIX)/$(TARGET)' \ + --with-libtiff='$(PREFIX)/$(TARGET)' \ + --with-libz='$(PREFIX)/$(TARGET)' \ + --with-mrsid=no \ + --with-msg=no \ + --with-mysql='$(PREFIX)/$(TARGET)/bin/mysql_config' \ --with-netcdf='$(PREFIX)/$(TARGET)' \ - --with-geos='$(PREFIX)/$(TARGET)/bin/geos-config' \ + --with-oci=no \ + --with-odbc=no \ + --with-ogdi=no \ + --with-ogr \ + --with-openjpeg='$(PREFIX)/$(TARGET)' \ + --with-pam \ + --with-pcidsk=no \ + --with-pcraster=no \ + --with-perl=no \ + --with-php=no \ + --with-png='$(PREFIX)/$(TARGET)' \ + --with-python=no \ + --with-ruby=no \ + --with-sde=no \ + --with-spatialite=no \ + --with-sqlite3='$(PREFIX)/$(TARGET)' \ + --with-threads=no \ + --with-xerces=no \ --with-xml2='$(PREFIX)/$(TARGET)/bin/xml2-config' \ - --without-jasper \ - --without-odbc \ - --without-xerces \ - --without-grass \ - --without-libgrass \ - --without-spatialite \ - --without-cfitsio \ - --without-pcraster \ - --without-pcidsk \ - --without-ogdi \ - --without-fme \ - --without-ecw \ - --without-kakadu \ - --without-mrsid \ - --without-jp2mrsid \ - --without-msg \ - --without-oci \ - --without-mysql \ - --without-ingres \ - --without-dods-root \ - --without-dwgdirect \ - --without-idb \ - --without-sde \ - --without-epsilon \ - --without-perl \ - --without-php \ - --without-ruby \ - --without-python \ + CXXFLAGS='-D_WIN32_WINNT=0x0600' \ LIBS="-ljpeg -lsecur32 -lportablexdr `'$(TARGET)-pkg-config' --libs openssl libtiff-4`" $(MAKE) -C '$(1)' -j '$(JOBS)' lib-target @@ -20,7 +20,7 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - cd '$(1)' && CC_FOR_BUILD=gcc ./configure \ + cd '$(1)' && CC_FOR_BUILD=$(BUILD_CC) ./configure \ $(MXE_CONFIGURE_OPTS) \ --enable-cxx \ --without-readline diff --git a/src/guile.mk b/src/guile.mk index c3a3abe..d604ac6 100644 --- a/src/guile.mk +++ b/src/guile.mk @@ -23,7 +23,7 @@ define $(PKG)_BUILD # The setting "scm_cv_struct_timespec=no" ensures that Guile # won't try to use the "struct timespec" from <pthreads.h>, # which would fail because we tell Guile not to use Pthreads. - cd '$(1)' && CC_FOR_BUILD=gcc ./configure \ + cd '$(1)' && CC_FOR_BUILD=$(BUILD_CC) ./configure \ --host='$(TARGET)' \ --build="`config.guess`" \ --prefix='$(PREFIX)/$(TARGET)' \ diff --git a/src/harfbuzz.mk b/src/harfbuzz.mk index 664f128..856717c 100644 --- a/src/harfbuzz.mk +++ b/src/harfbuzz.mk @@ -3,8 +3,8 @@ PKG := harfbuzz $(PKG)_IGNORE := -$(PKG)_VERSION := 1.0.3 -$(PKG)_CHECKSUM := ebdc875ea06d010722dec13d92bc40002ab6a77071d62e71aad564ff76a63df7 +$(PKG)_VERSION := 1.0.4 +$(PKG)_CHECKSUM := b030373457e7c00d3a7920f15e6fcd35defac3c4e44cd14ed85869030df74381 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2 $(PKG)_URL := http://www.freedesktop.org/software/$(PKG)/release/$($(PKG)_FILE) diff --git a/src/icu4c.mk b/src/icu4c.mk index c53ec83..d91042c 100644 --- a/src/icu4c.mk +++ b/src/icu4c.mk @@ -22,7 +22,7 @@ endef define $(PKG)_BUILD_COMMON cd '$(1)/source' && autoreconf -fi mkdir '$(1).native' && cd '$(1).native' && '$(1)/source/configure' \ - CC=gcc CXX=g++ + CC=$(BUILD_CC) CXX=$(BUILD_CXX) $(MAKE) -C '$(1).native' -j '$(JOBS)' mkdir '$(1).cross' && cd '$(1).cross' && '$(1)/source/configure' \ diff --git a/src/ilmbase.mk b/src/ilmbase.mk index 2cd66ea..c4d8628 100644 --- a/src/ilmbase.mk +++ b/src/ilmbase.mk @@ -32,9 +32,9 @@ define $(PKG)_BUILD SHELL=$(SHELL) # do the first build step by hand, because programs are built that # generate source files - cd '$(1)/Half' && g++ eLut.cpp -o eLut + cd '$(1)/Half' && $(BUILD_CXX) eLut.cpp -o eLut '$(1)/Half/eLut' > '$(1)/eLut.h' - cd '$(1)/Half' && g++ toFloat.cpp -o toFloat + cd '$(1)/Half' && $(BUILD_CXX) toFloat.cpp -o toFloat '$(1)/Half/toFloat' > '$(1)/toFloat.h' $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= endef diff --git a/src/libass.mk b/src/libass.mk index 8ba9765..d54d300 100644 --- a/src/libass.mk +++ b/src/libass.mk @@ -3,8 +3,8 @@ PKG := libass $(PKG)_IGNORE := -$(PKG)_VERSION := 0.12.3 -$(PKG)_CHECKSUM := a67c54ebaf5ec19ae72e86259ee6ab6adfe2e64ed9f9149db03dc863360ea38c +$(PKG)_VERSION := 0.13.0 +$(PKG)_CHECKSUM := e0071a3b2e95411c8d474014678368e3f0b852f7d663e0564b344e7335eb0671 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $($(PKG)_SUBDIR).tar.xz $(PKG)_URL := https://github.com/libass/libass/releases/download/$($(PKG)_VERSION)/$($(PKG)_FILE) @@ -17,6 +17,7 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD + # fontconfig is only required for legacy XP support cd '$(1)' && ./configure \ $(MXE_CONFIGURE_OPTS) \ --disable-enca \ diff --git a/src/libdnet.mk b/src/libdnet.mk index 102af68..3302bfe 100644 --- a/src/libdnet.mk +++ b/src/libdnet.mk @@ -19,6 +19,7 @@ endef define $(PKG)_BUILD $(SED) -i 's,CYGWIN=no,CYGWIN=yes,g' '$(1)/configure' $(SED) -i 's,cat /proc/sys/kernel/ostype,,g' '$(1)/configure' + $(SED) -i 's,/dev/tun0,false,g' '$(1)/configure' $(SED) -i 's,test -d /usr/include/mingw,true,' '$(1)/configure' $(SED) -i 's,Iphlpapi,iphlpapi,g' '$(1)/configure' $(SED) -i 's,packet32\.h,Packet32.h,g' '$(1)/configure' diff --git a/src/libmysqlclient-1-fixes.patch b/src/libmysqlclient-1-fixes.patch new file mode 100644 index 0000000..73611b4 --- /dev/null +++ b/src/libmysqlclient-1-fixes.patch @@ -0,0 +1,339 @@ +This file is part of MXE. +See index.html for further information. + +Contains ad hoc patches for cross building. + +From 93f3a29abe0397e5a6681c07c3223372b5451bb0 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Sun, 6 Sep 2015 22:34:47 +0100 +Subject: [PATCH 1/7] use comp_err tool built in native build + +See http://www.vtk.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build + +diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt +index ac28c62..b2cbb75 100644 +--- a/extra/CMakeLists.txt ++++ b/extra/CMakeLists.txt +@@ -20,13 +20,29 @@ ${ZLIB_INCLUDE_DIR}) + # Default install component for the files here + SET(MYSQL_INSTALL_COMPONENT Development) + ++# See https://bugs.mysql.com/bug.php?id=61340 ++# See http://www.vtk.org/Wiki/CMake_Cross_Compiling ++ ++# when crosscompiling import the executable targets from a file ++IF(CMAKE_CROSSCOMPILING) ++ SET(IMPORT_COMP_ERR "IMPORTFILE-NOTFOUND" ++ CACHE FILEPATH "Point it to the export file from a native build") ++ INCLUDE(${IMPORT_COMP_ERR}) ++ENDIF(CMAKE_CROSSCOMPILING) ++ ++# only build the generator if not crosscompiling ++# export the generator target to a file, so it can be imported ++# (see above) by another build ++# the IF() is not necessary, but makes the intention clearer + IF(NOT CMAKE_CROSSCOMPILING) + ADD_EXECUTABLE(comp_err comp_err.c) + TARGET_LINK_LIBRARIES(comp_err mysys mysys_ssl) + SET_TARGET_PROPERTIES(comp_err PROPERTIES LINKER_LANGUAGE CXX) ++ EXPORT(TARGETS comp_err FILE ${CMAKE_BINARY_DIR}/ImportCompErr.cmake) + ENDIF() + + ++# then use the target name as COMMAND, CMake >= 2.6 knows how to handle this + ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqld_error.h + ${PROJECT_BINARY_DIR}/sql/share/english/errmsg.sys + COMMAND comp_err +-- +2.3.8 (Apple Git-58) + + +From e45e5c21360b12cb9f271a29bd1d4d183ed55060 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Sun, 6 Sep 2015 22:53:33 +0100 +Subject: [PATCH 2/7] fix extra qualification 'Handshake::' + +Compilation error. + +diff --git a/libmysql/authentication_win/handshake.h b/libmysql/authentication_win/handshake.h +index 14b1386..395af36 100644 +--- a/libmysql/authentication_win/handshake.h ++++ b/libmysql/authentication_win/handshake.h +@@ -100,7 +100,7 @@ public: + Handshake(const char *ssp, side_t side); + virtual ~Handshake(); + +- int Handshake::packet_processing_loop(); ++ int packet_processing_loop(); + + bool virtual is_complete() const + { +-- +2.3.8 (Apple Git-58) + + +From a2deca6cb6f87bb926d12149595c84f29ae00d0e Mon Sep 17 00:00:00 2001 +From: MXE +Date: Mon, 7 Sep 2015 22:59:18 +0100 +Subject: [PATCH 3/7] fix case in headers and libs (should be lowercase) + + +diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp +index 2993a1a..04b1fda 100644 +--- a/extra/yassl/src/yassl_int.cpp ++++ b/extra/yassl/src/yassl_int.cpp +@@ -20,7 +20,7 @@ + // First include (the generated) my_config.h, to get correct platform defines. + #include "my_config.h" + #ifdef _WIN32 +-#include<Windows.h> ++#include<windows.h> + #else + #include <pthread.h> + #endif +diff --git a/include/mysql/psi/mysql_socket.h b/include/mysql/psi/mysql_socket.h +index 41a7cb4..5f6d91d 100644 +--- a/include/mysql/psi/mysql_socket.h ++++ b/include/mysql/psi/mysql_socket.h +@@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + #ifdef _WIN32 + #include <ws2def.h> + #include <winsock2.h> +- #include <MSWSock.h> ++ #include <mswsock.h> + #define SOCKBUF_T char + #else + #include <netinet/in.h> +diff --git a/libmysql/authentication_win/CMakeLists.txt b/libmysql/authentication_win/CMakeLists.txt +index f2979fb..83e5441 100644 +--- a/libmysql/authentication_win/CMakeLists.txt ++++ b/libmysql/authentication_win/CMakeLists.txt +@@ -26,7 +26,7 @@ SET(HEADERS common.h handshake.h) + SET(PLUGIN_SOURCES plugin_client.cc handshake_client.cc log_client.cc common.cc handshake.cc) + + ADD_CONVENIENCE_LIBRARY(auth_win_client ${PLUGIN_SOURCES} ${HEADERS}) +-TARGET_LINK_LIBRARIES(auth_win_client Secur32) ++TARGET_LINK_LIBRARIES(auth_win_client secur32) + + # In IDE, group headers in a separate folder. + +diff --git a/libmysql/authentication_win/plugin_client.cc b/libmysql/authentication_win/plugin_client.cc +index d25aae8..ecfee79 100644 +--- a/libmysql/authentication_win/plugin_client.cc ++++ b/libmysql/authentication_win/plugin_client.cc +@@ -26,7 +26,7 @@ + */ + + #ifdef _MSC_VER +-#pragma comment(lib, "Secur32") ++#pragma comment(lib, "secur32") + #endif + + static int win_auth_client_plugin_init(char*, size_t, int, va_list) +-- +2.3.8 (Apple Git-58) + + +From 7517a9a4ce9b123470ff8cc040acfa1777acc832 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Mon, 7 Sep 2015 23:01:35 +0100 +Subject: [PATCH 4/7] define missing types + +We do not use types CERT_NAME_BLOB and CRYPT_HASH_BLOB, +though they are used in mprapi.h. And are not defined! + +diff --git a/mysys/my_gethwaddr.c b/mysys/my_gethwaddr.c +index 780c765..e2cd321 100644 +--- a/mysys/my_gethwaddr.c ++++ b/mysys/my_gethwaddr.c +@@ -137,6 +137,9 @@ my_bool my_gethwaddr(uchar *to) + #define VOID void + #endif + ++// mprapi.h uses these undefined types ++#define CERT_NAME_BLOB int ++#define CRYPT_HASH_BLOB int + #include <iphlpapi.h> + + /* +-- +2.3.8 (Apple Git-58) + + +From 12358baf55265ff6d2764771199645e811863853 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Mon, 7 Sep 2015 23:04:23 +0100 +Subject: [PATCH 5/7] macro NATIVE_WIN32 for stuff we don't have here + +Macro NATIVE_WIN32 is undefined in MXE. It is used instead of _WIN32 +in #ifdef's where working variant is Unix and not Win32: + + * MXE has strtok_r, but not strtok_s + * MXE has sigset_t, mode_t timespec defined (do not redefine) + * MXE has Unix-like stacktrace reader + +diff --git a/include/m_string.h b/include/m_string.h +index e1576af..5417192 100644 +--- a/include/m_string.h ++++ b/include/m_string.h +@@ -127,7 +127,7 @@ static inline ulonglong my_strtoull(const char *nptr, char **endptr, int base) + + static inline char *my_strtok_r(char *str, const char *delim, char **saveptr) + { +-#if defined _WIN32 ++#if NATIVE_WIN32 + return strtok_s(str, delim, saveptr); + #else + return strtok_r(str, delim, saveptr); +diff --git a/include/my_global.h b/include/my_global.h +index acadb44..8c3c3cd 100644 +--- a/include/my_global.h ++++ b/include/my_global.h +@@ -205,7 +205,7 @@ C_MODE_START + typedef int (*qsort_cmp)(const void *,const void *); + typedef int (*qsort_cmp2)(const void*, const void *,const void *); + C_MODE_END +-#ifdef _WIN32 ++#ifdef _MSC_VER + typedef int socket_len_t; + typedef int sigset_t; + typedef int mode_t; +@@ -646,6 +646,9 @@ static inline struct tm *gmtime_r(const time_t *clock, struct tm *res) + return res; + } + ++#endif ++ ++#ifdef _MSC_VER + + /* + Declare a union to make sure FILETIME is properly aligned +@@ -671,7 +674,7 @@ C_MODE_END + + static inline void set_timespec_nsec(struct timespec *abstime, ulonglong nsec) + { +-#ifndef _WIN32 ++#ifndef _MSC_VER + ulonglong now= my_getsystime() + (nsec / 100); + abstime->tv_sec= now / 10000000ULL; + abstime->tv_nsec= (now % 10000000ULL) * 100 + (nsec % 100); +@@ -697,7 +700,7 @@ static inline void set_timespec(struct timespec *abstime, ulonglong sec) + */ + static inline int cmp_timespec(struct timespec *ts1, struct timespec *ts2) + { +-#ifndef _WIN32 ++#ifndef _MSC_VER + if (ts1->tv_sec > ts2->tv_sec || + (ts1->tv_sec == ts2->tv_sec && ts1->tv_nsec > ts2->tv_nsec)) + return 1; +@@ -715,7 +718,7 @@ static inline int cmp_timespec(struct timespec *ts1, struct timespec *ts2) + + static inline ulonglong diff_timespec(struct timespec *ts1, struct timespec *ts2) + { +-#ifndef _WIN32 ++#ifndef _MSC_VER + return (ts1->tv_sec - ts2->tv_sec) * 1000000000ULL + + ts1->tv_nsec - ts2->tv_nsec; + #else +diff --git a/include/thr_cond.h b/include/thr_cond.h +index 480e936..03fbc24 100644 +--- a/include/thr_cond.h ++++ b/include/thr_cond.h +@@ -39,7 +39,7 @@ typedef CONDITION_VARIABLE native_cond_t; + typedef pthread_cond_t native_cond_t; + #endif + +-#ifdef _WIN32 ++#ifdef _MSC_VER + /** + Convert abstime to milliseconds + */ +@@ -104,7 +104,7 @@ static inline int native_cond_timedwait(native_cond_t *cond, + const struct timespec *abstime) + { + #ifdef _WIN32 +- DWORD timeout= get_milliseconds(abstime); ++ DWORD timeout= abstime->tv_nsec / 1000000 + abstime->tv_sec * 1000; + if (!SleepConditionVariableCS(cond, mutex, timeout)) + return ETIMEDOUT; + return 0; +diff --git a/mysys/stacktrace.c b/mysys/stacktrace.c +index 226d469..db94096 100644 +--- a/mysys/stacktrace.c ++++ b/mysys/stacktrace.c +@@ -15,7 +15,7 @@ + + #include "my_stacktrace.h" + +-#ifndef _WIN32 ++#ifndef _MSC_VER + #include "my_pthread.h" + #include "m_string.h" + #include <signal.h> +-- +2.3.8 (Apple Git-58) + + +From 4f6b41efba4a862d34de3d03980d283d60c57c28 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Thu, 8 Oct 2015 13:30:53 +1100 +Subject: [PATCH 6/7] fix shared lib names + + +diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt +index 17c8c03..9e2980b 100644 +--- a/libmysql/CMakeLists.txt ++++ b/libmysql/CMakeLists.txt +@@ -216,7 +216,7 @@ MACRO(GET_TARGET_NAME target out_name) + SET(${out_name} ${name}) + ENDMACRO() + +-IF(UNIX) ++IF(UNIX OR MINGW) + MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) + SET(DOT_VERSION ".${VERSION}") + IF(DOT_VERSION STREQUAL ".") +@@ -230,7 +230,7 @@ IF(UNIX) + ENDMACRO() + ENDIF() + +-IF(UNIX) ++IF(UNIX OR MINGW) + GET_TARGET_NAME(mysqlclient lib_name) + INSTALL_SYMLINK(mysqlclient + ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a +@@ -252,7 +252,7 @@ IF(NOT DISABLE_SHARED) + MERGE_LIBRARIES(libmysql SHARED ${LIBS} + EXPORTS ${CLIENT_API_FUNCTIONS} + COMPONENT SharedLibraries) +- IF(UNIX) ++ IF(UNIX OR MINGW) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") +-- +2.3.8 (Apple Git-58) + + +From d57fefef1a1eb15d14dc64d4c59267746f02369d Mon Sep 17 00:00:00 2001 +From: MXE +Date: Thu, 8 Oct 2015 19:36:35 +1100 +Subject: [PATCH 7/7] allow install of mysql_config + + +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index 69d19b8..738563b 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -92,7 +92,7 @@ ENDIF() + + SET(mysql_config_COMPONENT COMPONENT Development) + +-IF(WIN32) ++IF(WIN32 AND NOT MINGW) + # On Windows, some .sh and some .pl.in files are configured + # The resulting files will have .pl extension (those are perl scripts) + +-- +2.3.8 (Apple Git-58) + diff --git a/src/libmysqlclient.def b/src/libmysqlclient.def new file mode 100644 index 0000000..761b933 --- /dev/null +++ b/src/libmysqlclient.def @@ -0,0 +1,124 @@ +; +; Definition file of liblibmysql.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "libmysqlclient.dll" +EXPORTS +get_tty_password +handle_options +load_defaults +my_init +myodbc_remove_escape@8 +mysql_affected_rows@4 +mysql_autocommit@8 +mysql_change_user@16 +mysql_character_set_name@4 +mysql_client_find_plugin +mysql_client_register_plugin +mysql_close@4 +mysql_commit@4 +mysql_data_seek@12 +mysql_debug@4 +mysql_dump_debug_info@4 +mysql_embedded@0 +mysql_eof@4 +mysql_errno@4 +mysql_error@4 +mysql_escape_string@12 +mysql_fetch_field@4 +mysql_fetch_field_direct@8 +mysql_fetch_fields@4 +mysql_fetch_lengths@4 +mysql_fetch_row@4 +mysql_field_count@4 +mysql_field_seek@8 +mysql_field_tell@4 +mysql_free_result@4 +mysql_get_character_set_info@8 +mysql_get_client_info@0 +mysql_get_client_version@0 +mysql_get_host_info@4 +mysql_get_option@12 +mysql_get_proto_info@4 +mysql_get_server_info@4 +mysql_get_server_version@4 +mysql_get_ssl_cipher@4 +mysql_hex_string@12 +mysql_info@4 +mysql_init@4 +mysql_insert_id@4 +mysql_kill@8 +mysql_list_dbs@8 +mysql_list_fields@12 +mysql_list_processes@4 +mysql_list_tables@8 +mysql_load_plugin +mysql_load_plugin_v +mysql_more_results@4 +mysql_next_result@4 +mysql_num_fields@4 +mysql_num_rows@4 +mysql_options@12 +mysql_options4@16 +mysql_ping@4 +mysql_plugin_options +mysql_query@8 +mysql_read_query_result@4 +mysql_real_connect@32 +mysql_real_escape_string@16 +mysql_real_query@12 +mysql_refresh@8 +mysql_reset_connection@4 +mysql_rollback@4 +mysql_row_seek@8 +mysql_row_tell@4 +mysql_select_db@8 +mysql_send_query@12 +mysql_server_end@0 +mysql_server_init@12 +mysql_session_track_get_first@16 +mysql_session_track_get_next@16 +mysql_set_character_set@8 +mysql_set_local_infile_default +mysql_set_local_infile_handler +mysql_set_server_option@8 +mysql_shutdown@8 +mysql_sqlstate@4 +mysql_ssl_set@24 +mysql_stat@4 +mysql_stmt_affected_rows@4 +mysql_stmt_attr_get@12 +mysql_stmt_attr_set@12 +mysql_stmt_bind_param@8 +mysql_stmt_bind_result@8 +mysql_stmt_close@4 +mysql_stmt_data_seek@12 +mysql_stmt_errno@4 +mysql_stmt_error@4 +mysql_stmt_execute@4 +mysql_stmt_fetch@4 +mysql_stmt_fetch_column@16 +mysql_stmt_field_count@4 +mysql_stmt_free_result@4 +mysql_stmt_init@4 +mysql_stmt_insert_id@4 +mysql_stmt_next_result@4 +mysql_stmt_num_rows@4 +mysql_stmt_param_count@4 +mysql_stmt_param_metadata@4 +mysql_stmt_prepare@12 +mysql_stmt_reset@4 +mysql_stmt_result_metadata@4 +mysql_stmt_row_seek@8 +mysql_stmt_row_tell@4 +mysql_stmt_send_long_data@16 +mysql_stmt_sqlstate@4 +mysql_stmt_store_result@4 +mysql_store_result@4 +mysql_thread_end@0 +mysql_thread_id@4 +mysql_thread_init@0 +mysql_thread_safe@0 +mysql_use_result@4 +mysql_warning_count@4 diff --git a/src/libmysqlclient.mk b/src/libmysqlclient.mk new file mode 100644 index 0000000..104ef7f --- /dev/null +++ b/src/libmysqlclient.mk @@ -0,0 +1,51 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := libmysqlclient +$(PKG)_IGNORE := +$(PKG)_VERSION := 6.1.6 +$(PKG)_CHECKSUM := 2222433012c415871958b61bc4f3683e1ebe77e3389f698b267058c12533ea78 +$(PKG)_SUBDIR := mysql-connector-c-$($(PKG)_VERSION)-src +$(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz +$(PKG)_URL := https://dev.mysql.com/get/Downloads/Connector-C/$($(PKG)_FILE) +$(PKG)_DEPS := gcc openssl zlib + +define $(PKG)_UPDATE + $(WGET) -q -O- 'https://dev.mysql.com/downloads/connector/c/' | \ + $(SED) -n 's,.*mysql-connector-c-\([0-9\.]\+\)-win.*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + # native build for tool comp_err + # See https://bugs.mysql.com/bug.php?id=61340 + mkdir '$(1).native' + cd '$(1).native' && cmake \ + '$(1)' + $(MAKE) -C '$(1).native' -j '$(JOBS)' VERBOSE=1 + # cross-compilation + mkdir '$(1).build' + cd '$(1).build' && cmake \ + -DCMAKE_INSTALL_PREFIX=$(PREFIX)/$(TARGET) \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DIMPORT_COMP_ERR='$(1).native/ImportCompErr.cmake' \ + -DHAVE_GCC_ATOMIC_BUILTINS=1 \ + -DDISABLE_SHARED=$(CMAKE_STATIC_BOOL) \ + -DENABLE_DTRACE=OFF \ + -DWITH_ZLIB=system \ + '$(1)' + + # def file created by cmake creates link errors + cp '$(PWD)/src/$(PKG).def' '$(1).build/libmysql/libmysql_exports.def' + + $(MAKE) -C '$(1).build' -j '$(JOBS)' VERBOSE=1 + $(MAKE) -C '$(1).build/include' -j 1 install VERBOSE=1 + $(MAKE) -C '$(1).build/libmysql' -j 1 install VERBOSE=1 + $(MAKE) -C '$(1).build/scripts' -j 1 install VERBOSE=1 + + # no easy way to configure location of dll + -mv '$(PREFIX)/$(TARGET)/lib/$(PKG).dll' '$(PREFIX)/$(TARGET)/bin/' + + # missing headers + $(INSTALL) -m644 '$(1)/include/'thr_* '$(1)/include/'my_thr* '$(PREFIX)/$(TARGET)/include' +endef @@ -71,7 +71,8 @@ define $(PKG)_BUILD_SHARED $($(PKG)_BUILD_COMMON) endef -define $(PKG)_BUILD_$(BUILD) +# disable native build temporarily +define $(PKG)_BUILD_DISABLED $(MAKE) -C '$(1)/src' -j '$(JOBS)' \ INSTALL_TOP='$(PREFIX)/$(TARGET)' \ INSTALL='$(INSTALL)' \ diff --git a/src/luajit.mk b/src/luajit.mk index ef69f8d..73457e9 100644 --- a/src/luajit.mk +++ b/src/luajit.mk @@ -12,7 +12,7 @@ $(PKG)_DEPS := gcc dlfcn-win32 define $(PKG)_BUILD $(MAKE) -C '$(1)' -j '$(JOBS)' \ - HOST_CC='gcc -m$(BITS)' CROSS='$(TARGET)-' \ + HOST_CC='$(BUILD_CC) -m$(BITS)' CROSS='$(TARGET)-' \ TARGET_SYS=Windows BUILDMODE=static \ PREFIX='$(PREFIX)/$(TARGET)' \ FILE_T=luajit.exe \ diff --git a/src/mxe-conf.mk b/src/mxe-conf.mk index 3e10a16..5a0fd6b 100644 --- a/src/mxe-conf.mk +++ b/src/mxe-conf.mk @@ -23,7 +23,6 @@ define $(PKG)_BUILD_COMMON echo 'set(MSYS 1)'; \ echo 'set(BUILD_SHARED_LIBS $(if $(BUILD_SHARED),ON,OFF))'; \ echo 'set(LIBTYPE $(if $(BUILD_SHARED),SHARED,STATIC))'; \ - echo 'set(CMAKE_BUILD_TYPE Release)'; \ echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ @@ -32,7 +31,7 @@ define $(PKG)_BUILD_COMMON echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \ echo 'set(CMAKE_Fortran_COMPILER $(PREFIX)/bin/$(TARGET)-gfortran)'; \ echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \ - echo 'set(CMAKE_MODULE_PATH "$(PWD)/src/cmake" $${CMAKE_MODULE_PATH}) # For mxe FindPackage scripts'; \ + echo 'set(CMAKE_MODULE_PATH "$(PWD)/src/cmake/modules" $${CMAKE_MODULE_PATH}) # For mxe FindPackage scripts'; \ echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \ echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")'; \ echo 'set(CMAKE_CROSS_COMPILING ON) # Workaround for http://www.cmake.org/Bug/view.php?id=14075'; \ @@ -48,9 +47,13 @@ define $(PKG)_BUILD_COMMON #create prefixed cmake wrapper script (echo '#!/bin/sh'; \ + echo 'echo "== Using MXE toolchain: $(CMAKE_TOOLCHAIN_FILE)"'; \ echo 'exec cmake -DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" "$$@"') \ > '$(PREFIX)/bin/$(TARGET)-cmake' chmod 0755 '$(PREFIX)/bin/$(TARGET)-cmake' + + #create readonly directory to force wine to fail + $(INSTALL) -m444 -d "$$WINEPREFIX" endef define $(PKG)_BUILD diff --git a/src/ncurses.mk b/src/ncurses.mk index d5a6320..a7a29fd 100644 --- a/src/ncurses.mk +++ b/src/ncurses.mk @@ -35,8 +35,8 @@ define $(PKG)_BUILD --host='$(TARGET)' \ --build="`config.guess`" \ --prefix=$(PREFIX)/$(TARGET) \ - --with-build-cc=gcc \ - --with-build-cpp=cpp \ + --with-build-cc=$(BUILD_CC) \ + --with-build-cpp='$(BUILD_CC) -E' \ --disable-home-terminfo \ --enable-sp-funcs \ --enable-term-driver \ diff --git a/src/ocaml-core.mk b/src/ocaml-core.mk index 6e31320..d587716 100644 --- a/src/ocaml-core.mk +++ b/src/ocaml-core.mk @@ -30,7 +30,7 @@ define $(PKG)_BUILD -bindir '$(PREFIX)/$(TARGET)/bin' \ -libdir '$(PREFIX)/$(TARGET)/lib/ocaml' \ -no-tk \ - -cc "gcc -m32" \ + -cc "$(BUILD_CC) -m32" \ -no-shared-libs \ -host '$(TARGET)' \ -x11lib /usr/lib \ diff --git a/src/openblas.mk b/src/openblas.mk index 72e8a62..a051c1a 100644 --- a/src/openblas.mk +++ b/src/openblas.mk @@ -23,8 +23,7 @@ $(PKG)_MAKE_OPTS = \ CROSS_SUFFIX='$(TARGET)-' \ FC='$(TARGET)-gfortran' \ CC='$(TARGET)-gcc' \ - HOSTFC='gfortran' \ - HOSTCC='gcc' \ + HOSTCC='$(BUILD_CC)' \ CROSS=1 \ NO_CBLAS=1 \ NO_LAPACK=1 \ diff --git a/src/openexr-2-64-bit-fixes.patch b/src/openexr-2-64-bit-fixes.patch new file mode 100644 index 0000000..e3667f5 --- /dev/null +++ b/src/openexr-2-64-bit-fixes.patch @@ -0,0 +1,27 @@ +This file is part of MXE. +See index.html for further information. + +Contains ad hoc patches for cross building. + +From 317282de70ea0720fcba5339a573f3bd811ff74c Mon Sep 17 00:00:00 2001 +From: MXE +Date: Mon, 5 Oct 2015 21:16:35 -0400 +Subject: [PATCH] Correct pointer conversion. + + +diff --git a/IlmImf/ImfOptimizedPixelReading.h b/IlmImf/ImfOptimizedPixelReading.h +index 1c83497..65b0879 100644 +--- a/IlmImf/ImfOptimizedPixelReading.h ++++ b/IlmImf/ImfOptimizedPixelReading.h +@@ -70,7 +70,7 @@ EXR_FORCEINLINE + bool + isPointerSSEAligned (const void* EXR_RESTRICT pPointer) + { +- unsigned long trailingBits = ((unsigned long)pPointer) & 15; ++ uintptr_t trailingBits = ((uintptr_t)pPointer) & 15; + return trailingBits == 0; + } + +-- +2.1.4 + diff --git a/src/openexr.mk b/src/openexr.mk index 7c7319d..57a59a1 100644 --- a/src/openexr.mk +++ b/src/openexr.mk @@ -41,16 +41,16 @@ define $(PKG)_BUILD --disable-posix-sem \ --disable-ilmbasetest \ PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' \ - CXXFLAGS="-g -O2 -fpermissive" + CXXFLAGS="-g -O2" # build the code generator manually - cd '$(1)/IlmImf' && g++ -O2 \ + cd '$(1)/IlmImf' && $(BUILD_CXX) -O2 \ -I'$(1)/ilmbase/include/OpenEXR' \ -L'$(1)/ilmbase/lib' \ b44ExpLogTable.cpp \ -lHalf \ -o b44ExpLogTable '$(1)/IlmImf/b44ExpLogTable' > '$(1)/IlmImf/b44ExpLogTable.h' - cd '$(1)/IlmImf' && g++ -O2 \ + cd '$(1)/IlmImf' && $(BUILD_CXX) -O2 \ -I'$(1)/config' -I. \ -I'$(1)/ilmbase/include/OpenEXR' \ -L'$(1)/ilmbase/lib' \ diff --git a/src/openscenegraph.mk b/src/openscenegraph.mk index 6c124f5..952f160 100644 --- a/src/openscenegraph.mk +++ b/src/openscenegraph.mk @@ -22,7 +22,7 @@ define $(PKG)_BUILD mkdir '$(1).build' cd '$(1).build' && cmake '$(1)' \ -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ - -DCMAKE_CXX_FLAGS='-D__STDC_CONSTANT_MACROS -fpermissive' \ + -DCMAKE_CXX_FLAGS='-D__STDC_CONSTANT_MACROS' \ -DCMAKE_HAVE_PTHREAD_H=OFF \ -DPKG_CONFIG_EXECUTABLE='$(PREFIX)/bin/$(TARGET)-pkg-config' \ -DDYNAMIC_OPENTHREADS=$(CMAKE_SHARED_BOOL) \ diff --git a/src/pkgconf.mk b/src/pkgconf.mk index 6c3ed19..dffbfc9 100644 --- a/src/pkgconf.mk +++ b/src/pkgconf.mk @@ -33,7 +33,7 @@ define $(PKG)_BUILD chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' # create cmake file - echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)' \ + echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config CACHE PATH "pkg-config executable")' \ > '$(CMAKE_TOOLCHAIN_DIR)/pkgconf.cmake' endef diff --git a/src/protobuf.mk b/src/protobuf.mk index d3551ab..eeabc2c 100644 --- a/src/protobuf.mk +++ b/src/protobuf.mk @@ -22,13 +22,13 @@ define $(PKG)_BUILD cd '$(1)' && ./configure \ --disable-shared $(MAKE) -C '$(1)' -j '$(JOBS)' - cp '$(1)/src/protoc' '$(1)/src/protoc_host' + cp '$(1)/src/protoc' '$(PREFIX)/bin/$(TARGET)-protoc' $(MAKE) -C '$(1)' -j 1 distclean # Second step: Build for target system. cd '$(1)' && ./configure \ $(MXE_CONFIGURE_OPTS) \ --with-zlib \ - --with-protoc=src/protoc_host + --with-protoc='$(PREFIX)/bin/$(TARGET)-protoc' $(MAKE) -C '$(1)' -j '$(JOBS)' $(MAKE) -C '$(1)' -j 1 install diff --git a/src/pthreads.mk b/src/pthreads.mk index a15fe15..5e63def 100644 --- a/src/pthreads.mk +++ b/src/pthreads.mk @@ -6,8 +6,6 @@ PKG := pthreads $(PKG)_VERSION := POSIX 1003.1-2001 -$(PKG)_CHECKSUM = $(winpthreads_CHECKSUM) -$(PKG)_FILE = $(winpthreads_FILE) $(PKG)_DEPS := winpthreads define $(PKG)_UPDATE @@ -25,17 +23,14 @@ define PTHREADS_TEST '$(TARGET)-gcc' \ -W -Wall -Werror -ansi -pedantic \ - '$(TOP_DIR)/src/pthreads-test.c' -o '$(PREFIX)/$(TARGET)/bin/test-pthreads.exe' \ + '$(TOP_DIR)/src/pthreads-test.c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ `'$(TARGET)-pkg-config' --libs pthreads` # test cmake - mkdir '$(1).cmake' - (echo 'find_package(Threads REQUIRED)'; \ - echo 'add_executable(test-pthreads-cmake $(PREFIX)/../src/pthreads-test.c)'; \ - echo 'target_link_libraries(test-pthreads-cmake $${CMAKE_THREAD_LIBS_INIT})'; \ - echo 'install(TARGETS test-pthreads-cmake DESTINATION bin)'; \ - ) > '$(1).cmake/CMakeLists.txt' - - cd '$(1).cmake' && '$(TARGET)-cmake' . - $(MAKE) -C '$(1).cmake' -j 1 install + $(and $(ENABLE_CMAKE_TESTS), + mkdir '$(1).test-cmake' + cd '$(1).test-cmake' && '$(TARGET)-cmake' \ + -DPKG=$(PKG) \ + '$(PWD)/src/cmake/test' + $(MAKE) -C '$(1).test-cmake' -j 1 install) endef diff --git a/src/qt-test.cmake b/src/qt-test.cmake new file mode 100644 index 0000000..7297f77 --- /dev/null +++ b/src/qt-test.cmake @@ -0,0 +1,24 @@ +# This file is part of MXE. +# See index.html for further information. + +# partial module - included by src/cmake/CMakeLists.txt + +set(TGT test-${PKG}-cmake) + +enable_language(CXX) + +find_package(Qt4 ${PKG_VERSION} EXACT REQUIRED) +include(${QT_USE_FILE}) + +include_directories("${PROJECT_BINARY_DIR}") + +file(GLOB sources "${CMAKE_CURRENT_LIST_DIR}/qt-test.cpp") + +QT4_WRAP_UI(UISrcs "${CMAKE_CURRENT_LIST_DIR}/qt-test.ui") +QT4_WRAP_CPP(MOCrcs "${CMAKE_CURRENT_LIST_DIR}/qt-test.hpp") +QT4_ADD_RESOURCES(RCSrcs "${CMAKE_CURRENT_LIST_DIR}/qt-test.qrc") + +add_executable(${TGT} WIN32 ${sources} ${UISrcs} ${MOCrcs} ${RCSrcs}) +target_link_libraries(${TGT} ${QT_LIBRARIES}) + +install(TARGETS ${TGT} DESTINATION bin) @@ -122,7 +122,18 @@ define $(PKG)_BUILD # setup cmake toolchain echo 'set(QT_QMAKE_EXECUTABLE $(PREFIX)/$(TARGET)/qt/bin/qmake)' > '$(CMAKE_TOOLCHAIN_DIR)/$(PKG).cmake' + # fix static linking errors of QtGui to missing lcms2 and lzma + # introduced by poor libmng linking + echo 'set(MNG_LIBRARY mng lcms2 lzma)' >> '$(CMAKE_TOOLCHAIN_DIR)/$(PKG).cmake' + # test cmake + $(and $(ENABLE_CMAKE_TESTS), + mkdir '$(1).test-cmake' + cd '$(1).test-cmake' && '$(TARGET)-cmake' \ + -DPKG=$(PKG) \ + -DPKG_VERSION=$($(PKG)_VERSION) \ + '$(PWD)/src/cmake/test' + $(MAKE) -C '$(1).test-cmake' -j 1 install) endef $(PKG)_BUILD_SHARED = $(subst -static ,-shared ,\ diff --git a/src/qtbase-1.patch b/src/qtbase-1.patch index ef17c96..800d802 100644 --- a/src/qtbase-1.patch +++ b/src/qtbase-1.patch @@ -4,7 +4,7 @@ See index.html for further information. From 2a005d22af074aff326d57b25e1cea1abda8ee6e Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Thu, 6 Aug 2015 23:35:08 +0200 -Subject: [PATCH 1/4] fix qwindows plugin linking with system-freetype (MXE +Subject: [PATCH 1/5] fix qwindows plugin linking with system-freetype (MXE specific) Change-Id: I8783e3ab2d19011b083dd3c471107298a17293c4 @@ -26,7 +26,7 @@ index 39280de..e152b0d 100644 From 2baad6771338e3c2361f515a4ba6bf0f26812a6b Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Sat, 21 Jun 2014 13:12:49 +0200 -Subject: [PATCH 2/4] use pkg-config for harfbuzz (MXE specific) +Subject: [PATCH 2/5] use pkg-config for harfbuzz (MXE specific) Change-Id: Id4e4c37d68b63c9f480d72a561d95d4d2a5ded50 @@ -59,7 +59,7 @@ index 7443368..c24e684 100644 From c526e9fc734f91d5174399ab539b75dd3de3f8a4 Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Mon, 8 Dec 2014 14:15:12 +0100 -Subject: [PATCH 3/4] fix oci config test on windows +Subject: [PATCH 3/5] fix oci config test on windows Change-Id: If1ce2241682259ca495b0ba68bf18410f8548922 @@ -79,7 +79,7 @@ index 3ffda1d..39b6f3759 100644 From 35759dbe5a613f9006190cd135cc8ec994cf71e5 Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Thu, 6 Aug 2015 13:24:56 +0200 -Subject: [PATCH 4/4] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows +Subject: [PATCH 4/5] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa @@ -99,3 +99,80 @@ index 8a4c89e..eb432b5 100755 -- 2.1.4 + +From 68f2921bf86ed75488f913458087ef4db571e05d Mon Sep 17 00:00:00 2001 +From: Mark Brand <mabrand@mabrand.nl> +Date: Tue, 6 Oct 2015 09:53:20 +0200 +Subject: [PATCH 5/5] fix building mysql driver under mingw + +Change-Id: I9c4e821d5b3a6919566c6b684cb4916827feb6a9 + +diff --git a/src/sql/drivers/mysql/qsql_mysql.pri b/src/sql/drivers/mysql/qsql_mysql.pri +index 3cfb614..8b7063f 100644 +--- a/src/sql/drivers/mysql/qsql_mysql.pri ++++ b/src/sql/drivers/mysql/qsql_mysql.pri +@@ -4,7 +4,7 @@ SOURCES += $$PWD/qsql_mysql.cpp + QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL + LIBS += $$QT_LFLAGS_MYSQL + +-unix { ++if (unix|mingw) { + isEmpty(QT_LFLAGS_MYSQL) { + !contains(LIBS, .*mysqlclient.*):!contains(LIBS, .*mysqld.*) { + use_libmysqlclient_r:LIBS += -lmysqlclient_r +-- +2.1.4 + +From 141181ce8062e3a9b405ddd3f918161eb2e8ded2 Mon Sep 17 00:00:00 2001 +From: Tony Theodore <tonyt@logyst.com> +Date: Thu, 8 Oct 2015 17:15:46 +1100 +Subject: [PATCH 6/6] Fix build with clang 3.7 + +_Nullable is a language extension in clang 3.7 (indicating whether or +not a pointer can be null). +http://clang.llvm.org/docs/AttributeReference.html#nullable + +Using it as a class name breaks building with this compiler + +Taken from: https://codereview.qt-project.org/#/c/121545/2//ALL,unified + +diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp +index 3d0d5de..3d780cd 100644 +--- a/src/tools/qlalr/lalr.cpp ++++ b/src/tools/qlalr/lalr.cpp +@@ -238,11 +238,11 @@ void Grammar::buildExtendedGrammar () + non_terminals.insert (accept_symbol); + } + +-struct _Nullable: public std::unary_function<Name, bool> ++struct Nullable: public std::unary_function<Name, bool> + { + Automaton *_M_automaton; + +- _Nullable (Automaton *aut): ++ Nullable (Automaton *aut): + _M_automaton (aut) {} + + bool operator () (Name name) const +@@ -300,7 +300,7 @@ void Automaton::buildNullables () + + for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule) + { +- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this))); ++ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this))); + + if (nn == rule->rhs.end ()) + changed |= nullables.insert (rule->lhs).second; +@@ -635,7 +635,7 @@ void Automaton::buildIncludesDigraph () + if (! _M_grammar->isNonTerminal (*A)) + continue; + +- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this))); ++ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this))); + if (first_not_nullable != rule->rhs.end ()) + continue; + +-- +2.3.8 (Apple Git-58) + + diff --git a/src/qtbase.mk b/src/qtbase.mk index 676de59..5e94f1b 100644 --- a/src/qtbase.mk +++ b/src/qtbase.mk @@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 893f0691739c00d13ff85bf8d3fd14e1c7a62fbbbcffa44b0491da4d5e570 $(PKG)_SUBDIR := $(PKG)-opensource-src-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-opensource-src-$($(PKG)_VERSION).tar.xz $(PKG)_URL := http://download.qt.io/official_releases/qt/5.5/$($(PKG)_VERSION)/submodules/$($(PKG)_FILE) -$(PKG)_DEPS := gcc dbus fontconfig freetds freetype harfbuzz jpeg libpng openssl pcre postgresql sqlite zlib +$(PKG)_DEPS := gcc dbus fontconfig freetds freetype harfbuzz jpeg libpng libmysqlclient openssl pcre postgresql sqlite zlib define $(PKG)_UPDATE $(WGET) -q -O- http://download.qt-project.org/official_releases/qt/5.4/ | \ @@ -40,7 +40,7 @@ define $(PKG)_BUILD -accessibility \ -nomake examples \ -nomake tests \ - -no-sql-mysql \ + -plugin-sql-mysql \ -plugin-sql-sqlite \ -plugin-sql-odbc \ -plugin-sql-psql \ diff --git a/src/sdl-test.cmake b/src/sdl-test.cmake new file mode 100644 index 0000000..0b9a937 --- /dev/null +++ b/src/sdl-test.cmake @@ -0,0 +1,15 @@ +# This file is part of MXE. +# See index.html for further information. + +# partial module - included by src/cmake/CMakeLists.txt + +set(TGT test-${PKG}-cmake) + +enable_language(C) +add_executable(${TGT} ${CMAKE_CURRENT_LIST_DIR}/${PKG}-test.c) + +find_package(SDL ${PKG_VERSION} EXACT REQUIRED) +include_directories(${SDL_INCLUDE_DIRS}) +target_link_libraries(${TGT} ${SDL_LIBRARIES}) + +install(TARGETS ${TGT} DESTINATION bin) @@ -33,4 +33,13 @@ define $(PKG)_BUILD -W -Wall -Werror -ansi -pedantic \ '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-sdl.exe' \ `'$(TARGET)-pkg-config' sdl --cflags --libs` + + # test cmake + $(and $(ENABLE_CMAKE_TESTS), + mkdir '$(1).test-cmake' + cd '$(1).test-cmake' && '$(TARGET)-cmake' \ + -DPKG=$(PKG) \ + -DPKG_VERSION=$($(PKG)_VERSION) \ + '$(PWD)/src/cmake/test' + $(MAKE) -C '$(1).test-cmake' -j 1 install) endef diff --git a/src/speexdsp.mk b/src/speexdsp.mk new file mode 100644 index 0000000..24abca3 --- /dev/null +++ b/src/speexdsp.mk @@ -0,0 +1,25 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := speexdsp +$(PKG)_IGNORE := +$(PKG)_VERSION := 1.2rc3 +$(PKG)_CHECKSUM := 4ae688600039f5d224bdf2e222d2fbde65608447e4c2f681585e4dca6df692f1 +$(PKG)_SUBDIR := speexdsp-$($(PKG)_VERSION) +$(PKG)_FILE := speexdsp-$($(PKG)_VERSION).tar.gz +$(PKG)_URL := http://downloads.xiph.org/releases/speex/$($(PKG)_FILE) +$(PKG)_DEPS := gcc + +define $(PKG)_UPDATE + $(WGET) -q -O- 'http://git.xiph.org/?p=speexdsp.git;a=tags' | \ + grep '<a class="list name"' | \ + $(SED) -n 's,.*<a[^>]*>SpeexDSP-\([0-9][^<]*\)<.*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + cd '$(1)' && ./configure \ + $(MXE_CONFIGURE_OPTS) + $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= doc_DATA= + $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= doc_DATA= +endef diff --git a/src/unrtf-1.patch b/src/unrtf-1.patch new file mode 100644 index 0000000..2d8ad309 --- /dev/null +++ b/src/unrtf-1.patch @@ -0,0 +1,70 @@ +This file is part of MXE. +See index.html for further information. + +From f023435f7ba175b0b43b3cd9406199656ac6a707 Mon Sep 17 00:00:00 2001 +From: Mark Brand <mabrand@mabrand.nl> +Date: Thu, 24 Sep 2015 23:47:04 +0200 +Subject: [PATCH 1/2] don't include <arpa/inet.h> on WIN32 + + +diff --git a/src/output.c b/src/output.c +index 86d8b5c..74c7426 100644 +--- a/src/output.c ++++ b/src/output.c +@@ -58,7 +58,12 @@ + #include <string.h> + #endif + ++#ifndef WIN32 + #include <arpa/inet.h> ++#else ++#include <winsock2.h> ++#include <stdint.h> ++#endif + + #include "malloc.h" + #include "defs.h" +-- +2.1.4 + + +From 74601257ca9a5a80a5097311951397976aa7c10b Mon Sep 17 00:00:00 2001 +From: Mark Brand <mabrand@mabrand.nl> +Date: Sat, 26 Sep 2015 12:36:36 +0200 +Subject: [PATCH 2/2] use StrStrI instead of strcasestr on WIN32 + + +diff --git a/src/convert.c b/src/convert.c +index c76d7d6..9382f7b 100644 +--- a/src/convert.c ++++ b/src/convert.c +@@ -107,6 +107,11 @@ + #include <string.h> + #endif + ++#ifdef WIN32 ++/* For StrStrI */ ++#include <shlwapi.h> ++#endif ++ + #include <errno.h> + + #include "defs.h" +@@ -602,7 +607,13 @@ process_font_table (Word *w) + else { + /* If there is "symbol" in the font name, use + * symbol encoding, else no local encoding */ +- if (strcasestr(name, "symbol")) ++ if ( ++#ifdef WIN32 ++ StrStrI ++#else ++ strcasestr ++#endif ++ (name, "symbol")) + font_table[total_fonts].encoding = "SYMBOL"; + else + font_table[total_fonts].encoding = 0; +-- +2.1.4 + diff --git a/src/unrtf.mk b/src/unrtf.mk new file mode 100644 index 0000000..850cc09 --- /dev/null +++ b/src/unrtf.mk @@ -0,0 +1,24 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := unrtf +$(PKG)_VERSION := 0.21.9 +$(PKG)_CHECKSUM := 22a37826f96d754e335fb69f8036c068c00dd01ee9edd9461a36df0085fb8ddd +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz +$(PKG)_URL := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE) +$(PKG)_DEPS := gcc libiconv + +define $(PKG)_UPDATE + $(WGET) -q -O- 'http://git.savannah.gnu.org/cgit/unrtf.git/refs/' | \ + $(SED) -n "s,.*<a href='/cgit/unrtf.git/tag/?id=v\([0-9.]*\)'>.*,\1,p" | \ + head -1 +endef + +define $(PKG)_BUILD + cd '$(1)' && ./bootstrap + cd '$(1)' && ./configure \ + $(MXE_CONFIGURE_OPTS) \ + LIBS='-liconv -lws2_32' + $(MAKE) -C '$(1)' -j '$(JOBS)' install +endef diff --git a/src/vtk6-3-config-compiletools.patch b/src/vtk6-2-config-compiletools.patch index f7afefc..253eb12 100644 --- a/src/vtk6-3-config-compiletools.patch +++ b/src/vtk6-2-config-compiletools.patch @@ -1,8 +1,8 @@ This file is part of MXE. See index.html for further information. ---- VTK6.0.0/Utilities/EncodeString/module.cmake 2013-06-12 21:47:10.000000000 +0200 -+++ VTK6.0.0/Utilities/EncodeString/module.cmake 2013-08-29 10:06:51.327921851 +0200 +--- VTK6.3.0/Utilities/EncodeString/module.cmake 2013-06-12 21:47:10.000000000 +0200 ++++ VTK6.3.0/Utilities/EncodeString/module.cmake 2013-08-29 10:06:51.327921851 +0200 @@ -1,4 +1,7 @@ vtk_module(vtkUtilitiesEncodeString + GROUPS @@ -11,8 +11,8 @@ See index.html for further information. vtksys + vtkCommonCore EXCLUDE_FROM_WRAPPING) ---- VTK6.0.0/Utilities/HashSource/module.cmake 2013-06-12 21:47:10.000000000 +0200 -+++ VTK6.0.0/Utilities/HashSource/module.cmake 2013-08-29 09:58:48.055272752 +0200 +--- VTK6.3.0/Utilities/HashSource/module.cmake 2013-06-12 21:47:10.000000000 +0200 ++++ VTK6.3.0/Utilities/HashSource/module.cmake 2013-08-29 09:58:48.055272752 +0200 @@ -1,4 +1,6 @@ vtk_module(vtkUtilitiesHashSource + GROUPS @@ -20,8 +20,8 @@ See index.html for further information. DEPENDS vtksys EXCLUDE_FROM_WRAPPING ---- VTK6.0.0/Utilities/ParseOGLExt/module.cmake 2013-06-12 21:47:10.000000000 +0200 -+++ VTK6.0.0/Utilities/ParseOGLExt/module.cmake 2013-08-29 09:58:54.939480759 +0200 +--- VTK6.3.0/Utilities/ParseOGLExt/module.cmake 2013-06-12 21:47:10.000000000 +0200 ++++ VTK6.3.0/Utilities/ParseOGLExt/module.cmake 2013-08-29 09:58:54.939480759 +0200 @@ -1,4 +1,6 @@ vtk_module(vtkParseOGLExt + GROUPS diff --git a/src/vtk6-2-mingw-w64.patch b/src/vtk6-2-mingw-w64.patch deleted file mode 100644 index 864cdd8..0000000 --- a/src/vtk6-2-mingw-w64.patch +++ /dev/null @@ -1,28 +0,0 @@ -This file is part of MXE. -See index.html for further information. - -This patch has been taken from: -http://vtk.org/Bug/print_bug_page.php?bug_id=11742 - -diff -ur VTK6.0.0.rc3/IO/Video/vtkWin32VideoSource.cxx VTK6.0.0.rc3.new/IO/Video/vtkWin32VideoSource.cxx ---- VTK6.0.0.rc3/IO/Video/vtkWin32VideoSource.cxx 2013-06-13 05:47:10.000000000 +1000 -+++ VTK6.0.0.rc3.new/IO/Video/vtkWin32VideoSource.cxx 2013-06-22 16:06:01.000000000 +1000 -@@ -274,7 +274,7 @@ - } - - // set the user data to 'this' -- vtkSetWindowLong(this->Internal->ParentWnd,vtkGWL_USERDATA,(vtkLONG)this); -+ vtkSetWindowLong(this->Internal->ParentWnd,vtkGWL_USERDATA,(intptr_t)this); - - // Create the capture window - this->Internal->CapWnd = capCreateCaptureWindow("Capture", -@@ -339,7 +339,7 @@ - } - - // set user data for callbacks -- if (!capSetUserData(this->Internal->CapWnd,(long)this)) -+ if (!capSetUserData(this->Internal->CapWnd,(intptr_t)this)) - { - vtkErrorMacro(<< "Initialize: couldn't set user data for callback"\ - << " (" << GetLastError() << ")"); - diff --git a/src/vtk6.mk b/src/vtk6.mk index 9bf1dd5..fc30c99 100644 --- a/src/vtk6.mk +++ b/src/vtk6.mk @@ -3,8 +3,8 @@ PKG := vtk6 $(PKG)_IGNORE := -$(PKG)_VERSION := 6.1.0 -$(PKG)_CHECKSUM := bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34 +$(PKG)_VERSION := 6.3.0 +$(PKG)_CHECKSUM := 92a493354c5fa66bea73b5fc014154af5d9f3f6cee8d20a826f4cd5d4b0e8a5e $(PKG)_SUBDIR := VTK-$($(PKG)_VERSION) $(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz $(PKG)_URL := http://www.vtk.org/files/release/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) @@ -45,6 +45,8 @@ define $(PKG)_BUILD -DBUILD_SHARED_LIBS=$(if $(BUILD_STATIC),FALSE,TRUE) \ -DModule_vtkGUISupportQt=TRUE \ -DModule_vtkGUISupportQtOpenGL=TRUE \ + -DModule_vtkViewsQt=TRUE \ + -DModule_vtkRenderingQt=TRUE \ -DQT_QMAKE_EXECUTABLE=$(PREFIX)/$(TARGET)/qt/bin/qmake \ -DVTK_USE_SYSTEM_HDF5=TRUE \ -DBUILD_EXAMPLES=OFF \ @@ -53,4 +55,11 @@ define $(PKG)_BUILD '$(1)' $(MAKE) -C '$(1).cross_build' -j '$(JOBS)' VERBOSE=1 || $(MAKE) -C '$(1).cross_build' -j 1 VERBOSE=1 $(MAKE) -C '$(1).cross_build' -j 1 install VERBOSE=1 + + #now build the GUI -> Qt -> SimpleView Example + mkdir '$(1).test' + cd '$(1).test' && cmake \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + '$(1)/Examples/GUI/Qt/SimpleView' + $(MAKE) -C '$(1).test' -j '$(JOBS)' VERBOSE=1 endef diff --git a/src/wget.mk b/src/wget.mk index fcf7bd2..ed9e68e 100644 --- a/src/wget.mk +++ b/src/wget.mk @@ -20,9 +20,7 @@ define $(PKG)_BUILD $(if $(BUILD_STATIC), $(SED) -i 's/^base64_encode /wget_base64_encode /;' '$(1)/src/utils.c') $(SED) -i 's/-lidn/`$(TARGET)-pkg-config --libs libidn`/g;' '$(1)/configure' cd '$(1)' && ./configure \ - --host='$(TARGET)' \ - --build="`config.guess`" \ - --prefix='$(PREFIX)/$(TARGET)' \ + $(MXE_CONFIGURE_OPTS) \ --with-ssl=gnutls \ CFLAGS='-DIN6_ARE_ADDR_EQUAL=IN6_ADDR_EQUAL' \ LIBS='-lpthread' diff --git a/src/widl.mk b/src/widl.mk index 602cf29..1c7375b 100644 --- a/src/widl.mk +++ b/src/widl.mk @@ -24,4 +24,8 @@ define $(PKG)_BUILD --prefix='$(PREFIX)' \ --target='$(TARGET)' $(MAKE) -C '$(1)/mingw-w64-tools/widl' -j '$(JOBS)' install + + # create cmake file + echo 'set(CMAKE_WIDL $(PREFIX)/bin/$(TARGET)-$(PKG) CACHE PATH "widl executable")' \ + > '$(CMAKE_TOOLCHAIN_DIR)/$(PKG).cmake' endef diff --git a/src/winpthreads-test.cmake b/src/winpthreads-test.cmake new file mode 100644 index 0000000..f818d90 --- /dev/null +++ b/src/winpthreads-test.cmake @@ -0,0 +1,18 @@ +# This file is part of MXE. +# See index.html for further information. + +# partial module - included by src/cmake/CMakeLists.txt + +set(TGT test-${PKG}-cmake) + +enable_language(C) +add_executable(${TGT} ${CMAKE_CURRENT_LIST_DIR}/pthreads-test.c) + +find_package(Threads REQUIRED) +if(Threads::Threads) # cmake 3.1.0+ + target_link_libraries(${TGT} Threads::Threads) +else() + target_link_libraries(${TGT} ${CMAKE_THREAD_LIBS_INIT}) +endif() + +install(TARGETS ${TGT} DESTINATION bin) diff --git a/src/xmlrpc-c.mk b/src/xmlrpc-c.mk index 17810d6..950fb2a 100644 --- a/src/xmlrpc-c.mk +++ b/src/xmlrpc-c.mk @@ -20,8 +20,8 @@ define $(PKG)_UPDATE endef $(PKG)_MAKE_OPTS = \ - BUILDTOOL_CC=gcc \ - BUILDTOOL_CCLD=gcc \ + BUILDTOOL_CC=$(BUILD_CC) \ + BUILDTOOL_CCLD=$(BUILD_CC) \ SHARED_LIB_TYPE=@xmlrpc-c-shared-lib-type@ \ MUST_BUILD_SHLIB=@xmlrpc-c-must-build-shlib@ @@ -3,8 +3,8 @@ PKG := xz $(PKG)_IGNORE := -$(PKG)_VERSION := 5.2.1 -$(PKG)_CHECKSUM := b918b6648076e74f8d7ae19db5ee663df800049e187259faf5eb997a7b974681 +$(PKG)_VERSION := 5.2.2 +$(PKG)_CHECKSUM := 73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_URL := http://tukaani.org/xz/$($(PKG)_FILE) diff --git a/tools/build-pkg.lua b/tools/build-pkg.lua index 91c324a..7a5df56 100755 --- a/tools/build-pkg.lua +++ b/tools/build-pkg.lua @@ -1,27 +1,36 @@ #!/usr/bin/env lua --- This file is part of MXE. --- See index.html for further information. - --- build-pkg, Build binary packages from MXE packages --- Instructions: http://mxe.redjohn.tk - --- Requirements: MXE, lua, tsort, fakeroot, dpkg-deb. --- Usage: lua tools/build-pkg.lua --- Packages are written to `*.tar.xz` files. --- Debian packages are written to `*.deb` files. - --- Build in directory /usr/lib/mxe --- This directory can not be changed in .deb packages --- To change this directory, set environment variable --- MXE_DIR to other directory. - --- To prevent build-pkg from creating deb packages, --- set environment variable MXE_NO_DEBS to 1 --- In this case fakeroot and dpkg-deb are not needed. - --- To limit number of packages being built to x, --- set environment variable MXE_MAX_PACKAGES to x, +--[[ +This file is part of MXE. +See index.html for further information. + +build-pkg, Build binary packages from MXE packages +Instructions: http://mxe.redjohn.tk + +Requirements: MXE, lua, tsort, fakeroot, dpkg-deb. +Usage: lua tools/build-pkg.lua +Packages are written to `*.tar.xz` files. +Debian packages are written to `*.deb` files. + +Build in directory /usr/lib/mxe +This directory can not be changed in .deb packages +To change this directory, set environment variable +MXE_DIR to other directory. + +To prevent build-pkg from creating deb packages, +set environment variable MXE_NO_DEBS to 1 +In this case fakeroot and dpkg-deb are not needed. + +To limit number of packages being built to x, +set environment variable MXE_MAX_PACKAGES to x, + +The following error: +> fakeroot, while creating message channels: Invalid argument +> This may be due to a lack of SYSV IPC support. +> fakeroot: error while starting the `faked' daemon. +can be caused by leaked ipc resources originating in fakeroot. +How to remove them: http://stackoverflow.com/a/4262545 +]] local max_packages = tonumber(os.getenv('MXE_MAX_PACKAGES')) local no_debs = os.getenv('MXE_NO_DEBS') @@ -171,7 +180,9 @@ print-deps: @$(foreach pkg,$(PKGS),echo \ for-build-pkg $(pkg) \ $(subst $(SPACE),-,$($(pkg)_VERSION)) \ - $($(pkg)_DEPS);)]] + $($(pkg)_DEPS) \ + $(if $(call set_is_not_member,$(pkg),$(MXE_CONF_PKGS)), \ + $(MXE_CONF_PKGS));)]] local deps_mk_file = io.open('deps.mk', 'w') deps_mk_file:write(deps_mk_content) deps_mk_file:close() diff --git a/versions.json b/versions.json index 91166c0..56acd4a 100644 --- a/versions.json +++ b/versions.json @@ -37,7 +37,7 @@ "cppunit": "1.13.2", "crystalhd": "1", "cunit": "2.1-3", - "curl": "7.44.0", + "curl": "7.45.0", "db": "6.1.26", "dbus": "1.10.0", "dcmtk": "3.6.0", @@ -59,8 +59,8 @@ "freeglut": "2.8.1", "freeimage": "3.15.4", "freetds": "0.95.8", - "freetype": "2.6", - "freetype-bootstrap": "2.6", + "freetype": "2.6.1", + "freetype-bootstrap": "2.6.1", "fribidi": "0.19.6", "ftgl": "2.1.3~rc5", "gc": "7.2e", @@ -103,7 +103,7 @@ "gtksourceview": "2.10.5", "gtksourceviewmm2": "2.10.3", "guile": "1.8.8", - "harfbuzz": "1.0.3", + "harfbuzz": "1.0.4", "hdf4": "4.2.10", "hdf5": "1.8.12", "hunspell": "1.3.3", @@ -129,7 +129,7 @@ "levmar": "2.6", "libaacs": "0.7.1", "libarchive": "3.1.2", - "libass": "0.12.3", + "libass": "0.13.0", "libbluray": "0.7.0", "libbs2b": "3.1.0", "libcaca": "0.99.beta19", @@ -178,6 +178,7 @@ "libmng": "2.0.3", "libmodplug": "0.8.8.4", "libmpcdec": "1.2.6", + "libmysqlclient": "6.1.6", "libntlm": "1.4", "liboauth": "1.0.3", "libodbc++": "0.2.5", @@ -344,6 +345,7 @@ "smpeg2": "2.0.0", "sox": "14.4.2", "speex": "1.2rc2", + "speexdsp": "1.2rc3", "sqlite": "3081101", "suitesparse": "4.2.1", "t4k_common": "0.1.1", @@ -357,6 +359,7 @@ "tinyxml2": "3.0.0", "tre": "0.8.0", "twolame": "0.3.13", + "unrtf": "0.21.9", "vamp-plugin-sdk": "2.5", "vcdimager": "0.7.24", "vidstab": "0.98b", @@ -366,7 +369,7 @@ "vo-amrwbenc": "0.1.3", "vorbis": "1.3.5", "vtk": "5.8.0", - "vtk6": "6.1.0", + "vtk6": "6.3.0", "wavpack": "4.75.0", "wget": "1.16.3", "widl": "4.0.4", @@ -382,7 +385,7 @@ "xmlwrapp": "0.7.0", "xorg-macros": "1.19.0", "xvidcore": "1.3.3", - "xz": "5.2.1", + "xz": "5.2.2", "yasm": "1.3.0", "zlib": "1.2.8", "zziplib": "0.13.62", |