freebsd-dev/contrib/dialog/configure.in
2021-02-26 10:16:49 +01:00

286 lines
8.0 KiB
Plaintext

dnl $Id: configure.in,v 1.101 2020/11/26 16:21:27 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl ---------------------------------------------------------------------------
dnl Copyright 1999-2019,2020 -- Thomas E. Dickey
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 "Software"), to deal in the Software without restriction, including
dnl without limitation the rights to use, copy, modify, merge, publish,
dnl distribute, distribute with modifications, sublicense, and/or sell
dnl copies of the Software, and to permit persons to whom the Software is
dnl furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included
dnl in all copies or portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
dnl
dnl Except as contained in this notice, the name(s) of the above copyright
dnl holders shall not be used in advertising or otherwise to promote the
dnl sale, use or other dealings in this Software without prior written
dnl authorization.
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20200802)
AC_INIT(dialog.h)
AC_CONFIG_HEADER(dlg_config.h:config.hin)
AC_ARG_PROGRAM
DESTDIR=
AC_SUBST(DESTDIR)
dnl
dnl Checks for programs.
dnl
CF_PROG_CC
AC_PROG_CPP
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AC_PROG_INSTALL
CF_PROG_LN_S
CF_PROG_LINT
CF_PROG_GROFF
test -z "$GROFF_NOTE" && NROFF_NOTE=
dnl needed for CF_WITH_LIBTOOL
CF_AR_FLAGS
CF_MAKEFLAGS
CF_MAKE_TAGS
CF_DISABLE_ECHO
CF_PROG_EXT
CF_PATHSEP
CF_LIB_PREFIX
CF_XOPEN_SOURCE
CF_LARGEFILE
CF_WITH_INSTALL_PREFIX
CF_WITH_SCREEN_PDCURSES
CF_ENABLE_WARNINGS(,yes)
CF_PKG_CONFIG
dnl
dnl Allow dialog program and library to be renamed.
AC_MSG_CHECKING(for this package's name)
AC_ARG_WITH(package,
[ --with-package=XXX rename dialog to XXX, library to libXXX.a, etc],
[PACKAGE=$withval],
[PACKAGE=dialog])
AC_MSG_RESULT($PACKAGE)
CF_VERSION_INFO(dialog,$PACKAGE)
CFG_ROOTNAME=$PACKAGE
HDR_ROOTNAME=$PACKAGE
LIB_ROOTNAME=$PACKAGE
AC_SUBST(CFG_ROOTNAME)
AC_SUBST(HDR_ROOTNAME)
AC_SUBST(LIB_ROOTNAME)
dnl
dnl If package is renamed, it is useful to have the dlg_XXX headers in a
dnl subdirectory (using the package name) so that multiple versions of the
dnl headers can coexist.
AC_MSG_CHECKING(if we should install dlg_XXX headers to subdirectory)
AC_ARG_ENABLE(header-subdir,
[ --enable-header-subdir install dlg_XXX headers to subdirectory],
[SUB_INC=$enableval],
[SUB_INC=no])
AC_MSG_RESULT($SUB_INC)
AC_SUBST(SUB_INC)
CF_WITH_MAN2HTML
dnl
dnl Checks for libraries.
dnl
EXTRAOBJS=""
CF_BUNDLED_INTL(makefile,enable)
CF_MATH_LIB(,sqrt(x))
CF_WITH_NO_LEAKS
CF_ARG_MSG_ENABLE([if you want --trace option],
trace,
[ --disable-trace do not support --trace option],
[EXTRAOBJS="$EXTRAOBJS trace\$o"
AC_DEFINE(HAVE_DLG_TRACE,1,[Define to 1 to support --trace option])],,yes)
CF_ENABLE_RPATH
CF_LD_RPATH_OPT
CF_WITH_SHARED_OR_LIBTOOL(DIALOG,${VERSION_MAJOR}.${VERSION_MINOR},`echo "$VERSION" |sed -e 's/:/./g'`)
CF_WITH_CURSES_DIR
CF_WITH_NCURSES_ETC
CF_WIDEC_CURSES
cf_all_widgets=yes
CF_ARG_MSG_ENABLE([if you want extra dialogs],
extras,
[ --disable-extras do not include extra dialogs],
[cf_all_widgets=yes],[cf_all_widgets=no],yes)
cf_use_dialogrc=yes
CF_ARG_MSG_ENABLE([if you want config-file support],
rc-file,
[ --disable-rc-file do not include config-file support],
[EXTRAOBJS="$EXTRAOBJS rc\$o"
AC_DEFINE(HAVE_RC_FILE,1,[Define to 1 to include config-file support])],cf_use_dialogrc=no,$cf_all_widgets)
cf_use_dialogrc2=yes
if test "$cf_use_dialogrc" = yes; then
CF_ARG_MSG_ENABLE([if you want extra attributes in config-file],
rc-file2,
[ --disable-rc-file2 do not use extra attributes in config-file],
[AC_DEFINE(HAVE_RC_FILE2,1,[Define to 1 to use extra attributes in config-file])],cf_use_dialogrc2=no,$cf_all_widgets)
fi
CF_ARG_MSG_ENABLE([if you want Xdialog-style dialogs],
Xdialog,
[ --disable-Xdialog do not include Xdialog-style dialogs (1.1)],
[EXTRAOBJS="$EXTRAOBJS calendar\$o fselect\$o timebox\$o"
AC_DEFINE(HAVE_XDIALOG,1,[Define to 1 to include Xdialog-style dialogs])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want extra Xdialog-style dialogs (1.2)],
Xdialog2,
[ --disable-Xdialog2 do not include extra Xdialog-style dialogs (1.2)],
[EXTRAOBJS="$EXTRAOBJS buildlist\$o rangebox\$o treeview\$o"
AC_DEFINE(HAVE_XDIALOG2,1,[Define to 1 to include extra Xdialog-style dialogs])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want compatibility with whiptail options],
whiptail,
[ --disable-whiptail do not map extra whiptail options],
[AC_DEFINE(HAVE_WHIPTAIL,1,[Define to 1 to include extra whiptail options])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want the form dialog],
form,
[ --disable-form do not include the form dialog],
[EXTRAOBJS="$EXTRAOBJS formbox\$o"
AC_DEFINE(HAVE_DLG_FORMBOX,1,[Define to 1 to include the form dialog])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want the gauge dialog],
gauge,
[ --disable-gauge do not include the gauge dialogs],
[EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o"
AC_DEFINE(HAVE_DLG_GAUGE,1,[Define to 1 to include the gauge dialogs])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want the tailbox dialog],
tailbox,
[ --disable-tailbox do not include the tailbox dialog],
[EXTRAOBJS="$EXTRAOBJS tailbox\$o"
AC_DEFINE(HAVE_DLG_TAILBOX,1,[Define to 1 to include the tailbox dialog])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want the mixedform dialog],
mixedform,
[ --disable-mixedform do not include the mixedform dialog],
[EXTRAOBJS="$EXTRAOBJS mixedform\$o"
AC_DEFINE(HAVE_DLG_MIXEDFORM,1,[Define to 1 to include the mixedform dialog])],,${enable_form:=$cf_all_widgets})
CF_ARG_MSG_ENABLE([if you want the mixedgauge dialog],
mixedgauge,
[ --disable-mixedgauge do not include the mixedgauge dialog],
[EXTRAOBJS="$EXTRAOBJS mixedgauge\$o"
AC_DEFINE(HAVE_MIXEDGAUGE,1,[Define to 1 to include the mixedgauge dialog])],,$cf_all_widgets)
CF_ARG_MSG_ENABLE([if you want the wide-curses features],
widec,
[ --enable-widec enable wide-curses features],
[AC_DEFINE(USE_WIDE_CURSES,1,[Define to 1 to enable wide-curses features])],,$cf_cv_widec_curses)
AC_SUBST(EXTRAOBJS)
dnl
dnl Checks for header files.
dnl
AC_HEADER_STDC
AC_HEADER_TIME
AC_HEADER_DIRENT
AC_CHECK_HEADERS(search.h stdint.h sys/param.h unistd.h)
CF_CURSES_TERM_H
dnl
dnl Checks for library functions.
dnl
AC_TYPE_SIGNAL
AC_CHECK_FUNCS(\
btowc \
mblen \
mbrlen \
mbrtowc \
mbtowc \
strcasecmp \
strftime \
tsearch \
waitpid \
wcsrtombs \
wcstombs \
wctob \
wctomb \
mktime \
)
CF_CURSES_FUNCS(\
flushinp \
getattrs \
getbegx \
getbegy \
getbegyx \
getcurx \
getcury \
getmaxx \
getmaxy \
getmaxyx \
getparx \
getpary \
getparyx \
use_default_colors \
wchgat \
wcursyncup \
wget_wch \
wsyncup \
)
CF_CURSES_EXIT
AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR,1,[Define to 1 if (n)curses has start_color function])])
CF_CURSES_CHTYPE
CF_CURSES_WACS_SYMBOLS
CF_CURSES_WGETPARENT
CF_FUNC_WAIT
CF_MBSTATE_T
CF_SIZECHANGE
CF_HEADERS_SH(DLG,dlg_config.h)
AC_TRY_LINK([#include <locale.h>],[setlocale(LC_ALL, "")],[AC_DEFINE(HAVE_SETLOCALE,1,[Define to 1 if locale feature can be enabled])])
CF_NL_LANGINFO_1STDAY
CF_MERGE_EXTRA_CFLAGS
CF_DISABLE_RPATH_HACK
CF__DEFINE_SHLIB_VARS
CF_LD_SEARCHPATH
AC_OUTPUT(
dialog-config
makefile
$EXTRA_OUTPUT
$SUB_MAKEFILE,[
CF__ADD_SHLIB_RULES(
makefile,
$LIB_MODEL,
[\${LIB_OBJECT}],
[\${LIBS} \${LDFLAGS}])
],[
CF__INIT_SHLIB_RULES
],[sort -u])