From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Clemens Gruber <clemens.gruber@pqgruber.com>
Subject: [ptxdist] [PATCH 1/2] ptxdist: Use pkg-config for ncurses detection
Date: Mon, 6 Nov 2017 16:26:06 +0100 [thread overview]
Message-ID: <20171106152607.18938-2-clemens.gruber@pqgruber.com> (raw)
In-Reply-To: <20171106152607.18938-1-clemens.gruber@pqgruber.com>
Use pkg-config to detect ncurses instead of AC_SEARCH_LIBS.
We still have a --with-ncurses option to prepend the search path of the
ncurses headers. The CFLAGS from pkg-config are always appended, as they
not only contain -I but also -D flags.
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
Makefile.in | 1 +
configure.ac | 27 ++++++++++++++++++++-------
scripts/kconfig/Makefile | 2 +-
3 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index f454cbd1a..40c676c2b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -36,6 +36,7 @@ kconfig:
$(MAKE) -C "$(abs_srcdir)/scripts/kconfig" \
CONF_LIBS="@CONF_LIBS@" \
MCONF_LIBS="@MCONF_LIBS@" \
+ NCONF_LIBS="@NCONF_LIBS@" \
CURSES_LOC="@CURSES_LOC@" \
conf mconf $(NCONF)
@echo "done."
diff --git a/configure.ac b/configure.ac
index 5348db8a2..338fb6089 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,6 +29,11 @@ dnl
AC_PROG_CC
AC_PROG_CXX
+dnl
+dnl Check for pkg-config
+dnl
+PKG_PROG_PKG_CONFIG
+
dnl
dnl Check header files, mostly for lxdialog & kconfig
dnl
@@ -41,28 +46,36 @@ AC_SEARCH_LIBS(regcomp, [regex gnuregex],,
CONF_LIBS=${LIBS}
AC_SUBST(CONF_LIBS)
-AC_SEARCH_LIBS(mvaddch, [curses ncurses pdcurses], [CURSES_LIB=$ac_lib],
- [AC_MSG_ERROR([curses development library not found, please install libncurses-dev])])
-MCONF_LIBS=${LIBS}
+PKG_CHECK_MODULES([NCURSES], [ncurses],, [
+ AC_MSG_ERROR([Cannot find ncurses library.])])
+MCONF_LIBS="${LIBS} ${NCURSES_LIBS}"
AC_SUBST(MCONF_LIBS)
+PKG_CHECK_MODULES([NCURSES_PANEL], [panel],,
+ AC_MSG_ERROR([Cannot find ncurses panel library.])])
+PKG_CHECK_MODULES([NCURSES_MENU], [menu],,
+ AC_MSG_ERROR([Cannot find ncurses menu library.])])
+NCONF_LIBS="${LIBS} ${NCURSES_LIBS} ${NCURSES_PANEL_LIBS} ${NCURSES_MENU_LIBS}"
+AC_SUBST(NCONF_LIBS)
+
AC_CHECK_HEADERS(
- [curses.h ncurses.h ncurses/curses.h ncurses/ncurses.h pdcurses.h pdcurses/curses.h pdcurses/pdcurses.h],
+ [curses.h ncurses.h ncurses/curses.h ncurses/ncurses.h],
[CURSES_LOC="<$ac_header>";found_curses_headers=yes; break;])
AS_IF([test "x$CURSES_LOC" = "x"],
- [AC_MSG_ERROR([curses headers not found])])
+ [AC_MSG_ERROR([ncurses headers not found])])
AC_SUBST(CURSES_LOC)
+CPPFLAGS="${NCURSES_CFLAGS}"
AC_ARG_WITH(ncurses, AS_HELP_STRING([--with-ncurses],[Include path to the ncurses headers]),
[
if test "x$withval" != "xyes"; then
- CPPFLAGS="-I$withval"
- AC_SUBST(CPPFLAGS)
+ CPPFLAGS="-I$withval ${CPPFLAGS}"
fi
with_ncurses=yes
],[
with_ncurses=auto
])
+AC_SUBST(CPPFLAGS)
AC_CHECK_HEADER(
[menu.h],
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 78a631680..7b2631702 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -25,7 +25,7 @@ endif
conf-libs := $(CONF_LIBS)
mconf-libs := $(MCONF_LIBS)
-nconf-libs := -lncurses -lmenu -lpanel
+nconf-libs := $(NCONF_LIBS)
lkc-deps := lkc.h lkc_defs.h expr.h
--
2.15.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2017-11-06 15:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-06 15:26 [ptxdist] [PATCH 0/2] ptxdist: pkg-config changes Clemens Gruber
2017-11-06 15:26 ` Clemens Gruber [this message]
2017-11-06 15:26 ` [ptxdist] [PATCH 2/2] ptxdist: Add more checks, recommended by autoscan Clemens Gruber
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=20171106152607.18938-2-clemens.gruber@pqgruber.com \
--to=clemens.gruber@pqgruber.com \
--cc=ptxdist@pengutronix.de \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox