Annotation of libwww/configure.in, revision 1.37

1.1       frystyk     1: dnl Process this file with Autoconf to create configure
                      2: dnl (c) COPYRIGHT MIT 1995.
                      3: dnl Please first read the full copyright statement in the file COPYRIGH.
                      4: 
                      5: AC_PREREQ(2.2)
                      6: AC_INIT(Library)
                      7: AC_REVISION
1.30      frystyk     8: AM_CONFIG_HEADER(config.h)
1.5       frystyk     9: AC_CONFIG_AUX_DIR(config)
1.1       frystyk    10: 
                     11: dnl Cheks for platform information
                     12: AC_CANONICAL_SYSTEM
                     13: 
1.20      frystyk    14: dnl Initializing Automake
1.22      frystyk    15: AM_INIT_AUTOMAKE
1.20      frystyk    16: AC_PROG_MAKE_SET
                     17: AC_ARG_PROGRAM
                     18: 
1.1       frystyk    19: dnl Variables for Automake.
1.3       frystyk    20: PACKAGE=w3c-libwww
1.1       frystyk    21: AC_SUBST(PACKAGE)
1.28      frystyk    22: AC_DEFINE_UNQUOTED(W3C_PACKAGE, "$PACKAGE")
                     23: 
1.29      frystyk    24: VERSION=5.1
1.1       frystyk    25: AC_SUBST(VERSION)
                     26: AC_DEFINE_UNQUOTED(W3C_VERSION, "$VERSION")
                     27: 
                     28: AC_PROG_CC
                     29: AC_PROG_RANLIB
                     30: 
                     31: dnl Remove next line and you get an error -- autoconf
                     32: dnl should deal with this automatically.
                     33: AC_ISC_POSIX
                     34: AC_PATH_X
1.7       frystyk    35: dnl AC_PATH_XTRA       Causes problems...
1.1       frystyk    36: 
1.28      frystyk    37: dnl Default location of icons
                     38: icondir="/usr/local/share/w3c-icons"
                     39: AC_SUBST(icondir)
                     40: AC_DEFINE_UNQUOTED(W3C_ICONS, "$icondir")
                     41: 
                     42: dnl Default location of TcL library and include files
                     43: tclinclude="/usr/local/include"
                     44: AC_SUBST(tclinclude)
                     45: libtcl="/usr/local/lib/libtcl7.5.a"
                     46: AC_SUBST(libtcl)
                     47: AC_DEFINE_UNQUOTED(W3C_TCL, "$libtcl")
                     48: 
1.34      frystyk    49: dnl Location for purify cache
                     50: PURIFY_CACHE=/tmp/purify.cache
                     51: AC_SUBST(PURIFY_CACHE)
                     52: 
1.1       frystyk    53: dnl Various compiler directives
1.28      frystyk    54: AC_MSG_CHECKING(whether to define additional compiler specific flags)
1.5       frystyk    55: case "$target" in
                     56:     alpha-dec*)
                     57:        if test "$CC" = "cc"; then
                     58:          CFLAGS="$CFLAGS -std1"
1.28      frystyk    59:          AC_MSG_RESULT(Digital Unix's cc)
1.14      frystyk    60:        fi
                     61:        ;;
                     62:     hp*)
                     63:        if test "$CC" = "cc"; then
                     64:          CFLAGS="$CFLAGS -Aa -D_HPUX_SOURCE"
1.28      frystyk    65:          AC_MSG_RESULT(HT-UX's cc)
1.5       frystyk    66:        fi
                     67:        ;;
1.28      frystyk    68:     *)
                     69:        AC_MSG_RESULT(no)
                     70:        ;;
