Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 1 | dnl*************************************************************************** |
| 2 | dnl Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * |
| 3 | dnl * |
| 4 | dnl Permission is hereby granted, free of charge, to any person obtaining a * |
| 5 | dnl copy of this software and associated documentation files (the * |
| 6 | dnl "Software"), to deal in the Software without restriction, including * |
| 7 | dnl without limitation the rights to use, copy, modify, merge, publish, * |
| 8 | dnl distribute, distribute with modifications, sublicense, and/or sell * |
| 9 | dnl copies of the Software, and to permit persons to whom the Software is * |
| 10 | dnl furnished to do so, subject to the following conditions: * |
| 11 | dnl * |
| 12 | dnl The above copyright notice and this permission notice shall be included * |
| 13 | dnl in all copies or substantial portions of the Software. * |
| 14 | dnl * |
| 15 | dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| 16 | dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| 17 | dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| 18 | dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| 19 | dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| 20 | dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| 21 | dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| 22 | dnl * |
| 23 | dnl Except as contained in this notice, the name(s) of the above copyright * |
| 24 | dnl holders shall not be used in advertising or otherwise to promote the * |
| 25 | dnl sale, use or other dealings in this Software without prior written * |
| 26 | dnl authorization. * |
| 27 | dnl*************************************************************************** |
| 28 | dnl |
| 29 | dnl Author: Thomas E. Dickey 1996, etc. |
| 30 | dnl |
| 31 | dnl $Id: configure.in,v 1.67 2008/09/06 22:10:23 tom Exp $ |
| 32 | dnl This is a simple configuration-script for the ncurses test programs that |
| 33 | dnl allows the test-directory to be separately configured against a reference |
| 34 | dnl system (i.e., sysvr4 curses) |
| 35 | dnl |
| 36 | dnl If you're configuring ncurses, you shouldn't need to use this script. |
| 37 | dnl It's only for testing purposes. |
| 38 | dnl |
| 39 | dnl See http://invisible-island.net/autoconf/ for additional information. |
| 40 | dnl --------------------------------------------------------------------------- |
| 41 | AC_PREREQ(2.13.20020210) |
| 42 | AC_INIT(ncurses.c) |
| 43 | AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin) |
| 44 | |
| 45 | CF_INHERIT_SCRIPT(config.guess) |
| 46 | CF_INHERIT_SCRIPT(config.sub) |
| 47 | CF_CHECK_CACHE |
| 48 | |
| 49 | AC_PROG_MAKE_SET |
| 50 | AC_PROG_CC |
| 51 | AC_PROG_CPP |
| 52 | AC_PROG_AWK |
| 53 | |
| 54 | dnl Things that we don't need (or must override) if we're not building ncurses |
| 55 | CC_G_OPT="-g" AC_SUBST(CC_G_OPT) |
| 56 | CC_SHARED_OPTS=unknown AC_SUBST(CC_SHARED_OPTS) |
| 57 | CPPFLAGS="$CPPFLAGS" AC_SUBST(CPPFLAGS) |
| 58 | DFT_DEP_SUFFIX="" AC_SUBST(DFT_DEP_SUFFIX) |
| 59 | DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'` AC_SUBST(DFT_OBJ_SUBDIR) |
| 60 | DFT_UPR_MODEL="NORMAL" AC_SUBST(DFT_UPR_MODEL) |
| 61 | LD="ld" AC_SUBST(LD) |
| 62 | LDFLAGS_SHARED="" AC_SUBST(LDFLAGS_SHARED) |
| 63 | LDFLAGS_STATIC="" AC_SUBST(LDFLAGS_STATIC) |
| 64 | LD_MODEL="" AC_SUBST(LD_MODEL) |
| 65 | LD_SHARED_OPTS="" AC_SUBST(LD_SHARED_OPTS) |
| 66 | LIBTOOL="" AC_SUBST(LIBTOOL) |
| 67 | LIB_CLEAN="" AC_SUBST(LIB_CLEAN) |
| 68 | LIB_COMPILE="" AC_SUBST(LIB_COMPILE) |
| 69 | LIB_LINK='${CC}' AC_SUBST(LIB_LINK) |
| 70 | LINK_TESTS="" AC_SUBST(LINK_TESTS) |
| 71 | LINT=lint AC_SUBST(LINT) |
| 72 | LINT_OPTS="" AC_SUBST(LINT_OPTS) |
| 73 | LOCAL_LDFLAGS="" AC_SUBST(LOCAL_LDFLAGS) |
| 74 | MATH_LIB="-lm" AC_SUBST(MATH_LIB) |
| 75 | PTHREAD="-lm" AC_SUBST(PTHREAD) |
| 76 | TEST_ARGS="" AC_SUBST(TEST_ARGS) |
| 77 | TEST_DEPS="" AC_SUBST(TEST_DEPS) |
| 78 | TEST_LIBS="" AC_SUBST(TEST_LIBS) |
| 79 | TINFO_ARGS='$(LIBS_CURSES)' AC_SUBST(TINFO_ARGS) |
| 80 | cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version) |
| 81 | cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version) |
| 82 | |
| 83 | cf_cv_screen=curses |
| 84 | cf_cv_libtype= |
| 85 | |
| 86 | AC_EXEEXT |
| 87 | AC_OBJEXT |
| 88 | |
| 89 | CF_ANSI_CC_REQD |
| 90 | CF_GCC_ATTRIBUTES |
| 91 | CF_XOPEN_SOURCE |
| 92 | AC_C_CONST |
| 93 | CF_SIG_ATOMIC_T |
| 94 | |
| 95 | CF_DISABLE_ECHO |
| 96 | CF_ENABLE_WARNINGS |
| 97 | |
| 98 | CF_WITH_CURSES_DIR |
| 99 | |
| 100 | dnl SunOS 4.x |
| 101 | AC_ARG_WITH(5lib, |
| 102 | [ --with-5lib use SunOS sysv-libraries], |
| 103 | [LIBS="-L/usr/5lib $LIBS" |
| 104 | CPPFLAGS="$CPPFLAGS -I/usr/5include"]) |
| 105 | |
| 106 | dnl --------------------------------------------------------------------------- |
| 107 | dnl NcursesW, installed in conventional location |
| 108 | AC_ARG_WITH(ncursesw, |
| 109 | [ --with-ncursesw use wide ncurses-libraries (installed)], |
| 110 | [cf_cv_screen=ncursesw],[ |
| 111 | |
| 112 | dnl Ncurses, installed in conventional location |
| 113 | AC_ARG_WITH(ncurses, |
| 114 | [ --with-ncurses use ncurses-libraries (installed)], |
| 115 | [cf_cv_screen=ncurses],[ |
| 116 | |
| 117 | AC_ARG_WITH(pdcurses, |
| 118 | [ --with-pdcurses compile/link with pdcurses X11 library], |
| 119 | [cf_cv_screen=pdcurses])])]) |
| 120 | |
| 121 | case $cf_cv_screen in |
| 122 | curses) |
| 123 | CF_CURSES_CPPFLAGS |
| 124 | CF_NCURSES_VERSION |
| 125 | CF_CURSES_LIBS |
| 126 | ;; |
| 127 | ncurses) |
| 128 | CF_NCURSES_CPPFLAGS |
| 129 | CF_NCURSES_LIBS |
| 130 | ;; |
| 131 | ncursesw) |
| 132 | cf_cv_libtype=w |
| 133 | CF_UTF8_LIB |
| 134 | CF_NCURSES_CPPFLAGS(ncursesw) |
| 135 | CF_NCURSES_LIBS(ncursesw) |
| 136 | ;; |
| 137 | pdcurses) #(vi |
| 138 | CF_PDCURSES_X11 |
| 139 | ;; |
| 140 | esac |
| 141 | |
| 142 | dnl If we've not specified a library, assume we're using sysvr4 libraries |
| 143 | dnl installed conventionally (e.g., SunOS 5.x - solaris). |
| 144 | |
| 145 | dnl Autoconf builds up the $LIBS in reverse order |
| 146 | |
| 147 | case $cf_cv_screen in #(vi |
| 148 | pdcurses) #(vi |
| 149 | ;; |
| 150 | *) |
| 151 | # look for curses-related libraries |
| 152 | AC_CHECK_LIB(panel$cf_cv_libtype,new_panel) |
| 153 | AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver) |
| 154 | AC_CHECK_LIB(form$cf_cv_libtype,form_driver) |
| 155 | |
| 156 | # look for curses-related headers |
| 157 | AC_CHECK_HEADERS( \ |
| 158 | nc_alloc.h \ |
| 159 | nomacros.h \ |
| 160 | form.h \ |
| 161 | menu.h \ |
| 162 | panel.h \ |
| 163 | ) |
| 164 | ;; |
| 165 | esac |
| 166 | |
| 167 | AC_TYPE_SIGNAL |
| 168 | |
| 169 | AC_STDC_HEADERS |
| 170 | AC_HEADER_TIME |
| 171 | AC_CHECK_HEADERS( \ |
| 172 | getopt.h \ |
| 173 | locale.h \ |
| 174 | stdarg.h \ |
| 175 | sys/ioctl.h \ |
| 176 | sys/select.h \ |
| 177 | sys/time.h \ |
| 178 | termios.h \ |
| 179 | unistd.h \ |
| 180 | ) |
| 181 | |
| 182 | AC_CHECK_FUNCS( \ |
| 183 | gettimeofday \ |
| 184 | mblen \ |
| 185 | mbrlen \ |
| 186 | mbrtowc \ |
| 187 | mbsrtowcs \ |
| 188 | mbstowcs \ |
| 189 | mbtowc \ |
| 190 | strdup \ |
| 191 | wcsrtombs \ |
| 192 | wcstombs \ |
| 193 | ) |
| 194 | |
| 195 | CF_CURSES_FUNCS( \ |
| 196 | chgat \ |
| 197 | color_set \ |
| 198 | filter \ |
| 199 | getbegx \ |
| 200 | getcurx \ |
| 201 | getmaxx \ |
| 202 | getnstr \ |
| 203 | getparx \ |
| 204 | getwin \ |
| 205 | mvvline \ |
| 206 | mvwvline \ |
| 207 | napms \ |
| 208 | putwin \ |
| 209 | resize_term \ |
| 210 | resizeterm \ |
| 211 | ripoffline \ |
| 212 | setupterm \ |
| 213 | slk_color \ |
| 214 | slk_init \ |
| 215 | termattrs \ |
| 216 | tgetent \ |
| 217 | tigetnum \ |
| 218 | tigetstr \ |
| 219 | typeahead \ |
| 220 | use_default_colors \ |
| 221 | vsscanf \ |
| 222 | wchgat \ |
| 223 | winsstr \ |
| 224 | wresize \ |
| 225 | ) |
| 226 | |
| 227 | AC_CACHE_CHECK(for ncurses extended functions,cf_cv_ncurses_ext_funcs,[ |
| 228 | AC_TRY_LINK([ |
| 229 | #include <${cf_cv_ncurses_header-curses.h}>], |
| 230 | [ |
| 231 | (void) assume_default_colors (0, 0); |
| 232 | (void) curses_version (); |
| 233 | (void) define_key (0, 0); |
| 234 | (void) is_term_resized (0, 0); |
| 235 | (void) key_defined (0); |
| 236 | (void) keybound (0, 0); |
| 237 | (void) keyok (0, 0); |
| 238 | (void) resize_term (0, 0); |
| 239 | (void) resizeterm (0, 0); |
| 240 | (void) use_default_colors (); |
| 241 | (void) use_extended_names (0); |
| 242 | (void) wresize (0, 0, 0);], |
| 243 | [cf_cv_ncurses_ext_funcs=yes], |
| 244 | [cf_cv_ncurses_ext_funcs=no]) |
| 245 | ]) |
| 246 | test "$cf_cv_ncurses_ext_funcs" != no && AC_DEFINE(NCURSES_EXT_FUNCS) |
| 247 | |
| 248 | AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[ |
| 249 | AC_TRY_LINK([ |
| 250 | #include <${cf_cv_ncurses_header-curses.h}>], |
| 251 | [ |
| 252 | static wchar_t src_wchar[2]; |
| 253 | static cchar_t dst_cchar; |
| 254 | setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0); |
| 255 | ], |
| 256 | [cf_cv_widechar_funcs=yes], |
| 257 | [cf_cv_widechar_funcs=no]) |
| 258 | ]) |
| 259 | if test "$cf_cv_widechar_funcs" != no ; then |
| 260 | AC_DEFINE(USE_WIDEC_SUPPORT,1) |
| 261 | else |
| 262 | AC_DEFINE(USE_WIDEC_SUPPORT,0) |
| 263 | fi |
| 264 | |
| 265 | CF_SYS_TIME_SELECT |
| 266 | CF_FUNC_CURSES_VERSION |
| 267 | CF_CURSES_ACS_MAP |
| 268 | CF_CURSES_WACS_MAP |
| 269 | CF_CURSES_CHECK_TYPE(attr_t,long) |
| 270 | CF_CURSES_CHECK_TYPE(mbstate_t,long) |
| 271 | |
| 272 | TEST_ARGS="$LIBS" |
| 273 | LIBS= |
| 274 | |
| 275 | dnl --------------------------------------------------------------------------- |
| 276 | |
| 277 | AC_OUTPUT(Makefile,[ |
| 278 | CF_PRG_RULES([$srcdir/mk-test.awk ECHO_LINK="$ECHO_LD"], .) |
| 279 | cat >>Makefile <<TEST_EOF |
| 280 | |
| 281 | # These rules are generated so we do not rely on suffix rules, which do not |
| 282 | # work consistently for different make-programs (the '\$(MODEL)/' confuses |
| 283 | # some, and the '\$x' confuses others). |
| 284 | TEST_EOF |
| 285 | LIST=`sed -e 's/[[ ]].*//' -e '/^[[#@]]/d' $srcdir/modules` |
| 286 | for N in $LIST |
| 287 | do |
| 288 | cat >>Makefile <<TEST_EOF |
| 289 | |
| 290 | \$(MODEL)/$N.o : $N.c \\ |
| 291 | test.priv.h \\ |
| 292 | ncurses_cfg.h |
| 293 | @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c |
| 294 | TEST_EOF |
| 295 | done |
| 296 | ],[ |
| 297 | AWK="$AWK" |
| 298 | ECHO_LD="$ECHO_LD" |
| 299 | ],cat) |