about summary refs log tree commit diff
path: root/perl/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'perl/Makefile.am')
-rw-r--r--perl/Makefile.am32
1 files changed, 32 insertions, 0 deletions
diff --git a/perl/Makefile.am b/perl/Makefile.am
new file mode 100644
index 000000000000..eded469f924b
--- /dev/null
+++ b/perl/Makefile.am
@@ -0,0 +1,32 @@
+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)
+
+PERL_MODULES = lib/Nix/Store.pm lib/Nix/Manifest.pm lib/Nix/GeneratePatches.pm lib/Nix/SSH.pm lib/Nix/Config.pm.in
+
+all: $(PERL_MODULES:.in=)
+	ln -sfn $(abs_builddir)/.libs/libNixStore.so lib/Store.so
+
+install-exec-local: $(PERL_MODULES:.in=)
+	$(INSTALL) -d $(DESTDIR)$(perllibdir)/Nix
+	$(INSTALL_DATA) $(PERL_MODULES:.in=) $(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 = $(PERL_MODULES) lib/Nix/Store.xs
+
+include ../substitute.mk