summary refs log tree commit diff
path: root/pkgs/test/simple/builder.sh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-08 16:02:46 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-08 16:02:46 +0000
commitce50734cf067496ae50d1a6fd139fc03de283cbc (patch)
tree8603be7a557177d8646093c4edf7bdb097577b11 /pkgs/test/simple/builder.sh
parent1b8e9faf08d2bb5fe83464d8380dabc52982f935 (diff)
downloadnixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar.gz
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar.bz2
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar.lz
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar.xz
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.tar.zst
nixlib-ce50734cf067496ae50d1a6fd139fc03de283cbc.zip
* Started reorganising stdenv:
  - gcc/ld-wrappers have been factored out into a separate
    derivation.  This allows a working gcc to be installed in the user
    environment.  (Previously the Nix gcc didn't work because it
    needed a whole bunch of flags to point to glibc.)
    
  - Better modularity: packages can specify hooks into the setup
    scripts.  For instance, setup no longer knows about the
    PKG_CONFIG_PATH variable; pkgconfig can set it up instead.

  - gcc not longer depends on binutils.  This simplifies the bootstrap
    process.

svn path=/nixpkgs/trunk/; revision=816
Diffstat (limited to 'pkgs/test/simple/builder.sh')
-rwxr-xr-xpkgs/test/simple/builder.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/test/simple/builder.sh b/pkgs/test/simple/builder.sh
new file mode 100755
index 000000000000..c155bdc36155
--- /dev/null
+++ b/pkgs/test/simple/builder.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+
+export NIX_DEBUG=1
+
+. $stdenv/setup
+
+export NIX_CFLAGS_COMPILE="-v $NIX_CFLAGS_COMPILE"
+
+mkdir $out
+mkdir $out/bin
+
+cat > hello.c <<EOF
+#include <stdio.h>
+
+int main(int argc, char * * argv)
+{
+    printf("Hello World!\n");
+    return 0;
+}
+EOF
+
+gcc hello.c -o $out/bin/hello
+
+$out/bin/hello
+
+cat > hello2.cc <<EOF
+#include <iostream>
+
+int main(int argc, char * * argv)
+{
+    std::cout << "Hello World!\n";
+    std::cout << VALUE << std::endl;
+    return 0;
+}
+EOF
+
+g++ hello2.cc -o $out/bin/hello2 -DVALUE="1 + 2 * 3"
+
+$out/bin/hello2
+
+ld -v
\ No newline at end of file