Commit Graph

269 Commits

Author SHA1 Message Date
Lluís Batlle i Rossell
fde74242bf gcc47: Adding gcc mode, cross-building.
It's useful to build toolchains for armv7-m, to set thumb mode. It doesn't
support arm mode. chaoflow needed it.
2012-12-28 20:21:23 +01:00
Eelco Dolstra
88b11196c1 Clean up redundant "if condition then true else false" 2012-12-28 19:57:47 +01:00
Eelco Dolstra
84779a6f7d Remove unnecessary parentheses around if conditions
Pet peeve...
2012-12-28 19:54:15 +01:00
Eelco Dolstra
ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Eelco Dolstra
5be0a9acd7 Rename hostDrv -> crossDrv, buildDrv -> nativeDrv
This is for consistency with terminology in stdenv (and the terms
"hostDrv" and "buildDrv" are not very intuitive, even if they're
consistent with GNU terminology).
2012-12-28 19:08:19 +01:00
Lluís Batlle i Rossell
636303797f gcc47: moving the bootstrap logic into nix
It was in the builder.sh. Similar to the previous patch
to gcc46.
2012-12-27 15:08:17 +00:00
Lluís Batlle i Rossell
f94f53a54e gcc46: moving the bootstrap logic into nix
It was in the builder.sh.
2012-12-27 15:08:16 +00:00
Lluís Batlle i Rossell
d05b33653e gcc47: moving the bootstrap logic into nix
It was in the builder.sh. Similar to the previous patch
to gcc46.
2012-12-27 14:57:32 +00:00
Lluís Batlle i Rossell
e9365882c1 gcc46: moving the bootstrap logic into nix
It was in the builder.sh.
2012-12-27 14:54:44 +00:00
Lluís Batlle i Rossell
96b0de4c33 gcc4.7: making the cross-built gcc respect withAbi, withArch, ... 2012-12-26 22:01:51 +00:00
Lluís Batlle i Rossell
6c9002639d I forgot to undo a gcc46 unneeded change. 2012-12-26 22:01:17 +00:00
Lluís Batlle i Rossell
164a84f8f4 Restoring the gcc 4.6 builder. No need to change it. 2012-12-26 22:01:13 +00:00
Lluís Batlle i Rossell
a29b4228e9 Typo in 4.7 builder.sh 2012-12-26 22:00:53 +00:00
Lluís Batlle i Rossell
52ee2b99ee gcc47: fix on configureFlags, for cross-built gcc 2012-12-26 22:00:48 +00:00
Lluís Batlle i Rossell
43fac48f15 gcc47: trying to fix cross-building a gcc 2012-12-26 22:00:44 +00: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
2194b98565 Removing any cross-building kind of native build for the pi. 2012-12-26 22:00:29 +00:00
Lluís Batlle i Rossell
fc51895afe Get gccs understand 'fpu' 2012-12-26 22:00:20 +00:00
Lluís Batlle i Rossell
9fdd9d51bd Setting some kind of cross-compiler situation, for armv6l gnueabihf. 2012-12-26 22:00:15 +00:00
Lluís Batlle i Rossell
b520b4aeee Fixing my bash scripting of the previous commit 2012-12-26 22:00:11 +00:00
Lluís Batlle i Rossell
43fc5ae7cf Trying to fix the gcc builder; I added pi flags in the wrong if/else branch. 2012-12-26 22:00:07 +00:00
root
32c061146d Making gcc use some extra flags to build the proper hardfp gcc.
This commit breaks non-raspberrypi; just testing.
2012-12-26 22:00:02 +00:00
root
1b29d29c76 First movement to get the raspberrypi stdenv building. 2012-12-26 21:59:54 +00:00
Lluís Batlle i Rossell
1af2ada7d4 Fixing the patch in my prev commit
I thought the gcc patch from upstream would apply straight. False,
push-happy.
2012-12-26 19:29:55 +01:00
Lluís Batlle i Rossell
69f52a7916 gcc46: extending the gcc 4.6.3 patch about siginfo to other archs
I took the gcc commit as reference.
2012-12-26 19:18:29 +01:00
Eelco Dolstra
5e256ccc88 Merge remote-tracking branch 'origin/master' into stdenv-updates 2012-12-04 17:12:35 +01:00
Eelco Dolstra
72684fb42f Remove support for the obsolete powerpc-darwin and i686-darwin platforms 2012-11-29 14:10:49 +01:00
Eelco Dolstra
5553546c21 Remove a bunch of unreferenced files
Plus a small number of obsolete packages (like old versions of qemu).
2012-11-29 13:43:37 +01:00
Ludovic Courtès
1ac274784b gcc 4.7: don't pass `--with-native-system-header-dir' when cross-compiling 2012-11-29 10:58:41 +01:00
Ludovic Courtès
cd30b83fd8 gcc 4.7: when cross-building for GNU, patch gnu.h', not i386/gnu.h' 2012-11-29 10:58:41 +01:00
Ludovic Courtès
2aea62bd07 gcc 4.7: when cross-building for GNU, patch gnu-user.h', not gnu.h' 2012-11-29 10:07:21 +01:00
Peter Simons
f67d5a9a39 Merge branch 'master' into stdenv-updates.
Conflicts have been resolved in:

        pkgs/tools/misc/file/default.nix
        pkgs/top-level/all-packages.nix
        pkgs/top-level/python-packages.nix
