1dnl $Id: configure.in,v 1.79 2013/09/02 14:02:57 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_LN_S
48CF_PROG_LINT
49
50dnl needed for CF_WITH_LIBTOOL
51AC_CHECK_TOOL(AR, ar, ar)
52
53CF_MAKEFLAGS
54CF_MAKE_TAGS
55CF_DISABLE_ECHO
56CF_PROG_EXT
57CF_PATHSEP
58CF_LIB_PREFIX
59CF_XOPEN_SOURCE
60CF_LARGEFILE
61
62CF_WITH_WARNINGS
63CF_PKG_CONFIG
64
65dnl
66dnl Allow dialog program and library to be renamed.
67AC_MSG_CHECKING(for this package's name)
68AC_ARG_WITH(package,
69	[  --with-package=XXX      rename dialog to XXX, library to libXXX.a, etc],
70	[PACKAGE=$withval],
71	[PACKAGE=dialog])
72AC_MSG_RESULT($PACKAGE)
73CF_VERSION_INFO(dialog,$PACKAGE)
74
75CFG_ROOTNAME=$PACKAGE
76HDR_ROOTNAME=$PACKAGE
77LIB_ROOTNAME=$PACKAGE
78
79AC_SUBST(CFG_ROOTNAME)
80AC_SUBST(HDR_ROOTNAME)
81AC_SUBST(LIB_ROOTNAME)
82
83dnl
84dnl If package is renamed, it is useful to have the dlg_XXX headers in a
85dnl subdirectory (using the package name) so that multiple versions of the
86dnl headers can coexist.
87AC_MSG_CHECKING(if we should install dlg_XXX headers to subdirectory)
88AC_ARG_ENABLE(header-subdir,
89	[  --enable-header-subdir  install dlg_XXX headers to subdirectory],
90	[SUB_INC=$enableval],
91	[SUB_INC=no])
92AC_MSG_RESULT($SUB_INC)
93AC_SUBST(SUB_INC)
94
95dnl
96dnl Checks for libraries.
97dnl
98EXTRAOBJS=""
99CF_BUNDLED_INTL(makefile,enable)
100CF_MATH_LIB(,sqrt(x))
101
102CF_WITH_NO_LEAKS
103
104CF_ARG_MSG_ENABLE([if you want --trace option],
105	trace,
106	[  --disable-trace         do not support --trace option],
107	[EXTRAOBJS="$EXTRAOBJS trace\$o"
108	 AC_DEFINE(HAVE_DLG_TRACE,1,[Define to 1 to support --trace option])],,yes)
109
110CF_LD_RPATH_OPT
111CF_WITH_SHARED_OR_LIBTOOL(DIALOG,${VERSION_MAJOR}.${VERSION_MINOR},`echo "$VERSION" |sed -e 's/:/./g'`)
112
113CF_WITH_CURSES_DIR
114
115CF_ENABLE_RPATH
116
117use_ncurses=no
118AC_ARG_WITH(ncurses,
119	[  --with-ncurses          compile/link with ncurses library],
120	[use_ncurses=ncurses])
121AC_ARG_WITH(ncursesw,
122	[  --with-ncursesw         compile/link with wide-char ncurses library],
123	[use_ncurses=ncursesw])
124if test $use_ncurses != no ; then
125	cf_wide_curses=yes
126	if test $use_ncurses = ncursesw ; then
127		CF_UTF8_LIB
128	fi
129	CF_NCURSES_CONFIG($use_ncurses)
130else
131	cf_wide_curses=no
132	CF_CURSES_CONFIG
133fi
134
135cf_all_widgets=yes
136CF_ARG_MSG_ENABLE([if you want extra dialogs],
137	extras,
138	[  --disable-extras        do not include extra dialogs],
139	[cf_all_widgets=yes],[cf_all_widgets=no],yes)
140
141CF_ARG_MSG_ENABLE([if you want config-file support],
142	rc-file,
143	[  --disable-rc-file       do not include config-file support],
144	[EXTRAOBJS="$EXTRAOBJS rc\$o"
145	 AC_DEFINE(HAVE_RC_FILE,1,[Define to 1 to include config-file support])],,$cf_all_widgets)
146
147CF_ARG_MSG_ENABLE([if you want Xdialog-style dialogs],
148	Xdialog,
149	[  --disable-Xdialog       do not include Xdialog-style dialogs (1.1)],
150	[EXTRAOBJS="$EXTRAOBJS calendar\$o fselect\$o timebox\$o"
151	 AC_DEFINE(HAVE_XDIALOG,1,[Define to 1 to include Xdialog-style dialogs])],,$cf_all_widgets)
152
153CF_ARG_MSG_ENABLE([if you want extra Xdialog-style dialogs (1.2)],
154	Xdialog2,
155	[  --disable-Xdialog2      do not include extra Xdialog-style dialogs (1.2)],
156	[EXTRAOBJS="$EXTRAOBJS buildlist\$o rangebox\$o treeview\$o"
157	 AC_DEFINE(HAVE_XDIALOG2,1,[Define to 1 to include extra Xdialog-style dialogs])],,$cf_all_widgets)
158
159CF_ARG_MSG_ENABLE([if you want compatibility with whiptail options],
160	whiptail,
161	[  --disable-whiptail      do not map extra whiptail options],
162	[AC_DEFINE(HAVE_WHIPTAIL,1,[Define to 1 to include extra whiptail options])],,$cf_all_widgets)
163
164CF_ARG_MSG_ENABLE([if you want the form dialog],
165	form,
166	[  --disable-form          do not include the form dialog],
167	[EXTRAOBJS="$EXTRAOBJS formbox\$o"
168	 AC_DEFINE(HAVE_DLG_FORMBOX,1,[Define to 1 to include the form dialog])],,$cf_all_widgets)
169
170CF_ARG_MSG_ENABLE([if you want the gauge dialog],
171	gauge,
172	[  --disable-gauge         do not include the gauge dialogs],
173	[EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o"
174	 AC_DEFINE(HAVE_DLG_GAUGE,1,[Define to 1 to include the gauge dialogs])],,$cf_all_widgets)
175
176CF_ARG_MSG_ENABLE([if you want the tailbox dialog],
177	tailbox,
178	[  --disable-tailbox       do not include the tailbox dialog],
179	[EXTRAOBJS="$EXTRAOBJS tailbox\$o"
180	 AC_DEFINE(HAVE_DLG_TAILBOX,1,[Define to 1 to include the tailbox dialog])],,$cf_all_widgets)
181
182CF_ARG_MSG_ENABLE([if you want the mixedform dialog],
183	mixedform,
184	[  --disable-mixedform     do not include the mixedform dialog],
185	[EXTRAOBJS="$EXTRAOBJS mixedform\$o"
186	 AC_DEFINE(HAVE_DLG_MIXEDFORM,1,[Define to 1 to include the mixedform dialog])],,$cf_all_widgets)
187
188CF_ARG_MSG_ENABLE([if you want the mixedgauge dialog],
189	mixedgauge,
190	[  --disable-mixedgauge    do not include the mixedgauge dialog],
191	[EXTRAOBJS="$EXTRAOBJS mixedgauge\$o"
192	 AC_DEFINE(HAVE_MIXEDGAUGE,1,[Define to 1 to include the mixedgauge dialog])],,$cf_all_widgets)
193
194CF_ARG_MSG_ENABLE([if you want the wide-curses features],
195	widec,
196	[  --enable-widec          enable wide-curses features],
197	[AC_DEFINE(USE_WIDE_CURSES,1,[Define to 1 to enable wide-curses features])],,$cf_wide_curses)
198
199AC_SUBST(EXTRAOBJS)
200
201dnl
202dnl Checks for header files.
203dnl
204AC_HEADER_STDC
205AC_HEADER_TIME
206AC_HEADER_DIRENT
207AC_CHECK_HEADERS(search.h unctrl.h unistd.h)
208CF_CURSES_TERM_H
209
210dnl
211dnl Checks for library functions.
212dnl
213AC_TYPE_SIGNAL
214AC_CHECK_FUNCS(\
215_nc_free_and_exit \
216btowc \
217mblen \
218mbrlen \
219mbrtowc \
220mbtowc \
221strcasecmp \
222strftime \
223tsearch \
224waitpid \
225wcsrtombs \
226wcstombs \
227wctob \
228wctomb \
229)
230
231CF_CURSES_FUNCS(\
232flushinp \
233getattrs \
234getbegx \
235getbegy \
236getbegyx \
237getcurx \
238getcury \
239getmaxx \
240getmaxy \
241getmaxyx \
242getparx \
243getpary \
244getparyx \
245use_default_colors \
246wchgat \
247wcursyncup \
248wget_wch \
249wsyncup \
250)
251
252AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR,1,[Define to 1 if (n)curses has start_color function])])
253CF_CURSES_CHTYPE
254CF_CURSES_WACS_SYMBOLS
255CF_CURSES_WGETPARENT
256CF_FUNC_WAIT
257CF_MBSTATE_T
258
259CF_HEADERS_SH(DLG,dlg_config.h)
260
261AC_TRY_LINK([#include <locale.h>],[setlocale(LC_ALL, "")],[AC_DEFINE(HAVE_SETLOCALE,1,[Define to 1 if locale feature can be enabled])])
262
263CF_DISABLE_RPATH_HACK
264
265CF__DEFINE_SHLIB_VARS
266
267AC_OUTPUT(
268	dialog-config
269	makefile
270	$EXTRA_OUTPUT
271	$SUB_MAKEFILE,[
272CF__ADD_SHLIB_RULES(
273	makefile,
274	$LIB_MODEL,
275	[\${LIB_OBJECT}],
276	[\${LIBS} \${LDFLAGS}])
277],[
278CF__INIT_SHLIB_RULES
279],[sort -u])
280