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

28
externals/Makefile.am vendored
View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -10,14 +10,14 @@ pkginclude_HEADERS = \
globals.hh references.hh pathlocks.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
EXTRA_DIST = derivations-ast.def derivations-ast.cc schema.sql
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

View file

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

View file

@ -3,7 +3,7 @@ pkglib_LTLIBRARIES = libutil.la
libutil_la_SOURCES = util.cc hash.cc serialise.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 \
archive.hh aterm.hh aterm-map.hh xml-writer.hh types.hh

View file

@ -1,7 +1,8 @@
#ifndef __ATERM_MAP_H
#define __ATERM_MAP_H
#include <aterm1.h>
typedef union _ATerm * ATerm;
#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_LDADD = ../libmain/libmain.la ../libexpr/libexpr.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
@ -11,6 +11,7 @@ nix-env.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \
-I$(srcdir)/.. ${aterm_include} \
${aterm_include} \
-I$(srcdir)/.. \
-I$(srcdir)/../libutil -I$(srcdir)/../libstore \
-I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr

View file

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

View file

@ -2,7 +2,7 @@ bin_PROGRAMS = nix-hash
nix_hash_SOURCES = nix-hash.cc help.txt
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

View file

@ -3,7 +3,7 @@ bin_PROGRAMS = nix-instantiate
nix_instantiate_SOURCES = nix-instantiate.cc help.txt
nix_instantiate_LDADD = ../libmain/libmain.la ../libexpr/libexpr.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

View file

@ -11,6 +11,7 @@
#include "util.hh"
#include "store-api.hh"
#include "common-opts.hh"
#include "aterm.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_LDADD = ../libutil/libutil.la \
../boost/format/libformat.la ${aterm_lib}
../boost/format/libformat.la
AM_CXXFLAGS = \
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil
AM_CXXFLAGS = -I$(srcdir)/.. -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_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
@ -10,5 +10,5 @@ nix-store.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil \
-I$(srcdir)/.. -I$(srcdir)/../libutil \
-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_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
@ -10,5 +10,5 @@ nix-worker.o: help.txt.hh
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \
-I$(srcdir)/.. $(aterm_include) -I$(srcdir)/../libutil \
-I$(srcdir)/.. -I$(srcdir)/../libutil \
-I$(srcdir)/../libstore -I$(srcdir)/../libmain