[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: lua.pc pkg-config file
- From: Nicola Fontana <ntd@...>
- Date: Thu, 26 Mar 2015 19:04:47 +0100
This is a proof of concept patch that tries to be less intrusive as
possible.
The generated pkg-config includes interpreter, compiler, LMOD and CMOD
paths together with the usual Libs and Cflags items... this should be
everything needed.
Feel free to do whatever you want with that code.
Ciao.
--
Nicola
diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
--- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
+++ lua-5.3.0/Makefile 2015-03-26 18:54:37.678374827 +0100
@@ -14,6 +14,7 @@
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
INSTALL_LIB= $(INSTALL_TOP)/lib
+INSTALL_PC= $(INSTALL_LIB)/pkgconfig
INSTALL_MAN= $(INSTALL_TOP)/man/man1
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
@@ -39,9 +40,12 @@
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
# What to install.
-TO_BIN= lua luac
+INTERPRETER= lua
+COMPILER= luac
+TO_BIN= $(INTERPRETER) $(COMPILER)
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
TO_LIB= liblua.a
+TO_PC= lua$(V).pc
TO_MAN= lua.1 luac.1
# Lua version and release.
@@ -51,23 +55,29 @@
# Targets start here.
all: $(PLAT)
-$(PLATS) clean:
+$(PLATS):
cd src && $(MAKE) $@
+clean:
+ cd src && $(MAKE) $@
+ $(RM) $(TO_PC)
+
test: dummy
src/lua -v
-install: dummy
- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+install: dummy $(TO_PC)
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
uninstall:
cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
+ cd src && cd $(INSTALL_PC) && $(RM) $(TO_PC)
cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
local:
@@ -90,11 +100,13 @@
@echo "TO_BIN= $(TO_BIN)"
@echo "TO_INC= $(TO_INC)"
@echo "TO_LIB= $(TO_LIB)"
+ @echo "TO_PC= $(TO_PC)"
@echo "TO_MAN= $(TO_MAN)"
@echo "INSTALL_TOP= $(INSTALL_TOP)"
@echo "INSTALL_BIN= $(INSTALL_BIN)"
@echo "INSTALL_INC= $(INSTALL_INC)"
@echo "INSTALL_LIB= $(INSTALL_LIB)"
+ @echo "INSTALL_PC= $(INSTALL_PC)"
@echo "INSTALL_MAN= $(INSTALL_MAN)"
@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
@@ -103,12 +115,28 @@
# echo pkg-config data
pc:
- @echo "version=$R"
- @echo "prefix=$(INSTALL_TOP)"
- @echo "libdir=$(INSTALL_LIB)"
- @echo "includedir=$(INSTALL_INC)"
+ @echo 'prefix=$(INSTALL_TOP)'
+ @echo 'libdir=$(INSTALL_LIB)'
+ @echo 'includedir=$(INSTALL_INC)'
+ @echo 'bindir=$(INSTALL_BIN)'
+ @echo
+ @echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
+ @echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
+ @echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
+ @echo 'COMPILER=$${bindir}/$(COMPILER)'
+ @echo
+ @echo 'Name: Lua'
+ @echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
+ @echo 'Version: $(R)'
+ @echo
+ @echo 'Libs: -L$${libdir} -llua -lm'
+ @echo 'Cflags: -I$${includedir}'
+
+pkg-config: $(TO_PC)
+$(TO_PC):
+ @$(MAKE) -s pc > $@
# list targets that do not create files (but not all makes understand .PHONY)
-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
+.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho pkg-config
# (end of Makefile)