Commit graph

70 commits

Author SHA1 Message Date
John Ericson f52263ced0 treewide: Start to break up static overlay
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.

CC @FRidh @matthewbauer
2021-01-03 19:18:16 +00:00
John Ericson 0df75bc04e gcc 8, 10: tabs -> spaces 2021-01-03 19:14:56 +00:00
Matthew Bauer 872b23d214 Merge remote-tracking branch 'origin/master' into gcc-cross 2020-08-26 16:10:02 -05:00
Gaelan Steele 459c60dda2 gcc: fix building darwin->linux cross compiler
This reverts d9feea5 with some slight modifications to work with
other changes since then.

Fixes #88213.
2020-05-26 03:16:03 -07:00
John Ericson 1ac5398589 *-wrapper; Switch from infixSalt to suffixSalt
I hate the thing too even though I made it, and rather just get rid of
it. But we can't do that yet. In the meantime, this brings us more
inline with autoconf and will make it slightly easier for me to write a
pkg-config wrapper, which we need.
2020-05-12 00:44:44 -04:00
Matthew Bauer fe1955588a gcc: add langJit option for gcclangjit
This option can be used to set the “jit” language which enable the
libgccjit functionality. Also adds a “libgccjit” attr which is gcc
built with just jit enabled.
2020-05-06 23:12:17 -05:00
Matthew Bauer 9c4fbf9cb1 gcc: don’t require "lib" output
libgccjit is a library but is used as a compiler. So it references a
bunch of compiler things in $out. To avoid a cycle, we need to put
everything in $out, so referenced to $lib need to be replaced with
${!outputLib}.
2020-05-05 22:23:26 -05:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Vladimír Čunát c5f663ff30
gcc8: 8.3.0 -> 8.4.0
https://gcc.gnu.org/legacy-ml/gcc/2020-03/msg00042.html
2020-03-15 20:19:11 +01:00
Robin Gloster ba0a3edf7f
stdenv: installTargets is a list 2019-12-31 00:24:02 +01:00
John Ericson 6d3b7458cc
Merge pull request #74065 from Ericson2314/cc-versions
compilers, binutils: Add version and pname
2019-11-24 18:35:13 -05:00
Craig Hall 26ab4a37ae gcc: Use pname 2019-11-24 18:32:26 +00:00
Craig Hall eea6fc4cf9 gcc: Add version attribute 2019-11-24 18:32:26 +00:00
John Ericson 195c263a81
Merge pull request #74016 from Ericson2314/gcc-fix-cross-name
gcc: Fix cross names
2019-11-24 11:03:07 -05:00
Craig Hall 62d6429793 gcc: Fix cross names
There was an issue with the dashes.

(taken from commit e158e113a6b74f6cd0e1de9e976b882a03714bf8)
2019-11-24 05:18:50 +00:00
John Ericson 16f0fe7fe3 Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads 2019-11-11 20:48:14 -05:00
John Ericson 04cb05d20c gcc: Build MinGW stage two with threading library
Currently this is set up to be mcfgthreads, but it could be something
else instead.
2019-11-11 11:02:38 -05:00
John Ericson 999ef20129 mingw-w64 libc: Multiple outputs and parallel builds
Also deduplicate more of the GCC derivations.
2019-11-11 00:25:24 -05:00
John Ericson 1782f6c826
Merge pull request #73184 from Ericson2314/gcc-fix-cross-whoops
gcc: Fix cross after I accidentally changed build target
2019-11-10 17:49:48 -05:00
John Ericson 3f74a4d066 gcc: Fix cross after I accidentally changed build target
I deleted "bootstrap", but forgot to make the condition
build = host = target.
2019-11-10 17:06:22 -05:00
John Ericson 62e154ff8d Merge remote-tracking branch 'upstream/master' into gcc-dedup-configure-flags 2019-11-10 16:12:25 -05:00
John Ericson 5c5ca018c8 gcc: Deduplicate configureFlags
Thanks again to @bgamari who in 1c1207220f
did the cleanup to make this possible. It's been a long time coming!
2019-11-10 15:58:35 -05:00
John Ericson f666c61d20 gcc: Deduplicate preConfigure 2019-11-10 15:15:04 -05:00
John Ericson f5ddd103e7
Merge pull request #73173 from Ericson2314/gcc-cross-cleanup
gcc: Clean up cross configure flags and name prefix
2019-11-10 15:05:18 -05:00
John Ericson ca341c2d5b gcc: Clean up cross configure flags and name prefix 2019-11-10 14:29:11 -05:00
Frederik Rietdijk 458964dea2 gcc8: make building w/LTO support optional, fixes eval 2019-11-03 16:04:52 +01:00
Vladimír Čunát 6c567ed797
Merge branch 'staging-next' into staging 2019-09-22 10:06:45 +02:00
Matthew Bauer 7b58739e2c gcc: fix mising avr limits.h
Fixes #69172
2019-09-20 22:37:00 -04:00
Matthew Bauer 9bdfcf2218 gcc: use gcc8 on darwin 2019-09-17 21:03:08 -04:00
Frederik Rietdijk e68505e735 Merge remote-tracking branch 'upstream/gcc8' into staging-next 2019-09-06 23:25:18 +02:00
arcnmx 05b0411c57 gcc: fix gcc8 for cross-compiled targets
Adds EXTRA_TARGET_FLAGS missing from 412093994b.

