From: Igor Munkin via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Sergey Kaplun <skaplun@tarantool.org>,
Timur Safin <tsafin@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH luajit 1/5] build: preserve the original build system
Date: Tue, 2 Feb 2021 23:57:41 +0300 [thread overview]
Message-ID: <b9eaa8146fdc237af7612307538044718ea96317.1612291495.git.imun@tarantool.org> (raw)
In-Reply-To: <cover.1612291495.git.imun@tarantool.org>
Since the build machinery is going to be ported to CMake there would be
Makefile names clashing. This change renames the original build system
(and a couple of auxiliary files requiring configuring) to keep all this
machinery working.
As a result of these changes one need to explicitly specify the Makefile
in the build command:
| make -f Makefile.original <options>
Needed for tarantool/tarantool#4862
Signed-off-by: Igor Munkin <imun@tarantool.org>
---
Makefile => Makefile.original | 44 +++++++++++++--------
etc/{luajit.pc => luajit.pc.in} | 4 +-
src/{Makefile.dep => Makefile.dep.original} | 0
src/{Makefile => Makefile.original} | 4 +-
tools/luajit-parse-memprof | 9 -----
tools/luajit-parse-memprof.in | 6 +++
6 files changed, 38 insertions(+), 29 deletions(-)
rename Makefile => Makefile.original (85%)
rename etc/{luajit.pc => luajit.pc.in} (91%)
rename src/{Makefile.dep => Makefile.dep.original} (100%)
rename src/{Makefile => Makefile.original} (99%)
delete mode 100755 tools/luajit-parse-memprof
create mode 100644 tools/luajit-parse-memprof.in
diff --git a/Makefile b/Makefile.original
similarity index 85%
rename from Makefile
rename to Makefile.original
index 61967df..b85d4bf 100644
--- a/Makefile
+++ b/Makefile.original
@@ -85,10 +85,10 @@ INSTALL_X= install -m 0755
INSTALL_F= install -m 0644
UNINSTALL= $(RM)
LDCONFIG= ldconfig -n
-SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
- -e "s|^multilib=.*|multilib=$(MULTILIB)|"
-SED_TMEMPROF= sed -e "s|^TOOL_DIR=.*|TOOL_DIR=$(INSTALL_TOOLSLIB)|" \
- -e "s|^LUAJIT_BIN=.*|LUAJIT_BIN=$(INSTALL_T)|"
+SED_PC= sed -e "s|@LUAJIT_PC_PREFIX@|$(PREFIX)|" \
+ -e "s|@LUAJIT_PC_MULTILIB@|$(MULTILIB)|"
+SED_TMEMPROF= sed -e "s|@LUAJIT_TOOLS_DIR@|$(INSTALL_TOOLSLIB)|" \
+ -e "s|@LUAJIT_TOOLS_BIN@|$(INSTALL_T)|"
FILE_T= luajit
FILE_A= libluajit.a
@@ -123,9 +123,9 @@ endif
INSTALL_DEP= src/luajit
-default all $(INSTALL_DEP):
+default all $(INSTALL_DEP): tools
@echo "==== Building LuaJIT $(VERSION) ===="
- $(MAKE) -C src
+ $(MAKE) -C src -f Makefile.original
@echo "==== Successfully built LuaJIT $(VERSION) ===="
install: $(INSTALL_DEP)
@@ -140,17 +140,17 @@ install: $(INSTALL_DEP)
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
- cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
- $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
- $(RM) $(FILE_PC).tmp
+ cd etc && $(SED_PC) $(FILE_PC).in > $(FILE_PC) && \
+ $(INSTALL_F) $(FILE_PC) $(INSTALL_PC) && \
+ $(RM) $(FILE_PC)
cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
cd tools/utils && $(INSTALL_F) $(FILES_UTILSLIB) $(INSTALL_UTILSLIB)
cd tools/memprof && $(INSTALL_F) $(FILES_MEMPROFLIB) $(INSTALL_MEMPROFLIB)
cd tools && $(INSTALL_F) $(FILES_TOOLSLIB) $(INSTALL_TOOLSLIB)
- cd tools && $(SED_TMEMPROF) $(FILE_TMEMPROF) > $(FILE_TMEMPROF).tmp && \
- $(INSTALL_X) $(FILE_TMEMPROF).tmp $(INSTALL_TMEMPROF) && \
- $(RM) $(FILE_TMEMPROF).tmp
+ cd tools && $(SED_TMEMPROF) $(FILE_TMEMPROF).in > $(FILE_TMEMPROF) && \
+ $(INSTALL_X) $(FILE_TMEMPROF) $(INSTALL_TMEMPROF) && \
+ $(RM) $(FILE_TMEMPROF)
@echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
@echo ""
@echo "Note: the development releases deliberately do NOT install a symlink for luajit"
@@ -185,13 +185,25 @@ uninstall:
##############################################################################
-amalg:
+amalg: tools
@echo "Building LuaJIT $(VERSION)"
- $(MAKE) -C src amalg
+ $(MAKE) -C src -f Makefile.original amalg
clean:
- $(MAKE) -C src clean
+ $(RM) tools/$(FILE_TMEMPROF)
+ $(MAKE) -C src -f Makefile.original clean
-.PHONY: all install amalg clean
+tools: tools/$(FILE_TMEMPROF)
+
+# FIXME: This is an ugly hack to manually configure an auxiliary
+# tools/luajit-parse-memprof. I hope this file will have gone away
+# in scope of https://github.com/tarantool/tarantool/issues/5688.
+tools/$(FILE_TMEMPROF):
+ @sed -e "s|@LUAJIT_TOOLS_DIR@|$(realpath tools)|" \
+ -e "s|@LUAJIT_TOOLS_BIN@|$(realpath src/luajit)|" \
+ $@.in > $@
+ @chmod +x $@
+
+.PHONY: all install amalg clean tools
##############################################################################
diff --git a/etc/luajit.pc b/etc/luajit.pc.in
similarity index 91%
rename from etc/luajit.pc
rename to etc/luajit.pc.in
index a78f174..f32385d 100644
--- a/etc/luajit.pc
+++ b/etc/luajit.pc.in
@@ -5,8 +5,8 @@ relver=0
version=${majver}.${minver}.${relver}-beta3
abiver=5.1
-prefix=/usr/local
-multilib=lib
+prefix=@LUAJIT_PC_PREFIX@
+multilib=@LUAJIT_PC_MULTILIB@
exec_prefix=${prefix}
libdir=${exec_prefix}/${multilib}
libname=luajit-${abiver}
diff --git a/src/Makefile.dep b/src/Makefile.dep.original
similarity index 100%
rename from src/Makefile.dep
rename to src/Makefile.dep.original
diff --git a/src/Makefile b/src/Makefile.original
similarity index 99%
rename from src/Makefile
rename to src/Makefile.original
index 825b01c..502504c 100644
--- a/src/Makefile
+++ b/src/Makefile.original
@@ -624,7 +624,7 @@ depend:
-e "s|^\([^l ]\)|host/\1|" \
-e "s| lj_target_\S*\.h| lj_target_*.h|g" \
-e "s| lj_emit_\S*\.h| lj_emit_*.h|g" \
- -e "s| lj_asm_\S*\.h| lj_asm_*.h|g" >Makefile.dep
+ -e "s| lj_asm_\S*\.h| lj_asm_*.h|g" >Makefile.dep.original
@for file in $(ALL_HDRGEN); do \
test -s $$file || $(HOST_RM) $$file; \
done
@@ -699,7 +699,7 @@ $(HOST_O): %.o: %.c
$(E) "HOSTCC $@"
$(Q)$(HOST_CC) $(HOST_ACFLAGS) -c -o $@ $<
-include Makefile.dep
+include Makefile.dep.original
##############################################################################
# Target file rules.
diff --git a/tools/luajit-parse-memprof b/tools/luajit-parse-memprof
deleted file mode 100755
index c814301..0000000
--- a/tools/luajit-parse-memprof
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-#
-# Launcher for memprof parser.
-
-# This two variables are replaced on installing.
-TOOL_DIR=$(dirname `readlink -f $0`)
-LUAJIT_BIN=$TOOL_DIR/../src/luajit
-
-LUA_PATH="$TOOL_DIR/?.lua;;" $LUAJIT_BIN $TOOL_DIR/memprof.lua $@
diff --git a/tools/luajit-parse-memprof.in b/tools/luajit-parse-memprof.in
new file mode 100644
index 0000000..8867202
--- /dev/null
+++ b/tools/luajit-parse-memprof.in
@@ -0,0 +1,6 @@
+#!/bin/bash
+#
+# Launcher for memprof parser.
+
+LUA_PATH="@LUAJIT_TOOLS_DIR@/?.lua;;" \
+ @LUAJIT_TOOLS_BIN@ @LUAJIT_TOOLS_DIR@/memprof.lua $@
--
2.25.0
next prev parent reply other threads:[~2021-02-02 20:58 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-02 20:57 [Tarantool-patches] [PATCH luajit 0/5] Self-sufficient LuaJIT testing environment Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` Igor Munkin via Tarantool-patches [this message]
2021-02-04 22:53 ` [Tarantool-patches] [PATCH luajit 1/5] build: preserve the original build system Timur Safin via Tarantool-patches
2021-02-08 15:56 ` Igor Munkin via Tarantool-patches
2021-02-09 11:38 ` Sergey Kaplun via Tarantool-patches
2021-02-09 12:47 ` Igor Munkin via Tarantool-patches
2021-02-09 14:45 ` Sergey Kaplun via Tarantool-patches
2021-02-09 15:28 ` Igor Munkin via Tarantool-patches
2021-02-10 9:35 ` Sergey Kaplun via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 2/5] build: replace GNU Make with CMake Igor Munkin via Tarantool-patches
2021-02-04 22:53 ` Timur Safin via Tarantool-patches
2021-02-08 15:56 ` Igor Munkin via Tarantool-patches
2021-02-09 13:55 ` Timur Safin via Tarantool-patches
2021-02-09 15:09 ` Igor Munkin via Tarantool-patches
2021-02-11 19:23 ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:28 ` Igor Munkin via Tarantool-patches
2021-02-18 9:56 ` Sergey Kaplun via Tarantool-patches
2021-02-20 19:18 ` Igor Munkin via Tarantool-patches
2021-02-27 10:48 ` Sergey Kaplun via Tarantool-patches
2021-02-28 18:18 ` Igor Munkin via Tarantool-patches
2021-02-13 3:47 ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:32 ` Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 3/5] test: run LuaJIT tests via CMake Igor Munkin via Tarantool-patches
2021-02-08 15:05 ` Timur Safin via Tarantool-patches
2021-02-08 16:29 ` Igor Munkin via Tarantool-patches
2021-02-09 8:16 ` Timur Safin via Tarantool-patches
2021-02-09 8:43 ` Igor Munkin via Tarantool-patches
2021-02-09 13:59 ` Timur Safin via Tarantool-patches
2021-02-09 15:10 ` Igor Munkin via Tarantool-patches
2021-02-14 18:48 ` Sergey Kaplun via Tarantool-patches
2021-02-19 19:04 ` Igor Munkin via Tarantool-patches
2021-02-27 13:50 ` Sergey Kaplun via Tarantool-patches
2021-02-28 18:18 ` Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 4/5] test: fix warnings found with luacheck in misclib* Igor Munkin via Tarantool-patches
[not found] ` <012f01d6fe1a$a2aa6890$e7ff39b0$@tarantool.org>
[not found] ` <2c495492-50f4-acfd-ad66-2cb44abb5fa1@tarantool.org>
2021-02-08 15:40 ` Sergey Bronnikov via Tarantool-patches
2021-02-08 15:58 ` Igor Munkin via Tarantool-patches
2021-02-08 15:57 ` Igor Munkin via Tarantool-patches
2021-02-14 19:16 ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:29 ` Igor Munkin via Tarantool-patches
2021-02-16 16:36 ` Sergey Kaplun via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 5/5] test: run luacheck static analysis via CMake Igor Munkin via Tarantool-patches
2021-02-04 22:52 ` Timur Safin via Tarantool-patches
2021-02-08 15:57 ` Igor Munkin via Tarantool-patches
2021-02-14 19:32 ` Sergey Kaplun via Tarantool-patches
2021-02-19 19:14 ` Igor Munkin via Tarantool-patches
2021-02-28 22:04 ` [Tarantool-patches] [PATCH luajit 0/5] Self-sufficient LuaJIT testing environment Igor Munkin via Tarantool-patches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b9eaa8146fdc237af7612307538044718ea96317.1612291495.git.imun@tarantool.org \
--to=tarantool-patches@dev.tarantool.org \
--cc=imun@tarantool.org \
--cc=skaplun@tarantool.org \
--cc=tsafin@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH luajit 1/5] build: preserve the original build system' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox