1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

Fix broken build on AIX 7.2

Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
symbol: BC’.  This is because -lcurses does not define BC etc.
* configure.ac: When building terminfo.o, define
TERMINFO_DEFINES_BC if the library defines BC etc.
* src/terminfo.c (UP, BC, PC): Define depending on
TERMINFO_DEFINES_BC, not on TERMINFO.
This commit is contained in:
Paul Eggert 2021-01-03 11:19:48 -08:00
parent a7c2793efe
commit 585997d05a
2 changed files with 15 additions and 3 deletions

View File

@ -4366,6 +4366,18 @@ TERMCAP_OBJ=tparam.o
if test $TERMINFO = yes; then
AC_DEFINE(TERMINFO, 1, [Define to 1 if you use terminfo instead of termcap.])
TERMCAP_OBJ=terminfo.o
AC_CACHE_CHECK([whether $LIBS_TERMCAP library defines BC],
[emacs_cv_terminfo_defines_BC],
[OLD_LIBS=$LIBS
LIBS="$LIBS $LIBS_TERMCAP"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern char *BC;]], [[return !*BC;]])],
[emacs_cv_terminfo_defines_BC=yes],
[emacs_cv_terminfo_defines_BC=no])
LIBS=$OLD_LIBS])
if test "$emacs_cv_terminfo_defines_BC" = yes; then
AC_DEFINE([TERMINFO_DEFINES_BC], 1, [Define to 1 if the
terminfo library defines the variables BC, PC, and UP.])
fi
fi
if test "X$LIBS_TERMCAP" = "X-lncurses"; then
AC_DEFINE(USE_NCURSES, 1, [Define to 1 if you use ncurses.])

View File

@ -23,10 +23,10 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
/* Define these variables that serve as global parameters to termcap,
so that we do not need to conditionalize the places in Emacs
that set them. But don't do that for terminfo, as that could
cause link errors when using -fno-common. */
that set them. But don't do that if terminfo defines them, as that
could cause link errors when using -fno-common. */
#if !TERMINFO
#ifndef TERMINFO_DEFINES_BC
char *UP, *BC, PC;
#endif