John Ericson
0f5c804631
gcc, binutils: Get rid of 32-bit ARM configure flag exception
...
Now that we do `--enable-targes=all`, there is no risk of missing the
needed emulation.
This reverts commit ebc9b161cd
.
This reverts commit 88efc22b44
.
2017-12-30 22:04:22 -05:00
John Ericson
9cda2f5559
gcc: Fix deps, for cross and consistency
...
Mainly making sure we have tools to build target libs
2017-12-30 22:04:22 -05:00
John Ericson
114a9b6253
gcc: Let cc-wrapper's setup hook define any tool env vars we need
2017-12-30 22:04:21 -05:00
John Ericson
bc23afe5c7
gcc: Add build->build dep for C compilers
...
5 already had this, but I forgot the other versions.
2017-12-30 22:04:21 -05:00
John Ericson
5db559f855
Merge branch 'mingw32-w64-fix' into ericson2314-cross-base
2017-12-29 15:46:02 -05:00
John Ericson
bc3a6e260a
Merge commit '3afe325a3e2f906ba512fb7a2f28f79496711592' into mingw32-w64-fix
2017-12-29 15:28:56 -05:00
John Ericson
5d336d36bb
Merge commit 'e82bd498d1a2a28fb20249569a6f49fcaab9aca8' into mingw32-w64-fix
2017-12-29 15:28:49 -05:00
John Ericson
169227bfd2
Merge commit '3a59cd87f26cc59c91fb821749b1ec0d64922f87' into mingw32-w64-fix
2017-12-29 14:24:10 -05:00
John Ericson
2365e2ffcd
Merge commit '51948eab9415fde1825dea5c7d31b99b2e1a0fdb' into mingw32-w64-fix
2017-12-29 14:23:05 -05:00
Bojan Nikolic
771bae04e8
gcc: Enable SSP and shared libs in the final stage for MinGW
...
Hardening on by default now that we don't use the cross wrapper. In
turn, hardening requires libssp in particular.
2017-12-29 13:27:02 -05:00
John Ericson
12e0672d88
gcc: Adjust builder.sh to find some things in bintools-wrapper instead
2017-12-13 16:08:19 -05:00
John Ericson
3afe325a3e
Merge commit '43d5c5d6db3ce33f3cf1d17ba43c7374257466ec' into gcc-modernize-builder
2017-12-07 02:19:04 -05:00
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
703a9f93c1
gcc6: Restore missing platform flags
...
This was missed in commit 1c1207220f
("gcc: Refactor treatment of configure flags"), all other GCC versions
have it right.
2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
d7a0695c43
gcc7: Reduce diff to gcc6
2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
aa3d195a30
gcc5: Reduce diff to gcc6
2017-11-29 23:09:16 +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
Piotr Bogdan
7112718a20
gcj: fix build with glibc 2.26
2017-11-09 20:50:21 +00:00
John Ericson
0101856765
Merge pull request #30549 from obsidiansystems/bintools
...
treewide: Introduce stdenv.cc.bintools
2017-11-08 14:20:48 -05: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
Vladimír Čunát
0c01c58aec
gcc6: fix build with new glibc, by upstream patches
2017-11-05 19:09:53 +01:00
Vladimír Čunát
80c57fd96a
gcj, gccgo: port fixes for 4.9 to 6
...
Tested that pdftk builds on linux again, and gccgo6 builds hello-world.
The default gcc doesn't rebuild.
2017-09-28 21:52:28 +02: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
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
Daiderd Jordan
261cbdbe19
gcc6: port darwin changes from 5.x
2017-08-17 21:00:05 +02:00
Eelco Dolstra
07176ed6f1
gcc: 6.3.0 -> 6.4.0
2017-07-04 18:39:18 +02: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