summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-02-25 00:07:42 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2021-02-25 10:05:12 +0100
commitaa3c71ca2b6006105e1919bcf3eaf2c12d342256 (patch)
treec7825ba2aca5cd0bedfadab1c7995f340d62b27a /scripts
parent009336f7557ef8a74873f6bddcaa31399eede451 (diff)
prereq: Use check-lxdialog.sh to determine curses library
Curses detection in adk/config/Makefile is a mess - pkg-config was designed to avoid exactly that, so make it a required tool on all host OSs and call check-lxdialog.sh from mconf sources which uses it to define the required curses LIBS and CFLAGS from prereq.sh. Since pkg-config output also contains the right arguments for libtinfo (which depends on the chosen curses variant), no mismatches between the two may happen anymore. While being at it, sync check-lxdialog.sh with current linux sources so it covers installations with widechar support as well. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/prereq.sh31
1 files changed, 20 insertions, 11 deletions
diff --git a/scripts/prereq.sh b/scripts/prereq.sh
index 8f42a7c60..bd0b525d8 100755
--- a/scripts/prereq.sh
+++ b/scripts/prereq.sh
@@ -304,6 +304,24 @@ if ! which git >/dev/null 2>&1; then
fi
printf "found\n"
+printf " ---> checking if pkg-config is installed.. "
+if ! which pkg-config >/dev/null 2>&1; then
+ printf "not found\n"
+ out=1
+else
+ printf "found\n"
+fi
+
+printf " ---> checking if ncurses is installed.. "
+check_lxdialog=${topdir}/adk/config/lxdialog/check-lxdialog.sh
+CURSES_CFLAGS=$(/bin/sh ${check_lxdialog} -ccflags | tr '\n' ' ')
+CURSES_LIBS=$(/bin/sh ${check_lxdialog} -ldflags ${CC})
+if [ $? -eq 0 ]; then
+ printf "found\n"
+else
+ printf "not found\n"
+ out=1
+fi
# creating prereq.mk
echo "ADK_TOPDIR:=$(readlink -nf . 2>/dev/null || pwd -P)" > $topdir/prereq.mk
@@ -327,6 +345,8 @@ echo "ARCH_FOR_BUILD:=$(${CC} -dumpmachine | sed \
-e 's/mipsel-.*/mipsel/' \
-e 's/i[3-9]86/x86/' \
)" >>prereq.mk
+echo "CURSES_LIBS:=${CURSES_LIBS}" >> $topdir/prereq.mk
+echo "CURSES_CFLAGS:=${CURSES_CFLAGS}" >> $topdir/prereq.mk
if [ "$CC" = "clang" ]; then
echo "HOST_CC:=${CC} -fbracket-depth=1024" >> $topdir/prereq.mk
@@ -423,17 +443,6 @@ fi
rm test.c test 2>/dev/null
rm Makefile.tmp 2>/dev/null
-# for make kernelconfig pkg-config is required to find ncurses
-if [ $os = "Darwin" ]; then
- printf " ---> checking if pkg-config is installed.. "
- if ! which pkg-config >/dev/null 2>&1; then
- printf "not found\n"
- out=1
- else
- printf "found\n"
- fi
-fi
-
# error out on any required prerequisite
if [ $out -ne 0 ]; then
exit