1.5       frystyk    71: esac
1.1       frystyk    72: 
1.31      frystyk    73: dnl Checks for configuration arguments
                     74: 
                     75: AC_MSG_CHECKING(whether to support direct WAIS access - a bit rusty!)
                     76: AC_ARG_WITH(wais,
                     77: [  --with-wais[=PATH]      Compile with support for direct WAIS access.],
                     78: [ case "$withval" in
                     79:   no)
                     80:     AC_MSG_RESULT(no)
                     81:     HTWAIS=""
                     82:     ;;
                     83:   *)
                     84:     AC_MSG_RESULT(yes)
                     85:     if test "x$withval" = "xyes"; then
                     86:       withval="-lclient.a -lwais.a"
                     87:     fi
                     88:     LIBS="$withval $LIBS"
                     89:     AC_TRY_LINK([],
                     90:                 [ interpret_message(); ],
                     91:                [],
                     92:                [ AC_MSG_ERROR(Could not find the $withval library.  You must first install WAIS.) ])
                     93:     HTWAIS="HTWAIS.o"
                     94:     ;;
                     95:   esac ],
                     96:   AC_MSG_RESULT(no)
1.18      frystyk    97:   HTWAIS=""
1.31      frystyk    98: )
1.1       frystyk    99: AC_SUBST(HTWAIS)
                    100: 
1.31      frystyk   101: AC_MSG_CHECKING(whether to support zlib compress/decompress)
                    102: AC_ARG_WITH(zlib,
                    103: [  --with-zlib[=PATH]      Compile with zlib compress/decompress support.],
                    104: [ case "$withval" in
                    105:   no)
                    106:     AC_MSG_RESULT(no)
1.33      eric      107:     HTZLIB=""
1.31      frystyk   108:     ;;
                    109:   *)
                    110:     AC_MSG_RESULT(yes)
                    111:     if test "x$withval" = "xyes"; then
                    112:       withval="-lz"
                    113:     fi
                    114:     LIBS="$withval $LIBS"
1.35      frystyk   115:     AC_DEFINE(HT_ZLIB)
1.31      frystyk   116:     AC_TRY_LINK([],
                    117:                 [ zlibVersion(); ],
                    118:                [],
                    119:                [ AC_MSG_ERROR(Could not find the $withval library.  You must first install zlib.) ])
1.33      eric      120:     HTZLIB="HTZip.o"
1.31      frystyk   121:     ;;
                    122:   esac ],
                    123:   AC_MSG_RESULT(no)
1.33      eric      124:   HTZLIB=""
1.31      frystyk   125: )
1.33      eric      126: AC_SUBST(HTZLIB)
1.31      frystyk   127: 
1.26      frystyk   128: # borrowed from SSH - thanks!
                    129: AC_MSG_CHECKING(whether to support SOCKS)
                    130: AC_ARG_WITH(socks,
                    131: [  --with-socks            Compile with SOCKS firewall traversal support.],
                    132: [ case "$withval" in
                    133:   no)
                    134:     AC_MSG_RESULT(no)
                    135:     ;;
                    136:   yes)
                    137:     AC_MSG_RESULT(yes)
                    138:     AC_CHECK_LIB(socks5, SOCKSconnect, [
                    139:            socks=5
                    140:            LIBS="-lsocks5 $LIBS"], [
                    141:        AC_CHECK_LIB(socks, Rconnect, [
                    142:            socks=4
                    143:            LIBS="-lsocks $LIBS"], [
                    144:                AC_MSG_ERROR(Could not find socks library.  You must first install socks.) ] ) ] )
                    145:     ;;
                    146:   esac ],
                    147:   AC_MSG_RESULT(no)
1.1       frystyk   148: )
                    149: 
