clean up term lib handling
The ncurses package has been providing pkg-config files for a while now. So let's start using them to get the proper linker & compiler flags. It can make a difference when ncurses is configured in a way that requires extra link time flags but util-linux doesn't provide them, or when the headers live in a weird place and util-linux can't find them. Since the NCURSES_LIBS is always defined for the Makefile, there's no need to gate on the HAVE_NCURSES conditional. When it's disabled, the var will simply be empty. With a minor tweak to how tinfo is handled, we can do the same thing -- we just always use TINFO_LIBS in the Makefile's. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
bfc4331b14
commit
2b8f22bd90
31
configure.ac
31
configure.ac
|
@ -595,6 +595,28 @@ AM_CONDITIONAL([HAVE_NCURSES], [false])
|
|||
|
||||
AS_IF([test "x$with_ncurses" != xno], [
|
||||
have_ncurses=no
|
||||
|
||||
dnl First try to find the pkg-config module.
|
||||
PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
|
||||
have_ncurses=yes
|
||||
NCURSES_LIBS=${NCURSESW_LIBS}
|
||||
NCURSES_CFLAGS=${NCURSESW_CFLAGS}
|
||||
AC_DEFINE([HAVE_LIBNCURSESW])
|
||||
], [
|
||||
PKG_CHECK_MODULES(NCURSES, [ncurses], [
|
||||
have_ncurses=yes
|
||||
AC_DEFINE([HAVE_LIBNCURSES])
|
||||
], [:])
|
||||
])
|
||||
|
||||
AS_IF([test "x$have_ncurses" = xyes], [
|
||||
dnl If that worked, setup the defines that the code expects.
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
|
||||
AC_CHECK_HEADERS([ncurses.h])
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
], [
|
||||
dnl If that failed, fall back to classic searching.
|
||||
AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
|
||||
AS_IF([test "x$with_ncurses" = xauto], [
|
||||
UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
|
||||
|
@ -610,10 +632,13 @@ AS_IF([test "x$with_ncurses" != xno], [
|
|||
])
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test "x$have_ncurses" = xno], [
|
||||
AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
|
||||
])
|
||||
])
|
||||
AC_SUBST([NCURSES_CFLAGS])
|
||||
AC_SUBST([NCURSES_LIBS])
|
||||
|
||||
|
||||
|
@ -642,9 +667,11 @@ AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
|
|||
AM_CONDITIONAL([BUILD_CFDISK], [test "x$have_slang" = xyes -o "x$have_ncurses" = xyes])
|
||||
|
||||
|
||||
have_tinfo=no
|
||||
AC_CHECK_LIB([tinfo], [tgetent], [have_tinfo=yes])
|
||||
AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
|
||||
AS_IF([test "x$have_tinfo" = xyes], [
|
||||
TINFO_LIBS="-ltinfo"
|
||||
])
|
||||
AC_SUBST([TINFO_LIBS])
|
||||
|
||||
|
||||
AC_ARG_WITH([utempter],
|
||||
|
|
|
@ -56,7 +56,7 @@ if BUILD_CFDISK
|
|||
sbin_PROGRAMS += cfdisk
|
||||
dist_man_MANS += fdisks/cfdisk.8
|
||||
cfdisk_SOURCES = fdisks/cfdisk.c
|
||||
cfdisk_CFLAGS =
|
||||
cfdisk_CFLAGS = $(AM_CFLAGS)
|
||||
cfdisk_LDADD = $(LDADD) libcommon.la
|
||||
|
||||
if BUILD_LIBBLKID
|
||||
|
@ -67,9 +67,8 @@ endif
|
|||
if HAVE_SLANG
|
||||
cfdisk_LDADD += -lslang
|
||||
else
|
||||
if HAVE_NCURSES
|
||||
cfdisk_LDADD += @NCURSES_LIBS@
|
||||
endif
|
||||
cfdisk_CFLAGS += $(NCURSES_CFLAGS)
|
||||
cfdisk_LDADD += $(NCURSES_LIBS)
|
||||
endif
|
||||
endif # BUILD_CFDISK
|
||||
|
||||
|
|
|
@ -10,19 +10,11 @@ if !HAVE_LANGINFO
|
|||
cal_SOURCES += lib/langinfo.c
|
||||
endif
|
||||
|
||||
cal_LDADD = $(LDADD) libcommon.la
|
||||
|
||||
if HAVE_TINFO
|
||||
cal_LDADD += -ltinfo @NCURSES_LIBS@
|
||||
else
|
||||
if HAVE_NCURSES
|
||||
cal_LDADD += @NCURSES_LIBS@
|
||||
else
|
||||
cal_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
|
||||
cal_LDADD = $(LDADD) libcommon.la $(NCURSES_LIBS) $(TINFO_LIBS)
|
||||
if HAVE_TERMCAP
|
||||
cal_LDADD += -ltermcap
|
||||
endif
|
||||
endif # !HAVE_NCURSES
|
||||
endif # !HAVE_TINFO
|
||||
|
||||
|
||||
usrbin_exec_PROGRAMS += logger
|
||||
|
|
|
@ -28,11 +28,8 @@ if BUILD_SETTERM
|
|||
usrbin_exec_PROGRAMS += setterm
|
||||
dist_man_MANS += term-utils/setterm.1
|
||||
setterm_SOURCES = term-utils/setterm.c
|
||||
if HAVE_TINFO
|
||||
setterm_LDADD = $(LDADD) -ltinfo
|
||||
else
|
||||
setterm_LDADD = $(LDADD) @NCURSES_LIBS@
|
||||
endif
|
||||
setterm_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
|
||||
setterm_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
@ -53,11 +53,8 @@ if BUILD_PG
|
|||
usrbin_exec_PROGRAMS += pg
|
||||
dist_man_MANS += text-utils/pg.1
|
||||
pg_SOURCES = text-utils/pg.c
|
||||
pg_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS)
|
||||
pg_LDADD = $(LDADD) libcommon.la @NCURSES_LIBS@
|
||||
if HAVE_TINFO
|
||||
pg_LDADD += -ltinfo
|
||||
endif
|
||||
pg_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS) $(NCURSES_CFLAGS)
|
||||
pg_LDADD = $(LDADD) libcommon.la $(NCURSES_LIBS) $(TINFO_LIBS)
|
||||
endif # BUILD_PG
|
||||
|
||||
|
||||
|
@ -65,12 +62,8 @@ if BUILD_UL
|
|||
usrbin_exec_PROGRAMS += ul
|
||||
dist_man_MANS += text-utils/ul.1
|
||||
ul_SOURCES = text-utils/ul.c
|
||||
ul_LDADD = $(LDADD)
|
||||
if HAVE_TINFO
|
||||
ul_LDADD += -ltinfo
|
||||
else
|
||||
ul_LDADD += @NCURSES_LIBS@
|
||||
endif
|
||||
ul_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
|
||||
ul_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
|
||||
endif # BUILD_UL
|
||||
|
||||
|
||||
|
@ -78,17 +71,11 @@ if BUILD_MORE
|
|||
bin_PROGRAMS += more
|
||||
dist_man_MANS += text-utils/more.1
|
||||
more_SOURCES = text-utils/more.c
|
||||
more_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS)
|
||||
more_LDADD = $(LDADD)
|
||||
if HAVE_TINFO
|
||||
more_LDADD += -ltinfo
|
||||
else
|
||||
if HAVE_NCURSES
|
||||
more_LDADD += @NCURSES_LIBS@
|
||||
else
|
||||
more_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS) $(NCURSES_CFLAGS)
|
||||
more_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
|
||||
if HAVE_TERMCAP
|
||||
more_LDADD += -ltermcap
|
||||
endif
|
||||
endif
|
||||
|
||||
check_PROGRAMS += test_more
|
||||
test_more_SOURCES = $(more_SOURCES)
|
||||
|
|
Loading…
Reference in New Issue