Commit Graph

155 Commits

Author SHA1 Message Date
Tony Theodore 71d2f5d143 gcc: also remove dlfcn.h
fixes #2529
2020-06-20 11:49:03 +10:00
Tony Theodore 695c99469b gcc: disable libdl detection
closes #2526
2020-06-19 22:54:45 +10:00
Tony Theodore 756c6412f1 gcc10: use zstd for LTO compression 2020-06-11 10:43:28 +10:00
Tony Theodore 7bbbca05bb gcc: enable default stack protector to mimic glibc
"...with mingw-w64 if you define _FORTIFY_SOUECE to something
    greater than zero you have to link against libssp, either by adding
    -fstack-protector or -lssp, because mingw-w64, unlike GNU libc, does
    not provide fortified functions."

https://github.com/msys2/MINGW-packages/issues/5868
2020-06-06 14:15:29 +10:00
Tomas Kalibera ec11cc909e The default msvcrt must be the same for mingw-w64 headers and crt. 2020-04-16 21:59:18 +10:00
Mark Brand 9764111350 gcc: use --with-default-msvcrt=msvcrt
As suggested by Tony in https://github.com/mxe/mxe/pull/2208.
This is less disruptive for MXE users, even though, arguably,
use of the new ucrt should be encouraged.
2018-11-13 16:56:13 +01:00
Tony Theodore ab0b797479 gcc: update and re-enable coverage
see: http://lists.nongnu.org/archive/html/mingw-cross-env-list/2018-04/msg00003.html
fixes #1665
2018-04-08 12:19:02 +10:00
Tony Theodore e7b9a21056 native pkgs: use explicit cross-target deps and remove empty rules 2017-12-23 08:18:52 +11:00
Tony Theodore c8c6aa0720 gcc: workaround parallel build failure 2017-10-09 15:19:53 +11:00
Tony Theodore 4a29f6c7a1 gcc: fix Darwin build with Xcode9
From: 8e49ac832c

Fixes part of #1913
2017-09-29 23:10:50 +10:00
Tony Theodore 9ce0ce92a6 gcc: use MXE_DISABLE_DOC_OPTS 2017-07-24 01:45:09 +10:00
Viktor Szakats e961e447fb URL updates 2017-03-04 10:33:47 +00:00
Tony Theodore 5da8168263 allow non-default exception handling targets 2017-02-07 14:33:26 +11:00
Tony Theodore 494017f7d2 gcc: move shared libgcc install to post build and cleanup libcc1 2017-02-04 19:11:48 +11:00
Tony Theodore c6a3c25993 gcc cloog: remove unnecessary rules/variables/options 2017-02-04 19:11:48 +11:00
Tony Theodore d04f6ea96a gcc: use SOURCE_DIR and BUILD_DIR 2017-02-04 19:11:48 +11:00
Boris Nagaev dc15900769 mingw-w64: add --enable-secure-api
This is needed to update glib to 2.51.1. It uses strerror_s,
which is guarded by MINGW_HAS_SECURE_API.

See http://win-builds.org/bugs/index.php?do=details&task_id=79
See https://sourceforge.net/p/tdm-gcc/bugs/305/
2017-02-01 03:08:50 +01:00
Boris Nagaev f74bce1140 update default gcc to 5.4.0
The bug in gcc 5 which was a reason to downgrade to gcc 4 was fixed.
See https://github.com/mxe/mxe/issues/964 for more details.

cloog was updated to 0.18.4, because 0.18.1 version uses too old isl
and failes to compile because it uses isl_int and it was removed from isl:
https://gist.github.com/f550a61371f597a213f0291e53e632f0
2017-01-25 22:51:18 +01:00
Boris Nagaev 74163f1794 add _WEBSITE and _DESCR fields to core packages
See https://github.com/mxe/mxe/issues/1422

Automation (Python 2 code): https://gist.github.com/9f5c315e5d0cf113d41dc454b7a0eb41
2016-12-22 22:25:48 +01:00
Tony Theodore c255ff8b5a Add options to strip toolchain, executables, and libs
Minimal implementation to strip the [largest files][lf-gist] by
default, mostly made up of gcc/binutils and test programs.

gdal and geos both produce large libraries, but the libs themselves
aren't worth stripping, it's the 20 odd programs produced by gdal
with those libs statically linked that consume the most space.

I'm leaving these undocumented as the defaults seems reasonable and
the interface may well change when we enable debug/release variants.

closes #985
closes #1249

[lf-gist]:https://github.com/mxe/mxe/issues/1249#issuecomment-193392038
2016-10-23 17:59:21 +03:00
Boris Nagaev 6adb5ade12 Copyright headers: point to LICENSE.md and shorten
The following script was applied:

    sed ':a;/part of MXE.$/{N;s/\n//;ba}' -i $(git grep -l 'part of MXE')

    sed 's/\(part of MXE\).*\(See index.html\)/\1. \2/' -i \
        $(git grep -l 'part of MXE.*See index.html')

    before='This file is part of MXE. See index.html for further information.'
    after='This file is part of MXE. See LICENSE.md for licensing information.'
    sed "s/$before/$after/" -i $(git grep -l 'part of MXE')