1.26      frystyk   150: if test "x$socks" = "x"; then
                    151:        AC_MSG_CHECKING(whether to support SOCKS5)
                    152:        AC_ARG_WITH(socks5,
                    153:        [  --with-socks5[=PATH]    Compile with SOCKS5 firewall traversal support.],
                    154:        [ case "$withval" in
                    155:          no)
                    156:            AC_MSG_RESULT(no)
                    157:            ;;
                    158:          *)
                    159:            AC_MSG_RESULT(yes)
                    160:            socks=5
                    161:            if test "x$withval" = "xyes"; then
                    162:              withval="-lsocks5"
                    163:            fi
                    164:            LIBS="$withval $LIBS"
                    165:            AC_TRY_LINK([],
                    166:                        [ SOCKSconnect(); ],
                    167:                        [],
                    168:                        [ AC_MSG_ERROR(Could not find the $withval library.  You must first install socks5.) ])
                    169:            ;;
                    170:          esac ],
                    171:          AC_MSG_RESULT(no)
                    172:        )
                    173: fi
                    174: 
                    175: if test "x$socks" = "x"; then
                    176:        AC_MSG_CHECKING(whether to support SOCKS4)
                    177:        AC_ARG_WITH(socks4,
                    178:        [  --with-socks4[=PATH]    Compile with SOCKS4 firewall traversal support.],
                    179:        [ case "$withval" in
                    180:          no)
                    181:            AC_MSG_RESULT(no)
                    182:            ;;
                    183:          *)
                    184:            AC_MSG_RESULT(yes)
                    185:            socks=4
                    186:            if test "x$withval" = "xyes"; then
                    187:              withval="-lsocks"
                    188:            fi
                    189:            LIBS="$withval $LIBS"
                    190:            AC_TRY_LINK([],
                    191:                        [ Rconnect(); ],
                    192:                        [],
                    193:                        [ AC_MSG_ERROR(Could not find the $withval library.  You must first install socks.) ])
                    194:            ;;
                    195:          esac ],
                    196:          AC_MSG_RESULT(no)
                    197:        )
                    198: fi
                    199: 
                    200: if test "x$socks" = "x4"; then
                    201:     AC_DEFINE(SOCKS)
                    202:     AC_DEFINE(SOCKS4)
                    203: fi
                    204: 
                    205: if test "x$socks" = "x5"; then
                    206:     AC_DEFINE(SOCKS)
                    207:     AC_DEFINE(SOCKS5)
                    208: fi
                    209: 
1.28      frystyk   210: AC_MSG_CHECKING(whether to use internal signal handlers)
                    211: AC_ARG_ENABLE(signals, [  --enable-signals        use internal libwww signal handler.],
                    212: [ case "${enableval}" in
                    213:   no)
                    214:     AC_MSG_RESULT(no)
                    215:     ;;
                    216:   *)
                    217:     AC_MSG_RESULT(yes)
                    218:     AC_DEFINE(WWWLIB_SIG)
                    219:     ;;
                    220:   esac ],
                    221:   AC_MSG_RESULT(no)
                    222: )
1.26      frystyk   223: 
1.28      frystyk   224: AC_MSG_CHECKING(whether to disable Nagle's algorithm)
                    225: AC_ARG_ENABLE(nagle,
1.30      frystyk   226: [  --disable-nagle         Turning off Nagle's algorithm.],
1.28      frystyk   227: [ case "${enableval}" in
                    228:   no)
                    229:     AC_MSG_RESULT(yes)
                    230:     AC_DEFINE(HT_NO_NAGLE)
                    231:     ;;
                    232:   *) 
                    233:     AC_MSG_RESULT(no)
                    234:     ;;
                    235:   esac ],
1.29      frystyk   236:   AC_MSG_RESULT(yes)
                    237:   AC_DEFINE(HT_NO_NAGLE)
1.28      frystyk   238: )
                    239: 
1.30      frystyk   240: AC_MSG_CHECKING(whether to disable HTTP/1.1 pipelining)
                    241: AC_ARG_ENABLE(pipelining,
                    242: [  --disable-pipelining    Turning off HTTP/1.1 Pipelining.],
                    243: [ case "${enableval}" in
                    244:   no)
                    245:     AC_MSG_RESULT(yes)
                    246:     AC_DEFINE(HT_NO_PIPELINING)
                    247:     ;;
                    248:   *) 
                    249:     AC_MSG_RESULT(no)
                    250:     ;;
                    251:   esac ],
                    252:   AC_MSG_RESULT(no)
                    253: )
                    254: 
1.28      frystyk   255: AC_MSG_CHECKING(whether to define _REENTRANT)
1.26      frystyk   256: AC_ARG_ENABLE(reentrant, [  --enable-reentrant      define _REENTRANT to enable reentrant system calls],
1.28      frystyk   257: [ case "${enableval}" in
                    258:   no)
                    259:     AC_MSG_RESULT(no)
                    260:     ;;
                    261:   *) 
                    262:     AC_MSG_RESULT(yes)
                    263:     AC_DEFINE(HT_REENTRANT) [CFLAGS="$CFLAGS -D_REENTRANT"]
                    264:     ;;
                    265:   esac ],
                    266:   AC_MSG_RESULT(no)
                    267: )
