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
Eelco Dolstra
709cbe4e76
Include <cstring> for memset
...
This should fix building on Illumos.
2013-11-22 10:00:43 +00:00
Eelco Dolstra
d4a76ff0e4
Bump version number
2013-11-19 14:45:19 +01:00
Eelco Dolstra
30b986908e
Check meta values and warn about bad ones
2013-11-19 14:29:39 +01:00