Annotation of libwww/configure.in, revision 1.28

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
                      8: AC_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.25      frystyk    24: VERSION=5.0a
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.1       frystyk    49: dnl Various compiler directives
1.28    ! frystyk    50: AC_MSG_CHECKING(whether to define additional compiler specific flags)
1.5       frystyk    51: case "$target" in
                     52:     alpha-dec*)
                     53:        if test "$CC" = "cc"; then
                     54:          CFLAGS="$CFLAGS -std1"
1.28    ! frystyk    55:          AC_MSG_RESULT(Digital Unix's cc)
1.14      frystyk    56:        fi
                     57:        ;;
                     58:     hp*)
                     59:        if test "$CC" = "cc"; then
                     60:          CFLAGS="$CFLAGS -Aa -D_HPUX_SOURCE"
1.28    ! frystyk    61:          AC_MSG_RESULT(HT-UX's cc)
1.5       frystyk    62:        fi
                     63:        ;;
1.28    ! frystyk    64:     *)
        !            65:        AC_MSG_RESULT(no)
        !            66:        ;;
1.5       frystyk    67: esac
1.1       frystyk    68: 
1.28    ! frystyk    69: dnl Checks for configuration arguments - a bit rusty!!!
1.4       frystyk    70: AC_ARG_WITH(wais, [  --with-wais             build in the WAIS searching code],
1.1       frystyk    71:   AC_PATH_WAIS(
1.18      frystyk    72:        [AC_DEFINE(HT_DIRECT_WAIS)
1.22      frystyk    73:         HTWAIS="HTWAIS.o"
1.18      frystyk    74:         WAISINCLUDE="${srcdir}/$ac_path_wais/include"] ,
                     75:        [AC_MSG_WARN(Cannot find WAIS; code will be built without it)
                     76:         HTWAIS=""
                     77:         WAISINCLUDE="" ] ),
                     78:   HTWAIS=""
                     79:   WAISINCLUDE="")
1.1       frystyk    80: AC_SUBST(HTWAIS)
1.18      frystyk    81: AC_SUBST(WAISINCLUDE)
1.1       frystyk    82: 
1.26      frystyk    83: # borrowed from SSH - thanks!
                     84: AC_MSG_CHECKING(whether to support SOCKS)
                     85: AC_ARG_WITH(socks,
                     86: [  --with-socks            Compile with SOCKS firewall traversal support.],
                     87: [ case "$withval" in
                     88:   no)
                     89:     AC_MSG_RESULT(no)
                     90:     ;;
                     91:   yes)
                     92:     AC_MSG_RESULT(yes)
                     93:     AC_CHECK_LIB(socks5, SOCKSconnect, [
                     94:            socks=5
                     95:            LIBS="-lsocks5 $LIBS"], [
                     96:        AC_CHECK_LIB(socks, Rconnect, [
                     97:            socks=4
                     98:            LIBS="-lsocks $LIBS"], [
                     99:                AC_MSG_ERROR(Could not find socks library.  You must first install socks.) ] ) ] )
                    100:     ;;
                    101:   esac ],
                    102:   AC_MSG_RESULT(no)
1.1       frystyk   103: )
                    104: 
