Enables generating Lua's pkg-config file. http://lua-users.org/lists/lua-l/2015-03/msg00338.html --- a/Makefile 2016-08-16 19:44:27.363614964 +0200 +++ b/Makefile 2016-08-16 19:49:22.623070005 +0200 @@ -13,6 +13,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 # # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with @@ -41,9 +42,12 @@ PLATS= aix ansi bsd 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 ../etc/lua.hpp TO_LIB= liblua.a liblua.so liblua.so.${V} +TO_PC= lua-$(V).pc TO_MAN= lua.1 luac.1 # Lua version and release. @@ -52,17 +56,22 @@ all: $(PLAT) -$(PLATS) clean: +$(PLATS): cd src && $(MAKE) $@ V=$(V) R=$(R) +clean: + cd src && $(MAKE) $@ + $(RM) $(TO_PC) + test: dummy src/lua test/hello.lua -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) ranlib: @@ -95,6 +104,7 @@ @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)" @@ -111,6 +121,7 @@ @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 config parameters as Lua code @@ -122,7 +133,29 @@ @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/' @echo "-- EOF" +pc: + @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) r output comes from the daemon or, if it comes from a builder, from which builder it comes. The latter is particularly useful when MAX-BUILD-JOBS > 1. * nix/libstore/build.cc (DerivationGoal::tryBuildHook) (DerivationGoal::startBuilder): Print the child's PID in "@ build-started" traces. (DerivationGoal::handleChildOutput): Define 'prefix', pass it to 'writeToStderr'. * nix/libstore/globals.cc (Settings:Settings): Initialize 'multiplexedBuildOutput'. (Settings::update): Likewise. * nix/libstore/globals.hh (Settings)[multiplexedBuildOutput]: New field. Update 'printBuildTrace' documentation. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0.163. * nix/nix-daemon/nix-daemon.cc (performOp) <wopSetOptions>: Special-case "multiplexed-build-output" and remove "use-ssh-substituter". * guix/store.scm (set-build-options): Add #:multiplexed-build-output? and honor it. (%protocol-version): Bump to #x163. * tests/store.scm ("multiplexed-build-output"): New test. fixlet Ludovic Courtès 2018-09-27Add (guix status) and use it for pretty colored output....* guix/progress.scm (progress-reporter/trace): New procedure. (%progress-interval): New variable. (progress-reporter/file): Use it. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:print-extended-build-trace?. (%default-options): Add 'print-extended-build-trace?'. (guix-build): Parameterize CURRENT-TERMINAL-COLUMNS. Use 'build-status-updater'. * guix/scripts/environment.scm (%default-options): Add 'print-extended-build-trace?'. (guix-environment): Wrap body in 'with-status-report'. * guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and 'print-extended-build-trace?'. (guix-pack): Wrap body in 'with-status-report'. * guix/scripts/package.scm (%default-options, guix-package): Likewise. * guix/scripts/system.scm (%default-options, guix-system): Likewise. * guix/scripts/pull.scm (%default-options, guix-pull): Likewise. * guix/scripts/substitute.scm (progress-report-port): Don't call STOP when TOTAL is zero. (process-substitution): Add #:print-build-trace? and honor it. (guix-substitute)[print-build-trace?]: New variable. Pass #:print-build-trace? to 'process-substitution'. * guix/status.scm: New file. * guix/store.scm (set-build-options): Add #:print-extended-build-trace?; pass it into PAIRS. (%protocol-version): Bump. (protocol-version, nix-server-version): New procedures. (current-store-protocol-version): New variable. (with-store, build-things): Parameterize it. * guix/ui.scm (build-output-port): Remove. (colorize-string): Export. * po/guix/POTFILES.in: Add guix/status.scm. * tests/status.scm: New file. * Makefile.am (SCM_TESTS): Add it. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162. * nix/libstore/build.cc (DerivationGoal::registerOutputs) (SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before throwing. Ludovic Courtès