* When using the included sqlite/aterm libraries, build with

--enable-shared.
* In libutil/libstore/libexpr etc., link against sqlite and aterm.
* Some more header file hygiene.
This commit is contained in:
Eelco Dolstra 2010-03-02 15:58:13 +00:00
parent 966ffb29a7
commit 594eaddd11
21 changed files with 50 additions and 38 deletions

View file

@ -197,9 +197,9 @@ AC_ARG_WITH(aterm, AC_HELP_STRING([--with-aterm=PATH],
aterm=$withval, aterm=) aterm=$withval, aterm=)
AM_CONDITIONAL(HAVE_ATERM, test -n "$aterm") AM_CONDITIONAL(HAVE_ATERM, test -n "$aterm")
if test -z "$aterm"; then if test -z "$aterm"; then
aterm_lib='-L${top_builddir}/externals/inst-aterm/lib -lATerm' aterm_lib='-L${top_builddir}/externals/aterm-2.5/aterm -lATerm'
aterm_include='-I${top_builddir}/externals/inst-aterm/include' aterm_include='-I${top_builddir}/externals/aterm-2.5/aterm'
aterm_bin='${top_builddir}/externals/inst-aterm/bin' aterm_bin='${top_builddir}/externals/aterm-2.5/utils'
else else
aterm_lib="-L$aterm/lib -lATerm" aterm_lib="-L$aterm/lib -lATerm"
aterm_include="-I$aterm/include" aterm_include="-I$aterm/include"
@ -224,6 +224,8 @@ AC_ARG_WITH(bzip2, AC_HELP_STRING([--with-bzip2=PATH],
[prefix of bzip2]), [prefix of bzip2]),
bzip2=$withval, bzip2=) bzip2=$withval, bzip2=)
AM_CONDITIONAL(HAVE_BZIP2, test -n "$bzip2") AM_CONDITIONAL(HAVE_BZIP2, test -n "$bzip2")
ATERM_VERSION=2.5
AC_SUBST(ATERM_VERSION)
if test -z "$bzip2"; then if test -z "$bzip2"; then
# Headers and libraries will be used from the temporary installation # Headers and libraries will be used from the temporary installation
# in externals/inst-bzip2. # in externals/inst-bzip2.
@ -248,10 +250,12 @@ AC_ARG_WITH(sqlite, AC_HELP_STRING([--with-sqlite=PATH],
[prefix of SQLite]), [prefix of SQLite]),
sqlite=$withval, sqlite=) sqlite=$withval, sqlite=)
AM_CONDITIONAL(HAVE_SQLITE, test -n "$sqlite") AM_CONDITIONAL(HAVE_SQLITE, test -n "$sqlite")
SQLITE_VERSION=3.6.22
AC_SUBST(SQLITE_VERSION)
if test -z "$sqlite"; then if test -z "$sqlite"; then
sqlite_lib='-L${top_builddir}/externals/inst-sqlite/lib -lsqlite3' sqlite_lib='${top_builddir}/externals/sqlite-$(SQLITE_VERSION)/libsqlite3.la'
sqlite_include='-I${top_builddir}/externals/inst-sqlite/include' sqlite_include='-I${top_builddir}/externals/sqlite-$(SQLITE_VERSION)'
sqlite_bin='${top_builddir}/externals/inst-sqlite/bin' sqlite_bin='${top_builddir}/externals/sqlite-$(SQLITE_VERSION)'
else else
sqlite_lib="-L$sqlite/lib -lsqlite3" sqlite_lib="-L$sqlite/lib -lsqlite3"
sqlite_include="-I$sqlite/include" sqlite_include="-I$sqlite/include"

28
externals/Makefile.am vendored
View file