1.26      frystyk   105: if test "x$socks" = "x"; then
                    106:        AC_MSG_CHECKING(whether to support SOCKS5)
                    107:        AC_ARG_WITH(socks5,
                    108:        [  --with-socks5[=PATH]    Compile with SOCKS5 firewall traversal support.],
                    109:        [ case "$withval" in
                    110:          no)
                    111:            AC_MSG_RESULT(no)
                    112:            ;;
                    113:          *)
                    114:            AC_MSG_RESULT(yes)
                    115:            socks=5
                    116:            if test "x$withval" = "xyes"; then
                    117:              withval="-lsocks5"
                    118:            fi
                    119:            LIBS="$withval $LIBS"
                    120:            AC_TRY_LINK([],
                    121:                        [ SOCKSconnect(); ],
                    122:                        [],
                    123:                        [ AC_MSG_ERROR(Could not find the $withval library.  You must first install socks5.) ])
                    124:            ;;
                    125:          esac ],
                    126:          AC_MSG_RESULT(no)
                    127:        )
                    128: fi
                    129: 
                    130: if test "x$socks" = "x"; then
                    131:        AC_MSG_CHECKING(whether to support SOCKS4)
                    132:        AC_ARG_WITH(socks4,
                    133:        [  --with-socks4[=PATH]    Compile with SOCKS4 firewall traversal support.],
                    134:        [ case "$withval" in
                    135:          no)
                    136:            AC_MSG_RESULT(no)
                    137:            ;;
                    138:          *)
                    139:            AC_MSG_RESULT(yes)
                    140:            socks=4
                    141:            if test "x$withval" = "xyes"; then
                    142:              withval="-lsocks"
                    143:            fi
                    144:            LIBS="$withval $LIBS"
                    145:            AC_TRY_LINK([],
                    146:                        [ Rconnect(); ],
                    147:                        [],
                    148:                        [ AC_MSG_ERROR(Could not find the $withval library.  You must first install socks.) ])
                    149:            ;;
                    150:          esac ],
                    151:          AC_MSG_RESULT(no)
                    152:        )
                    153: fi
                    154: 
                    155: if test "x$socks" = "x4"; then
                    156:     AC_DEFINE(SOCKS)
                    157:     AC_DEFINE(SOCKS4)
                    158: fi
                    159: 
                    160: if test "x$socks" = "x5"; then
                    161:     AC_DEFINE(SOCKS)
                    162:     AC_DEFINE(SOCKS5)
                    163: fi
                    164: 
1.28    ! frystyk   165: AC_MSG_CHECKING(whether to use internal signal handlers)
        !           166: AC_ARG_ENABLE(signals, [  --enable-signals        use internal libwww signal handler.],
        !           167: [ case "${enableval}" in
        !           168:   no)
        !           169:     AC_MSG_RESULT(no)
        !           170:     ;;
        !           171:   *)
        !           172:     AC_MSG_RESULT(yes)
        !           173:     AC_DEFINE(WWWLIB_SIG)
        !           174:     ;;
        !           175:   esac ],
        !           176:   AC_MSG_RESULT(no)
        !           177: )
1.26      frystyk   178: 
1.28    ! frystyk   179: AC_MSG_CHECKING(whether to disable Nagle's algorithm)
        !           180: AC_ARG_ENABLE(nagle,
        !           181: [  --disable-nagle         Turning of Nagle's algorithm.],
        !           182: [ case "${enableval}" in
        !           183:   no)
        !           184:     AC_MSG_RESULT(yes)
        !           185:     AC_DEFINE(HT_NO_NAGLE)
        !           186:     ;;
        !           187:   *) 
        !           188:     AC_MSG_RESULT(no)
        !           189:     ;;
        !           190:   esac ],
        !           191:   AC_MSG_RESULT(no)
        !           192: )
        !           193: 
        !           194: AC_MSG_CHECKING(whether to define _REENTRANT)
1.26      frystyk   195: AC_ARG_ENABLE(reentrant, [  --enable-reentrant      define _REENTRANT to enable reentrant system calls],
1.28    ! frystyk   196: [ case "${enableval}" in
        !           197:   no)
        !           198:     AC_MSG_RESULT(no)
        !           199:     ;;
        !           200:   *) 
        !           201:     AC_MSG_RESULT(yes)
        !           202:     AC_DEFINE(HT_REENTRANT) [CFLAGS="$CFLAGS -D_REENTRANT"]
        !           203:     ;;
        !           204:   esac ],
        !           205:   AC_MSG_RESULT(no)
        !           206: )
