Matthew Bauer
2634d37617
systems/examples: add i686 & x86-64 embedded
...
Fixes #28160
2018-10-30 13:46:01 -05:00
Matthew Bauer
52dbd3380e
systems/parse.nix: support weird system configs
...
There are some weird ones out there that don’t follow any pattern:
- arm-none-eabi
- powerpc-none-eabi
- aarch64-none-elf
2018-10-29 14:34:10 -05: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
Matthew Bauer
72e3b2a662
systems: add avrlibc for avr systems
2018-10-29 14:34:09 -05:00
Matthew Bauer
d59a9ac7cf
avr: use new compilation infrastructure
...
Gets rid of:
avrbinutils
avrgcc
to replace with:
pkgsCross.avr.buildPackages.binutils
pkgsCross.avr.buildPackages.gcc
2018-10-29 14:34:09 -05:00
Matthew Bauer
4a12a9321c
tests/systems.nix: fix tests
...
these weren’t being run correctly
2018-10-18 14:12:49 -05:00
Matthew Bauer
c8040003f0
Correctly set windows doubles
...
mingw is the toolchain name but it is actually run on a window kernel
2018-10-17 17:03:00 -05:00
Matthew Bauer
45cc6e2a42
lib/systems: use lookup for uname.system
...
This is a little bit cleaner and avoids the if ... else if ... chain.
2018-10-17 14:43:49 -05:00
Matthew Bauer
8652631b13
systems/doubles.nix: add mingw doubles
...
this makes it easier to show what supports windows vs. unix.
2018-10-16 21:56:58 -05:00
Matthew Bauer
0e0894c37d
lib/systems: add uname attrs
2018-10-16 21:48:43 -05:00
Ben Wolsieffer
50e947f529
lib/systems: use correct config for armv7l-hf-multiplatform
2018-10-06 01:01:07 -04:00
John Ericson
6769437186
androidndk: Add Darwin support
...
Also switch Linux to using the official sha1 hashes for consistency.
They are gotten from https://developer.android.com/ndk/downloads/ .
2018-09-17 22:34:37 -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
CrystalGamma
72d161f548
[RFC] ppc64le enablement ( #45340 )
...
* ppc64le enablement
* gcc, glibc: properly handle __float128
* lib/systems, stdenv: syntax cleanup
* gcc7: remove ugly hack
* gcc: add/update __float128 flags
* stdenv: add another pair of quotes for consistency
* gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
2018-08-21 15:31:34 -04:00
Matthew Bauer
a22797d356
systems: fix netbsd triple parsing
...
binutils expects x86_64-unknown-netbsd<version> (only 3 parts!). Any other combo seems to fail.
Also handle darwin versions similarly.
/cc @Ericson2314
2018-07-28 19:54:09 -04:00
John Q Crosscompiler
7cc62144b2
systems: Allow detection of powerpc and sparc
2018-07-26 09:33:36 -04:00
Matthew Bauer
0bfffbc5e1
xcode: add xcodePlatform to system
...
This give us a little bit more control over what target we are using.
Eventually we can target other things like WatchOS or MacOS.
2018-06-25 22:18:23 -04:00
Matthew Bauer
9b0b31d981
xcode: add xcodeVer to system
...
This version number controls which xcode version to use when building
cross to iOS.
2018-06-25 21:57:24 -04:00
Matthew Bauer
c8fd285c8d
android: add ndkVer to resolve ndk ambiguity
...
It wasn’t exactly clear which NDK you were using previously. This adds
an attribute to system that handles what version of the NDK we should
use when building things.
/cc @Ericson2314
2018-06-22 11:06:17 -04:00
Matthew Bauer
cf09ffe9aa
android: Use NDK 17 for aarch32
2018-06-22 09:33:25 -04:00
Ben Wolsieffer
7cb01d58b2
platforms/raspberrypi: enable kernelAutoModules
2018-06-12 20:44:23 +03:00
Tuomas Tynkkynen
e864247f08
Merge branch 'plat-fix-for-merge-2' into master
2018-06-01 20:08:08 +03:00
Tuomas Tynkkynen
27bb4da344
platforms.nix: More rpi2 cleanup
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
3abdd4f1e3
platforms.nix: Clean up obsolete cruft from raspberrypi2
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
db2988f7bd
platforms.nix: Clean up obsolete cruft from raspberrypi
...
Works fine without, and the 'DRM n' is actually preventing the mainline
VC4 driver from building.
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
96edbe4a0e
linux_rpi: Specify defconfig in kernel expression
...
In particular, now the mainline kernel can be built on the RPi 1 as well
(so kernelBaseConfig should always be a mainline defconfig from now on).
And RPi 2 users can now use linux_rpi without doing the
`nixpkgs.config.platform = lib.systems.platforms.raspberrypi2;` dance.
2018-05-31 18:06:09 +03:00
John Ericson
72fa40f72d
lib: Fix nix-env -qaP -f . --xml --meta
...
A merge undid my fix in d437f2c365
.
2018-05-29 13:06:17 -04:00
Jan Malakhovski
ad35019501
Merge branch 'master' into staging
...
Fixed conflicts:
- lib/systems/for-meta.nix: in favor of staging
- pkgs/os-specific/darwin/xcode/default.nix: in favor of master
2018-05-26 00:20:17 +00:00
John Ericson
d437f2c365
lib: Fix nix-env -qaP -f . --xml --meta
...
The function value cannot be serialized so nix-env was mad. Turns out we can
just remove it like we do in `lib/systems/inspect.nix`.
2018-05-24 10:43:14 -04:00
Tuomas Tynkkynen
003473613a
Merge remote-tracking branch 'upstream/master' into staging
...
Conflicts:
pkgs/top-level/all-packages.nix
2018-05-18 03:54:38 +03:00
Bastian Köcher
832a8ca087
androidndk: Fix usage as crossSystem
2018-05-17 17:22:27 +02:00
John Ericson
2c5d915200
Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into staging
2018-05-13 01:02:09 -04:00
John Ericson
92b7a814f2
Merge branch 'fix-gcc-with-float'
2018-05-12 15:21:30 -04:00
John Ericson
f2004e6287
lib: Fix float handling for Aarch32
...
Forgot to adjust default so abi with explicit float attr would be used.
2018-05-12 15:18:31 -04:00
John Ericson
6f40d18d44
prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a
...
(cherry picked from commit 827ef09140
)
2018-05-12 15:16:16 -04:00
John Ericson
6a96dc0417
lib/system: Remove float from androideabi
...
There are two different official variations which differ in their float
support, so such a blanket statement is invalid.
`lib.systems.platforms.*android` already handles each case correctly.
Correcting an error in 827ef09140
.
2018-05-11 20:16:28 -04:00
John Ericson
827ef09140
prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a
2018-05-11 19:17:35 -04:00
John Ericson
28bacc2093
lib/systems: Add assertion to "android" ABI
...
This is analogous to the GNU assertion.
2018-05-11 19:03:07 -04:00
John Ericson
f4de669777
lib/systems/inspect: Fix after assertions
...
Function are never equal in Nix, so we need to filter out this attribute
in ABIs.
2018-05-11 19:02:50 -04:00
John Ericson
98a1b89945
Merge pull request #40385 from obsidiansystems/lib-android-platforms
...
lib: Add 32-bit Android platforms
2018-05-11 19:01:22 -04:00
John Ericson
e3f6c6d18d
lib: Add 32-bit Android platforms
2018-05-11 18:41:55 -04:00
John Ericson
81387c2e78
Merge remote-tracking branch 'upstream/master' into staging
2018-05-11 17:12:04 -04:00
John Ericson
0a77a72895
Merge pull request #40378 from obsidiansystems/lib-platform-sort
...
lib/systems: Sort platforms, and space CPUs
2018-05-11 17:10:49 -04:00
John Ericson
341794a4b9
lib/systems: Sort platforms, and space CPUs
2018-05-11 15:02:18 -04:00
John Ericson
ee4b56edd3
Merge remote-tracking branch 'upstream/master' into staging
2018-05-11 14:36:08 -04:00
John Ericson
f18ddabee7
Merge remote-tracking branch 'upstream/master' into lib-float
2018-05-10 18:13:00 -04:00
John Ericson
1fe81a4bcd
lib: Clean up float/fpu options
...
ARM ABIs now have a float field. This is used as a fallback to lessen
our use of `platform.gcc.float`. I didn't know what the MIPs convention
is so I kept using `platform.gcc.float` in that case.
2018-05-10 18:02:00 -04:00
John Ericson
67db915a43
Merge remote-tracking branch 'upstream/master' into staging
2018-05-10 16:35:04 -04:00
John Ericson
58b2e875c2
lib/systems: Prohibit "gnu" ABI (*-gnu) with 32-bit ARM
...
It is ambiguous, and therefore banned within GCC.
2018-05-10 15:05:23 -04:00
John Ericson
006422d08d
Merge commit 'feb648ce59ffbed94c58133eb7aa2761992a35e1' into staging
2018-05-10 01:55:26 -04:00