mirror of https://git.wownero.com/dsc/mxe.git
gcc pthreads: build pthreads and mingw-w64 headers inline and enable libgomp
* fixes "~winpthreads changes ~pthread_signal.h" etc. reported by build-pkg mingw-w64 installs dummy headers if winpthreads isn't built * enables libgomp to avoid double-build (see #331) * no change in openmp-validation (still 20 failures - taken with a grain of salt as the batch file test runner isn't a reliable perl substitute) * pthreads virtual package kept for future testing
This commit is contained in:
parent
0ad42f9aa4
commit
05380b49b7
|
@ -1642,10 +1642,6 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
|
|||
<td class="package">libgnurx</td>
|
||||
<td class="website"><a href="http://sourceforge.net/projects/mingw/files/UserContributed/regex/">libgnurx</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="package">libgomp</td>
|
||||
<td class="website"><a href="http://gcc.gnu.org/projects/gomp/">GCC-libgomp</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="package">libgpg_error</td>
|
||||
<td class="website"><a href="ftp://ftp.gnupg.org/gcrypt/libgpg-error/">libgpg-error</a></td>
|
||||
|
@ -2510,10 +2506,6 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
|
|||
<td class="package">winpcap</td>
|
||||
<td class="website"><a href="http://www.winpcap.org/">WinPcap</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="package">winpthreads</td>
|
||||
<td class="website"><a href="http://mingw-w64.sourceforge.net/">MinGW w64 pthreads</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="package">wt</td>
|
||||
<td class="website"><a href="http://www.webtoolkit.eu">Wt</a></td>
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := dfbb9321b0d687626a644c70872a2c540b16200e7f4c7bd72f91ae032f445
|
|||
$(PKG)_SUBDIR := flann-$($(PKG)_VERSION)-src
|
||||
$(PKG)_FILE := flann-$($(PKG)_VERSION)-src.zip
|
||||
$(PKG)_URL := http://www.cs.ubc.ca/research/flann/uploads/FLANN/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc libgomp
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'http://www.cs.ubc.ca/research/flann/index.php/FLANN/Changelog' | \
|
||||
|
|
20
src/gcc.mk
20
src/gcc.mk
|
@ -39,7 +39,7 @@ define $(PKG)_CONFIGURE
|
|||
--without-x \
|
||||
--disable-win32-registry \
|
||||
--enable-threads=win32 \
|
||||
--disable-libgomp \
|
||||
--enable-libgomp \
|
||||
--with-gmp='$(PREFIX)/$(BUILD)' \
|
||||
--with-isl='$(PREFIX)/$(BUILD)' \
|
||||
--with-mpc='$(PREFIX)/$(BUILD)' \
|
||||
|
@ -63,13 +63,22 @@ define $(PKG)_POST_BUILD
|
|||
endef
|
||||
|
||||
define $(PKG)_BUILD_mingw-w64
|
||||
# install mingw-w64 headers
|
||||
$(call PREPARE_PKG_SOURCE,mingw-w64,$(1))
|
||||
mkdir '$(1).headers-build'
|
||||
cd '$(1).headers-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-headers/configure' \
|
||||
--host='$(TARGET)' \
|
||||
--prefix='$(PREFIX)/$(TARGET)' \
|
||||
--enable-sdk=all \
|
||||
--enable-idl
|
||||
$(MAKE) -C '$(1).headers-build' install
|
||||
|
||||
# build standalone gcc
|
||||
$($(PKG)_CONFIGURE)
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' all-gcc
|
||||
$(MAKE) -C '$(1).build' -j 1 install-gcc
|
||||
|
||||
# build mingw-w64-crt
|
||||
cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,mingw-w64)
|
||||
mkdir '$(1).crt-build'
|
||||
cd '$(1).crt-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-crt/configure' \
|
||||
--host='$(TARGET)' \
|
||||
|
@ -78,6 +87,13 @@ define $(PKG)_BUILD_mingw-w64
|
|||
$(MAKE) -C '$(1).crt-build' -j '$(JOBS)' || $(MAKE) -C '$(1).crt-build' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).crt-build' -j 1 install
|
||||
|
||||
# build posix threads
|
||||
mkdir '$(1).pthread-build'
|
||||
cd '$(1).pthread-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-libraries/winpthreads/configure' \
|
||||
$(MXE_CONFIGURE_OPTS)
|
||||
$(MAKE) -C '$(1).pthread-build' -j '$(JOBS)' || $(MAKE) -C '$(1).pthread-build' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).pthread-build' -j 1 install
|
||||
|
||||
# build rest of gcc
|
||||
cd '$(1).build'
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)'
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 9045304d991776b6a37e1b45b9b6ef152593ada0d49bc744263565617cbf3
|
|||
$(PKG)_SUBDIR := GraphicsMagick-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := GraphicsMagick-$($(PKG)_VERSION).tar.xz
|
||||
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc bzip2 freetype jasper jpeg lcms libgomp libltdl libpng libxml2 pthreads tiff zlib
|
||||
$(PKG)_DEPS := gcc bzip2 freetype jasper jpeg lcms libltdl libpng libxml2 pthreads tiff zlib
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/' | \
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 5bc6336e6ac9799e3cb241915e2ba5d01b030589bbb2afae39579a59ef0f2
|
|||
$(PKG)_SUBDIR := jack-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := jack-$($(PKG)_VERSION).tar.bz2
|
||||
$(PKG)_URL := https://dl.dropboxusercontent.com/u/28869550/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc libgnurx libsamplerate libsndfile portaudio readline winpthreads
|
||||
$(PKG)_DEPS := gcc libgnurx libsamplerate libsndfile portaudio pthreads readline
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'http://jackaudio.org/downloads/' | \
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
# This file is part of MXE.
|
||||
# See index.html for further information.
|
||||
|
||||
PKG := libgomp
|
||||
$(PKG)_IGNORE = $(gcc_IGNORE)
|
||||
$(PKG)_VERSION = $(gcc_VERSION)
|
||||
$(PKG)_CHECKSUM = $(gcc_CHECKSUM)
|
||||
$(PKG)_SUBDIR = $(gcc_SUBDIR)
|
||||
$(PKG)_FILE = $(gcc_FILE)
|
||||
$(PKG)_URL = $(gcc_URL)
|
||||
$(PKG)_URL_2 = $(gcc_URL_2)
|
||||
$(PKG)_DEPS := gcc pthreads
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
echo $(gcc_VERSION)
|
||||
endef
|
||||
|
||||
define $(PKG)_BUILD
|
||||
mkdir -p '$(1).build'
|
||||
cd '$(1).build' && '$(1)/libgomp/configure' \
|
||||
$(MXE_CONFIGURE_OPTS) \
|
||||
--prefix='$(PREFIX)' \
|
||||
--enable-version-specific-runtime-libs \
|
||||
--with-gnu-ld \
|
||||
LIBS='-lws2_32' \
|
||||
ac_cv_prog_FC='$(TARGET)-gfortran'
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' install
|
||||
|
||||
# TODO: find a way to fix this in configure stage
|
||||
$(if $(BUILD_SHARED), \
|
||||
mv '$(PREFIX)/bin/'libgomp*.dll '$(PREFIX)/$(TARGET)/bin/'; \
|
||||
cp '$(PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/'libgomp.dll.a \
|
||||
'$(PREFIX)/$(TARGET)/lib/'; \
|
||||
cp '$(PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/'libgomp.la \
|
||||
'$(PREFIX)/$(TARGET)/lib/')
|
||||
|
||||
'$(TARGET)-gcc' \
|
||||
-W -Wall -Werror -ansi -pedantic \
|
||||
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-libgomp.exe' \
|
||||
-fopenmp
|
||||
endef
|
|
@ -16,16 +16,3 @@ define $(PKG)_UPDATE
|
|||
$(SORT) -V | \
|
||||
tail -1
|
||||
endef
|
||||
|
||||
define $(PKG)_BUILD_mingw-w64
|
||||
mkdir '$(1).headers-build'
|
||||
cd '$(1).headers-build' && '$(1)/mingw-w64-headers/configure' \
|
||||
--host='$(TARGET)' \
|
||||
--prefix='$(PREFIX)/$(TARGET)' \
|
||||
--enable-sdk=all \
|
||||
--enable-idl
|
||||
$(MAKE) -C '$(1).headers-build' install
|
||||
endef
|
||||
|
||||
$(PKG)_BUILD_x86_64-w64-mingw32 = $($(PKG)_BUILD_mingw-w64)
|
||||
$(PKG)_BUILD_i686-w64-mingw32 = $($(PKG)_BUILD_mingw-w64)
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := b41f71f46faab1215f6f6d17541113dc01fd4d8fee0694f3f459bc2e3c2aa
|
|||
$(PKG)_SUBDIR := OpenBLAS-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz
|
||||
$(PKG)_URL := http://github.com/xianyi/OpenBLAS/archive/v$($(PKG)_VERSION).tar.gz
|
||||
$(PKG)_DEPS := gcc libgomp
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'https://github.com/xianyi/OpenBLAS/releases' | \
|
||||
|
|
|
@ -9,7 +9,7 @@ $(PKG)_SUBDIR := OpenMP$($(PKG)_VERSION)_Validation
|
|||
$(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz
|
||||
$(PKG)_URL := http://web.cs.uh.edu/~openuh/download/packages/$($(PKG)_FILE)
|
||||
$(PKG)_URL_2 :=
|
||||
$(PKG)_DEPS := gcc libgomp
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
echo 'TODO: Updates for package openmp-validation need to be written.' >&2;
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 479f84f2c658a6319b78271111251b4c2d6cf07643421b66bbc351d9bed0a
|
|||
$(PKG)_SUBDIR := $(PKG)-$(PKG)-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
|
||||
$(PKG)_URL := https://github.com/PointCloudLibrary/pcl/archive/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc boost eigen flann libgomp vtk
|
||||
$(PKG)_DEPS := gcc boost eigen flann vtk
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- "https://github.com/PointCloudLibrary/pcl/releases" | \
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := e6cb1eee915ff50dbd01ed9c6f13324cde16002c7ac49bf29feea07e0f348
|
|||
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
|
||||
$(PKG)_URL := http://dl.bintray.com/kimwalisch/$(PKG)/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc libgomp
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'http://primesieve.org/downloads/' | \
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
PKG := pthreads
|
||||
$(PKG)_VERSION := POSIX 1003.1-2001
|
||||
$(PKG)_DEPS := winpthreads
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
echo $(pthreads_VERSION)
|
||||
endef
|
||||
|
||||
define PTHREADS_TEST
|
||||
define $(PKG)_BUILD
|
||||
# install and test pkg-config
|
||||
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
|
||||
(echo 'Name: pthreads'; \
|
||||
|
@ -21,11 +21,17 @@ define PTHREADS_TEST
|
|||
echo 'Libs: -lpthread'; \
|
||||
) > '$(PREFIX)/$(TARGET)/lib/pkgconfig/pthreads.pc'
|
||||
|
||||
# test pkg-config and libgomp
|
||||
'$(TARGET)-gcc' \
|
||||
-W -Wall -Werror -ansi -pedantic \
|
||||
'$(TOP_DIR)/src/pthreads-test.c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
|
||||
'$(TOP_DIR)/src/$(PKG)-test.c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
|
||||
`'$(TARGET)-pkg-config' --libs pthreads`
|
||||
|
||||
'$(TARGET)-gcc' \
|
||||
-W -Wall -Werror -ansi -pedantic \
|
||||
'$(TOP_DIR)/src/$(PKG)-libgomp-test.c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG)-libgomp.exe' \
|
||||
-fopenmp
|
||||
|
||||
# test cmake
|
||||
mkdir '$(1).test-cmake'
|
||||
cd '$(1).test-cmake' && '$(TARGET)-cmake' \
|
||||
|
|
|
@ -8,8 +8,8 @@ $(PKG)_CHECKSUM := b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55
|
|||
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
|
||||
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
|
||||
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc file flac lame libgomp libltdl libmad libpng \
|
||||
libsndfile opencore-amr opus twolame vorbis wavpack
|
||||
$(PKG)_DEPS := gcc file flac lame libltdl libmad libpng libsndfile \
|
||||
opencore-amr opus twolame vorbis wavpack
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'http://sourceforge.net/projects/sox/files/sox/' | \
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
# This file is part of MXE.
|
||||
# See index.html for further information.
|
||||
|
||||
PKG := winpthreads
|
||||
$(PKG)_IGNORE = $(mingw-w64_IGNORE)
|
||||
$(PKG)_VERSION = $(mingw-w64_VERSION)
|
||||
$(PKG)_CHECKSUM = $(mingw-w64_CHECKSUM)
|
||||
$(PKG)_SUBDIR = $(mingw-w64_SUBDIR)
|
||||
$(PKG)_FILE = $(mingw-w64_FILE)
|
||||
$(PKG)_URL = $(mingw-w64_URL)
|
||||
$(PKG)_DEPS := gcc
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
echo $(mingw-w64_VERSION)
|
||||
endef
|
||||
|
||||
define $(PKG)_BUILD_mingw-w64
|
||||
cd '$(1)/mingw-w64-libraries/winpthreads' && ./configure \
|
||||
$(MXE_CONFIGURE_OPTS)
|
||||
$(MAKE) -C '$(1)/mingw-w64-libraries/winpthreads' -j '$(JOBS)' install
|
||||
|
||||
$(PTHREADS_TEST)
|
||||
endef
|
||||
|
||||
$(PKG)_BUILD_x86_64-w64-mingw32 = $($(PKG)_BUILD_mingw-w64)
|
||||
$(PKG)_BUILD_i686-w64-mingw32 = $($(PKG)_BUILD_mingw-w64)
|
Loading…
Reference in New Issue