1.1       frystyk   207: 
1.28    ! frystyk   208: AC_MSG_CHECKING(whether to define _POSIX_SOURCE)
1.4       frystyk   209: AC_ARG_ENABLE(posix, [  --enable-posix          define _POSIX_SOURCE],
1.28    ! frystyk   210: [ case "${enableval}" in
        !           211:   no)
        !           212:     AC_MSG_RESULT(no)
        !           213:     ;;
        !           214:   *) 
        !           215:     AC_MSG_RESULT(yes)
        !           216:     AC_DEFINE(_POSIX_SOURCE) [CFLAGS="$CFLAGS -D_POSIX_SOURCE"]
        !           217:     ;;
        !           218:   esac ],
        !           219:   AC_MSG_RESULT(no)
        !           220: )
1.4       frystyk   221: 
1.26      frystyk   222: AC_ARG_ENABLE(cyrillic, [  --enable-cyrillic       include support for Cyrillic in line mode browser],
                    223:   AC_DEFINE(CYRILLIC)
                    224:   A_STDIO="a_stdio.o", A_STDIO="")
                    225: AC_SUBST(A_STDIO)
1.4       frystyk   226: 
1.1       frystyk   227: dnl Checks for programs.
                    228: AC_PROG_INSTALL
                    229: AC_PROG_RANLIB
                    230: 
                    231: AC_CHECK_PROGS(have_telnet, telnet)
                    232: if test -n "$have_telnet" ; then
                    233:   AC_DEFINE_UNQUOTED(TELNET_PROGRAM, "$have_telnet")
                    234: fi
                    235: AC_CHECK_PROGS(have_rlogin, rlogin)
                    236: if test -n "$have_rlogin" ; then
                    237:   AC_DEFINE_UNQUOTED(RLOGIN_PROGRAM, "$have_rlogin")
                    238: fi
                    239: AC_CHECK_PROGS(have_tn3270, tn3270 x3270)
                    240: if test -n "$have_tn3270" ; then
                    241:   AC_DEFINE_UNQUOTED(TN3270_PROGRAM, "$have_tn3270")
                    242: fi
                    243: 
                    244: AC_PATH_PROG(RM, rm, rm)
                    245: AC_PATH_PROG(AR, ar, ar)
                    246: AC_PATH_PROG(MKDIR, mkdir, mkdir)
                    247: AC_PATH_PROG(CHMOD, chmod, chmod)
                    248: AC_PATH_PROG(CP, cp, cp)
                    249: AC_PATH_PROG(TAR, tar, tar)
                    250: AC_PATH_PROG(CVS, cvs, cvs)
                    251: AC_PATH_PROG(SED, sed, sed)
                    252: AC_PATH_PROGS(COMPRESS, gzip compress, compress)
                    253: AC_PROG_LN_S
                    254: 
                    255: dnl One remaining platform-specific difference in the library is the
                    256: dnl default postscript and image viewers: On the NeXT they are "open,"
                    257: dnl on other platforms they are ghostview or xv.  We should decide
                    258: dnl how to handle these things; perhaps the following lines would be
                    259: dnl useful:
                    260: dnl AC_PATH_PROGS(postscript_viewer, open ghostview, ghostview)
                    261: dnl AC_DEFINE_UNQUOTED(PRESENT_POSTSCRIPT, "$postscript_viewer %s")
                    262: dnl AC_PATH_PROGS(image_viewer, open xv, xv)
                    263: dnl AC_DEFINE_UNQUOTED(PRESENT_IMAGE, "$image_viewer %s")
                    264: 
                    265: dnl Checks for misc files
                    266: dnl AC_FILE_RESOLV_CONF
1.5       frystyk   267: AC_PATH_PROG(have_resolv_conf, resolv.conf, , /etc, /usr/etc)
                    268: if test -n "$have_resolv_conf" ; then
                    269:   AC_DEFINE_UNQUOTED(RESOLV_CONF, "$have_resolv_conf")
                    270: fi
