Commit graph

11 commits

Author SHA1 Message Date
Lluís Batlle i Rossell 0c631f6181 Trying to move all stdenv cross-compiling details out of the stdenv expression,
into a stdenv adapater.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18397
2009-11-17 21:14:57 +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
Lluís Batlle i Rossell 2aba922d30 My first attempt at getting cross compilers in nixpkgs.
My idea is to provide special stdenv expressions that will contain in the path
additional cross compilers. As most expressions for programs accept a stdenv parameter, 
we could substitute this parameter with the special stdenv, which will have a
generic builder that attempts the usual "--target=..." and can additionally
have an env variable like "cross" with the target architecture set.
So, finally we could have additional expressions like this:

bashRealArm = makeOverridable (import ../shells/bash) {
    inherit fetchurl bison;
    stdenv = stdenvCross "armv5tel-unknown-linux-gnueabi";
};

Meanwhile it does not work - I still cannot get the cross-gcc to build.

I think it does not fill the previous expressions with a lot of noise, so I
think it may be a good path to follow.

I only touched some files of the current stdenv: gcc-4.3, kernel headers
2.6.28, glibc 2.9, ...

I tried to use the gcc-cross-wrapper, that may be very outdated. Maybe I will
update it, or update the gcc-wrapper expression to make it fit the cross tools,
but meanwhile I even cannot build gcc, so I have not tested the wrapper.

This new idea on cross compiling is not similar to that of the
nixpkgs/branches/cross-compilation, which mostly added bare new expressions for
anything to be cross compiled, if I understood it correctly.

I cared not to break anything of the usual stdenv in all this work.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18343
2009-11-14 08:11:30 +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
Eelco Dolstra 09a9cae715 * Merged the usability branch (from trunk@4749 to branches/usability@5087).
svn path=/nixpkgs/trunk/; revision=5088
2006-03-24 12:25:19 +00:00
Eelco Dolstra baec8f5b38 * stdenv.mkDerivation now takes an optional attribute "meta" that
contains arbitrary information about a package, like this:

  meta = {
    homepage = "http://gcc.gnu.org/";
    license = "GPL/LGPL";
    description = "GNU Compiler Collection, 4.0.x";
  };

  The "meta" attribute is not passed to the actual derivation
  operation, so it's not a dependency --- changes to "meta" attributes
  don't trigger a recompilation.

  Now we have to standardise some useful attributes ;-)

svn path=/nixpkgs/branches/usability/; revision=5024
2006-03-10 16:12:46 +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