summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-07-19 09:53:58 +0800
committerPo Lu <luangruo@yahoo.com>2023-07-19 09:53:58 +0800
commit69828fba2874e305079bf5f1a25834dbd620b2f3 (patch)
tree2c2e5b3ddd12bb73ed4903d4e64ebc163a729e83 /build-aux
parent5a3de76532056e03b674b1cb7d4e0d9e15a2a971 (diff)
downloademacs-69828fba2874e305079bf5f1a25834dbd620b2f3.tar.gz
Make sure Android builds are redumped upon changes to shortlisp
* build-aux/makecounter.sh: New script. * src/Makefile.in (abs_top_builddir): New variable. (BUILD_COUNTER_OBJ): Define to build-counter.o if compiling for Android. (build-counter.c): New target. Generate this file using makecounter.sh upon changes to lisp.mk or shortlisp. (lisp.mk): Make and load relative to abs_top_builddir. (emacs$(EXEEXT)): Adjust acordingly. (mostlyclean): Remove build-counter.c.
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/makecounter.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/build-aux/makecounter.sh b/build-aux/makecounter.sh
new file mode 100755
index 00000000000..13ad5f485a2
--- /dev/null
+++ b/build-aux/makecounter.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+# Generate or update a C file containing an increasing counter
+# variable.
+#
+# Copyright (C) 2023 Free Software Foundation, Inc.
+#
+# This file is part of GNU Emacs. GNU Emacs is free software: you can
+# redistribute it and/or modify it under the terms of the GNU General
+# Public License as published by the Free Software Foundation, either
+# version 3 of the License, or (at your option) any later version.
+#
+# GNU Emacs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+set -e
+
+curcount=
+if test -f "$1"; then
+ curcount=`cat "$1" | grep = | cut -d= -f2 \
+ | sed -e 's/;//' -e 's/ //'`
+fi
+
+curcount=`expr 1 + $curcount 2>/dev/null || echo 0`
+
+cat > $1 <<EOF
+/* Generated automatically by makecounter.sh. Do not edit! */
+
+#include <config.h>
+
+#ifdef HAVE_ANDROID
+#define EXPORT __attribute__ ((visibility ("default")))
+#endif /* HAVE_ANDROID */
+
+#ifdef EXPORT
+EXPORT
+#endif /* EXPORT */
+int counter = $curcount;
+EOF