dnl***************************************************************************
-dnl Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
+dnl Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
dnl copy of this software and associated documentation files (the *
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: configure.in,v 1.442 2008/08/23 19:28:46 tom Exp $
+dnl $Id: configure.in,v 1.482 2010/02/20 20:00:54 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl See http://invisible-island.net/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.13.20020210)
-AC_REVISION($Revision: 1.442 $)
+AC_REVISION($Revision: 1.482 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
[cf_with_ada=yes])
AC_MSG_RESULT($cf_with_ada)
+AC_MSG_CHECKING(if you want to install manpages)
+AC_ARG_WITH(manpages,
+ [ --without-manpages suppress install of manpages],
+ [cf_with_manpages=$withval],
+ [cf_with_manpages=yes])
+AC_MSG_RESULT($cf_with_manpages)
+
AC_MSG_CHECKING(if you want to build programs such as tic)
AC_ARG_WITH(progs,
[ --without-progs suppress build with programs (e.g., tic)],
AC_SYS_LONG_FILE_NAMES
+# if we find pkg-config, check if we should install the ".pc" files.
+CF_PKG_CONFIG
+
+if test "$PKG_CONFIG" != no ; then
+ AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+
+ # Leave this as something that can be overridden in the environment.
+ if test -z "$PKG_CONFIG_LIBDIR" ; then
+ PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
+ fi
+ PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+ if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
+ AC_ARG_ENABLE(pc-files,
+ [ --enable-pc-files generate and install .pc files for pkg-config],
+ [enable_pc_files=$enableval],
+ [enable_pc_files=no])
+ AC_MSG_RESULT($enable_pc_files)
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
+ enable_pc_files=no
+ fi
+fi
+AC_SUBST(PKG_CONFIG_LIBDIR)
+
AC_MSG_CHECKING(if we should assume mixed-case filenames)
AC_ARG_ENABLE(mixed-case,
[ --enable-mixed-case tic should assume mixed-case filenames],
AC_CHECK_TOOL(RANLIB, ranlib, ':')
AC_CHECK_TOOL(LD, ld, ld)
AC_CHECK_TOOL(AR, ar, ar)
-CF_SUBST(archiver options,AR_OPTS,rv)
+CF_AR_FLAGS
dnl Special option for use by system-builders: the install-prefix is used to
dnl adjust the location into which the actual install is done, so that an
SHLIB_LIST="-ldl $SHLIB_LIST"
else
SHLIB_LIST="-lgpm $SHLIB_LIST"
+ TEST_LIBS="-lgpm $TEST_LIBS"
fi
AC_DEFINE(HAVE_LIBGPM)
CF_CHECK_GPM_WGETCH
case $DFT_LWR_MODEL in
shared)
-AC_MSG_CHECKING(if rpath option should be used)
-AC_ARG_ENABLE(rpath,
-[ --enable-rpath use rpath option when generating shared libraries],
-[cf_cv_ld_rpath=$enableval],
-[cf_cv_ld_rpath=no])
-AC_MSG_RESULT($cf_cv_ld_rpath)
+CF_ENABLE_RPATH
AC_MSG_CHECKING(if shared libraries should be relinked during install)
AC_ARG_ENABLE(relink,
[ --disable-relink relink shared libraries during install],
AC_DEFINE(USE_DATABASE)
AC_MSG_CHECKING(which terminfo source-file will be installed)
- AC_ARG_ENABLE(database,
+ AC_ARG_WITH(database,
[ --with-database=XXX specify terminfo source to install],
[TERMINFO_SRC=$withval])
AC_MSG_RESULT($TERMINFO_SRC)
[ --with-hashed-db specify hashed-database library],,
[with_hashed_db=no])
AC_MSG_RESULT($with_hashed_db)
+else
+ with_hashed_db=no
fi
AC_MSG_CHECKING(for list of fallback descriptions)
test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
### ISO C only guarantees 512-char strings, we have tables which load faster
-### when constructed using "big" strings.
+### when constructed using "big" strings. More than the C compiler, the awk
+### program is a limit on most vendor UNIX systems. Check that we can build.
AC_MSG_CHECKING(if big-strings option selected)
AC_ARG_ENABLE(big-strings,
[ --disable-big-strings assume compiler has only standard-size strings],
- [with_big_strings=no],
- [with_big_strings=yes])
+ [with_big_strings=$enableval],
+ [CF_AWK_BIG_PRINTF(12000,with_big_strings)])
AC_MSG_RESULT($with_big_strings)
USE_BIG_STRINGS=0
CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
# with_overwrite=no
NCURSES_CH_T=cchar_t
- AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc)
+ AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
if test "$ac_cv_func_putwc" != yes ; then
- CF_LIBUTF8
- if test "$cf_cv_libutf8" = yes ; then
+ CF_UTF8_LIB
+ if test "$cf_cv_utf8_lib" != no ; then
NCURSES_LIBUTF8=1
fi
fi
test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
AC_SUBST(NCURSES_TPARM_VARARGS)
+### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+if test "$with_ticlib" != no ; then
+AC_MSG_CHECKING(if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library)
+AC_ARG_ENABLE(tic-depends,
+ [ --disable-tic-depends link tic library without explicit dependency on ncurses library],
+ [with_tic_depends=$enableval],
+ [with_tic_depends=yes])
+AC_MSG_RESULT($with_tic_depends)
+else
+ with_tic_depends=no
+fi
+
### use option --with-bool to override bool's type
AC_MSG_CHECKING(for type of bool)
AC_ARG_WITH(bool,
[NCURSES_MMASK_T=auto])
AC_MSG_RESULT($NCURSES_MMASK_T)
+### use option --with-ccharw-max to override CCHARW_MAX size
+AC_MSG_CHECKING(for size CCHARW_MAX)
+AC_ARG_WITH(ccharw-max,
+ [ --with-ccharw-max=XXX override size CCHARW_MAX],
+ [NCURSES_CCHARW_MAX="$withval"],
+ [NCURSES_CCHARW_MAX=5])
+AC_MSG_RESULT($NCURSES_CCHARW_MAX)
+AC_SUBST(NCURSES_CCHARW_MAX)
+
### Enable compiling-in rcs id's
AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
AC_ARG_WITH(rcs-ids,
test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
###############################################################################
-CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
+CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
###############################################################################
CF_HELP_MESSAGE(Extensions:)
AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
AC_DEFINE(HAVE_WRESIZE)
AC_DEFINE(NCURSES_EXT_FUNCS)
+ GENERATED_EXT_FUNCS=generated
else
NCURSES_EXT_FUNCS=0
+ GENERATED_EXT_FUNCS=
fi
AC_SUBST(NCURSES_EXT_FUNCS)
+AC_SUBST(GENERATED_EXT_FUNCS)
+
+AC_MSG_CHECKING(if you want to build with experimental SCREEN extensions)
+AC_ARG_ENABLE(sp-funcs,
+ [ --enable-sp-funcs enable experimental SCREEN-extensions],
+ [with_sp_funcs=$enableval],
+ [with_sp_funcs=no])
+AC_MSG_RESULT($with_sp_funcs)
+if test "$with_sp_funcs" = yes ; then
+ NCURSES_SP_FUNCS=1
+ AC_DEFINE(NCURSES_SP_FUNCS)
+ GENERATED_SP_FUNCS=generated
+else
+ NCURSES_SP_FUNCS=0
+ GENERATED_SP_FUNCS=
+fi
+AC_SUBST(NCURSES_SP_FUNCS)
+AC_SUBST(GENERATED_SP_FUNCS)
+
+AC_MSG_CHECKING(if you want to build with experimental terminal-driver)
+AC_ARG_ENABLE(term-driver,
+ [ --enable-term-driver enable experimental terminal-driver],
+ [with_term_driver=$enableval],
+ [with_term_driver=no])
+AC_MSG_RESULT($with_term_driver)
+if test "$with_term_driver" = yes ; then
+ AC_DEFINE(USE_TERM_DRIVER)
+ if test "$with_sp_funcs" != yes ; then
+ AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
+ fi
+fi
### use option --enable-const to turn on use of const beyond that in XSI.
AC_MSG_CHECKING(for extended use of const keyword)
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
AC_MSG_CHECKING(if you want colorfgbg code)
AC_ARG_ENABLE(colorfgbg,
- [ --enable-colorfgbg compile with $COLORFGBG code],
+ [ --enable-colorfgbg compile-in experimental $COLORFGBG code],
[with_colorfgbg=$enableval],
[with_colorfgbg=no])
AC_MSG_RESULT($with_colorfgbg)
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
+### use option --enable-interop to turn on use of bindings used for interop
+AC_MSG_CHECKING(if you want interop bindings)
+AC_ARG_ENABLE(interop,
+ [ --enable-interop compile-in experimental interop bindings],
+ [with_exp_interop=$enableval],
+ [with_exp_interop=no])
+AC_MSG_RESULT($with_exp_interop)
+
+NCURSES_INTEROP_FUNCS=0
+test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
+AC_SUBST(NCURSES_INTEROP_FUNCS)
+
# This is still experimental (20080329), but should ultimately be moved to
# the script-block --with-normal, etc.
CF_WITH_PTHREAD
cf_cv_enable_opaque="NCURSES_INTERNALS"
NCURSES_OPAQUE=1
NCURSES_SIZE_T=int
- if test $cf_cv_weak_symbols = yes ; then
- CF_REMOVE_LIB(LIBS,$LIBS,pthread)
- else
- LIB_SUFFIX="t${LIB_SUFFIX}"
- fi
+ if test $cf_cv_weak_symbols = yes ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,pthread)
+ else
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
AC_DEFINE(USE_REENTRANT)
CF_NCURSES_ABI_6
else
AC_SUBST(NCURSES_OPAQUE)
AC_SUBST(NCURSES_SIZE_T)
+### Allow using a different wrap-prefix
+if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+ AC_MSG_CHECKING(for prefix used to wrap public variables)
+ AC_ARG_WITH(wrap-prefix,
+ [ --with-wrap-prefix=XXX override prefix used for public variables],
+ [NCURSES_WRAP_PREFIX=$withval],
+ [NCURSES_WRAP_PREFIX=_nc_])
+ AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
+else
+ NCURSES_WRAP_PREFIX=_nc_
+fi
+AC_SUBST(NCURSES_WRAP_PREFIX)
+AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
+
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
AC_ARG_ENABLE(safe-sprintf,
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
AC_SUBST(ADA_TRACE)
### Checks for libraries.
+case $cf_cv_system_name in #(vi
+*mingw32*) #(vi
+ ;;
+*)
AC_CHECK_FUNC(gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY),[
AC_CHECK_LIB(bsd, gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY)
LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
+ ;;
+esac
CF_MATH_LIB(MATH_LIB,sin(x))
AC_SUBST(MATH_LIB)
CF_SIZECHANGE
CF_FUNC_MEMMOVE
CF_FUNC_POLL
+AC_FUNC_VFORK
# special check for test/ditto.c
CF_FUNC_OPENPTY
AC_CHECK_HEADERS(iostream typeinfo)
+ if test x"$ac_cv_header_iostream" = xyes ; then
+ AC_MSG_CHECKING(if iostream uses std-namespace)
+ AC_TRY_COMPILE([
+#include <iostream>
+using std::endl;
+using std::cerr;],[
+cerr << "testing" << endl;
+],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
+ AC_MSG_RESULT($cf_iostream_namespace)
+ if test "$cf_iostream_namespace" = yes ; then
+ AC_DEFINE(IOSTREAM_NAMESPACE)
+ fi
+ fi
+
CF_BOOL_DECL
CF_BOOL_SIZE
CF_ETIP_DEFINES
CF_CPP_STATIC_CAST
CXX_AR='$(AR)'
- CXX_AR_OPTS='$(AR_OPTS)'
+ CXX_ARFLAGS='$(ARFLAGS)'
case $cf_cv_system_name in #(vi
irix*) #(vi
if test "$GXX" != yes ; then
CXX_AR='$(CXX)'
- CXX_AR_OPTS='-ar -o'
+ CXX_ARFLAGS='-ar -o'
fi
;;
sco3.2v5*) #(vi
solaris2*)
if test "$GXX" != yes ; then
CXX_AR='$(CXX)'
- CXX_AR_OPTS='-xar -o'
+ CXX_ARFLAGS='-xar -o'
fi
;;
esac
AC_SUBST(CXXLDFLAGS)
AC_SUBST(CXX_AR)
- AC_SUBST(CXX_AR_OPTS)
+ AC_SUBST(CXX_ARFLAGS)
else
cf_cxx_library=no
cf_cv_builtin_bool=1
LIB_SUBSETS="${LIB_SUBSETS}termlib"
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
if test "$with_termlib" != no ; then
LIB_SUBSETS="${LIB_SUBSETS} "
else
fi
LIB_SUBSETS="${LIB_SUBSETS}base"
+
+# Most term-driver calls are to tinfo, but some like init_pair are to the
+# base library (so it resides in base).
+if test "$with_term_driver" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
+ case $cf_cv_system_name in #(vi
+ *mingw32*) #(vi
+ LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
+ ;;
+ *) #(vi
+ LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
+ ;;
+ esac
+fi
+
test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
AC_MSG_RESULT($DFT_ARG_SUFFIX)
AC_MSG_CHECKING(default library-dependency suffix)
-CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
-DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX
-if test $DFT_LWR_MODEL = shared ; then
- case $cf_cv_system_name in #(vi
- cygwin*)
- DFT_DEP_SUFFIX=".dll.a"
- DFT_LIB_SUFFIX=".dll"
- ;;
- esac
-fi
+CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
AC_MSG_RESULT($DFT_DEP_SUFFIX)
if test "$with_libtool" != "no"; then
CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
else
- CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
+ CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)dnl we normally make a static library
fi
AC_MSG_RESULT($CXX_LIB_SUFFIX)
AC_SUBST(CXX_LIB_SUFFIX)
TEST_ARGS="${TEST_DEPS}"
TEST_ARG2="${TEST_DEP2}"
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
+ TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+ SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
else
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
TINFO_NAME=${LIB_NAME}
TINFO_SUFFIX=${DFT_LIB_SUFFIX}
TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
- TICS_LIST="$SHLIB_LIST"
+ if test "$with_tic_depends" = yes ; then
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ else
+ TICS_LIST="$SHLIB_LIST"
+ fi
TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
fi
AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
fi
fi
+WITH_OVERWRITE=$with_overwrite
AC_SUBST(WITH_OVERWRITE)
AC_SUBST(TICS_LIST)
CF_SRC_MODULES($modules_to_build)
if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
- SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
fi
CF_DIRS_TO_MAKE
-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
+AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
################################################################################
-test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+test "$use_database" = yes && \
+SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+
+if test x"$enable_pc_files" = xyes ; then \
+SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+MAKE_PC_FILES=
+else
+MAKE_PC_FILES="#"
+fi
+AC_SUBST(MAKE_PC_FILES)
+AC_SUBST(cross_compiling)
+
AC_OUTPUT( \
include/MKterm.h.awk \
include/curses.head:include/curses.h.in \
+ include/ncurses_dll.h \
include/termcap.h \
include/unctrl.h \
$SUB_MAKEFILES \
NCURSES_PATCH="$NCURSES_PATCH"
SRC_SUBDIRS="$SRC_SUBDIRS"
TERMINFO="$TERMINFO"
+TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
+TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
+TICS_NAME="$TICS_NAME"
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
TINFO_NAME="$TINFO_NAME"
TINFO_SUFFIX="$TINFO_SUFFIX"
-TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
-TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
-TICS_NAME="$TICS_NAME"
WITH_CURSES_H="$with_curses_h"
WITH_ECHO="$with_echo"
WITH_OVERWRITE="$with_overwrite"
cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
cf_cv_rel_version="$cf_cv_rel_version"
cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+cf_cv_shared_soname='$cf_cv_shared_soname'
cf_cv_shlib_version="$cf_cv_shlib_version"
cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
cf_cv_system_name="$cf_cv_system_name"
cf_with_cxx_binding="$cf_with_cxx_binding"
+cf_with_manpages="$cf_with_manpages"
host="$host"
target="$target"