diff --git a/Makefile.am b/Makefile.am index 5996b3ee9313ea1135d41eaf15fea7ec3f82b44d..f069e454a95e7f2cf49654fb419a280c48323dcf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,3 @@ -SUBDIRS = externals boost src scripts corepkgs doc +SUBDIRS = externals src scripts corepkgs doc EXTRA_DIST = substitute.mk diff --git a/configure.ac b/configure.ac index 8c878f2e30a508acc8d8fc24a922c5dfe07145ad..06054cf00c67437275130fcf8891cf27332119f8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_INIT(nix, "0.4") -AC_CONFIG_SRCDIR(src/nix.cc) +AC_CONFIG_SRCDIR(README) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE @@ -23,12 +23,21 @@ AC_PATH_PROG(wget, wget) AC_CHECK_LIB(pthread, pthread_mutex_init) AM_CONFIG_HEADER([config.h]) -AC_CONFIG_FILES([Makefile +AC_CONFIG_FILES([Makefile externals/Makefile - boost/Makefile boost/format/Makefile src/Makefile + src/boost/Makefile + src/boost/format/Makefile + src/libnix/Makefile + src/libmain/Makefile + src/nix/Makefile + src/nix-hash/Makefile + src/fix/Makefile scripts/Makefile - corepkgs/Makefile corepkgs/fetchurl/Makefile corepkgs/nar/Makefile - doc/Makefile doc/manual/Makefile + corepkgs/Makefile + corepkgs/fetchurl/Makefile + corepkgs/nar/Makefile + doc/Makefile + doc/manual/Makefile ]) AC_OUTPUT diff --git a/src/Makefile.am b/src/Makefile.am index 216d664e880ede366d0b86dda8b7b669a5aee1d6..200ea45fb03f5edb503333cb48d9bc74c7095520 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,55 +1 @@ -bin_PROGRAMS = nix nix-hash fix -check_PROGRAMS = test - - -AM_CXXFLAGS = -DSYSTEM=\"@host@\" -Wall -I.. -I../externals/inst/include $(CXXFLAGS) -LDADD = -L../externals/inst/lib -ldb_cxx -lATerm -L../boost/format -lformat - -nix_SOURCES = nix.cc dotgraph.cc -nix_LDADD = libshared.a libnix.a $(LDADD) - -nix_hash_SOURCES = nix-hash.cc -nix_hash_LDADD = libshared.a libnix.a $(LDADD) - -fix_SOURCES = fix.cc -fix_LDADD = libshared.a libnix.a $(LDADD) - -TESTS = test - -test_SOURCES = test.cc -test_LDADD = libshared.a libnix.a $(LDADD) - - -noinst_LIBRARIES = libnix.a libshared.a - -libnix_a_SOURCES = util.cc hash.cc archive.cc md5.c \ - store.cc expr.cc normalise.cc exec.cc \ - globals.cc db.cc references.cc pathlocks.cc - -libshared_a_SOURCES = shared.cc - -libshared_a_CXXFLAGS = \ - -DNIX_STORE_DIR=\"$(prefix)/store\" \ - -DNIX_DATA_DIR=\"$(datadir)\" \ - -DNIX_STATE_DIR=\"$(localstatedir)/nix\" \ - -DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \ - $(AM_CXXFLAGS) - -nix.o: nix-help.txt.hh - -%.hh: % - echo -n '"' > $@ - sed 's|\(.*\)|\1\\n\\|' < $< >> $@ - echo '"' >> $@ - -install-data-local: - $(INSTALL) -d $(localstatedir)/nix - $(INSTALL) -d $(localstatedir)/nix/db - $(INSTALL) -d $(localstatedir)/nix/links - rm -f $(prefix)/current - ln -sf $(localstatedir)/nix/links/current $(prefix)/current - $(INSTALL) -d $(localstatedir)/log/nix - $(INSTALL) -d $(prefix)/store - $(bindir)/nix --init - -EXTRA_DIST = *.hh *.h test-builder-*.sh +SUBDIRS = boost libnix libmain nix nix-hash fix diff --git a/src/boost/format/Makefile.am b/src/boost/format/Makefile.am index 5badba27cf6d0ff19a2934cc55e8e9b91d345c74..bae92c198287d0f63b5272831c6ed5fad30919b1 100644 --- a/src/boost/format/Makefile.am +++ b/src/boost/format/Makefile.am @@ -2,5 +2,7 @@ noinst_LIBRARIES = libformat.a libformat_a_SOURCES = format_implementation.cc free_funcs.cc parsing.cc +AM_CXXFLAGS = -Wall -I../.. + EXTRA_DIST = exceptions.hpp feed_args.hpp format_class.hpp format_fwd.hpp \ group.hpp internals.hpp internals_fwd.hpp macros_default.hpp diff --git a/src/fix/Makefile.am b/src/fix/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..4786db54c3c0d0ebb79727886959b0c13db359c2 --- /dev/null +++ b/src/fix/Makefile.am @@ -0,0 +1,8 @@ +bin_PROGRAMS = fix + +fix_SOURCES = fix.cc +fix_LDADD = ../libmain/libmain.a ../libnix/libnix.a ../boost/format/libformat.a \ + -L../../externals/inst/lib -ldb_cxx -lATerm + +AM_CXXFLAGS = \ + -I.. -I../../externals/inst/include -I../libnix -I../libmain diff --git a/src/fix/fix.cc b/src/fix/fix.cc index c1f9c1ad68d06eb2dc0d7ba6b8dc6c9fc172d344..9a8ff1513042e44d8d4747c693f279eed31cc320 100644 --- a/src/fix/fix.cc +++ b/src/fix/fix.cc @@ -249,7 +249,7 @@ static Expr evalExpr2(EvalState & state, Expr e) /* Platform constant. */ if (ATmatch(e, "Platform")) { - return ATmake("<str>", SYSTEM); + return ATmake("<str>", thisSystem.c_str()); } /* Fix inclusion. */ @@ -284,7 +284,7 @@ static Expr evalExpr2(EvalState & state, Expr e) /* Evaluate the bindings and put them in a map. */ map<string, ATerm> bndMap; - bndMap["platform"] = ATmake("<str>", SYSTEM); + bndMap["platform"] = ATmake("<str>", thisSystem.c_str()); while (!ATisEmpty(bnds)) { ATerm bnd = ATgetFirst(bnds); if (!ATmatch(bnd, "(<str>, <term>)", &s1, &e1)) @@ -297,7 +297,7 @@ static Expr evalExpr2(EvalState & state, Expr e) expression. */ NixExpr ne; ne.type = NixExpr::neDerivation; - ne.derivation.platform = SYSTEM; + ne.derivation.platform = thisSystem; string name; Path outPath; Hash outHash; @@ -320,7 +320,7 @@ static Expr evalExpr2(EvalState & state, Expr e) ne.derivation.args.push_back(processBinding(state, arg, ne)); args = ATgetNext(args); } - } + } else { string s = processBinding(state, value, ne); diff --git a/src/libmain/Makefile.am b/src/libmain/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..aebb1286e786d2af2d143218f638db6629fe782c --- /dev/null +++ b/src/libmain/Makefile.am @@ -0,0 +1,12 @@ +noinst_LIBRARIES = libmain.a + +libmain_a_SOURCES = shared.cc + +AM_CXXFLAGS = \ + -DNIX_STORE_DIR=\"$(prefix)/store\" \ + -DNIX_DATA_DIR=\"$(datadir)\" \ + -DNIX_STATE_DIR=\"$(localstatedir)/nix\" \ + -DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \ + -I.. -I../../externals/inst/include -I../libnix + +EXTRA_DIST = *.hh diff --git a/src/libnix/Makefile.am b/src/libnix/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..b890ba8c054838f0c9d237a89c5e05278eb4a7d1 --- /dev/null +++ b/src/libnix/Makefile.am @@ -0,0 +1,9 @@ +noinst_LIBRARIES = libnix.a + +libnix_a_SOURCES = util.cc hash.cc archive.cc md5.c \ + store.cc expr.cc normalise.cc exec.cc \ + globals.cc db.cc references.cc pathlocks.cc + +AM_CXXFLAGS = -DSYSTEM=\"@host@\" -Wall -I.. -I../../externals/inst/include + +EXTRA_DIST = *.hh *.h test-builder-*.sh diff --git a/src/nix-hash/Makefile.am b/src/nix-hash/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..7fb428a29f13de22a6fb2f77eaa8226d0a6a3bda --- /dev/null +++ b/src/nix-hash/Makefile.am @@ -0,0 +1,8 @@ +bin_PROGRAMS = nix-hash + +nix_hash_SOURCES = nix-hash.cc +nix_hash_LDADD = ../libmain/libmain.a ../libnix/libnix.a ../boost/format/libformat.a \ + -L../../externals/inst/lib -ldb_cxx -lATerm + +AM_CXXFLAGS = \ + -I.. -I../../externals/inst/include -I../libnix -I../libmain diff --git a/src/nix/Makefile.am b/src/nix/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..37415976b3d794e0e3d8b5a2f143f66b6001e1b7 --- /dev/null +++ b/src/nix/Makefile.am @@ -0,0 +1,27 @@ +bin_PROGRAMS = nix + +nix_SOURCES = nix.cc dotgraph.cc +nix_LDADD = ../libmain/libmain.a ../libnix/libnix.a ../boost/format/libformat.a \ + -L../../externals/inst/lib -ldb_cxx -lATerm + +nix.o: nix-help.txt.hh + +%.hh: % + echo -n '"' > $@ + sed 's|\(.*\)|\1\\n\\|' < $< >> $@ + echo '"' >> $@ + +AM_CXXFLAGS = \ + -I.. -I../../externals/inst/include -I../libnix -I../libmain + +install-data-local: + $(INSTALL) -d $(localstatedir)/nix + $(INSTALL) -d $(localstatedir)/nix/db + $(INSTALL) -d $(localstatedir)/nix/links + rm -f $(prefix)/current + ln -sf $(localstatedir)/nix/links/current $(prefix)/current + $(INSTALL) -d $(localstatedir)/log/nix + $(INSTALL) -d $(prefix)/store + $(bindir)/nix --init + +EXTRA_DIST = *.hh