1.1       frystyk   268: 
1.28      frystyk   269: AC_MSG_CHECKING(whether to define _POSIX_SOURCE)
1.4       frystyk   270: AC_ARG_ENABLE(posix, [  --enable-posix          define _POSIX_SOURCE],
1.28      frystyk   271: [ case "${enableval}" in
                    272:   no)
                    273:     AC_MSG_RESULT(no)
                    274:     ;;
                    275:   *) 
                    276:     AC_MSG_RESULT(yes)
                    277:     AC_DEFINE(_POSIX_SOURCE) [CFLAGS="$CFLAGS -D_POSIX_SOURCE"]
                    278:     ;;
                    279:   esac ],
                    280:   AC_MSG_RESULT(no)
                    281: )
1.4       frystyk   282: 
1.26      frystyk   283: AC_ARG_ENABLE(cyrillic, [  --enable-cyrillic       include support for Cyrillic in line mode browser],
                    284:   AC_DEFINE(CYRILLIC)
                    285:   A_STDIO="a_stdio.o", A_STDIO="")
                    286: AC_SUBST(A_STDIO)
1.4       frystyk   287: 
1.1       frystyk   288: dnl Checks for programs.
                    289: AC_PROG_INSTALL
                    290: AC_PROG_RANLIB
                    291: 
                    292: AC_CHECK_PROGS(have_telnet, telnet)
                    293: if test -n "$have_telnet" ; then
                    294:   AC_DEFINE_UNQUOTED(TELNET_PROGRAM, "$have_telnet")
                    295: fi
                    296: AC_CHECK_PROGS(have_rlogin, rlogin)
                    297: if test -n "$have_rlogin" ; then
                    298:   AC_DEFINE_UNQUOTED(RLOGIN_PROGRAM, "$have_rlogin")
                    299: fi
                    300: AC_CHECK_PROGS(have_tn3270, tn3270 x3270)
                    301: if test -n "$have_tn3270" ; then
                    302:   AC_DEFINE_UNQUOTED(TN3270_PROGRAM, "$have_tn3270")
                    303: fi
                    304: 
                    305: AC_PATH_PROG(RM, rm, rm)
                    306: AC_PATH_PROG(AR, ar, ar)
                    307: AC_PATH_PROG(MKDIR, mkdir, mkdir)
                    308: AC_PATH_PROG(CHMOD, chmod, chmod)
                    309: AC_PATH_PROG(CP, cp, cp)
                    310: AC_PATH_PROG(TAR, tar, tar)
                    311: AC_PATH_PROG(CVS, cvs, cvs)
                    312: AC_PATH_PROG(SED, sed, sed)
                    313: AC_PATH_PROGS(COMPRESS, gzip compress, compress)
                    314: AC_PROG_LN_S
                    315: 
                    316: dnl One remaining platform-specific difference in the library is the
                    317: dnl default postscript and image viewers: On the NeXT they are "open,"
                    318: dnl on other platforms they are ghostview or xv.  We should decide
                    319: dnl how to handle these things; perhaps the following lines would be
                    320: dnl useful:
                    321: dnl AC_PATH_PROGS(postscript_viewer, open ghostview, ghostview)
                    322: dnl AC_DEFINE_UNQUOTED(PRESENT_POSTSCRIPT, "$postscript_viewer %s")
                    323: dnl AC_PATH_PROGS(image_viewer, open xv, xv)
                    324: dnl AC_DEFINE_UNQUOTED(PRESENT_IMAGE, "$image_viewer %s")
                    325: 
                    326: dnl Checks for misc files
                    327: dnl AC_FILE_RESOLV_CONF
