mxe/src/gmp.mk

49 lines
1.7 KiB
Makefile
Raw Normal View History

2012-03-28 14:46:58 +01:00
# This file is part of MXE.
2012-03-29 11:14:15 +01:00
# See index.html for further information.
2010-04-10 07:16:56 +01:00
PKG := gmp
$(PKG)_IGNORE :=
2014-03-25 10:02:22 +00:00
$(PKG)_VERSION := 6.0.0
$(PKG)_CHECKSUM := 7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf
2010-04-10 07:16:56 +01:00
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
2014-03-26 08:10:31 +00:00
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION)a.tar.bz2
add http mirrors to packages hosted at FTP see http://lists.nongnu.org/archive/html/mingw-cross-env-list/2014-07/msg00002.html Many FTP servers block connections from Tor and some VPN servers. HTTP servers don't do this normally. Example of failed FTP download attempt of binutils-2.24.tar.bz: $ torsocks wget ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 --2014-07-20 13:26:48-- ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 => `binutils-2.24.tar.bz2' Resolving ftp.gnu.org (ftp.gnu.org)... 208.118.235.20 Connecting to ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gnu/binutils ... done. ==> SIZE binutils-2.24.tar.bz2 ... 22716802 ==> PASV ... done. ==> RETR binutils-2.24.tar.bz2 ... Error in server response, closing control connection. Retrying. Same package was downloaded via HTTP successfully: $ torsocks wget http://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 --2014-07-20 13:32:37-- http://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 Resolving ftp.gnu.org (ftp.gnu.org)... 208.118.235.20 Connecting to ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 22716802 (22M) [application/x-bzip2] Saving to: `binutils-2.24.tar.bz2' 100%[=================>] 22,716,802 721K/s in 24s 2014-07-20 13:33:03 (915 KB/s) - `binutils-2.24.tar.bz2' saved [22716802/22716802] Trying download from Tor Browser, I get error message: 425 Security: Bad IP connecting. HTTP URLs were added to FTP URLs-only packages. In many cases, ftp://ftp.gnu.org can be accessed from http://ftp.gnu.org If both URLs of a package are FTP, then one of them was replaced with HTTP. Command to check that those packages can be build successfully if behind Tor: $ torsocks make autoconf automake binutils bison cloog coreutils file freetds gcc gdb gettext gmp gnutls gperf isl libbluray libffi libgcrypt libgpg_error libidn libmicrohttpd libpng libxml2 libxslt m4 pthreads-w32 sed dcmtk mpfr I've run the test above successfully.
2014-07-20 10:21:48 +01:00
$(PKG)_URL := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE)
2010-04-10 07:16:56 +01:00
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://www.gmplib.org/' | \
2010-04-10 07:16:56 +01:00
grep '<a href="' | \
$(SED) -n 's,.*gmp-\([0-9][^>]*\)\.tar.*,\1,p' | \
$(SORT) -V | \
tail -1
2010-04-10 07:16:56 +01:00
endef
define $(PKG)_BUILD
cd '$(1)' && CC_FOR_BUILD=$(BUILD_CC) ./configure \
$(MXE_CONFIGURE_OPTS) \
2011-05-27 21:57:29 +01:00
--enable-cxx \
2010-04-10 07:16:56 +01:00
--without-readline
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
# build runtime tests to verify toolchain components
-$(MAKE) -C '$(1)' -j '$(JOBS)' check -k
rm -rf '$(PREFIX)/$(TARGET)/bin/$(PKG)-tests'
cp -R '$(1)/tests' '$(PREFIX)/$(TARGET)/bin/$(PKG)-tests'
(printf 'date /t > all-tests-$(PKG)-$($(PKG)_VERSION).txt\r\n'; \
printf 'time /t >> all-tests-$(PKG)-$($(PKG)_VERSION).txt\r\n'; \
printf 'set PATH=..\\;%%PATH%%\r\n'; \
printf 'for /R %%%%f in (*.exe) do %%%%f || echo %%%%f fail >> all-tests-$(PKG)-$($(PKG)_VERSION).txt\r\n';) \
> '$(PREFIX)/$(TARGET)/bin/$(PKG)-tests/all-tests-$(PKG)-$($(PKG)_VERSION).bat'
2010-04-10 07:16:56 +01:00
endef
define $(PKG)_BUILD_$(BUILD)
mkdir '$(1).build'
cd '$(1).build' && '$(1)/configure' \
--prefix='$(PREFIX)/$(TARGET)' \
--disable-shared
$(MAKE) -C '$(1).build' -j '$(JOBS)' man1_MANS=
$(MAKE) -C '$(1).build' -j 1 install man1_MANS=
endef