2012-11-21 16:20:36 +01:00
Ludovic Courtès
eb08033e06 gcc 4.7: remove attempt to modify non-existent file 2012-11-17 20:54:29 +01:00
Ludovic Courtès
ebe07c644f gcc 4.7: remove now useless GNU/Hurd-related patch 2012-11-15 09:03:43 +01:00
Lluís Batlle i Rossell
77e983a7d4 ghdl: building the standard libs with -O2
That leads to faster simulations.
2012-11-13 15:16:32 +01:00
Eelco Dolstra
e4a11b4d92 gcc: Get rid of lib64 2012-10-16 14:34:27 -04:00
Lluís Batlle i Rossell
612ed601f2 gcc47: updating to 4.7.2 2012-09-24 15:24:01 +02:00
Eelco Dolstra
6d27c9d5c3 gcc: Fix building on 32-bit Glibc 2.16
http://hydra.nixos.org/build/3046633
2012-09-21 10:53:56 -04:00
Peter Simons
1f18f24387 gcc-4.7: download source code from a mirror instead of hard-coding the URL of the master site 2012-08-22 14:30:15 +02:00
Ludovic Courtès
255c72ede6 gcc 4.5: Update to 4.5.4. 2012-08-20 10:15:17 +02:00
Lluís Batlle i Rossell
f682ff3521 gcc47: disabling parallel build if profiled bootstrap required
The gccinstall manual says that parallel building with a profiled
bootstrap is not supported. As we don't have much means of checking
if our profiled bootstrap with parallel build was good or bad, I
propose going to safe terrain.
2012-08-03 19:59:43 +02:00
Lluís Batlle i Rossell
592b980931 gccgo46: removing it. I set gccgo = gcc47
gccgo46 did not build for me, and maybe never built at all.
The same recipe, though, worked fine for gcc47. So let's go with gcc47.
2012-08-03 19:52:19 +02:00
Lluís Batlle i Rossell
a375ffa53f Adding gccgo for gcc4.7.
I tested hello world, and it works.
2012-08-03 19:49:53 +02:00
Lluís Batlle i Rossell
7954b01342 Adding gcc 4.7.1. 2012-08-02 12:53:30 +02:00
Lluís Batlle i Rossell
44b2d21212 Mingw changes to gcc.
Removing a gcc flag, --enable-version-specific-runtime-libs, that put gcc libs
in a speparate directory instead of /lib; this broke the installation of
libgcc_s.a for the case of "--enable-shared" in mingw-w64. And we already have all gccs in directories apart.