1.5       frystyk   328: AC_PATH_PROG(have_resolv_conf, resolv.conf, , /etc, /usr/etc)
                    329: if test -n "$have_resolv_conf" ; then
                    330:   AC_DEFINE_UNQUOTED(RESOLV_CONF, "$have_resolv_conf")
                    331: fi
1.22      frystyk   332: 
1.1       frystyk   333: dnl Checks for libraries:
1.7       frystyk   334: AC_CHECK_LIB(ICE, IceConnectionNumber)
                    335: AC_CHECK_LIB(socket, socket)
                    336: AC_CHECK_LIB(inet, connect)
                    337: AC_CHECK_LIB(nsl, t_accept)
1.20      frystyk   338: AC_CHECK_LIB(dl, dlopen)
1.1       frystyk   339: 
                    340: dnl Checks for header files:
                    341: AC_CHECK_HEADERS(stdio.h)
                    342: AC_CHECK_HEADERS(sys/types.h types.h)
                    343: AC_CHECK_HEADERS(sys/unistd.h unistd.h)
                    344: AC_CHECK_HEADERS(sys/fcntl.h fcntl.h)
                    345: AC_CHECK_HEADERS(sys/limits.h limits.h)
                    346: AC_CHECK_HEADERS(sys/stat.h stat.h)
                    347: AC_CHECK_HEADERS(sys/file.h)
                    348: AC_CHECK_HEADERS(sys/ioctl.h)
                    349: AC_CHECK_HEADERS(sys/time.h time.h)
                    350: AC_CHECK_HEADERS(sys/systeminfo.h)
                    351: AC_CHECK_HEADERS(string.h strings.h)
                    352: AC_CHECK_HEADERS(syslog.h)
                    353: AC_CHECK_HEADERS(sys/socket.h socket.h)
                    354: AC_CHECK_HEADERS(appkit/appkit.h appkit.h)
1.28      frystyk   355: AC_CHECK_HEADERS(netinet/tcp.h tcp.h)
1.1       frystyk   356: AC_CHECK_HEADERS(netinet/in.h in.h)
                    357: AC_CHECK_HEADERS(dn.h)
                    358: AC_CHECK_HEADERS(sys/ipc.h)
                    359: AC_CHECK_HEADERS(net/errno.h sys/errno.h errno.h)
                    360: AC_CHECK_HEADERS(pwd.h)
                    361: AC_CHECK_HEADERS(grp.h)
                    362: AC_CHECK_HEADERS(arpa/inet.h inet.h)
                    363: AC_CHECK_HEADERS(netdb.h)
                    364: AC_CHECK_HEADERS(manifest.h)
                    365: AC_CHECK_HEADERS(bsdtypes.h)
                    366: AC_CHECK_HEADERS(stdefs.h)
                    367: AC_CHECK_HEADERS(bsdtime.h)
                    368: AC_CHECK_HEADERS(sys/select.h select.h)
                    369: AC_CHECK_HEADERS(dnetdb.h)
                    370: AC_CHECK_HEADERS(libc.h)
                    371: AC_CHECK_HEADERS(stdlib.h)
                    372: AC_CHECK_HEADERS(malloc.h)
                    373: AC_CHECK_HEADERS(memory.h)
                    374: AC_CHECK_HEADERS(unixlib.h)
                    375: AC_CHECK_HEADERS(ctype.h)
                    376: AC_CHECK_HEADERS(cursesX.h curses.h)
                    377: AC_CHECK_HEADERS(sys/resource.h resource.h)
                    378: AC_HEADER_DIRENT
                    379: AC_CHECK_HEADERS(dir.h direct.h) dnl AC_HEADER_DIRENT only checks for some..
                    380: AC_HEADER_STDC
                    381: AC_HEADER_SYS_WAIT
                    382: AC_HEADER_TIME
                    383: AC_HEADER_STAT
                    384: 
                    385: dnl Checks for typedefs, structures, and compiler characteristics:
                    386: AC_TYPE_UID_T
