1dnl $Id: configure.in,v 1.52 2009-11-16 21:06:05 al-guest Exp $ 2dnl configure.in autoconf/automake input script 3dnl for minicom 4dnl 5 6AC_INIT([minicom], [2.7.1], [minicom-devel@lists.alioth.debian.org]) 7AC_CONFIG_SRCDIR([src/minicom.c]) 8AM_CONFIG_HEADER([config.h]) 9AC_PREREQ(2.59) 10 11AM_INIT_AUTOMAKE([1.7]) 12 13dnl Checks for programs. 14AC_PROG_CC 15AM_PROG_AR 16 17AC_AIX 18AC_MINIX 19 20AC_PROG_INSTALL 21dnl AC_PROG_LIBTOOL 22AC_PROG_RANLIB 23 24AC_ISC_POSIX 25AM_ICONV_LINK 26 27AC_ARG_ENABLE([music], 28 AS_HELP_STRING([--enable-music], 29 [Enable music for certain events (def: DISABLED)]), 30 [], [enable_music="no"]) 31if test "x$enable_music" = xyes; then 32 AC_DEFINE(VC_MUSIC, [1], [Music support is enabled]) 33fi 34 35AC_ARG_ENABLE([socket], 36 AS_HELP_STRING([--disable-socket], 37 [Disable socket support (def: enabled)]), 38 [], [enable_socket="yes"]) 39if test "x$enable_socket" = xyes; then 40 AC_DEFINE(USE_SOCKET, [1], [Socket support is enabled]) 41fi 42 43PKG_PROG_PKG_CONFIG 44if test -n "$PKG_CONFIG"; then 45 PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:]) 46fi 47 48AC_ARG_ENABLE([lock-dir], 49 AS_HELP_STRING([--enable-lock-dir=DIR], 50 [Set com line lock directory (def: try common locations)]), 51 [], [enable_lock_dir="yes"]) 52if test "x$enable_lock_dir" = xyes; then 53 UUCPLOCK="" 54else 55 if test "x$enable_lock_dir" = xno; then 56 AC_MSG_ERROR(Lock directory required) 57 else 58 UUCPLOCK="$enable_lock_dir" 59 fi 60fi 61 62AC_ARG_ENABLE([dfl-port], 63 AS_HELP_STRING([--enable-dfl-port=DEVFILE], 64 [Set default /dev/.. modem device (def: try common locations)]), 65 [], [enable_dfl_port="yes"]) 66if test "x$enable_dfl_port" = xyes; then 67 DFL_PORT="" 68else 69 if test "x$enable_dfl_port" = xno; then 70 AC_MSG_ERROR(Default port required) 71 else 72 DFL_PORT="$enable_dfl_port" 73 fi 74fi 75 76AC_ARG_ENABLE([dfl-baud], 77 AS_HELP_STRING([--enable-dfl-baud=NNNNN], 78 [Set default baud rate (def: 115200)]), 79 [], [enable_dfl_baud="yes"]) 80if test "x$enable_dfl_baud" = xyes; then 81 DEF_BAUD="115200" 82else 83 if test "x$enable_dfl_baud" = xno; then 84 AC_MSG_ERROR(Default baud rate required) 85 else 86 DEF_BAUD="$enable_dfl_baud" 87 fi 88fi 89 90AC_ARG_ENABLE([cfg-dir], 91 AS_HELP_STRING([--enable-cfg-dir=DIR], 92 [Set minicom cfg file path (def: sysconfdir)]), 93 [], [enable_cfg_dir="yes"]) 94if test "x$enable_cfg_dir" = xyes; then 95 MINICOM_CONFDIR="$sysconfdir" 96else 97 if test "x$enable_cfg_dir" = xno; then 98 AC_MSG_ERROR(Config directory required) 99 else 100 MINICOM_CONFDIR="$enable_cfg_dir" 101 fi 102fi 103AC_SUBST([MINICOM_CONFDIR]) 104 105AC_ARG_ENABLE([kermit], 106 AS_HELP_STRING([--enable-kermit=FILE], 107 [Set default path to kermit (def: search PATH)]), 108 [], [enable_kermit="yes"]) 109if test "x$enable_kermit" = xyes; then 110 PATH_KERMIT="" 111else 112 if test "x$enable_kermit" = xno; then 113 PATH_KERMIT="" 114 else 115 PATH_KERMIT="$enable_kermit" 116 fi 117fi 118 119dnl Set of available languages. 120ALL_LINGUAS="cs da de es fr fi hu id ja nb pl pt_BR ro ru rw sv vi zh_TW" 121 122dnl Checks for programs. 123AM_GNU_GETTEXT([external]) 124AM_GNU_GETTEXT_VERSION([0.16.1]) 125 126dnl This is a hacky workaround as the m4 scripts for iconv seem to set 127dnl LIBICONV to '-liconv' despite that this lib is not available if iconv 128dnl functionality is coming out of libc. But we need -liconv for other 129dnl systems, such as Mac OS. Other projects I looked seem to have their own 130dnl set of iconv m4 macros... why? 131dnl if test "x$gt_use_preinstalled_gnugettext" = "xyes" -o "x$USE_NLS" = "no" 132dnl then 133dnl LIBICONV='' 134dnl LTLIBICONV='' 135dnl fi 136 137if test "x$enable_kermit" != xno && test "x$PATH_KERMIT" = x 138then 139AC_PATH_PROG(PATH_KERMIT, kermit, no, $PATH:/bin:/usr/bin:/usr/local/bin:/opt/gnu/bin) 140else 141 AC_MSG_CHECKING(manual Kermit setting) 142 AC_MSG_RESULT($PATH_KERMIT) 143fi 144if test "x$PATH_KERMIT" = x -o "x$PATH_KERMIT" = xno 145then 146 AC_DEFINE(KERMIT, "", [Path to kermit]) 147else 148 AC_DEFINE_UNQUOTED(KERMIT, "$PATH_KERMIT -l %l -b %b", [Kermit command]) 149fi 150 151 152# Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but 153# rather ncurses. So we check for it. 154TERMLIBS= 155for termlib in tinfo ncurses curses termcap terminfo termlib ; do 156 AC_CHECK_LIB(${termlib}, tputs, 157 [TERMLIBS="${TERMLIBS} -l${termlib}"; break]) 158done 159 160LIBS="$LIBS $TERMLIBS" 161 162dnl Checks for header files. 163dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses. 164if test "x$termlib" = xncurses; then 165 dnl Use AC_CHECK_HEADERS so the HAVE_*_H symbol gets defined. 166 AC_CHECK_HEADERS(ncurses/termcap.h, [found_termcap_h=1]) 167fi 168if test "x$found_termcap_h" != "x1"; then 169 AC_CHECK_HEADERS(termcap.h) 170fi 171 172AC_CHECK_LIB(socket, socket) 173 174dnl Checks for header files. 175AC_HEADER_DIRENT 176AC_HEADER_STDC 177AC_HEADER_SYS_WAIT 178AC_HEADER_STAT 179AC_HEADER_TIME 180 181AC_SYS_POSIX_TERMIOS 182AC_HEADER_TIOCGWINSZ 183if test $ac_cv_sys_posix_termios = yes; then 184 AC_DEFINE(POSIX_TERMIOS, [1], [Define if your system supports POSIX termios]) 185fi 186 187AC_CHECK_HEADERS(stdarg.h varargs.h termio.h termios.h \ 188 setjmp.h errno.h pwd.h signal.h fcntl.h sgtty.h locale.h \ 189 sys/stat.h sys/file.h sys/ioctl.h sys/time.h \ 190 sys/ttold.h sys/param.h unistd.h posix1_lim.h sgtty.h features.h) 191 192dnl Checks for typedefs, structures, and compiler characteristics. 193AC_C_CONST 194AC_TYPE_UID_T 195AC_TYPE_MODE_T 196AC_TYPE_PID_T 197AC_TYPE_SIZE_T 198AC_STRUCT_TM 199 200dnl Checks for library functions. 201AC_TYPE_SIGNAL 202AC_FUNC_ERROR_AT_LINE 203AC_FUNC_CLOSEDIR_VOID 204AM_WITH_DMALLOC 205AC_CHECK_FUNCS(getcwd getwd memmove strerror strstr vsnprintf vprintf select) 206#KEYSERV="minicom.keyserv" 207KEYSERV="" 208AC_SUBST(KEYSERV) 209AC_REPLACE_FUNCS(snprintf usleep getopt getopt_long) 210 211dnl system capabilities 212AC_SYS_LONG_FILE_NAMES 213 214dnl --------------------------------------------------------------- 215 216AC_MSG_CHECKING(for com line lock directory) 217 218if test "x$UUCPLOCK" != x 219then 220 if test -d $UUCPLOCK 221 then 222 AC_MSG_RESULT($UUCPLOCK) 223 AC_DEFINE_UNQUOTED(UUCPLOCK, "$UUCPLOCK", [Lock directory]) 224 else 225 UUCPLOCK="" 226 fi 227fi 228 229if test "x$UUCPLOCK" = x 230then 231 for ac_uucplock in /etc/locks /var/lock /usr/spool/locks /var/spool/locks /var/spool/lock /usr/spool/uucp /var/spool/uucp /var/run; do 232 UUCPLOCK=$ac_uucplock 233 if test -d $UUCPLOCK; then 234 AC_MSG_RESULT($UUCPLOCK) 235 AC_DEFINE_UNQUOTED(UUCPLOCK, "$UUCPLOCK") 236 break 237 else 238 UUCPLOCK="" 239 fi 240 done 241fi 242 243if test "x$UUCPLOCK" = x 244then 245 AC_MSG_ERROR(No suitable lock directory) 246fi 247 248dnl --------------------------------------------------------------- 249 250AC_MSG_CHECKING(for default serial port device) 251 252if test "x$DFL_PORT" != x 253then 254 if test -c $DFL_PORT 255 then 256 AC_MSG_RESULT($DFL_PORT) 257 AC_DEFINE_UNQUOTED(DFL_PORT, "$DFL_PORT", 258 [Default /dev/... device]) 259 else 260 DFL_PORT="" 261 fi 262fi 263 264if test "x$DFL_PORT" = x 265then 266 for ac_port in /dev/modem /dev/cua/b /dev/cua2p0 /dev/ttyS1 /dev/com0 /dev/tty01 /dev/tty8; do 267 DFL_PORT=$ac_port 268 if test -c $DFL_PORT; then 269 AC_MSG_RESULT($DFL_PORT) 270 AC_DEFINE_UNQUOTED(DFL_PORT, "$DFL_PORT") 271 break 272 else 273 DFL_PORT="" 274 fi 275 done 276fi 277 278if test "x$DFL_PORT" = x 279then 280 DFL_PORT=/dev/modem 281 AC_MSG_RESULT($DFL_PORT) 282 AC_DEFINE_UNQUOTED(DFL_PORT, "$DFL_PORT", [Default device]) 283fi 284 285dnl --------------------------------------------------------------- 286 287AC_MSG_CHECKING(for default baud rate) 288 289tmp_match=no 290for tmp_baud_rate in 300 1200 2400 4800 9600 19200 38400 57600 115200 230400 291do 292 if test "x$DEF_BAUD" = "x$tmp_baud_rate" 293 then 294 tmp_match=yes 295 AC_DEFINE_UNQUOTED(DEF_BAUD, "$DEF_BAUD", [Default baud rate]) 296 AC_MSG_RESULT($DEF_BAUD) 297 fi 298done 299 300if test "x$tmp_match" != xyes 301then 302 AC_MSG_ERROR(No suitable default baud rate) 303fi 304 305if test "x$ac_cv_header_getopt_h" = xno 306then 307 CFLAGS="$CFLAGS -I\$(top_srcdir)/lib" 308fi 309 310if test "x$ac_cv_prog_gcc" = xyes 311then 312 CFLAGS="$CFLAGS -W -Wall -Wextra -std=gnu99" 313fi 314 315# this is a hack, if we need getopt_long we also need getopt 316# but I don't know how to express that dependency in lib/Makefile.am 317AC_SUBST(LIBPORT_GETOPT_LONG_DEP) 318if test "x$ac_cv_func_getopt_long" = xno 319then 320 LIBPORT_GETOPT_LONG_DEP="getopt.o" 321fi 322 323dnl --------------------------------------------------------------- 324 325AH_BOTTOM([ 326/* Defines from old config.h */ 327#define LOGFILE "minicom.log" /* Not defined = not used */ 328#define CALLOUT "" /* Gets run to get into dialut mode */ 329#define CALLIN "" /* Gets run to get into dial in mode */ 330 331/* This defines a special mode in the wwxgetch() routine. The 332 * basic idea behind this probably works on the consoles of 333 * most PC-based unices, but it's only implemented for Linux. 334 */ 335#if defined (__linux__) 336# define KEY_KLUDGE 1 337#endif 338 339/* And this for the translation tables (vt100 -> ASCII) */ 340#if __STDC__ 341# define TRANSLATE 1 342#else 343# define TRANSLATE 0 344#endif 345]) 346 347dnl -------------------------------------------------------------- 348 349AC_CONFIG_FILES([Makefile 350 doc/Makefile \ 351 extras/Makefile \ 352 extras/linux/Makefile \ 353 extras/tables/Makefile \ 354 extras/termcap/Makefile \ 355 extras/terminfo/Makefile \ 356 man/Makefile \ 357 lib/Makefile \ 358 src/Makefile \ 359 po/Makefile.in \ 360 minicom.spec]) 361AC_OUTPUT 362