Eelco Dolstra
49a385096e
Initial commit (imported from the Nix repo)
2013-12-10 15:54:34 +01:00
Shea Levy
e36229d27f
Bump language version for new storePath feature
...
This will allow e.g. channel expressions to use builtins.storePath IFF
it is safe to do so without knowing if the path is valid yet.
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-10 15:07:04 +01:00
Shea Levy
22d665019a
builtins.storePath: Try to substitute the path if it is not yet valid
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-10 15:07:04 +01:00
Eelco Dolstra
a6add93d73
Garbage collector: Release locks on temporary root files
...
This allows processes waiting for such locks to proceed during the
trash deletion phase of the garbage collector.
2013-12-10 13:13:59 +01:00
Eelco Dolstra
c5b8fe3151
Print a trace message if a build fails due to the platform being unknown
2013-12-05 14:31:57 -05:00
Eelco Dolstra
bf8b66adcf
Add missing file
2013-12-04 13:41:32 -05:00
Eelco Dolstra
f3cf0436b5
Install bsdiff and bspatch in $(libexecdir)/nix
2013-12-02 20:21:31 +00:00
Eelco Dolstra
0202ce6b94
Add support for ‘make installcheck’
2013-11-25 18:47:03 +01:00
Eelco Dolstra
9285f0aa2b
Add a Makefile for the Perl stuff
2013-11-25 16:38:33 +00:00
Eelco Dolstra
8f08046606
Expand configure variables before writing config.status
...
This way, we can use config.status for generating scripts/* (without
ending up with lines like "#! /usr/bin/perl -I${libexecdir}/...").
2013-11-25 15:52:14 +00:00
Eelco Dolstra
7ce0e05ad8
Rename Makefile.new -> Makefile
2013-11-25 15:25:13 +00:00
Eelco Dolstra
962551a071
Add a Makefile for the scripts directory
2013-11-25 15:17:16 +00:00
Eelco Dolstra
1a1d8b073a
Add a Makefile for bsdiff
2013-11-25 11:39:21 +00:00
Eelco Dolstra
784feb6839
Let ‘make clean’ delete instantiated template files
2013-11-25 11:29:13 +00:00
Eelco Dolstra
cac06ed0a4
Remove obsolete setting of $CC_FOR_BUILD
2013-11-25 11:26:51 +00:00
Eelco Dolstra
b225ccb654
Add config.guess, config.sub and install-sh
...
Autoreconf doesn't install these if you're not using Automake.
2013-11-25 11:26:02 +00:00
Eelco Dolstra
0c504a756c
Don't install Libtool
2013-11-25 11:25:27 +00:00
Eelco Dolstra
2cc591c7b5
Don't instantiate Automake makefiles
2013-11-25 11:05:51 +00:00
Eelco Dolstra
79b7c596a9
Use create-dir for installing dynamic libraries
2013-11-25 10:17:37 +00:00
Eelco Dolstra
ed0a8dd71a
Add a function for instantiating Autoconf *.in files
2013-11-25 10:16:07 +00:00
Eelco Dolstra
f980755766
Split Makefile.lib into several *.mk files
2013-11-25 09:50:35 +00:00
Eelco Dolstra
e9b6397d2f
Add a rule for creating directories
...
The tricky thing here is that if you have a directory as a
prerequisite, you need to declare it as a "order-only prerequisite"
("dir/prog: stuff | dir"), otherwise the target will be rebuilt every
time because the timestamp on the directory keeps changing.
2013-11-25 09:17:02 +00:00
Eelco Dolstra
4315acb8c0
Add a generic rule for installing files
2013-11-25 08:55:19 +00:00
Eelco Dolstra
c7547cff19
Install into $(libdir) instead of $(pkglibdir)
...
We don't need $(pkglibdir) anymore, since the libraries themselves
have a "nix" prefix now.
2013-11-23 23:56:23 +00:00
Eelco Dolstra
2bd0fcc966
Use libnix as a prefix for all Nix libraries
...
In particular "libutil" was always a problem because it collides with
Glibc's libutil. Even if we install into $(libdir)/nix, the linker
sometimes got confused (e.g. if a program links against libstore but
not libutil, then ld would report undefined symbols in libstore
because it was looking at Glibc's libutil).
2013-11-23 23:53:41 +00:00
Eelco Dolstra
f267ff16b4
Allow libraries to set an actual name different from the symbolic name
2013-11-23 23:49:34 +00:00
Eelco Dolstra
abb5bd66de
Add Makefile for nix-log2xml
2013-11-23 23:42:50 +00:00
Eelco Dolstra
07c87a8e9e
Consistent naming
2013-11-24 00:17:45 +01:00
Eelco Dolstra
c1f3a1a89b
Disallow undefined symbols in dynamic libraries by default
...
This encourages that each library declares its own dependencies
properly.
2013-11-24 00:10:00 +01:00
Eelco Dolstra
5a1114ecdb
Drop the dependency on libgc in libmain
...
Instead, libexpr now depends on libgc. This means commands like
nix-store that don't do any evaluation no longer require libgc.
2013-11-23 20:19:36 +00:00
Eelco Dolstra
06a8ac96e7
Initialise Boehm GC only once
2013-11-23 20:15:57 +00:00
Eelco Dolstra
90dfb37f14
Allow (dynamic) libraries to depend on other libraries
2013-11-23 20:11:02 +00:00
Eelco Dolstra
14772783e6
Support installation of dynamically linked programs
...
Here we need to re-link programs so that their RPATH refers to the
installed libraries.
2013-11-23 20:32:20 +01:00
Eelco Dolstra
611868a909
Implement basic ‘make install’
2013-11-23 17:04:27 +00:00
Eelco Dolstra
d1b3ca0b4a
Improve building dynamic libraries
...
They now get a correct RPATH.
2013-11-23 17:26:43 +01:00
Eelco Dolstra
6dd74b48f8
Support building dynamic libraries
2013-11-22 20:56:58 +00:00
Eelco Dolstra
9b11a8bfbc
Fix building without Boehm GC
2013-11-22 20:05:00 +00:00
Eelco Dolstra
812b5a30ec
Add a Makefile variable for enabling debug info
2013-11-22 19:51:41 +00:00
Eelco Dolstra
ea2f7df5fa
Introduce variables GLOBAL_CFLAGS and GLOBAL_CXXFLAGS
...
There are flags that must be set, so they shouldn't be overriden by
the user's CFLAGS or CXXFLAGS.
2013-11-22 20:38:30 +01:00
Eelco Dolstra
6b5f89f2cf
Drop the dependency on Automake
2013-11-22 19:30:24 +00:00
Eelco Dolstra
754c05ed6c
Rename $(here) to $(d) for brevity, and remove trailing slash
2013-11-22 16:45:52 +00:00
Eelco Dolstra
9a14d5e2f3
Automatically regenerate Makefile.config
...
And move some stuff around.
2013-11-22 16:59:09 +01:00
Eelco Dolstra
ffdc85fc8a
Respect configure flags
2013-11-22 15:47:47 +00:00
Eelco Dolstra
62e35cc3a8
Add ‘make dist’ support
2013-11-22 16:42:25 +01:00
Eelco Dolstra
eff6c4b791
Add missing #include
2013-11-22 15:41:48 +00:00
Eelco Dolstra
e0a108b203
Remove unnecessary line
2013-11-22 15:25:10 +00:00
Eelco Dolstra
eaf903f993
Clean more aggressively
2013-11-22 16:24:41 +01:00
Eelco Dolstra
1474ecfe42
Generate the parser and the lexer
2013-11-22 16:22:31 +01:00
Eelco Dolstra
bc96c4518e
Automatically emit make rules for header files
2013-11-22 15:11:54 +00:00
Eelco Dolstra
b8e9efc476
New non-recursive, plain Make-based build system
2013-11-22 15:54:18 +01:00