gnu: racket: Don't inject store paths into Racket files.
[jackhill/guix/guix.git] / gnu / packages / patches / lua51-pkgconfig.patch
CommitLineData
a287fafe
DM
1Enables generating Lua's pkg-config file.
2
3http://lua-users.org/lists/lua-l/2015-03/msg00338.html
4
5--- a/Makefile 2016-08-16 19:44:27.363614964 +0200
6+++ b/Makefile 2016-08-16 19:49:22.623070005 +0200
7@@ -13,6 +13,7 @@
8 INSTALL_BIN= $(INSTALL_TOP)/bin
9 INSTALL_INC= $(INSTALL_TOP)/include
10 INSTALL_LIB= $(INSTALL_TOP)/lib
11+INSTALL_PC= $(INSTALL_LIB)/pkgconfig
12 INSTALL_MAN= $(INSTALL_TOP)/man/man1
13 #
14 # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
15@@ -41,9 +42,12 @@
16 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
17
18 # What to install.
19-TO_BIN= lua luac
20+INTERPRETER= lua
21+COMPILER= luac
22+TO_BIN= $(INTERPRETER) $(COMPILER)
23 TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
24 TO_LIB= liblua.a liblua.so liblua.so.${V}
25+TO_PC= lua-$(V).pc
26 TO_MAN= lua.1 luac.1
27
28 # Lua version and release.
29@@ -52,17 +56,22 @@
30
31 all: $(PLAT)
32
33-$(PLATS) clean:
34+$(PLATS):
35 cd src && $(MAKE) $@ V=$(V) R=$(R)
36
37+clean:
38+ cd src && $(MAKE) $@
39+ $(RM) $(TO_PC)
40+
41 test: dummy
42 src/lua test/hello.lua
43
44-install: dummy
45- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
46+install: dummy $(TO_PC)
47+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
48 cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
49 cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
50 cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
51+ cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
52 cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
53
54 ranlib:
55@@ -95,6 +104,7 @@
56 @echo "INSTALL_BIN = $(INSTALL_BIN)"
57 @echo "INSTALL_INC = $(INSTALL_INC)"
58 @echo "INSTALL_LIB = $(INSTALL_LIB)"
59+ @echo "INSTALL_PC = $(INSTALL_PC)"
60 @echo "INSTALL_MAN = $(INSTALL_MAN)"
61 @echo "INSTALL_LMOD = $(INSTALL_LMOD)"
62 @echo "INSTALL_CMOD = $(INSTALL_CMOD)"
63@@ -111,6 +121,7 @@
64 @echo "TO_BIN = $(TO_BIN)"
65 @echo "TO_INC = $(TO_INC)"
66 @echo "TO_LIB = $(TO_LIB)"
67+ @echo "TO_PC = $(TO_PC)"
68 @echo "TO_MAN = $(TO_MAN)"
69
70 # echo config parameters as Lua code
71@@ -122,7 +133,29 @@
72 @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
73 @echo "-- EOF"
74
75+pc:
76+ @echo 'prefix=$(INSTALL_TOP)'
77+ @echo 'libdir=$(INSTALL_LIB)'
78+ @echo 'includedir=$(INSTALL_INC)'
79+ @echo 'bindir=$(INSTALL_BIN)'
80+ @echo
81+ @echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
82+ @echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
83+ @echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
84+ @echo 'COMPILER=$${bindir}/$(COMPILER)'
85+ @echo
86+ @echo 'Name: Lua'
87+ @echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
88+ @echo 'Version: $(R)'
89+ @echo
90+ @echo 'Libs: -L$${libdir} -llua -lm'
91+ @echo 'Cflags: -I$${includedir}'
92+
93+pkg-config: $(TO_PC)
94+$(TO_PC):
95+ @$(MAKE) -s pc > $@
96+
97 # list targets that do not create files (but not all makes understand .PHONY)
98-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
99+.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho pkg-config
100
101 # (end of Makefile)