about summary refs log tree commit diff
path: root/perl/Makefile.am
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-10-10T18·12+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-10-10T18·12+0000
commit73fe6871c479f7670f8c93b0cc9ef7bb1a851777 (patch)
tree41b4e3c7bc772bdd3e1df34fb929faa6e70268d0 /perl/Makefile.am
parent55481c44d4767ffde561c02b039717916e0536f6 (diff)
* Include the Nix Perl bindings in Nix itself. This will allow the
  bindings to be used in Nix's own Perl scripts.

  The only downside is that Perl XS and Automake/libtool don't really
  like each other, so building is a bit tricky.

Diffstat (limited to 'perl/Makefile.am')
-rw-r--r--perl/Makefile.am25
1 files changed, 25 insertions, 0 deletions
diff --git a/perl/Makefile.am b/perl/Makefile.am
new file mode 100644
index 000000000000..548708a33842
--- /dev/null
+++ b/perl/Makefile.am
@@ -0,0 +1,25 @@
+perlversion := $(shell perl -e 'use Config; print $$Config{version};')
+perlarchname := $(shell perl -e 'use Config; print $$Config{archname};')
+perllibdir = $(libdir)/perl5/site_perl/$(perlversion)/$(perlarchname)
+
+install-exec-local: lib/Nix/*.pm
+	$(INSTALL) -d $(DESTDIR)$(perllibdir)/Nix
+	$(INSTALL_DATA) lib/Nix/*.pm $(DESTDIR)$(perllibdir)/Nix
+	$(INSTALL) -d $(DESTDIR)$(perllibdir)/auto/Nix/Store
+	ln -sfn $(pkglibdir)/libNixStore.so $(DESTDIR)$(perllibdir)/auto/Nix/Store/Store.so
+
+# Awful hackery to get libtool to build Perl XS bindings.
+pkglib_LTLIBRARIES = libNixStore.la
+
+libNixStore_la_SOURCES = lib/Nix/Store.cc
+
+libNixStore_la_LIBADD = $(top_srcdir)/src/libstore/libstore.la
+
+AM_CXXFLAGS = \
+  -I$(top_srcdir)/src -I$(top_srcdir)/src/libutil -I$(top_srcdir)/src/libstore \
+  -I$(shell perl -e 'use Config; print $$Config{archlibexp};')/CORE
+
+lib/Nix/Store.cc: lib/Nix/Store.xs
+	xsubpp $^ -output $@
+
+EXTRA_DIST = lib/Nix/*.pm lib/Nix/Store.xs