@ -1,11 +1,11 @@
# CWI ATerm # CWI ATerm
ATERM = aterm-2.5 ATERM = aterm-$(ATERM_VERSION)
$(ATERM).tar.gz: $(ATERM).tar.gz:
@echo "Nix requires the CWI ATerm library to build." @echo "Nix requires the CWI ATerm library to build."
@echo "Please download version 2.5 from" @echo "Please download version $(ATERM_VERSION) from"
@echo " http://nixos.org/tarballs/aterm-2.5.tar.gz" @echo " http://nixos.org/tarballs/aterm-$(ATERM_VERSION).tar.gz"
@echo "and place it in the externals/ directory." @echo "and place it in the externals/ directory."
false false
@ -20,12 +20,13 @@ else
build-aterm: $(ATERM) build-aterm: $(ATERM)
(pfx=`pwd` && \ (pfx=`pwd` && \
cd $(ATERM) && \ cd $(ATERM) && \
CC="$(CC)" ./configure --prefix=$$pfx/inst-aterm \ CC="$(CC)" ./configure --prefix=$$pfx/inst-aterm --libdir=${pkglibdir} && \
--disable-shared --enable-static && \
$(MAKE) && \ $(MAKE) && \
$(MAKE) check && \ $(MAKE) check)
$(MAKE) install)
touch build-aterm touch build-aterm
install-exec-local::
cd $(ATERM) && make install
endif endif
@ -53,7 +54,7 @@ build-bzip2: $(BZIP2)
$(MAKE) install PREFIX=$$pfx/inst-bzip2) $(MAKE) install PREFIX=$$pfx/inst-bzip2)
touch build-bzip2 touch build-bzip2
install: install-exec-local::
mkdir -p $(DESTDIR)${bzip2_bin} mkdir -p $(DESTDIR)${bzip2_bin}
$(INSTALL_PROGRAM) $(bzip2_bin_test)/bzip2 $(bzip2_bin_test)/bunzip2 $(DESTDIR)${bzip2_bin} $(INSTALL_PROGRAM) $(bzip2_bin_test)/bzip2 $(bzip2_bin_test)/bunzip2 $(DESTDIR)${bzip2_bin}
endif endif
@ -61,7 +62,6 @@ endif
# SQLite # SQLite
SQLITE_VERSION = 3.6.22
SQLITE = sqlite-$(SQLITE_VERSION) SQLITE = sqlite-$(SQLITE_VERSION)
SQLITE_TAR = sqlite-amalgamation-$(SQLITE_VERSION).tar.gz SQLITE_TAR = sqlite-amalgamation-$(SQLITE_VERSION).tar.gz
@ -81,12 +81,12 @@ else
build-sqlite: $(SQLITE) build-sqlite: $(SQLITE)
(pfx=`pwd` && \ (pfx=`pwd` && \
cd $(SQLITE) && \ cd $(SQLITE) && \
CC="$(CC)" ./configure --prefix=$$pfx/inst-sqlite \ CC="$(CC)" ./configure --disable-static --prefix=$$pfx/inst-sqlite --libdir=${pkglibdir} && \
--disable-shared --enable-static && \ $(MAKE) )
$(MAKE) && \
$(MAKE) check && \
$(MAKE) install)
touch build-sqlite touch build-sqlite
install-exec-local::
cd $(SQLITE) && make install
endif endif

View file

