diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rwxr-xr-x | src/aterm-helper.pl | 179 | ||||
-rw-r--r-- | src/libexpr/Makefile.am | 6 | ||||
-rw-r--r-- | src/libmain/Makefile.am | 2 | ||||
-rw-r--r-- | src/libmain/shared.cc | 2 | ||||
-rw-r--r-- | src/libstore/Makefile.am | 2 | ||||
-rw-r--r-- | src/nix-env/Makefile.am | 4 | ||||
-rw-r--r-- | src/nix-hash/Makefile.am | 2 | ||||
-rw-r--r-- | src/nix-instantiate/Makefile.am | 3 | ||||
-rw-r--r-- | src/nix-setuid-helper/Makefile.am | 4 | ||||
-rw-r--r-- | src/nix-store/Makefile.am | 4 | ||||
-rw-r--r-- | src/nix-worker/Makefile.am | 4 |
12 files changed, 14 insertions, 200 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 971f7d9d1c75..ec36327730a1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,3 @@ SUBDIRS = bin2c boost libutil libstore libmain nix-store nix-hash \ libexpr nix-instantiate nix-env nix-worker nix-setuid-helper \ nix-log2xml bsdiff-4.3 - -EXTRA_DIST = aterm-helper.pl diff --git a/src/aterm-helper.pl b/src/aterm-helper.pl deleted file mode 100755 index f1eb77ee80c2..000000000000 --- a/src/aterm-helper.pl +++ /dev/null @@ -1,179 +0,0 @@ -#! /usr/bin/perl -w - -# This program generates C/C++ code for efficiently manipulating -# ATerms. It generates functions to build and match ATerms according -# to a set of constructor definitions defined in a file read from -# standard input. A constructor is defined by a line with the -# following format: -# -# SYM | ARGS | TYPE | FUN? -# -# where SYM is the name of the constructor, ARGS is a -# whitespace-separated list of argument types, TYPE is the type of the -# resulting ATerm (which should be `ATerm' or a type synonym for -# `ATerm'), and the optional FUN is used to construct the names of the -# build and match functions (it defaults to SYM; overriding it is -# useful if there are overloaded constructors, e.g., with different -# arities). Note that SYM may be empty. -# -# A line of the form -# -# VAR = EXPR -# -# causes a ATerm variable to be generated that is initialised to the -# value EXPR. -# -# Finally, a line of the form -# -# init NAME -# -# causes the initialisation function to be called `NAME'. This -# function must be called before any of the build/match functions or -# the generated variables are used. - -die if scalar @ARGV != 2; - -my $syms = ""; -my $init = ""; -my $initFun = "init"; - -open HEADER, ">$ARGV[0]"; -open IMPL, ">$ARGV[1]"; - -print HEADER "#include <aterm2.h>\n"; -print HEADER "#ifdef __cplusplus\n"; -print HEADER "namespace nix {\n"; -print HEADER "#endif\n\n\n"; -print IMPL "namespace nix {\n"; - -while (<STDIN>) { - s/\#.*//; - next if (/^\s*$/); - - if (/^\s*(\w*)\s*\|([^\|]*)\|\s*(\w+)\s*\|\s*(\w+)?/) { - my $const = $1; - my @types = split ' ', $2; - my $result = $3; - my $funname = $4; - $funname = $const unless defined $funname; - - my $formals = ""; - my $formals2 = ""; - my $args = ""; - my $unpack = ""; - my $n = 1; - foreach my $type (@types) { - my $realType = $type; - $args .= ", "; - if ($type eq "string") { -# $args .= "(ATerm) ATmakeAppl0(ATmakeAFun((char *) e$n, 0, ATtrue))"; -# $type = "const char *"; - $type = "ATerm"; - $args .= "e$n"; - # !!! in the matcher, we should check that the - # argument is a string (i.e., a nullary application). - } elsif ($type eq "int") { - $args .= "(ATerm) ATmakeInt(e$n)"; - } elsif ($type eq "ATermList" || $type eq "ATermBlob") { - $args .= "(ATerm) e$n"; - } else { - $args .= "e$n"; - } - $formals .= ", " if $formals ne ""; - $formals .= "$type e$n"; - $formals2 .= ", "; - $formals2 .= "$type & e$n"; - my $m = $n - 1; - # !!! more checks here - if ($type eq "int") { - $unpack .= " e$n = ATgetInt((ATermInt) ATgetArgument(e, $m));\n"; - } elsif ($type eq "ATermList") { - $unpack .= " e$n = (ATermList) ATgetArgument(e, $m);\n"; - } elsif ($type eq "ATermBlob") { - $unpack .= " e$n = (ATermBlob) ATgetArgument(e, $m);\n"; - } elsif ($realType eq "string") { - $unpack .= " e$n = ATgetArgument(e, $m);\n"; - $unpack .= " if (ATgetType(e$n) != AT_APPL) return false;\n"; - } else { - $unpack .= " e$n = ATgetArgument(e, $m);\n"; - } - $n++; - } - - my $arity = scalar @types; - - print HEADER "extern AFun sym$funname;\n\n"; - - print IMPL "AFun sym$funname = 0;\n"; - - if ($arity == 0) { - print HEADER "extern ATerm const$funname;\n\n"; - print IMPL "ATerm const$funname = 0;\n"; - } - - print HEADER "static inline $result make$funname($formals) __attribute__ ((pure, nothrow));\n"; - print HEADER "static inline $result make$funname($formals) {\n"; - if ($arity == 0) { - print HEADER " return const$funname;\n"; - } - elsif ($arity <= 6) { - print HEADER " return (ATerm) ATmakeAppl$arity(sym$funname$args);\n"; - } else { - $args =~ s/^,//; - print HEADER " ATerm array[$arity] = {$args};\n"; - print HEADER " return (ATerm) ATmakeApplArray(sym$funname, array);\n"; - } - print HEADER "}\n\n"; - - print HEADER "#ifdef __cplusplus\n"; - print HEADER "static inline bool match$funname(ATerm e$formals2) {\n"; - print HEADER " if (ATgetType(e) != AT_APPL || (AFun) ATgetAFun(e) != sym$funname) return false;\n"; - print HEADER "$unpack"; - print HEADER " return true;\n"; - print HEADER "}\n"; - print HEADER "#endif\n\n\n"; - - $init .= " sym$funname = ATmakeAFun(\"$const\", $arity, ATfalse);\n"; - $init .= " ATprotectAFun(sym$funname);\n"; - if ($arity == 0) { - $init .= " const$funname = (ATerm) ATmakeAppl0(sym$funname);\n"; - $init .= " ATprotect(&const$funname);\n"; - } - } - - elsif (/^\s*(\w+)\s*=\s*(.*)$/) { - my $name = $1; - my $value = $2; - print HEADER "extern ATerm $name;\n"; - print IMPL "ATerm $name = 0;\n"; - $init .= " $name = $value;\n"; - $init .= " ATprotect(&$name);\n"; - } - - elsif (/^\s*init\s+(\w+)\s*$/) { - $initFun = $1; - } - - else { - die "bad line: `$_'"; - } -} - -print HEADER "void $initFun();\n\n"; - -print HEADER "static inline const char * aterm2String(ATerm t) {\n"; -print HEADER " return (const char *) ATgetName(ATgetAFun(t));\n"; -print HEADER "}\n\n"; - -print IMPL "\n"; -print IMPL "void $initFun() {\n"; -print IMPL "$init"; -print IMPL "}\n"; - -print HEADER "#ifdef __cplusplus\n"; -print HEADER "}\n"; -print HEADER "#endif\n\n\n"; -print IMPL "}\n"; - -close HEADER; -close IMPL; diff --git a/src/libexpr/Makefile.am b/src/libexpr/Makefile.am index 39423394af69..7562631cd455 100644 --- a/src/libexpr/Makefile.am +++ b/src/libexpr/Makefile.am @@ -19,10 +19,8 @@ BUILT_SOURCES = \ EXTRA_DIST = lexer.l parser.y AM_CXXFLAGS = \ - -I$(srcdir)/.. ${aterm_include} \ + -I$(srcdir)/.. \ -I$(srcdir)/../libutil -I$(srcdir)/../libstore -AM_CFLAGS = \ - ${aterm_include} # Parser generation. @@ -47,4 +45,4 @@ bin_PROGRAMS = eval-test eval_test_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \ ../libstore/libstore.la ../libutil/libutil.la \ - ../boost/format/libformat.la ${aterm_lib} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ diff --git a/src/libmain/Makefile.am b/src/libmain/Makefile.am index c2946febce34..a9ee6604255e 100644 --- a/src/libmain/Makefile.am +++ b/src/libmain/Makefile.am @@ -15,5 +15,5 @@ AM_CXXFLAGS = \ -DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \ -DNIX_BIN_DIR=\"$(bindir)\" \ -DNIX_VERSION=\"$(VERSION)\" \ - -I$(srcdir)/.. ${aterm_include} -I$(srcdir)/../libutil \ + -I$(srcdir)/.. -I$(srcdir)/../libutil \ -I$(srcdir)/../libstore diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 825e8762105e..3fbec4b5245d 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -13,8 +13,6 @@ #include <sys/stat.h> #include <unistd.h> -#include <aterm2.h> - namespace nix { diff --git a/src/libstore/Makefile.am b/src/libstore/Makefile.am index 47681242f61b..9accc3005fc3 100644 --- a/src/libstore/Makefile.am +++ b/src/libstore/Makefile.am @@ -13,4 +13,4 @@ pkginclude_HEADERS = \ libstore_la_LIBADD = ../libutil/libutil.la ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ AM_CXXFLAGS = -Wall \ - -I$(srcdir)/.. ${aterm_include} -I$(srcdir)/../libutil + -I$(srcdir)/.. -I$(srcdir)/../libutil diff --git a/src/nix-env/Makefile.am b/src/nix-env/Makefile.am index 9b0d9951360d..0819a721c871 100644 --- a/src/nix-env/Makefile.am +++ b/src/nix-env/Makefile.am @@ -4,7 +4,7 @@ nix_env_SOURCES = nix-env.cc profiles.cc user-env.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} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ nix-env.o: help.txt.hh @@ -12,6 +12,6 @@ nix-env.o: help.txt.hh ../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) AM_CXXFLAGS = \ - -I$(srcdir)/.. ${aterm_include} \ + -I$(srcdir)/.. \ -I$(srcdir)/../libutil -I$(srcdir)/../libstore \ -I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr diff --git a/src/nix-hash/Makefile.am b/src/nix-hash/Makefile.am index 350aa8ebd14c..5f84eb34d6da 100644 --- a/src/nix-hash/Makefile.am +++ b/src/nix-hash/Makefile.am @@ -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} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ nix-hash.o: help.txt.hh diff --git a/src/nix-instantiate/Makefile.am b/src/nix-instantiate/Makefile.am index 3f6671719c6b..a65907a8d40a 100644 --- a/src/nix-instantiate/Makefile.am +++ b/src/nix-instantiate/Makefile.am @@ -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} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ nix-instantiate.o: help.txt.hh @@ -11,6 +11,5 @@ nix-instantiate.o: help.txt.hh ../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) AM_CXXFLAGS = \ - ${aterm_include} \ -I$(srcdir)/.. -I$(srcdir)/../libutil -I$(srcdir)/../libstore \ -I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr diff --git a/src/nix-setuid-helper/Makefile.am b/src/nix-setuid-helper/Makefile.am index a0fbdf39d61b..35528458c5f6 100644 --- a/src/nix-setuid-helper/Makefile.am +++ b/src/nix-setuid-helper/Makefile.am @@ -2,7 +2,7 @@ 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 + -I$(srcdir)/.. -I$(srcdir)/../libutil diff --git a/src/nix-store/Makefile.am b/src/nix-store/Makefile.am index ca0fec570ceb..9a439dd9219c 100644 --- a/src/nix-store/Makefile.am +++ b/src/nix-store/Makefile.am @@ -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} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ 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 diff --git a/src/nix-worker/Makefile.am b/src/nix-worker/Makefile.am index d1163ce3741a..50c8ae36d2e8 100644 --- a/src/nix-worker/Makefile.am +++ b/src/nix-worker/Makefile.am @@ -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} @ADDITIONAL_NETWORK_LIBS@ + ../boost/format/libformat.la @ADDITIONAL_NETWORK_LIBS@ 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 |