summary refs log tree commit diff
path: root/pkgs/build-support/gcc-cross-wrapper/default.nix
Commit message (Collapse)AuthorAge
* Big fixes in the cross build:Lluís Batlle i Rossell2009-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | - Before this changes, cflags and ldflags for the native and the cross compiler got mixed. Not all the gcc-wrapper/gcc-cross-wrapper variables are independant now, but enough, I think. - Fixed the generic stdenv expression, which did a big mess on buildInputs and buildNativeInputs. Now it distinguishes when there is a stdenvCross or not. Maybe we should have a single stdenv and forget about the stdenvCross adapter - this could end in a stdenv a bit complex, but simpler than the generic stdenv + adapter. - Added basic support in pkgconfig for cross-builds: a single PKG_CONFIG_PATH now works for both the cross and the native compilers, but I think this should work well for most cases I can think of. - I tried to fix the guile expression to cross-biuld; guile is built, but not its manual, so the derivation still fails. Guile requires patching to cross-build, as far as I understnad. - Made the glibcCross build to be done through the usage of a gcc-cross-wrapper over the gcc-cross-stage-static, instead of using it directly. - Trying to make physfs (a neverball dependency) cross build. - Updated the gcc expression to support building a cross compiler without getting derivation variables mixed with those of the stdenvCross. svn path=/nixpkgs/branches/stdenv-updates/; revision=18534
* Fixed some details on cross compilation. Among others:Lluís Batlle i Rossell2009-11-21
| | | | | | | | | | | | | | | | | | | | - 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
* Trying to move all stdenv cross-compiling details out of the stdenv expression,Lluís Batlle i Rossell2009-11-17
| | | | | | | into a stdenv adapater. svn path=/nixpkgs/branches/stdenv-updates/; revision=18397
* Making the definition of the cross compiling target an attribute set.Lluís Batlle i Rossell2009-11-16
| | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=18378
* My first attempt at getting cross compilers in nixpkgs.Lluís Batlle i Rossell2009-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * Remove references to substitute.sh.Eelco Dolstra2006-12-27
| | | | svn path=/nixpkgs/trunk/; revision=7499
* * nativeGlibc -> nativeLibc (gcc-cross-wrapper is probably brokenEelco Dolstra2006-10-27
| | | | | | right now; should merge gcc-wrapper changes). svn path=/nixpkgs/trunk/; revision=6876
* * stdenv.mkDerivation now takes an optional attribute "meta" thatEelco Dolstra2006-03-10
| | | | | | | | | | | | | | | | | | 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
* add a wrapper for cross compilers, which makes the correct link to the cross ↵Armijn Hemel2005-11-29
compiler. Only works for "gcc", haven't tried for g++ and the others svn path=/nixpkgs/trunk/; revision=4317