Commit graph

22 commits

Author SHA1 Message Date
aszlig
625d7b9043
Merge pull request #1928 from 'cross-win-osx'.
This includes a lot of fixes for cross-building to Windows and Mac OS X
and could possibly fix things even for non-cross-builds, like for
example OpenSSL on Windows.

The main reason for merging this in 14.04 already is that we already
have runInWindowsVM in master and it doesn't work until we actually
cross-build Cygwin's setup binary as the upstream version is a fast
moving target which gets _overwritten_ on every new release.

Conflicts:
	pkgs/top-level/all-packages.nix
2014-04-21 10:00:35 +02:00
Bjørn Forsman
25f0b7cb50 gcc-{,cross-}wrapper: add 'cpp' wrapper (close #1820)
The gcc-wrapper doesn't wrap 'cpp'. This breaks some software (such as
Buildroot) because the 'cpp' they get come from the non-wrapped gcc
package which doesn't know about any standard include paths.

gcc-cross-wrapper is untested.
2014-04-02 19:05:57 +02:00
aszlig
2d17335f68
gcc-cross-wrapper: Allow to pass US X min version.
This allows to pass a new attribute osxMinVersion to crossSystem, which
specifies the minimum Mac OS X version you want to be compatible to.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
Lluís Batlle i Rossell
651734b619 gcc/gcc-cross-wrapper: making gcc47 work with uclibc
It wants pthreads, and libpthreads wants libdl, and this can
only be found with -rpath-link when cross building.
2012-12-26 22:00:33 +00:00
Lluís Batlle i Rossell
51f6aec764 Fixing the gcc-cross-wrapper; it failed after some changes related to breaking
dependencies with it. (I should never link ld.so with a NIX_LDFLAGS -rpath
forced)

I made vim, scummvm cross-build. I added prboom (that cross-builds).
Mplayer and elinks don't cross-build fine still, but are on the way.
The mplayer fails to build in a weird way; nix does not show either a gcc
error message or even the 'make' error message.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23131
2010-08-11 20:14:25 +00:00
Lluís Batlle i Rossell
d5097ad3d3 Breaking dependencies on the cross-built gcc through the gcc-cross-wrapper.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23073
2010-08-09 21:37:31 +00:00
Lluís Batlle i Rossell
ae3383e001 Making the cross-built packages not depend on the gcc cross compiler directly,
but on a nix-store path only having the cross-built gcc libraries.
This trims down a lot the runtime dependency tree for cross-built packages.

I also remove the glibc dependency on the native bash.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23040
2010-08-08 18:47:48 +00:00
Lluís Batlle i Rossell
6d15eabdc1 Merging from trunk (the callPackage change)
svn path=/nixpkgs/branches/stdenv-updates/; revision=22915
2010-08-03 08:14:13 +00:00
Lluís Batlle i Rossell
de5e1de89b Fixing the dynamic linker in the gcc-cross-wrapper so it takes also the dynamic
linker of glibc on mips (specifically ld.so.1, and not ld-*.so.? as we had before)

svn path=/nixpkgs/trunk/; revision=22912
2010-08-02 22:44:41 +00:00
Lluís Batlle i Rossell
6f2fac6466 Merging from trunk.
I hope I resolved the conflicts well (gmp and gccCross)


svn path=/nixpkgs/branches/stdenv-updates/; revision=21251
2010-04-22 21:44:33 +00:00
Lluís Batlle i Rossell
8c2af71a0f Fixing the gcc-cross-wrapper (wanting to make it work with uclibc, I had
broken it for glibc).
Now I tested that it works for both.

svn path=/nixpkgs/trunk/; revision=20519
2010-03-10 09:15:20 +00:00
Lluís Batlle i Rossell
fb6adb13ac Updating busybox. I left only a single busybox in its directory. The others, coming from the old
cross-building nixpkgs implementation, were not referenced anywhere.

This new busybox builds natively, and also cross-builds with uclibc.

I updated the uclibc config with a busybox defconfig requirement (something about RPC).

I made the gcc-cross-wrapper properly set the dynamic loader to programs.

After this, 'qemu-arm' can run the dynamically linked busybox cross built for armv5tel--linux-gnueabi.



svn path=/nixpkgs/trunk/; revision=20514
2010-03-09 22:17:38 +00:00
Lluís Batlle i Rossell
f36f99e368 Making gcc cross-buildable, at least for glibc.
svn path=/nixpkgs/branches/stdenv-updates/; revision=20454
2010-03-06 21:41:01 +00:00
Lluís Batlle i Rossell
a263cb814e Fixed some details on cross compilation. Among others:
- Stating better the guile dependencies (native/host) for guile to build
- Fixing cross-linking, through --rpath-link (ld(1) explains well about it
- Made gcc call the linker and the assembler through the gcc wrapper instead of
  directly. I thought this was the source of missing -rpath's, but the source
  of the problem ended up being the lack of --rpath-link. But I think the
  native gcc calls the wrapped ld and as, so let's do the same cross
  compiling.
- Removed the binutilsCross from the glibc expressions. Now they are built
  using the gcc-cross-wrapper, and they were built with the direct gcc and
  binutils before this change.
- I think patchelf and strip don't break the cross-compiled binaries, so I
  reallow them on cross compilation.
- I disable the checkPhase on cross compilation. This made gmp and libtool
  fail when cross compiled, iirc.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18498
2009-11-21 02:42:52 +00:00
Lluís Batlle i Rossell
4dfc635cbb Fixing the uboot cross-build.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18473
2009-11-19 21:43:03 +00:00
Lluís Batlle i Rossell
2c7fa189fb Making the definition of the cross compiling target an attribute set.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18378
2009-11-16 23:21:13 +00:00
Lluís Batlle i Rossell
3c4edd6bfa Fixing the gcc cross wrapper (removing some /usr/) so it gives proper linking.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18361
2009-11-15 21:36:13 +00:00
Eelco Dolstra
7a79d1ff6a * Remove references to substitute.sh.
svn path=/nixpkgs/trunk/; revision=7499
2006-12-27 18:17:53 +00:00
Eelco Dolstra
01fbf62a2c * nativeGlibc -> nativeLibc (gcc-cross-wrapper is probably broken
right now; should merge gcc-wrapper changes).

svn path=/nixpkgs/trunk/; revision=6876
2006-10-27 13:44:17 +00:00
Armijn Hemel
bdf35869f6 make sure we can find things like mips-linux-ar, mips-linux-strip, and so on.
Even though you could just inherit binutils it is conceptually cleaner (I
think) to make these tools available here.

svn path=/nixpkgs/trunk/; revision=4967
2006-03-02 18:03:20 +00:00
Eelco Dolstra
82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Armijn Hemel
508cd3a3e8 add a wrapper for cross compilers, which makes the correct link to the cross compiler. Only works for "gcc", haven't tried for g++ and the others
svn path=/nixpkgs/trunk/; revision=4317
2005-11-29 01:40:33 +00:00