Use AX_WITH_CURSES for curses library discovery

Properly discovers libtinfow for customized systems (e.g., Gentoo) while
offloading search handling to autoconf builtins.

Additionally adds autoconf-archive as a buildtime dependency.

Fixes #250.

Signed-off-by: Marco Sirabella <marco@sirabella.org>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Marco Sirabella 2021-11-03 11:30:39 -07:00 committed by Lukas Fleischer
parent 154339b5f1
commit bea7349211
3 changed files with 9 additions and 22 deletions

View File

@ -24,7 +24,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Install dependencies (Ubuntu)
run: sudo apt-get install asciidoc autopoint gettext xmlto
run: sudo apt-get install asciidoc autopoint gettext xmlto autoconf-archive
if: matrix.os == 'ubuntu-latest'
- name: Install dependencies (MacOS)
run: |
@ -33,6 +33,7 @@ jobs:
brew install asciidoc
brew install gettext
brew install xmlto
brew install autoconf-archive
brew link --force gettext
sudo mkdir /etc/xml
sudo ln -s /usr/local/etc/xml/catalog /etc/xml/catalog

View File

@ -14,6 +14,7 @@ files from core packages (i.e., \*-devel or \*-dev packages), you may need to
install those as well:
* gcc
* autoconf-archive
* automake
* autopoint
* asciidoc

View File

@ -29,27 +29,12 @@ AC_CHECK_HEADERS([ctype.h getopt.h locale.h math.h signal.h stdio.h stdlib.h \
#-------------------------------------------------------------------------------
# Checks for system libs
#-------------------------------------------------------------------------------
AC_CHECK_FUNC(initscr,,
[
available_ncurses="none"
for lib in ncursesw ncurses
do
AC_CHECK_LIB($lib, initscr,
[available_ncurses="$lib"; break])
done
if test "$available_ncurses" = none; then
AC_MSG_ERROR(Either ncurses or ncursesw library is required to build calcurse!)
elif test "$available_ncurses" = ncursesw; then
AC_CHECK_HEADERS([ncursesw/ncurses.h],,
[AC_CHECK_HEADERS([ncurses.h],,
AC_MSG_ERROR([Missing ncursesw header file]))])
else
AC_CHECK_HEADERS([ncurses/ncurses.h],,
[AC_CHECK_HEADERS([ncurses.h],,
AC_MSG_ERROR([Missing ncurses header file]))])
fi
LIBS="$LIBS -l$available_ncurses"
])
AX_WITH_CURSES
if test "x$ax_cv_ncursesw" != xyes && test "x$ax_cv_ncurses" != xyes; then
AC_MSG_ERROR(Either ncurses or ncursesw library is required to build calcurse!)
fi
LIBS="$LIBS $CURSES_LIBS"
AC_CHECK_HEADERS([pthread.h], [
AC_CHECK_LIB(pthread, pthread_create, [