Commit graph

109 commits

Author SHA1 Message Date
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
5b74540c5b treewide: Use depsBuildBuild for buildPackges.stdenv.cc 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
974b9201a5 Merge commit 'c9ca54199409324101bdee38f5b16e7656a16a22' into gcc-modernize-builder 2017-12-07 01:42:35 -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
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
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
Will Dietz
a4d5586d47 gcc: 5.4.0 -> 5.5.0
Switch to xz since there is no bz2 variant (apparently)
2017-11-01 06:00:28 -05:00
John Ericson
1dd63de9a0 Merge some Master PRs into staging
No native hashes should be changed
2017-09-21 20:11:59 -04: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
Vladimír Čunát
16cf448933
gettext, gcc5: enable stackprotector now
This has been forgotten in #29349 ?
2017-09-19 17:52:32 +02: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
0a4d102b98 gcc 5: Don't quote propagatedBuildInputs in ?-check for consistency
Forgot to do this in last commit.
2017-08-18 14:09:24 -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
6e245440d4
gcc: remove CPP workaround 2017-08-16 21:38:41 +02:00
Daiderd Jordan
206faacbcb
gcc: fix clang build
Fixes #27889

This works properly now that LD_DYLD_PATH is fixed
2017-08-13 17:58:18 +02:00
Daiderd Jordan
d93c636737
Revert "gcc: fix clang build"
This fixes the gcc build but results in a gcc that doesn't generate
valid binaries.

gcc -o hello hello.c
./hello
Killed: 9

This reverts commit 2adf36ab8c.
2017-08-09 21:37:29 +02:00
Daiderd Jordan
2adf36ab8c
gcc: fix clang build 2017-08-08 23:22:24 +02:00
Ross MacLeod
198dceccbe gcc5: set --build and --host in the case where those differ and make sure to have a build cc-wrapper around as well 2017-06-22 17:53:55 -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