xref: /freebsd/contrib/dialog/configure.in (revision 41840d7587afd6ce27e3725b80481dd4d8f26b1a)
1dnl $Id: configure.in,v 1.75 2012/12/30 22:38:00 tom Exp $
2dnl Process this file with autoconf to produce a configure script.
3dnl ---------------------------------------------------------------------------
4dnl Copyright 1999-2011,2012 -- Thomas E. Dickey
5dnl
6dnl Permission is hereby granted, free of charge, to any person obtaining a
7dnl copy of this software and associated documentation files (the
8dnl "Software"), to deal in the Software without restriction, including
9dnl without limitation the rights to use, copy, modify, merge, publish,
10dnl distribute, distribute with modifications, sublicense, and/or sell
11dnl copies of the Software, and to permit persons to whom the Software is
12dnl furnished to do so, subject to the following conditions:
13dnl
14dnl The above copyright notice and this permission notice shall be included
15dnl in all copies or portions of the Software.
16dnl
17dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
21dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
23dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24dnl
25dnl Except as contained in this notice, the name(s) of the above copyright
26dnl holders shall not be used in advertising or otherwise to promote the
27dnl sale, use or other dealings in this Software without prior written
28dnl authorization.
29dnl ---------------------------------------------------------------------------
30AC_PREREQ(2.52.20011201)
31AC_INIT(dialog.h)
32AC_CONFIG_HEADER(dlg_config.h:config.hin)
33
34AC_ARG_PROGRAM
35
36DESTDIR=
37AC_SUBST(DESTDIR)
38
39dnl
40dnl Checks for programs.
41dnl
42CF_PROG_CC
43AC_PROG_CPP
44AC_PROG_MAKE_SET
45AC_PROG_RANLIB
46AC_PROG_INSTALL
47CF_PROG_LINT
48
49dnl needed for CF_WITH_LIBTOOL
50AC_CHECK_TOOL(AR, ar, ar)
51
52CF_MAKEFLAGS
53CF_MAKE_TAGS
54CF_DISABLE_ECHO
55CF_PROG_EXT
56CF_PATHSEP
57CF_LIB_PREFIX
58CF_XOPEN_SOURCE
59CF_LARGEFILE
60
61CF_WITH_WARNINGS
62
63dnl
64dnl Allow dialog program and library to be renamed.
65AC_ARG_WITH(package,
66	[  --with-package=XXX      rename dialog to XXX, library to libXXX.a, etc],
67	[PACKAGE=$withval],
68	[PACKAGE=dialog])
69CF_VERSION_INFO(dialog,$PACKAGE)
70
71dnl
72dnl If package is renamed, it is useful to have the dlg_XXX headers in a
73dnl subdirectory (using the package name) so that multiple versions of the
74dnl headers can coexist.
75AC_ARG_ENABLE(header-subdir,
76	[  --enable-header-subdir  install dlg_XXX headers to subdirectory],
77	[SUB_INC=$enableval],
78	[SUB_INC=no])
79AC_SUBST(SUB_INC)
80
81dnl
82dnl Checks for libraries.
83dnl
84EXTRAOBJS=""
85CF_BUNDLED_INTL(makefile,enable)
86CF_MATH_LIB(,sqrt(x))
87
88CF_WITH_NO_LEAKS
89
90CF_ARG_MSG_ENABLE([if you want --trace option],
91	trace,
92	[  --disable-trace         do not support --trace option],
93	[EXTRAOBJS="$EXTRAOBJS trace\$o"
94	 AC_DEFINE(HAVE_DLG_TRACE,1,[Define to 1 to support --trace option])],,yes)
95
96LIBTOOL_MAKE="#"
97CF_WITH_LIBTOOL
98if test "$with_libtool" = "yes" ; then
99	OBJEXT="lo"
100	LIBTOOL_MAKE=
101	CF_WITH_LIBTOOL_OPTS
102fi
103AC_SUBST(LIBTOOL_MAKE)
104
105CF_WITH_CURSES_DIR
106
107use_ncurses=no
108AC_ARG_WITH(ncurses,
109	[  --with-ncurses          compile/link with ncurses library],
110	[use_ncurses=ncurses])
111AC_ARG_WITH(ncursesw,
112	[  --with-ncursesw         compile/link with wide-char ncurses library],
113	[use_ncurses=ncursesw])
114if test $use_ncurses != no ; then
115	cf_wide_curses=yes
116	if test $use_ncurses = ncursesw ; then
117		CF_UTF8_LIB
118	fi
119	CF_NCURSES_CONFIG($use_ncurses)
120else
121	cf_wide_curses=no
122	CF_CURSES_CONFIG
123fi
124
125cf_all_widgets=yes
126CF_ARG_MSG_ENABLE([if you want extra dialogs],
127	extras,
128	[  --disable-extras        do not include extra dialogs],
129	[cf_all_widgets=yes],[cf_all_widgets=no],yes)
130
131CF_ARG_MSG_ENABLE([if you want config-file support],
132	rc-file,
133	[  --disable-rc-file       do not include config-file support],
134	[EXTRAOBJS="$EXTRAOBJS rc\$o"
135	 AC_DEFINE(HAVE_RC_FILE,1,[Define to 1 to include config-file support])],,$cf_all_widgets)
136
137CF_ARG_MSG_ENABLE([if you want Xdialog-style dialogs],
138	Xdialog,
139	[  --disable-Xdialog       do not include Xdialog-style dialogs (1.1)],
140	[EXTRAOBJS="$EXTRAOBJS calendar\$o fselect\$o timebox\$o"
141	 AC_DEFINE(HAVE_XDIALOG,1,[Define to 1 to include Xdialog-style dialogs])],,$cf_all_widgets)
142
143CF_ARG_MSG_ENABLE([if you want extra Xdialog-style dialogs (1.2)],
144	Xdialog2,
145	[  --disable-Xdialog2      do not include extra Xdialog-style dialogs (1.2)],
146	[EXTRAOBJS="$EXTRAOBJS buildlist\$o rangebox\$o treeview\$o"
147	 AC_DEFINE(HAVE_XDIALOG2,1,[Define to 1 to include extra Xdialog-style dialogs])],,$cf_all_widgets)
148
149CF_ARG_MSG_ENABLE([if you want compatibility with whiptail options],
150	whiptail,
151	[  --disable-whiptail      do not map extra whiptail options],
152	[AC_DEFINE(HAVE_WHIPTAIL,1,[Define to 1 to include extra whiptail options])],,$cf_all_widgets)
153
154CF_ARG_MSG_ENABLE([if you want the form dialog],
155	form,
156	[  --disable-form          do not include the form dialog],
157	[EXTRAOBJS="$EXTRAOBJS formbox\$o"
158	 AC_DEFINE(HAVE_DLG_FORMBOX,1,[Define to 1 to include the form dialog])],,$cf_all_widgets)
159
160CF_ARG_MSG_ENABLE([if you want the gauge dialog],
161	gauge,
162	[  --disable-gauge         do not include the gauge dialogs],
163	[EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o"
164	 AC_DEFINE(HAVE_DLG_GAUGE,1,[Define to 1 to include the gauge dialogs])],,$cf_all_widgets)
165
166CF_ARG_MSG_ENABLE([if you want the tailbox dialog],
167	tailbox,
168	[  --disable-tailbox       do not include the tailbox dialog],
169	[EXTRAOBJS="$EXTRAOBJS tailbox\$o"
170	 AC_DEFINE(HAVE_DLG_TAILBOX,1,[Define to 1 to include the tailbox dialog])],,$cf_all_widgets)
171
172CF_ARG_MSG_ENABLE([if you want the mixedform dialog],
173	mixedform,
174	[  --disable-mixedform     do not include the mixedform dialog],
175	[EXTRAOBJS="$EXTRAOBJS mixedform\$o"
176	 AC_DEFINE(HAVE_DLG_MIXEDFORM,1,[Define to 1 to include the mixedform dialog])],,$cf_all_widgets)
177
178CF_ARG_MSG_ENABLE([if you want the mixedgauge dialog],
179	mixedgauge,
180	[  --disable-mixedgauge    do not include the mixedgauge dialog],
181	[EXTRAOBJS="$EXTRAOBJS mixedgauge\$o"
182	 AC_DEFINE(HAVE_MIXEDGAUGE,1,[Define to 1 to include the mixedgauge dialog])],,$cf_all_widgets)
183
184CF_ARG_MSG_ENABLE([if you want the wide-curses features],
185	widec,
186	[  --enable-widec          enable wide-curses features],
187	[AC_DEFINE(USE_WIDE_CURSES,1,[Define to 1 to enable wide-curses features])],,$cf_wide_curses)
188
189AC_SUBST(EXTRAOBJS)
190
191dnl
192dnl Checks for header files.
193dnl
194AC_HEADER_STDC
195AC_HEADER_TIME
196AC_HEADER_DIRENT
197AC_CHECK_HEADERS(search.h unctrl.h unistd.h)
198CF_CURSES_TERM_H
199
200dnl
201dnl Checks for library functions.
202dnl
203AC_TYPE_SIGNAL
204AC_CHECK_FUNCS(\
205_nc_free_and_exit \
206btowc \
207mblen \
208mbrlen \
209mbrtowc \
210mbtowc \
211strcasecmp \
212strftime \
213tsearch \
214waitpid \
215wcsrtombs \
216wcstombs \
217wctob \
218wctomb \
219)
220
221CF_CURSES_FUNCS(\
222flushinp \
223getattrs \
224getbegx \
225getbegy \
226getbegyx \
227getcurx \
228getcury \
229getmaxx \
230getmaxy \
231getmaxyx \
232getparx \
233getpary \
234getparyx \
235use_default_colors \
236wchgat \
237wcursyncup \
238wget_wch \
239wsyncup \
240)
241
242AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR,1,[Define to 1 if (n)curses has start_color function])])
243CF_CURSES_CHTYPE
244CF_CURSES_WACS_SYMBOLS
245CF_CURSES_WGETPARENT
246CF_FUNC_WAIT
247CF_MBSTATE_T
248
249CF_HEADERS_SH(DLG,dlg_config.h)
250
251AC_TRY_LINK([#include <locale.h>],[setlocale(LC_ALL, "")],[AC_DEFINE(HAVE_SETLOCALE,1,[Define to 1 if locale feature can be enabled])])
252
253CF_DISABLE_RPATH_HACK
254
255AC_OUTPUT(dialog-config makefile $EXTRA_OUTPUT $SUB_MAKEFILE,,,sort -u)
256