@ -1,6 +1,7 @@
#include "attr-path.hh" #include "attr-path.hh"
#include "nixexpr-ast.hh" #include "nixexpr-ast.hh"
#include "util.hh" #include "util.hh"
#include "aterm.hh"
namespace nix { namespace nix {

View file

@ -2,6 +2,7 @@
#include "../libmain/shared.hh" #include "../libmain/shared.hh"
#include "util.hh" #include "util.hh"
#include "parser.hh" #include "parser.hh"
#include "aterm.hh"
namespace nix { namespace nix {

View file

@ -6,6 +6,7 @@
#include "derivations.hh" #include "derivations.hh"
#include "nixexpr-ast.hh" #include "nixexpr-ast.hh"
#include "globals.hh" #include "globals.hh"
#include "aterm.hh"
#define LocalNoInline(f) static f __attribute__((noinline)); f #define LocalNoInline(f) static f __attribute__((noinline)); f

View file

@ -3,9 +3,10 @@
#include <map> #include <map>
#include "aterm.hh"
#include "nixexpr.hh" #include "nixexpr.hh"
typedef union _ATermList * ATermList;
namespace nix { namespace nix {

View file

@ -5,7 +5,6 @@
#include <map> #include <map>
#include "nixexpr.hh" #include "nixexpr.hh"
#include "aterm.hh"
namespace nix { namespace nix {

View file

@ -1,6 +1,7 @@
#include "get-drvs.hh" #include "get-drvs.hh"
#include "nixexpr-ast.hh" #include "nixexpr-ast.hh"
#include "util.hh" #include "util.hh"
#include "aterm.hh"
namespace nix { namespace nix {

View file

@ -8,6 +8,7 @@
#include "nixexpr-ast.hh" #include "nixexpr-ast.hh"
#include "parser.hh" #include "parser.hh"
#include "names.hh" #include "names.hh"
#include "aterm.hh"
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>

View file

@ -10,14 +10,14 @@ pkginclude_HEADERS = \
globals.hh references.hh pathlocks.hh \ globals.hh references.hh pathlocks.hh \
worker-protocol.hh worker-protocol.hh
libstore_la_LIBADD = ../libutil/libutil.la ../boost/format/libformat.la libstore_la_LIBADD = ../libutil/libutil.la ../boost/format/libformat.la ${aterm_lib} ${sqlite_lib}
BUILT_SOURCES = derivations-ast.cc derivations-ast.hh BUILT_SOURCES = derivations-ast.cc derivations-ast.hh
EXTRA_DIST = derivations-ast.def derivations-ast.cc schema.sql EXTRA_DIST = derivations-ast.def derivations-ast.cc schema.sql
AM_CXXFLAGS = -Wall \ AM_CXXFLAGS = -Wall \
-I$(srcdir)/.. ${aterm_include} ${sqlite_include} -I$(srcdir)/../libutil -I$(srcdir)/.. ${aterm_include} ${sqlite_include} -I$(srcdir)/../libutil -I${top_srcdir}/externals/sqlite-3.6.22/
local-store.lo: schema.sql.hh local-store.lo: schema.sql.hh

View file

@ -1,7 +1,7 @@
#ifndef __DERIVATIONS_H #ifndef __DERIVATIONS_H
#define __DERIVATIONS_H #define __DERIVATIONS_H
#include <aterm1.h> typedef union _ATerm * ATerm;
#include "hash.hh" #include "hash.hh"

View file

@ -3,7 +3,7 @@ pkglib_LTLIBRARIES = libutil.la
libutil_la_SOURCES = util.cc hash.cc serialise.cc \ libutil_la_SOURCES = util.cc hash.cc serialise.cc \
archive.cc aterm.cc aterm-map.cc xml-writer.cc archive.cc aterm.cc aterm-map.cc xml-writer.cc
libutil_la_LIBADD = ../boost/format/libformat.la libutil_la_LIBADD = ../boost/format/libformat.la ${aterm_lib} ${sqlite_lib}
pkginclude_HEADERS = util.hh hash.hh serialise.hh \ pkginclude_HEADERS = util.hh hash.hh serialise.hh \
archive.hh aterm.hh aterm-map.hh xml-writer.hh types.hh archive.hh aterm.hh aterm-map.hh xml-writer.hh types.hh

View file

@ -1,7 +1,8 @@
#ifndef __ATERM_MAP_H #ifndef __ATERM_MAP_H
#define __ATERM_MAP_H #define __ATERM_MAP_H
#include <aterm1.h> typedef union _ATerm * ATerm;
#include <assert.h> #include <assert.h>

View file

@ -3,7 +3,7 @@ bin_PROGRAMS = nix-env
nix_env_SOURCES = nix-env.cc profiles.cc profiles.hh help.txt nix_env_SOURCES = nix-env.cc profiles.cc profiles.hh help.txt
nix_env_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \ nix_env_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
../libstore/libstore.la ../libutil/libutil.la \ ../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ${sqlite_lib} ../boost/format/libformat.la
nix-env.o: help.txt.hh nix-env.o: help.txt.hh
@ -11,6 +11,7 @@ nix-env.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) ../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \ AM_CXXFLAGS = \
-I$(srcdir)/.. ${aterm_include} \ ${aterm_include} \
-I$(srcdir)/.. \
-I$(srcdir)/../libutil -I$(srcdir)/../libstore \ -I$(srcdir)/../libutil -I$(srcdir)/../libstore \
-I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr -I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr

View file

@ -14,6 +14,7 @@
#include "xml-writer.hh" #include "xml-writer.hh"
#include "store-api.hh" #include "store-api.hh"
#include "util.hh" #include "util.hh"
#include "aterm.hh"
#include <cerrno> #include <cerrno>
#include <ctime> #include <ctime>

View file

@ -2,7 +2,7 @@ bin_PROGRAMS = nix-hash
nix_hash_SOURCES = nix-hash.cc help.txt nix_hash_SOURCES = nix-hash.cc help.txt
nix_hash_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \ nix_hash_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ${sqlite_lib} ../boost/format/libformat.la
nix-hash.o: help.txt.hh nix-hash.o: help.txt.hh

View file

@ -3,7 +3,7 @@ bin_PROGRAMS = nix-instantiate
nix_instantiate_SOURCES = nix-instantiate.cc help.txt nix_instantiate_SOURCES = nix-instantiate.cc help.txt
nix_instantiate_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \ nix_instantiate_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
../libstore/libstore.la ../libutil/libutil.la \ ../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ${sqlite_lib} ../boost/format/libformat.la
nix-instantiate.o: help.txt.hh nix-instantiate.o: help.txt.hh

View file

@ -11,6 +11,7 @@
#include "util.hh" #include "util.hh"
#include "store-api.hh" #include "store-api.hh"
#include "common-opts.hh" #include "common-opts.hh"
#include "aterm.hh"
#include "help.txt.hh" #include "help.txt.hh"

View file

@ -2,7 +2,6 @@ libexec_PROGRAMS = nix-setuid-helper
nix_setuid_helper_SOURCES = nix-setuid-helper.cc nix_setuid_helper_SOURCES = nix-setuid-helper.cc
nix_setuid_helper_LDADD = ../libutil/libutil.la \ nix_setuid_helper_LDADD = ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ../boost/format/libformat.la
AM_CXXFLAGS = \ AM_CXXFLAGS = -I$(srcdir)/.. -I$(srcdir)/../libutil
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil

View file

@ -2,7 +2,7 @@ bin_PROGRAMS = nix-store
nix_store_SOURCES = nix-store.cc dotgraph.cc dotgraph.hh help.txt nix_store_SOURCES = nix-store.cc dotgraph.cc dotgraph.hh help.txt
nix_store_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \ nix_store_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ${sqlite_lib} ../boost/format/libformat.la
nix-store.o: help.txt.hh nix-store.o: help.txt.hh
@ -10,5 +10,5 @@ nix-store.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) ../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \ AM_CXXFLAGS = \
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil \ -I$(srcdir)/.. -I$(srcdir)/../libutil \
-I$(srcdir)/../libstore -I$(srcdir)/../libmain -I$(srcdir)/../libstore -I$(srcdir)/../libmain

View file

@ -2,7 +2,7 @@ bin_PROGRAMS = nix-worker
nix_worker_SOURCES = nix-worker.cc help.txt nix_worker_SOURCES = nix-worker.cc help.txt
nix_worker_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \ nix_worker_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib} ${sqlite_lib} ../boost/format/libformat.la
nix-worker.o: help.txt.hh nix-worker.o: help.txt.hh
@ -10,5 +10,5 @@ nix-worker.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) ../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \ AM_CXXFLAGS = \
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil \ -I$(srcdir)/.. -I$(srcdir)/../libutil \
-I$(srcdir)/../libstore -I$(srcdir)/../libmain -I$(srcdir)/../libstore -I$(srcdir)/../libmain