1.5       frystyk   387: AC_TYPE_PID_T
1.1       frystyk   388: AC_TYPE_GETGROUPS
                    389: AC_TYPE_MODE_T
                    390: AC_TYPE_SIZE_T
                    391: AC_CHECK_TYPE(BOOLEAN, char)
                    392: AC_CHECK_TYPE(u_char, unsigned char)
                    393: AC_CHECK_TYPE(u_short, unsigned short)
                    394: AC_CHECK_TYPE(u_long, unsigned long)
1.6       frystyk   395: AC_CHECK_SIZEOF(int)
                    396: AC_CHECK_SIZEOF(long)
1.1       frystyk   397: AC_C_CONST
                    398: AC_C_BIGENDIAN
                    399: AC_C_CHAR_UNSIGNED
                    400: AC_STRUCT_TM
                    401: AC_STRUCT_GMTOFF
                    402: AC_STRUCT_TIMEZONE
                    403: AC_STRUCT_WINSIZE
                    404: AC_HEADER_TIME
                    405: 
                    406: dnl Other types that aren't checked for, but maybe should be:
1.5       frystyk   407: dnl AC_TYPE_OFF_T AC_STRUCT_ST_RDEV 
1.1       frystyk   408: 
                    409: dnl Checks for library functions:
                    410: AC_TYPE_SIGNAL
                    411: AC_FUNC_VPRINTF
                    412: AC_FUNC_STRFTIME
                    413: AC_CHECK_FUNCS(getcwd gethostname getdomainname getwd mktime timegm \
                    414:                select socket strerror strtol opendir getpid strchr memcpy \
1.15      frystyk   415:                getlogin getpass fcntl readdir sysinfo ioctl chdir tempnam)
1.1       frystyk   416: AC_CHECK_FUNC(unlink, , AC_CHECK_FUNC(remove, AC_DEFINE(unlink, remove)))
                    417: 
                    418: dnl Checks for external globals.
                    419: dnl AC_CHECK_EXTERNS(socket_errno sys_errlist sys_nerr)
                    420: 
                    421: dnl This is the standard UNIX value
                    422: AC_DEFINE(CACHE_FILE_PREFIX, "/usr/wsrc/")
                    423: 
                    424: dnl THINGS TO CONSIDER
                    425: dnl ******************
                    426: AC_DEFINE(TTY_IS_SELECTABLE)
                    427: 
                    428: dnl HT_REENTRANT
                    429: dnl POLL_PORTS
                    430: dnl NOT_ASCII
                    431: dnl ******************
                    432: 
                    433: dnl Create output files
                    434: AC_OUTPUT([Makefile
1.11      frystyk   435: config/Makefile
1.3       frystyk   436: Library/Makefile Library/User/Makefile Library/User/Patch/Makefile
                    437: Library/User/Architecture/Makefile Library/User/Using/Makefile Library/User/Guide/Makefile
1.12      frystyk   438: Library/User/Style/Makefile Library/User/Platform/Makefile
1.17      neon      439: Library/Test/Makefile Library/Test/User/Makefile Library/Test/src/Makefile
1.3       frystyk   440: Library/src/Makefile Library/src/windows/Makefile Library/src/vms/Makefile
1.11      frystyk   441: Library/Examples/Makefile
1.37    ! frystyk   442: Library/External/Makefile
1.9       frystyk   443: PICS-client/Makefile PICS-client/User/Makefile PICS-client/src/Makefile PICS-client/src/windows/Makefile
1.3       frystyk   444: LineMode/Makefile LineMode/User/Makefile
                    445: LineMode/src/Makefile LineMode/src/windows/Makefile LineMode/src/vms/Makefile
1.13      frystyk   446: Robot/Makefile Robot/User/Makefile Robot/src/Makefile Robot/src/windows/Makefile
1.3       frystyk   447: ComLine/Makefile ComLine/User/Makefile ComLine/src/Makefile
1.34      frystyk   448: MiniServ/Makefile MiniServ/User/Makefile MiniServ/src/Makefile
1.3       frystyk   449: Listen/Makefile Listen/User/Makefile Listen/src/Makefile
1.13      frystyk   450: Icons/Makefile Icons/WWW/Makefile Icons/32x32/Makefile Icons/internal/Makefile
1.1       frystyk   451: ], date>stamp-h)

Webmaster