1.22      frystyk   271: 
1.1       frystyk   272: dnl Checks for libraries:
1.7       frystyk   273: AC_CHECK_LIB(ICE, IceConnectionNumber)
                    274: AC_CHECK_LIB(socket, socket)
                    275: AC_CHECK_LIB(inet, connect)
                    276: AC_CHECK_LIB(nsl, t_accept)
1.20      frystyk   277: AC_CHECK_LIB(dl, dlopen)
1.1       frystyk   278: 
                    279: dnl Checks for header files:
                    280: AC_CHECK_HEADERS(stdio.h)
                    281: AC_CHECK_HEADERS(sys/types.h types.h)
                    282: AC_CHECK_HEADERS(sys/unistd.h unistd.h)
                    283: AC_CHECK_HEADERS(sys/fcntl.h fcntl.h)
                    284: AC_CHECK_HEADERS(sys/limits.h limits.h)
                    285: AC_CHECK_HEADERS(sys/stat.h stat.h)
                    286: AC_CHECK_HEADERS(sys/file.h)
                    287: AC_CHECK_HEADERS(sys/ioctl.h)
                    288: AC_CHECK_HEADERS(sys/time.h time.h)
                    289: AC_CHECK_HEADERS(sys/systeminfo.h)
                    290: AC_CHECK_HEADERS(string.h strings.h)
                    291: AC_CHECK_HEADERS(syslog.h)
                    292: AC_CHECK_HEADERS(sys/socket.h socket.h)
                    293: AC_CHECK_HEADERS(appkit/appkit.h appkit.h)
1.28    ! frystyk   294: AC_CHECK_HEADERS(netinet/tcp.h tcp.h)
1.1       frystyk   295: AC_CHECK_HEADERS(netinet/in.h in.h)
                    296: AC_CHECK_HEADERS(dn.h)
                    297: AC_CHECK_HEADERS(sys/ipc.h)
                    298: AC_CHECK_HEADERS(net/errno.h sys/errno.h errno.h)
                    299: AC_CHECK_HEADERS(pwd.h)
                    300: AC_CHECK_HEADERS(grp.h)
                    301: AC_CHECK_HEADERS(arpa/inet.h inet.h)
                    302: AC_CHECK_HEADERS(netdb.h)
                    303: AC_CHECK_HEADERS(manifest.h)
                    304: AC_CHECK_HEADERS(bsdtypes.h)
                    305: AC_CHECK_HEADERS(stdefs.h)
                    306: AC_CHECK_HEADERS(bsdtime.h)
                    307: AC_CHECK_HEADERS(sys/select.h select.h)
                    308: AC_CHECK_HEADERS(dnetdb.h)
                    309: AC_CHECK_HEADERS(libc.h)
                    310: AC_CHECK_HEADERS(stdlib.h)
                    311: AC_CHECK_HEADERS(malloc.h)
                    312: AC_CHECK_HEADERS(memory.h)
                    313: AC_CHECK_HEADERS(unixlib.h)
                    314: AC_CHECK_HEADERS(ctype.h)
                    315: AC_CHECK_HEADERS(cursesX.h curses.h)
                    316: AC_CHECK_HEADERS(sys/resource.h resource.h)
                    317: AC_HEADER_DIRENT
                    318: AC_CHECK_HEADERS(dir.h direct.h) dnl AC_HEADER_DIRENT only checks for some..
                    319: AC_HEADER_STDC
                    320: AC_HEADER_SYS_WAIT
                    321: AC_HEADER_TIME
                    322: AC_HEADER_STAT
                    323: 
                    324: dnl Checks for typedefs, structures, and compiler characteristics:
                    325: AC_TYPE_UID_T
1.5       frystyk   326: AC_TYPE_PID_T
1.1       frystyk   327: AC_TYPE_GETGROUPS
                    328: AC_TYPE_MODE_T
                    329: AC_TYPE_SIZE_T
                    330: AC_CHECK_TYPE(BOOLEAN, char)
                    331: AC_CHECK_TYPE(u_char, unsigned char)
                    332: AC_CHECK_TYPE(u_short, unsigned short)
                    333: AC_CHECK_TYPE(u_long, unsigned long)
