John Ericson
e82bd498d1
Merge commit '992bd2f6d34b2f560fc17df6fa3708fcade1abac' into gcc-modernize-builder
2017-12-07 02:13:24 -05:00
John Ericson
3a59cd87f2
Merge commit '93cd0685c5ac4d8f21d8586d3e5c45cd7394fab9' into gcc-modernize-builder
2017-12-07 01:49:31 -05:00
John Ericson
51948eab94
gcc: Fix after merge
...
- NIX_CC_CROSS is now completely gone!
- NIX_CC is defined reliably, so no manual def needed
- stdenv.ccCross -> stdenv.cc, also removing need for "or" fallback
2017-12-07 01:42:43 -05:00
John Ericson
d96cf0f46c
gcc: Handle CPATH
and LIBRARY_PATH
purely in Nix
2017-12-06 19:12:51 -05:00
John Ericson
d4595b38e9
gcc: Modernize builder.sh for Cross
...
Instead of `NIX_CC` vs `NIX_CC_CROSS` spagetti, unconditionally use
`NIX_BUILD_CC` and `NIX_CC` in a consistent manner.
2017-12-06 19:12:50 -05:00
John Ericson
43d5c5d6db
Merge commit '703a9f93c1254f7bdf0350ca0462de0d78033c62' into gcc-simplify-flags
2017-12-05 17:58:16 -05:00
John Ericson
992bd2f6d3
Merge commit 'ab77a6bb1e7d2ff475210ad392f1a9bd1bb6ba3a' into gcc-simplify-flags
2017-12-05 17:41:15 -05:00
John Ericson
93cd0685c5
Merge commit '71186e73455a4e06e96a31da34b76f84e545ba1f' into gcc-simplify-flags
2017-12-05 17:09:41 -05:00
John Ericson
c9ca541994
Merge commit '198dceccbe5414a5fd72ca83624c0cc715db1aad' into gcc-simplify-flags
2017-12-05 16:55:11 -05:00
John Ericson
a3e35fbbe1
gcc: Use platformFlags in crossConfigureFlags
...
A nice code deduplication
2017-12-05 14:01:18 -05:00
John Ericson
1fe9798ac2
lib, gcc: No inherit (platform) gcc;
in {host,build,target}Platform
2017-12-05 13:52:20 -05:00
John Ericson
74cbb5796e
gcc: Get rid of crossAttrs.configureFlags
2017-12-04 20:50:59 -05:00
John Ericson
cabfe1885f
gcc: Don't try to enable plugins with host != build
2017-12-04 16:27:18 -05:00
John Ericson
2fdca4db69
gcc: Lock down more tools for cross-builds
...
That is, build != host == target
2017-12-04 16:27:18 -05:00
Tuomas Tynkkynen
825b953bf5
gcc48: Reduce diff to gcc49
2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
77b409b2cf
gcc49: Reduce diff to gcc5
2017-11-29 23:09:17 +02:00
John Ericson
ab77a6bb1e
gcc: Misc indentation and whitespace-in-string fixes
2017-11-14 18:32:50 -05:00
Ben Gamari
1c1207220f
gcc: Refactor treatment of configure flags
...
Previously configureFlags was defined as one giant interpolated string.
Here we refactor this definition to instead use the usual stdenv string
combinators. This seems more in-line with the average nixpkgs expression
and it seems a bit more natural to things of these as lists of flags
rather than monolithic strings.
2017-11-14 16:23:46 -05:00
John Ericson
0101856765
Merge pull request #30549 from obsidiansystems/bintools
...
treewide: Introduce stdenv.cc.bintools
2017-11-08 14:20:48 -05:00
Vladimír Čunát
8da04338d7
gcc-4.9: fixup build with glibc-2.26
...
Upstream didn't backport this, but fortunately it wasn't too hard.
2017-11-07 12:56:57 +01:00
John Ericson
4d4f94cde4
treewide: Depend on targetPackages.stdenv.cc.bintools instead of binutils directly
...
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
2017-11-05 17:10:53 -05:00
John Ericson
54282b9610
gcc: Change default of crossStageStatic
param to false
...
This gets us one step closer to removing `gccCrossStageFinal`.
Care is taken to avoid a mass rebuild; will clean up with one later.
2017-09-21 15:49:18 -04:00
Tuomas Tynkkynen
0c0fad6141
treewide: Consistently call ARM 'arm'
...
No need for silly differences.
2017-08-24 01:17:01 +03:00
John Ericson
ebc9b161cd
gcc: Add configurePlatforms
exception for Arm 32
...
...just as we did for binutils. When the underlying issue is resolved
(probably with a configure script patch or lib/systems/parse.nix
change), this should be reverted.
2017-08-23 14:38:08 -04:00
John Ericson
71186e7345
gcc: Use configurePlatforms
to control --build, --host, and --target
2017-08-23 14:28:59 -04:00
Vladimír Čunát
956c266fb7
gcc49: remove Darwin patch that's included in 4.9
2017-08-20 10:30:34 +02:00
John Ericson
b11889e6a4
gcc: Homogenize syntax in one small spot
...
Less noise in the diff help maintain these behemoths.
2017-08-18 14:03:48 -04:00
John Ericson
12795a7068
misc: Remove almost all uses of stdenv.{ccCross,binutils}
2017-06-22 17:53:52 -04:00
John Ericson
35ed21d096
gcc*: Replace stdenv.is* with {host,target}Platform.is*
...
Host everywhere would be guaranteed to preserve the old semantics,
but in a few places it doesn't matter in practice, target is used
instead for clarity.
2017-06-06 19:28:16 -04:00
Ross MacLeod
e854685d65
gcc*: Remove cross argument and instead use hostPlatform and targetPlatform
2017-06-06 19:28:16 -04:00
John Ericson
eaa509f33a
stdenv: Rename isGNU
to isHurd
as GNU is a userland
...
Elsewhere, things called GNU indeed includes GNU/Linux or GNU/Hurd, but this
predicate was defined excluding Linux regardless of userland.
2017-05-22 13:55:26 -04:00
John Ericson
20fa6fd871
gcc: When cross compiling, always expect prefixed binutils
...
Previously this was just done on Darwin.
2017-05-17 15:33:05 -04:00
John Ericson
295315cc87
binutilsCross: Remove and use binutils
instead always
...
See previous commit for what was done to `binutils` to make this
possible.
There were some uses of `forcedNativePackages` added. The
combination of overrides with that attribute is highly spooky: it's
often important that if an overridden package comes from it, the
replaced arguments for that package come from it. Long term this
package set and all the spookiness should be gone and irrelevant:
"Move along, nothing to see here!"
No hashes should be changed with this commit
2017-04-25 21:36:19 -04:00
John Ericson
a7068ace35
Rewrite a few stdenv.cross
uses that *should* be targetPlatform
...
The previous commit redefines `stdenv.cross` for the sake of normal
libaries, the most common use-case of that attribute. Some compilers
however relied on the old definition so we have them use
`targetPlatform` instead. This special casing is fine because we
eventually want to remove `stdenv.cross` and use either `hostPlatform`
or `targetPlatform` instead.
2017-04-24 16:31:45 -04:00
Eelco Dolstra
42574f52b9
Remove references to $NIX_STRIP_DEBUG
...
This was removed in 3ea1c30846
.
2017-02-05 11:08:32 +01:00
Vladimír Čunát
5de2857a54
gcc*: use stdenv.cc.libc instead of stdenv.libc
...
The latter doesn't exist on Linux.
2016-09-16 23:23:33 +02:00
Matthew Bauer
8610a34474
gcc: use special native system headers for darwin
...
Darwin systems need to be able to find CoreFoundation headers as well as
libc headers. Somehow, gcc doesn't accept any "framework" parameters
that would normally be used to include CoreFoundation in this
situation.
HACK: Instead, this adds a derivation that combines the two. The result
works but probably not a good long term solution.
ALTERNATIVES: Maybe sending patches in to GCC to allow
"native-system-framework" configure flag to get this found.
2016-09-15 17:58:09 -05:00
Matthew Bauer
cf004ae56e
gcc: add --with-native-system-header-dir for clang
...
gcc needs to be able find system headers. Without this, gcc fails to build because
/usr/include is not available.
Note: stdenv.libc should be available for all stdenv's, I think.
2016-09-15 17:56:50 -05:00
Matthew Bauer
f2e753a90c
gcc: fix gmp, mpfr includes
...
This should get gcc48, gcc5, and gcc6 working again.
Also: use makeLibraryPath, and makeSearchPathOutput for LIBRARY_PATH and
CPATH. This is a refactor but it also fixes an issue with zlib.
2016-09-15 17:56:50 -05:00
Matthew Bauer
45cd1ea620
gcc: --enable-bootstrap on Darwin
...
This seems to be working now. ISL needs to be disable for it to build
completely though.
2016-09-15 17:54:01 -05:00
Kirill Boltaev
0f37287df5
treewide: explicitly specify gtk version
2016-09-13 21:09:24 +03:00
Robin Gloster
b7787d932e
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-08-12 09:46:53 +00:00
obadz
1cd9c58834
Merge pull request #17461 from rasendubi/powerpc
...
cross-compilation: fixes for powerpc-linux-uclibc
2016-08-11 00:51:51 +01:00
Lancelot SIX
8420753239
gcc49: 4.9.3 -> 4.9.4
...
Bugfix release of the 4.9 branch. See
http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00001.html for
announcement
2016-08-05 00:01:15 +02:00
Alexey Shmalko
a9bc2d530b
gcc: disable libsanitizer for uclibc
...
libsanitizer requires header files which are not present in uclibc.
Also, libsanitizer is disabled with uclibc for buildroot[1] and
openwrt[2].
[1]: https://git.busybox.net/buildroot/commit/?id=554e29e267e6b36a0fd78c82cbad2c82d939eb7f
[2]: 5f372a8ca0
2016-08-03 03:32:30 +03:00
Robin Gloster
5185bc1773
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-07-15 14:41:01 +00:00
Vladimír Čunát
d3e599c9e1
Merge #16355 : gcc: darwin support
2016-06-23 12:16:40 +02:00
Matthew Bauer
f05bb6d23f
gcc: fix darwin building
...
- disable bootstrap builds on Darwin
- remove xcrun calls
- check if patchelf is available before using
- apply darwin patch for gcc4.9
- fixes #16047
- fixes #14812
2016-06-19 23:07:10 -05:00
Tuomas Tynkkynen
5fe4076683
gcc: Pass --with-mpc in crossAttrs
...
Just for consistency, it should be already coming from buildInputs
anyway.
2016-06-10 16:17:30 +03:00
Eric Litak
fa4fcaf6b4
darwin output paths
2016-05-31 16:28:05 -07:00
Eric Litak
89c9a8896b
same changes to the rest. 4.5 has inf recursion still, 4.6 too old for glibc2.23
2016-05-31 16:28:05 -07:00
Robin Gloster
2d382f3d98
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-05-30 19:39:34 +00:00
Tuomas Tynkkynen
e254750560
GCC: explicitly use some dev outputs
2016-05-19 10:04:41 +02:00
Tuomas Tynkkynen
3f8b08f506
treewide: Make explicit that 'dev' output of mpfr is used
2016-05-19 10:00:49 +02:00
Tuomas Tynkkynen
47c45e2041
treewide: Make explicit that 'dev' output of gmp is used
2016-05-19 10:00:36 +02:00
Franz Pletz
f8d481754c
Merge remote-tracking branch 'origin/master' into hardened-stdenv
2016-05-18 17:10:02 +02:00
Peter Simons
8e462995ba
Bring my stdenv.lib.maintainers user name in line with my github nick.
2016-05-16 22:49:55 +02:00
Robin Gloster
d020caa5b2
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-04-18 13:49:22 +00:00
Michael Raskin
909a46ff77
Fix gccgo by un-splitting lib output (like gcj)
2016-04-16 08:42:20 +02:00
Michael Raskin
cd5b677576
gcc49 (gcj): do not create separate lib output (cyclical dependency), fix ecj1 linking. Does not affect the hash of normal gcc49
2016-04-13 18:46:14 +02:00
Robin Gloster
7dea0e91ac
gcc/isl: move bootstrap hardening flags to new bootstrap env
2016-03-28 19:17:23 +00:00
Vladimír Čunát
09af15654f
Merge master into closure-size
...
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
Franz Pletz
aff1f4ab94
Use general hardening flag toggle lists
...
The following parameters are now available:
* hardeningDisable
To disable specific hardening flags
* hardeningEnable
To enable specific hardening flags
Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.
cc-wrapper supports the following flags:
* fortify
* stackprotector
* pie (disabled by default)
* pic
* strictoverflow
* format
* relro
* bindnow
2016-03-05 18:55:26 +01:00
Robin Gloster
402d57ee8e
bootstrap env: disable stackprotector hardening until gcc >=4.9
2016-02-22 18:32:53 +00:00
Robin Gloster
bc21db3692
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-02-19 21:16:14 +00:00
Josef Knedl
0fe58cade5
gcc: fix #12836 : build on darwin
...
Patch is based on GCC Bug 66523:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66523
2016-02-17 09:42:10 +01:00
Robin Gloster
f6d3b7a2ae
switch hardening flags
2016-01-30 16:36:57 +00:00
Franz Pletz
954e9903ad
Use a hardened stdenv by default
2016-01-30 16:36:57 +00:00
Vladimír Čunát
716aac2519
Merge branch 'staging' into closure-size
2016-01-19 09:55:31 +01:00
Eelco Dolstra
0db7ccb5c6
gcc: Respect $SOURCE_DATE_EPOCH
2016-01-05 17:21:48 +01:00
Vladimír Čunát
9d1343414a
gcc: switch back to 4.9
...
Also sync a tiny difference in docs outputs from gcc-5.
I originally assumed that people will push gcc-5 support to master
long before closure-size gets there, but I overestimated the situation.
We haven't really settled even the issue of ABI switch,
so let's use the same gcc version on closure-size and master.
2015-12-31 10:34:58 +01:00
Luca Bruno
5b0352a6a4
Merge branch 'master' into closure-size
2015-12-11 18:31:00 +01:00
Danny Wilson
f17dea3b3d
Fix compilation of GCC 4.9 on SmartOS.
...
Fix ld-solaris-wrapper never calling ld (since gcc->cc-wrapper refactor).
2015-11-16 17:20:16 +01:00
Tuomas Tynkkynen
15471a8659
gcc: Do bootstrapped compilation on MIPS and ARM as well
...
Since the multiple-output changes building a non-bootstrapped gcc
doesn't work anymore. TODO: also test if cross compilation is broken
2015-10-03 14:08:50 +02:00
Tuomas Tynkkynen
8a460bf953
gcc 4.8, 4.9: Revert conflicting info output
2015-10-03 14:08:49 +02:00
Tuomas Tynkkynen
61b4bdded4
gcc 4.9: Port multiple-outputs changes from gcc 4.8
2015-10-03 14:08:49 +02:00
Vladimír Čunát
5227fb1dd5
Merge commit staging+systemd into closure-size
...
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
Eelco Dolstra
fd38b5fa49
Revert gcc darwin fixes
...
This reverts commits cb7c053383
,
ebda45e6b9
,
4a495cfbab
because they broke Nixpkgs
evaluation.
http://hydra.nixos.org/build/24813270
2015-08-20 11:49:55 +02:00
Vladimír Čunát
e46e461685
Revert "gfortran: disable parallel building"
...
This reverts commit 3d6bd6a1fa
.
The problem wasn't fortran-specific and should be fixed now. See #9212 .
2015-08-14 18:16:00 +02:00
Vladimír Čunát
0799ebf5b7
gcc: fix parallel building ( fixes #9212 )
...
Tested building 5-times on an idle 8-core.
2015-08-14 15:49:06 +02:00
Jude Taylor
46ab7db108
remove useless CFLAGS_FOR_BUILD from configure flags in gcc
2015-07-31 11:35:42 -07:00
Jude Taylor
4a495cfbab
build gcc-4.9 on darwin
2015-07-31 11:35:42 -07:00
Peter Simons
3d6bd6a1fa
gfortran: disable parallel building to avoid weird build failures
...
More details are at 784025c747 (commitcomment-12328357)
.
2015-07-24 16:56:46 +02:00
Vladimír Čunát
855b3c48ab
gcc: fix multilib build
...
Fixes #8706 , thanks to @cpages a lot.
Also ported to gcc5, without testing that one yet.
2015-07-20 12:32:01 +02:00
William A. Kennington III
9da5943cac
gcc: 4.9.2 -> 4.9.3
2015-07-07 01:50:02 -07:00
William A. Kennington III
7eae48871f
Merge branch 'master.upstream' into staging.upstream
2015-07-01 13:38:17 -07:00
Shea Levy
145768bf9b
Unmaintain a bunch of packages
2015-07-01 08:11:05 -04:00
Eelco Dolstra
110b671c13
gcc: Put info in a separate output
2015-05-13 18:17:25 +02:00
Eelco Dolstra
7745c733eb
gcc: Remove duplicate files
2015-05-12 15:05:01 +02:00
Eelco Dolstra
e75b5351ac
gcc-4.9: Sync with changes made to the 4.8 expression
2015-05-12 14:55:18 +02:00
Vladimír Čunát
bf414c9d4f
Merge 'staging' into closure-size
...
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes
Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00
Shea Levy
e729dfbd3f
gcc-4.9: Set isGNU
...
Fixes #6787
2015-03-13 12:47:17 -04:00
Vladimír Čunát
a0bf07827b
mpc: also rename the attribute to libmpc
...
Attrnames and package names should be as close as possible to avoid confusion.
I took care not to confuse the two mpc things during the mass-replace,
so hopefully I suceeded (tarball still builds).
2015-01-17 09:55:32 +01:00
Ludovic Courtès
41b53577a8
unmaintain a bunch of packages
2015-01-13 22:33:49 +01:00
John Wiegley
28b6fb61e6
Change occurrences of gcc to the more general cc
...
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
Vladimír Čunát
4426d73ad8
gcc-4.9: maintenance update
2014-12-01 21:30:38 +01:00
Vladimír Čunát
b4214da14e
gcc_multi: sync the change to 4.6 and 4.9 as well
2014-11-13 22:38:57 +01:00
Eelco Dolstra
6de01e516d
gcc-4.9: Remove obsolete mudflap flap
2014-10-07 16:06:20 +02:00
Vladimír Čunát
031baae714
Merge branch 'staging' into v/modular
...
Conflicts (as in p/modular-stdenv):
pkgs/stdenv/linux/default.nix
2014-08-30 08:33:10 +02:00
Gergely Risko
dd3f3bdcc2
GCC >= 4.8 doesn't depend on ppl
2014-08-29 11:45:22 +02:00