Then git grep 'index.html for further information' revealed two other files.
One of them was patched manually (patch.mk). Makefile has text
"See index.html for further information" unrelated to licensing.

See https://github.com/mxe/mxe/issues/1500#issuecomment-241340792
2016-08-27 12:31:29 +03:00
Tony Theodore c840358103 update gcc 4.9.3 --> 4.9.4
Tested on all four targets, list of changes:
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.9.4
2016-08-05 15:01:25 +10:00
Saikrishna Arcot 96df2d7470
Add plugin for compiling mingw-w64 with secure APIs enabled. 2016-06-18 08:51:33 -05:00
Tony Theodore f06a2c2243 gcc: don't install *.dlls to version specific directory
* any future side-by-side installs will use targets as a higher level
  directory separation, we don't want to mix libs built with different
  versions of the compiler.
* add note about keeping `--enable-version-specific-runtime-libs`
* remove TODO, there's no sane way to configure the install
2015-12-03 18:52:27 +11:00
Tony Theodore 38a9ead623 Revert "gcc: don't install *.dlls to version specific directory"
This reverts commit ae8f6def5c.
2015-12-02 22:20:44 +11:00
Tony Theodore ae8f6def5c gcc: don't install *.dlls to version specific directory
any side-by-side installs will use targets as a higher level directory separation, we don't want to mix libs built with different versions of the compiler.
2015-12-02 21:16:12 +11:00
Tony Theodore 91731fb087 gcc: ignore version 5 updates 2015-11-28 22:14:05 +11:00
Tony Theodore 9020e9e0e5 gcc: cleanup lib installation 2015-11-12 17:40:24 +11:00
Boris Nagaev 39aafb3a6b update gcc from 4.9.2 to 4.9.3 2015-11-11 19:58:49 +03:00
Boris Nagaev 8efddcb4b5 gcc: downgrade 5.2.0 -> 4.9.2
Revert da82d07dbe and
consequent changes of gcc version.

close #964
2015-11-11 19:58:49 +03:00
Boris Nagaev db513d5842 gcc: enable cloog 2015-11-11 19:58:49 +03:00
Boris Nagaev 12ef7af27f Revert "gcc: cleanup lib installation"
This reverts commit c96a007c6a.

This commit is not applicable to gcc 4.9.
2015-11-11 19:58:49 +03:00
Tony Theodore 30b7b7164f enbale MXE_GCC_THREADS and allow target spec <triplet>.<link>.<threads>
* enables optional c++11 <thread>, <mutex>, and <future> in libgcc
* avoid double build advice:
  http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/README;h=248af546f939a81855dda33142d834eecf2979c2;hb=HEAD#l44
* not heavily tested but should be released for feedback
2015-10-31 20:18:21 +11:00
Tony Theodore 05380b49b7 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
2015-10-31 20:18:21 +11:00
Tony Theodore c96a007c6a gcc: cleanup lib installation 2015-10-25 12:23:28 +11:00
Tony Theodore 3185b292b0 gcc and deps: use native builds and consolidate rules 2015-10-25 12:23:27 +11:00
Tony Theodore 3132accaf1 remove gcc-* virtual packages 2015-10-25 12:23:27 +11:00
Tony Theodore fc0ed34fb9 all packages: really use sha256 checksums 2015-09-23 18:32:58 +10:00
Tony Theodore a228c0488f all packages: switch to sha256 checksums
closes #871
2015-09-23 17:27:16 +10:00
Tony Theodore 272504678b gcc: don't unpack tarball on $(BUILD) target 2015-09-12 14:05:16 +10:00
Mark Brand 7882944eb9 binutils gcc: update 2015-07-30 11:48:43 +02:00
Mark Brand da82d07dbe gcc isl: update
cloog is no longer required to build gcc.
2015-04-23 23:11:38 +02:00
Mark Brand 473c298443 gcc: update 2014-10-30 22:04:33 +01:00
Timothy Gu d87240eb7b Remove i686-pc-mingw32
Fixes #400 and #492.

See #453.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 01:32:44 +00:00
Timothy Gu 698c1e7f74 gcc: install import libs to standard locations as well
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-09-24 19:30:35 -07:00
Timothy Gu 7eb2514bf0 gcc: remove `--disable-libmudflap`
libmudflap is removed in gcc 4.9.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-08-07 20:32:40 -07:00
Timothy Gu 4fcf72bb2e gcc: update
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-07-26 08:30:02 -07:00
Boris Nagaev 3a4964c4b7 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 13:21:48 +04:00
Tony Theodore 2ad1be6468 package gcc: fix copying of dlls to target bin directory 2014-05-02 12:27:47 +10:00
Mark Brand 4f2a84496f update package gcc 2014-04-22 14:10:46 +02:00