From adb12983d77374737e543072adb8e938b417e244 Mon Sep 17 00:00:00 2001
From: David Given <dg@cowlark.com>
Date: Sat, 4 Nov 2017 11:11:25 +0100
Subject: [PATCH] Add a WANT_STRIPPED_BINARIES makefile flag which controls
whether binaries are stripped before installation or not (as Fedora wants
unstripped binaries).
Closes: #46
---
Makefile | 7 ++++++-
build.lua | 35 ++++++++++++++++++++++++-----------
2 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/Makefile b/Makefile
index 3c013af..9766123 100644
--- a/Makefile
+++ b/Makefile
@@ -77,6 +77,10 @@ LUABITOP_PACKAGE ?= builtin
MINIZIP_PACKAGE ?= builtin
UTHASH_PACKAGE ?= builtin
+# Do you want your binaries stripped on installation?
+
+WANT_STRIPPED_BINARIES ?= yes
+
# ===========================================================================
# END OF CONFIGURATION OPTIONS
# ===========================================================================
@@ -134,13 +138,14 @@ $(OBJDIR)/build.ninja:: $(LUA_INTERPRETER) build.lua Makefile
OBJDIR="$(OBJDIR)" \
UTHASH_PACKAGE="$(UTHASH_PACKAGE)" \
VERSION="$(VERSION)" \
+ WANT_STRIPPED_BINARIES="$(WANT_STRIPPED_BINARIES)" \
WINCC="$(WINCC)" \
WINDRES="$(WINDRES)" \
XFT_PACKAGE="$(XFT_PACKAGE)" \
clean:
@echo CLEAN
- @rm -rf $(OBJDIR)
+ @rm -rf $(OBJDIR) bin
ifeq ($(LUA_INTERPRETER),$(OBJDIR)/lua)
$(LUA_INTERPRETER): src/c/emu/lua-5.1.5/*.[ch]
diff --git a/build.lua b/build.lua
index fed80c4..1efa772 100644
--- a/build.lua
+++ b/build.lua
@@ -351,6 +351,12 @@ function install_file(mode, src, dest)
installables[#installables+1] = dest
end
+-- Sanity check
+
+if (not WANT_STRIPPED_BINARIES) or (WANT_STRIPPED_BINARIES == "") then
+ WANT_STRIPPED_BINARIES = "yes"
+end
+
-- Detect what tools we have available.
io.write("Windows toolchain: ")
@@ -504,28 +510,35 @@ if want_frontend("x11") or want_frontend("curses") then
end
print("The preferred Lua package is: '"..LUA_PACKAGE.."'")
+ local function strip_binary(binary)
+ if WANT_STRIPPED_BINARIES == "yes" then
+ local stripped = binary.."-stripped"
+ emit("build ", stripped, ": strip ", binary)
+ allbinaries[#allbinaries+1] = stripped
+ binary = stripped
+ end
+
+ return binary
+ end
+
local preferred_test
local preferred_curses
local preferred_x11
- local stripped_curses
- local stripped_x11
if want_frontend("curses") then
preferred_curses = "bin/wordgrinder-"..package_name(LUA_PACKAGE).."-curses-release"
preferred_test = "test-"..package_name(LUA_PACKAGE).."-curses-debug"
- stripped_curses = preferred_curses.."-stripped"
- emit("build ", stripped_curses, ": strip ", preferred_curses)
- allbinaries[#allbinaries+1] = stripped_curses
- install_file("755", stripped_curses, DESTDIR..BINDIR.."/wordgrinder")
+
+ preferred_curses = strip_binary(preferred_curses)
+ install_file("755", preferred_curses, DESTDIR..BINDIR.."/wordgrinder")
end
if want_frontend("x11") then
preferred_x11 = "bin/xwordgrinder-"..package_name(LUA_PACKAGE).."-x11-release"
if not preferred_test then
preferred_test = "test-"..package_name(LUA_PACKAGE).."-x11-debug"
end
- stripped_x11 = preferred_x11.."-stripped"
- emit("build ", stripped_x11, ": strip ", preferred_x11)
- allbinaries[#allbinaries+1] = stripped_x11
- install_file("755", stripped_x11, DESTDIR..BINDIR.."/xwordgrinder")
+
+ preferred_x11 = strip_binary(preferred_x11)
+ install_file("755", preferred_x11, DESTDIR..BINDIR.."/xwordgrinder")
end
install_file("644", "bin/wordgrinder.1", DESTDIR..MANDIR.."/man1/wordgrinder.1")
install_file("644", "README.wg", DESTDIR..DOCDIR.."/wordgrinder/README.wg")
@@ -534,7 +547,7 @@ if want_frontend("x11") or want_frontend("curses") then
emit(" date = ", DATE)
emit(" version = ", VERSION)
- emit("build all: phony bin/wordgrinder.1 ", stripped_curses or "", " ", stripped_x11 or "", " ", preferred_test)
+ emit("build all: phony bin/wordgrinder.1 ", preferred_curses or "", " ", preferred_x11 or "", " ", preferred_test)
emit("build install: phony all ", table.concat(installables, " "))
end