1.6       frystyk   334: AC_CHECK_SIZEOF(int)
                    335: AC_CHECK_SIZEOF(long)
1.1       frystyk   336: AC_C_CONST
                    337: AC_C_BIGENDIAN
                    338: AC_C_CHAR_UNSIGNED
                    339: AC_STRUCT_TM
                    340: AC_STRUCT_GMTOFF
                    341: AC_STRUCT_TIMEZONE
                    342: AC_STRUCT_WINSIZE
                    343: AC_HEADER_TIME
                    344: 
                    345: dnl Other types that aren't checked for, but maybe should be:
1.5       frystyk   346: dnl AC_TYPE_OFF_T AC_STRUCT_ST_RDEV 
1.1       frystyk   347: 
                    348: dnl Checks for library functions:
                    349: AC_TYPE_SIGNAL
                    350: AC_FUNC_VPRINTF
                    351: AC_FUNC_STRFTIME
                    352: AC_CHECK_FUNCS(getcwd gethostname getdomainname getwd mktime timegm \
                    353:                select socket strerror strtol opendir getpid strchr memcpy \
1.15      frystyk   354:                getlogin getpass fcntl readdir sysinfo ioctl chdir tempnam)
1.1       frystyk   355: AC_CHECK_FUNC(unlink, , AC_CHECK_FUNC(remove, AC_DEFINE(unlink, remove)))
                    356: 
                    357: dnl Checks for external globals.
                    358: dnl AC_CHECK_EXTERNS(socket_errno sys_errlist sys_nerr)
                    359: 
                    360: dnl This is the standard UNIX value
                    361: AC_DEFINE(CACHE_FILE_PREFIX, "/usr/wsrc/")
                    362: 
                    363: dnl THINGS TO CONSIDER
                    364: dnl ******************
                    365: AC_DEFINE(TTY_IS_SELECTABLE)
                    366: 
                    367: dnl HT_REENTRANT
                    368: dnl POLL_PORTS
                    369: dnl NOT_ASCII
                    370: dnl ******************
                    371: 
                    372: dnl Create output files
                    373: AC_OUTPUT([Makefile
1.11      frystyk   374: config/Makefile
1.3       frystyk   375: Library/Makefile Library/User/Makefile Library/User/Patch/Makefile
                    376: Library/User/Architecture/Makefile Library/User/Using/Makefile Library/User/Guide/Makefile
1.12      frystyk   377: Library/User/Style/Makefile Library/User/Platform/Makefile
1.17      neon      378: Library/Test/Makefile Library/Test/User/Makefile Library/Test/src/Makefile
1.3       frystyk   379: Library/src/Makefile Library/src/windows/Makefile Library/src/vms/Makefile
1.11      frystyk   380: Library/Examples/Makefile
1.9       frystyk   381: PICS-client/Makefile PICS-client/User/Makefile PICS-client/src/Makefile PICS-client/src/windows/Makefile
1.3       frystyk   382: LineMode/Makefile LineMode/User/Makefile
                    383: LineMode/src/Makefile LineMode/src/windows/Makefile LineMode/src/vms/Makefile
1.13      frystyk   384: Robot/Makefile Robot/User/Makefile Robot/src/Makefile Robot/src/windows/Makefile
1.3       frystyk   385: MiniServ/Makefile MiniServ/User/Makefile MiniServ/src/Makefile
                    386: ComLine/Makefile ComLine/User/Makefile ComLine/src/Makefile
                    387: Listen/Makefile Listen/User/Makefile Listen/src/Makefile
1.13      frystyk   388: Icons/Makefile Icons/WWW/Makefile Icons/32x32/Makefile Icons/internal/Makefile
1.1       frystyk   389: ], date>stamp-h)

Webmaster