osmith has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40029?usp=email )
Change subject: buildsystem/regen_makefile: modernize
......................................................................
buildsystem/regen_makefile: modernize
Apply various small changes to make this file more readable.
Change-Id: I5a7dcd6171c6a370928ebedafc5ed318384dd8dd
---
M _buildsystem/regen_makefile.inc.sh
1 file changed, 19 insertions(+), 33 deletions(-)
Approvals:
osmith: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/_buildsystem/regen_makefile.inc.sh b/_buildsystem/regen_makefile.inc.sh
index 31dd491..5534ff5 100644
--- a/_buildsystem/regen_makefile.inc.sh
+++ b/_buildsystem/regen_makefile.inc.sh
@@ -1,19 +1,6 @@
# Copyright 2017-2019 Harald Welte
-# Copyright 2018 sysmocom - s.f.m.c. GmbH
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#
http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
+# Copyright 2018-2025 sysmocom - s.f.m.c. GmbH
+# SPDX-License-Identifier: Apache-2.0
# Wrapper around the TITAN make file generator
if [ -z "$NAME" ]; then
@@ -26,16 +13,9 @@
exit 1
fi
-test -x "$(which ttcn3_makefilegen 2>/dev/null)" || { echo "ERROR:
ttcn3_makefilegen not in PATH"; exit 1; }
-
-# Enable ccache if it can be found in path.
-# This speeds up repeated builds of the TTCN3 tests by an order of magnitude
-# since most of the generated C++ source files don't change very often.
-# Roughly, for an initial build which takes N minutes, a complete rebuild
-# after 'make clean' will only take N seconds with ccache.
-# Note that ccache cannot speed up compilation of .o files to .so files.
-if [ -z "$USE_CCACHE" ] && which ccache 2>/dev/null; then
- USE_CCACHE=1
+if ! command -v ttcn3_makefilegen >/dev/null; then
+ echo "ERROR: ttcn3_makefilegen not in PATH"
+ exit 1
fi
ttcn3_makefilegen -g -p -l -U 8 -f -e "$NAME" $FILES
@@ -43,31 +23,37 @@
sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = \/usr/' Makefile
sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan/' Makefile
sed -i -e 's/LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lsctp -lssl/' Makefile
-#sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile
# The -DMAKEDEPEND_RUN is a workaround for Debian packaging issue,
# see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879816 for details
sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN
-DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL/' Makefile
-#remove -Wall from CXXFLAGS: we're not interested in generic warnings for
autogenerated code cluttering the logs
+# Remove -Wall from CXXFLAGS: we're not interested in generic warnings for
+# autogenerated code cluttering the logs
sed -i -e 's/-Wall//' Makefile
-if [ "x$CPPFLAGS_TTCN3" != "x" ]; then
+if [ -n "$CPPFLAGS_TTCN3" ]; then
CPPFLAGS_TTCN3="$(echo "$CPPFLAGS_TTCN3" | tr -d '\n' | tr
'\t' ' ')"
sed -i -e "s/CPPFLAGS_TTCN3 =/CPPFLAGS_TTCN3 = $CPPFLAGS_TTCN3/" Makefile
fi
-# for TITAN 6.3.0
+# For TITAN 6.3.0
if cat /etc/issue | grep "Arch Linux" >/dev/null 2>&1; then
sed -i -e 's/TTCN3_DIR = $/TTCN3_DIR = \/usr\/ttcn3/' Makefile
else
sed -i -e 's/TTCN3_DIR = $/TTCN3_DIR = \/usr/' Makefile
fi
-if [ "x$USE_CCACHE" = "x1" ]; then
- # enable ccache
+# Enable ccache if it can be found in path. This speeds up repeated builds of
+# the TTCN3 tests by an order of magnitude since most of the generated C++
+# source files don't change very often. Roughly, for an initial build which
+# takes N minutes, a complete rebuild after 'make clean' will only take N
+# seconds with ccache. Note that ccache cannot speed up compilation of .o files
+# to .so files.
+if [ "$USE_CCACHE" != 0 ] && command -v ccache >/dev/null; then
sed -i -e 's/^CXX = g++ $/CXX = env CCACHE_SLOPPINESS=time_macros ccache g++/'
Makefile
- # Append the -D option to compiler flags. This option disables timestamps
- # inside comments in the generated C++ code which interfere with ccache.
+ # Append the -D option to compiler flags. This option disables
+ # timestamps inside comments in the generated C++ code which interfere
+ # with ccache.
sed -i -e 's/^COMPILER_FLAGS = \(.*\)/& -D/' Makefile
fi
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40029?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I5a7dcd6171c6a370928ebedafc5ed318384dd8dd
Gerrit-Change-Number: 40029
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>