I also add the option --enable-fully-dynamic-string, which is used in the
prebuilt mingw64 toolchain; this way nixpkgs creates ABI-compatible binaries
with mingw64 upstream. (told by jon_y on irc ##mingw)


svn path=/nixpkgs/trunk/; revision=34242
2012-05-25 13:49:01 +00:00
Lluís Batlle i Rossell
e9186a03b9 Making gcc not build libgomp with uclibc, as it lacks '-ldl' in its checks and
I don't know how to add it.
This makes gcc build with uclibc.


svn path=/nixpkgs/trunk/; revision=34231
2012-05-24 21:45:49 +00:00
Lluís Batlle i Rossell
d9fdfffef9 Fixing the mingw cross gcc. I set it not to build shared libraries, because its specs for
shared libraries are wrong.
It should run "-lstdc++ -lsupc++" if libstdc++-6.dll is available, and instead it runs
"-lstdc++" and therefore lack symbols.

I think simply few people use shared gcc libs on mingw.


svn path=/nixpkgs/trunk/; revision=34225
2012-05-24 19:02:27 +00:00
Ludovic Courtès
b53f6b9dd0 GCC 4.6: Don't bail out when `gnused' isn't provided.
svn path=/nixpkgs/trunk/; revision=33896
2012-04-23 16:28:06 +00:00
Ludovic Courtès
29bc53265d Darwin: Use GCC 4.6 in `stdenvNix'.
svn path=/nixpkgs/trunk/; revision=33894
2012-04-23 15:47:37 +00:00
Ludovic Courtès
47fcc276ae Apple GCC: Fix `no-sys-dirs.patch' so that it applies.
svn path=/nixpkgs/trunk/; revision=33773
2012-04-13 12:41:36 +00:00
Ludovic Courtès
cc6f814a8f GFortran 4.6: Add patch to fix the output of `-v'.
svn path=/nixpkgs/trunk/; revision=33154
2012-03-16 13:11:41 +00:00
Ludovic Courtès
09531a24ad GCC 4.6: Fix `gccCrossStageFinal' for GNU/Hurd.
svn path=/nixpkgs/trunk/; revision=32853
2012-03-07 16:01:07 +00:00
Ludovic Courtès
8bab00e0ad GCC 4.6: Add patch to fix GNU/Hurd builds.
svn path=/nixpkgs/trunk/; revision=32837
2012-03-06 21:33:20 +00:00
Eelco Dolstra
a88fdf8ef7 * Oops.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32737
2012-03-02 09:35:51 +00:00
Eelco Dolstra
a753c4a170 * GCC 4.6.3 and 4.5.3.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32734
2012-03-01 23:15:21 +00:00
Eelco Dolstra
148e234aab * Fix broken symlink.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32727
2012-03-01 21:40:46 +00:00
Ludovic Courtès
79232c5f54 GCC 4.6: Enable plug-in support by default.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32502
2012-02-23 00:47:31 +00:00
Ludovic Courtès
5fb4901886 GCC 4.6: Really disable stripping when `stripped' is false.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32501
2012-02-23 00:47:17 +00:00
Eelco Dolstra
6c2de318ad * Move all gcc versions to development/compilers/gcc.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32371
2012-02-17 21:47:08 +00:00
Eelco Dolstra
1ab4a9324c * The `patch' command is now part of stdenv, so it no longer needs to
be passed to derivations that need to apply patches.
* GCC 3.4 is now the default compiler (old GCC renamed to `gcc-3.3').
* The temporary GCCs built during the stdenvLinux bootstrap are now
  built without C++ support and without profiling.
* Remove fixincl in GCC 3.4 to prevent a retained dependency on the
  previous GCC.
* Always set $prefix in setup.sh, even when there is no configure
  script.

svn path=/nixpkgs/trunk/; revision=1444
2004-09-18 17:23:18 +00:00
Eelco Dolstra
beaff0a892 * Ensure that when building gcc, libstdc++ is linked against the
libgcc of the gcc being built, not the gcc building it.
* Only include a directory in the rpath of an executable/library if it
  is actually used.  Before, the `/lib' directory of every build input
  was added to the rpath, causing many unnecessary retained
  dependencies.  For instance, Perl has a `/lib' directory, but most
  applications whose build process uses Perl don't actually link
  against Perl.  (Also added a test for this.)
* After building glibc, remove glibcbug, to prevent a retained
  dependency on gcc.
* Add a newline after `building X' in GNU Make.

svn path=/nixpkgs/trunk/; revision=911
2004-04-04 22:02:41 +00:00
Eelco Dolstra
12ae5363ea * Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
2004-03-29 17:23:01 +00:00
Eelco Dolstra
8c4a80b585 * Upgrade to gcc 3.3.3. Starting at 3.3.3, the gcc makefile checks
whether the system header file directory actually exists (when
  calling fixinc), so passing a non-existent directory no longer
  works.  Instead we make a empty dummy directory.

svn path=/nixpkgs/trunk/; revision=858
2004-03-27 16:35:59 +00:00
Eelco Dolstra
5941f66f0e * The stdenv setup script now defines a generic builder that allows
builders for typical Autoconf-style to be much shorten, e.g.,

    . $stdenv/setup
    genericBuild

  The generic builder does lots of stuff automatically:

  - Unpacks source archives specified by $src or $srcs (it knows about
    gzip, bzip2, tar, zip, and unpacked source trees).
  - Determines the source tree.
  - Applies patches specified by $patches.
  - Fixes libtool not to search for libraries in /lib etc.
  - Runs `configure'.
  - Runs `make'.
  - Runs `make install'.
  - Strips debug information from static libraries.
  - Writes nested log information (in the format accepted by
    `log2xml').

  There are also lots of hooks and variables to customise the generic
  builder.  See `stdenv/generic/docs.txt'.

* Adapted the base packages (i.e., the ones used by stdenv) to use the
  generic builder.

* We now use `curl' instead of `wget' to download files in `fetchurl'.

* Neither `curl' nor `wget' are part of stdenv.  We shouldn't
  encourage people to download stuff in builders (impure!).

* Updated some packages.

* `buildinputs' is now `buildInputs' (but the old name also works).

* `findInputs' in the setup script now prevents inputs from being
  processed multiple times (which could happen, e.g., if an input was
  a propagated input of several other inputs; this caused the size
  variables like $PATH to blow up exponentially in the worst case).

* Patched GNU Make to write nested log information in the format
  accepted by `log2xml'.  Also, prior to writing the build command,
  Make now writes a line `building X' to indicate what is being
  built.  This is unfortunately often obscured by the gigantic tool
  invocations in many Makefiles.  The actual build commands are marked
  `unimportant' so that they don't clutter pages generated by
  `log2html'.


svn path=/nixpkgs/trunk/; revision=845
2004-03-19 16:53:04 +00:00
Eelco Dolstra
de13527000 * Finally got stdenv-nix-linux working again. Still not perfect,
though.
* libxml2: upgrade to latest.
* octavefront/rna: keep debug info.

svn path=/nixpkgs/trunk/; revision=830
2004-03-11 17:26:14 +00:00
Eelco Dolstra
a1b3ae0c81 * stdenv-nix-linux should more-or-less work again now.
svn path=/nixpkgs/trunk/; revision=826
2004-03-09 17:16:02 +00:00
Eelco Dolstra
ab73ec398b * Removed the old gcc.
svn path=/nixpkgs/trunk/; revision=825
2004-03-09 17:10:23 +00:00
Eelco Dolstra
026ff9466a * Rename .fix -> .nix.
svn path=/nixpkgs/trunk/; revision=511
2003-11-18 12:12:56 +00:00
Eelco Dolstra
48c3faca51 * Renamed pkgs-ng to pkgs.
svn path=/nixpkgs/trunk/; revision=502
2003-11-14 09:59:13 +00:00