Fixes #58164
2019-03-25 17:57:30 -07:00
Will Dietz 663bfb120d gcc: 8.2.0 -> 8.3.0
https://gcc.gnu.org/ml/gcc/2019-02/msg00121.html
2019-02-22 15:38:39 -06:00
Daniel Goertzen 1c10efc912 add generic x86_32 support (#52634)
* add generic x86_32 support

- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.

* revert `isi[345]86`, remove dead code

- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.

* remove i386-linux since linux not supported on that cpu
2019-01-06 12:57:36 -06:00
c0bw3b 0498ccd076 Treewide: use HTTPS on GNU domains
HTTP -> HTTPS for :
- http://gnu.org/
- http://www.gnu.org/
- http://elpa.gnu.org/
- http://lists.gnu.org/
- http://gcc.gnu.org/
- http://ftp.gnu.org/ (except in fetchurl mirrors)
- http://bugs.gnu.org/
2018-12-02 15:51:59 +01:00
Matthew Bauer 76c956be5c treewide: disable pie in more places
Some packages don’t work correctly with pie. Here I disable it for:

- busybox
- linux kernel
- kexectools

I also get rid of the Musl conditional for disabling pie in GCC and
Binutils. Some day we might want to enable PIE without Musl and it
will be useful to have the *just* work with our compiler and linkers.
2018-11-13 07:03:31 -06:00
Frederik Rietdijk 53d00c3351 Merge master into staging-next 2018-11-10 11:08:54 +01:00
Matthew Bauer 2e2afa1943 gcc/binutils: disable pie hardening
These don’t like having -fPIE set for them. We should disable
hardening all the time, but in the interest of not changing hashes,
this only disables it for Musl (where it is now the default).

(cherry picked from commit a3a6884649354a660326acd68c1bd08ffd2dcfa2)
2018-11-09 13:55:35 -06:00
Frederik Rietdijk 1d196d99be Merge staging-next into staging 2018-10-30 20:35:15 +01:00
Matthew Bauer 412093994b gcc: support avr
- respect libc’s incdir and libdir
- make non-unix systems single threaded
- set LIMITS_H_TEST to false for avr
- misc updates to support new libc’s
- use multilib with avr

For threads we want to use:
- posix on unix systems
- win32 on windows
- single on everything else

For avr:
- add library directories for avrlibc
- to disable relro and bind
- avr5 should have precedence over avr3 - otherwise gcc uses the wrong one
2018-10-29 14:34:09 -05:00
Michael Raskin 4a854344b7
Merge pull request #48721 from oxij/tree/mass-rebuild-complicated-cleanups
treewide: mass rebuild complicated cleanups
2018-10-29 19:17:28 +00:00
Jan Malakhovski eae890db12 gcc-*: homogenize and cleanup expressions with a mass rebuild 2018-10-21 18:26:37 +00:00
John Ericson c701d6cb21 Merge remote-tracking branch 'upstream/master' into staging 2018-09-25 14:20:27 -04:00
Will Dietz fecd326399 gcc{5,6,7,8}: share libgomp patch, propagate musl config flags 2018-09-25 00:08:17 -05:00
John Ericson b1d518206a
Merge pull request #46127 from obsidiansystems/gcc-crossStageStatic-cleanup
gcc-*: Clean up crossStageStatic logic
2018-09-25 00:01:28 -04:00
Jan Malakhovski e0b5919197 gcc-*: homogenize and cleanup expressions without a rebuild
Looks scary but it is a noop.
2018-09-23 20:56:19 +00:00
John Ericson b14db1b0ba gcc-*: Clean up crossStageStatic logic
54282b9610 tread carefuly to avoid a mass
rebuild. This embraces the mass rebuild to clean things up.
2018-09-23 17:30:32 +00:00
John Ericson 2091133e78 gcc: Clarify Disabling libmpx in cross stage static
This isn't a MUSL thing, but just needed for cross compilation to x86.
No one had tried this when all cross compilation was to linux + glibc,
hence why no one noticed this until recently.
2018-09-18 16:27:04 -04:00
John Ericson d68a9d9db9 gcc-*: Clean up crossStageStatic logic
54282b9610 tread carefuly to avoid a mass
rebuild. This embraces the mass rebuild to clean things up.
2018-09-07 13:30:30 -04:00
John Ericson 0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Jörg Thalheim 9efffe0135 hurd: cleanup unmaintained target
This has been not touched in 6 years. Let's remove it to cause less
problems when adding new cross-compiling infrastructure.
This also simplify gcc significantly.
2018-08-28 22:18:02 +01:00