about summary refs log tree commit diff
path: root/perl/local.mk
blob: cd07631ca8885757d667d0fc4077d6343ef67455 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
nix_perl_sources := \
  $(d)/lib/Nix/Store.pm \
  $(d)/lib/Nix/Manifest.pm \
  $(d)/lib/Nix/GeneratePatches.pm \
  $(d)/lib/Nix/SSH.pm \
  $(d)/lib/Nix/CopyClosure.pm \
  $(d)/lib/Nix/Config.pm.in \
  $(d)/lib/Nix/Utils.pm \
  $(d)/lib/Nix/Crypto.pm

nix_perl_modules := $(nix_perl_sources:.in=)

$(foreach x, $(nix_perl_modules), $(eval $(call install-data-in, $(x), $(perllibdir)/Nix)))

ifeq ($(perlbindings), yes)

  $(d)/lib/Nix/Store.cc: $(d)/lib/Nix/Store.xs
	xsubpp $^ -output $@

  LIBS += Store

  Store_DIR := $(d)/lib/Nix

  Store_SOURCES := $(Store_DIR)/Store.cc

  Store_LIBS = libstore

  Store_CXXFLAGS = \
    -I$(shell $(perl) -e 'use Config; print $$Config{archlibexp};')/CORE \
    -D_FILE_OFFSET_BITS=64

  Store_ALLOW_UNDEFINED = 1

  Store_FORCE_INSTALL = 1

  Store_INSTALL_DIR = $(perllibdir)/auto/Nix/Store

endif

clean_files += $(d)/lib/Nix/Config.pm $(d)/lib/Nix/Store.cc

dist_files += $(nix_perl_sources)