Blame configure.in

Packit 022b05
#
Packit 022b05
# configure.in --
Packit 022b05
#
Packit 022b05
#      Process this file with autoconf to produce a configure script.
Packit 022b05
#
Packit 022b05
# Copyright (c) 1999-2008 Frank Strauss, Technical University of Braunschweig.
Packit 022b05
#
Packit 022b05
# See the file "COPYING" for information on usage and redistribution
Packit 022b05
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Packit 022b05
#
Packit 022b05
# @(#) $Id: configure.in 8090 2008-04-18 12:56:29Z strauss $
Packit 022b05
#
Packit 022b05
Packit 022b05
AC_INIT(tools/smilint.c)
Packit 022b05
Packit 022b05
LIBSMI_MAJOR=0
Packit 022b05
LIBSMI_MINOR=4
Packit 022b05
LIBSMI_PATCHLEVEL=8
Packit 022b05
LIBTOOL_VERSION=2
Packit 022b05
LIBTOOL_REVISION=27
Packit 022b05
LIBTOOL_AGE=0
Packit 022b05
Packit 022b05
VERSION_STRING="$LIBSMI_MAJOR.$LIBSMI_MINOR.$LIBSMI_PATCHLEVEL"
Packit 022b05
VERSION_LIBTOOL="$LIBTOOL_VERSION:$LIBTOOL_REVISION:$LIBTOOL_AGE"
Packit 022b05
Packit 022b05
AM_INIT_AUTOMAKE(libsmi,$VERSION_STRING)
Packit 022b05
AM_CONFIG_HEADER(config.h)
Packit 022b05
Packit 022b05
AC_DEFINE([MAX_LEX_DEPTH], 30,
Packit 022b05
[The maximum module import recursion depth.])
Packit 022b05
Packit 022b05
AC_DEFINE([DEFAULT_ERRORLEVEL], 3,
Packit 022b05
[The default error level at libsmi initialization.])
Packit 022b05
Packit 022b05
AC_ARG_WITH(cflags,
Packit 022b05
[  --with-cflags=FLAGS     use FLAGS for CFLAGS],
Packit 022b05
CFLAGS="$withval")
Packit 022b05
Packit 022b05
AC_PROG_CC
Packit 022b05
AC_ARG_WITH(cc,
Packit 022b05
[  --with-cc=CC            use CC as the C compiler],
Packit 022b05
CC="$withval")
Packit 022b05
Packit 022b05
AC_MSG_CHECKING([for additional required compiler flags])
Packit 022b05
AC_TRY_RUN([#include <stdio.h>
Packit 022b05
  main() {
Packit 022b05
  #ifdef __SUNPRO_C
Packit 022b05
        exit(0);
Packit 022b05
  #else
Packit 022b05
        exit(1);
Packit 022b05
  #endif
Packit 022b05
  }
Packit 022b05
], ADDCFLAGS="-DYY_USE_PROTOS", ADDCFLAGS="", ADDCFLAGS="")
Packit 022b05
echo $ADDCFLAGS
Packit 022b05
CFLAGS="$CFLAGS $ADDCFLAGS"
Packit 022b05
Packit 022b05
AC_CHECK_FUNCS(strtoll strtoull strtoq strtouq)
Packit 022b05
Packit 022b05
AC_CHECK_FUNCS(timegm)
Packit 022b05
Packit 022b05
AC_CHECK_FUNCS(vsnprintf snprintf asprintf asnprintf vasprintf vasnprintf)
Packit 022b05
Packit 022b05
AC_CHECK_HEADERS(pwd.h unistd.h regex.h stdint.h limits.h)
Packit 022b05
Packit 022b05
# In case regex is not in libc
Packit 022b05
AC_CHECK_LIB(c,regexec,LDFLAGS="$LDFLAGS",
Packit 022b05
[
Packit 022b05
    AC_CHECK_LIB(rxspencer,regexec,LDFLAGS="$LDFLAGS -lrxspencer",
Packit 022b05
    [
Packit 022b05
        AC_CHECK_LIB(regex,regexec,LDFLAGS="$LDFLAGS -lregex")
Packit 022b05
    ])
Packit 022b05
])
Packit 022b05
Packit 022b05
if test "x$prefix" = "xNONE" ; then
Packit 022b05
  prefix=/usr/local
Packit 022b05
fi
Packit 022b05
Packit 022b05
AC_ARG_WITH(mibdir,
Packit 022b05
[  --with-mibdir=DIR       use DIR to install libsmi MIB modules [DATADIR/mibs]],
Packit 022b05
mibdir="$withval", mibdir="$prefix/share/mibs")
Packit 022b05
Packit 022b05
AC_ARG_WITH(pibdir,
Packit 022b05
[  --with-pibdir=DIR       use DIR to install libsmi PIB modules [DATADIR/pibs]],
Packit 022b05
pibdir="$withval", pibdir="$prefix/share/pibs")
Packit 022b05
Packit 022b05
AC_ARG_WITH(smipath,
Packit 022b05
[  --with-smipath=DIR:DIR  default DIRs to search for MIB/PIB modules [MIBDIR...]],
Packit 022b05
smipath="$withval", smipath="$mibdir/ietf:$mibdir/iana:$mibdir/irtf:$mibdir/site:$mibdir/tubs:$pibdir/ietf:$pibdir/site:$pibdir/tubs")
Packit 022b05
Packit 022b05
AC_DEFINE_UNQUOTED([DEFAULT_SMIPATH], "$smipath",
Packit 022b05
[The default search path to lookup SMI module files.])
Packit 022b05
Packit 022b05
AC_ARG_WITH(pathseparator,
Packit 022b05
[  --with-pathseparator=C  use C as the path separator [: on UNIX, ; on WIN32]],
Packit 022b05
pathseparator="$withval", pathseparator="")
Packit 022b05
Packit 022b05
AC_ARG_WITH(dirseparator,
Packit 022b05
[  --with-dirseparator=C   use C as the dir separator [/ on UNIX, \\ on WIN32]],
Packit 022b05
dirseparator="$withval", dirseparator="")
Packit 022b05
Packit 022b05
AC_MSG_CHECKING([for path separator character])
Packit 022b05
if test "$pathseparator" = "" ; then
Packit 022b05
  AC_TRY_RUN([#include <stdio.h>
Packit 022b05
    main() {
Packit 022b05
    #ifdef _WIN32
Packit 022b05
	  exit(0);
Packit 022b05
    #else
Packit 022b05
	  exit(1);
Packit 022b05
    #endif
Packit 022b05
    }
Packit 022b05
  ], pathseparator=";", pathseparator=":", pathseparator=":")
Packit 022b05
fi
Packit 022b05
echo $pathseparator
Packit 022b05
Packit 022b05
AC_MSG_CHECKING([for dir separator character])
Packit 022b05
if test "$dirseparator" = "" ; then
Packit 022b05
  AC_TRY_RUN([#include <stdio.h>
Packit 022b05
    main() {
Packit 022b05
    #ifdef _WIN32
Packit 022b05
	  exit(0);
Packit 022b05
    #else
Packit 022b05
	  exit(1);
Packit 022b05
    #endif
Packit 022b05
    }
Packit 022b05
  ], dirseparator="\\\\", dirseparator="/", dirseparator="/")
Packit 022b05
fi
Packit 022b05
echo $dirseparator
Packit 022b05
Packit 022b05
AC_DEFINE_UNQUOTED([PATH_SEPARATOR], '$pathseparator',
Packit 022b05
[The default path separator character.])
Packit 022b05
Packit 022b05
AC_DEFINE_UNQUOTED([DIR_SEPARATOR], '$dirseparator',
Packit 022b05
[The default path separator character.])
Packit 022b05
Packit 022b05
Packit 022b05
AC_MSG_CHECKING([for 64 bit types])
Packit 022b05
#
Packit 022b05
# Note that int64_min is defined as -9223372036854775807LL and NOT as
Packit 022b05
# -9223372036854775808LL. gcc (version 2.95.4 and others) complains with
Packit 022b05
# "warning: decimal constant is so large that it is unsigned"
Packit 022b05
# if used with the (correct) value -9223372036854775808LL.
Packit 022b05
#
Packit 022b05
AC_TRY_RUN([#include <stdio.h>
Packit 022b05
      main() {
Packit 022b05
	  long long ll;
Packit 022b05
	  unsigned long long ull;
Packit 022b05
	  exit(0);
Packit 022b05
      }
Packit 022b05
    ],
Packit 022b05
    uint64_type="unsigned long long"; int64_type="long long";
Packit 022b05
    uint64_format="%llu"; int64_format="%lld";
Packit 022b05
    uint64_max="18446744073709551615ULL";
Packit 022b05
    int64_min="-9223372036854775807LL"; int64_max="9223372036854775807LL"
Packit 022b05
    ,
Packit 022b05
    uint64_type="unsigned long"; int64_type="long";
Packit 022b05
    uint64_format="%lu"; int64_format="%ld";
Packit 022b05
    uint64_max="4294967295";
Packit 022b05
    int64_min="-2147483648"; int64_max="2147483647"
Packit 022b05
    ,
Packit 022b05
    uint64_type="unsigned long long"; int64_type="long long";
Packit 022b05
    uint64_format="%llu"; int64_format="%lld";
Packit 022b05
    uint64_max="18446744073709551615ULL";
Packit 022b05
    int64_min="-9223372036854775807LL"; int64_max="9223372036854775807LL"
Packit 022b05
)
Packit 022b05
echo $int64_type/$int64_format, etc.
Packit 022b05
Packit 022b05
UINT64_TYPE=$uint64_type
Packit 022b05
INT64_TYPE=$int64_type
Packit 022b05
AC_DEFINE_UNQUOTED([UINT64_FORMAT], "$uint64_format",
Packit 022b05
[The unsigned 64 bit integer format conversion specification string.])
Packit 022b05
AC_DEFINE_UNQUOTED([INT64_FORMAT], "$int64_format",
Packit 022b05
[The signed 64 bit integer format conversion specification string.])
Packit 022b05
AC_DEFINE_UNQUOTED([LIBSMI_UINT64_MAX], $uint64_max,
Packit 022b05
[The unsigned 64 bit integer maximum value.])
Packit 022b05
AC_DEFINE_UNQUOTED([LIBSMI_INT64_MIN], $int64_min,
Packit 022b05
[The unsigned 64 bit integer minimum value.])
Packit 022b05
AC_DEFINE_UNQUOTED([LIBSMI_INT64_MAX], $int64_max,
Packit 022b05
[The signed 64 bit integer maximum value.])
Packit 022b05
Packit 022b05
Packit 022b05
AC_ARG_ENABLE(dmalloc,
Packit 022b05
[  --enable-dmalloc        enable dmalloc debugging (www.dmalloc.com)],
Packit 022b05
LIBS="$LIBS -ldmalloc"
Packit 022b05
AC_DEFINE([HAVE_DMALLOC_H], 1, ""))
Packit 022b05
Packit 022b05
AC_DEFINE(BACKEND_SMI, 1, "")
Packit 022b05
AC_ARG_ENABLE(smi,
Packit 022b05
[  --disable-smi           disable SMIv1/v2 parser support],
Packit 022b05
AC_DEFINE(BACKEND_SMI, 1, ""))
Packit 022b05
Packit 022b05
AC_ARG_ENABLE(sming,
Packit 022b05
[  --enable-sming          enable SMIng parser support],
Packit 022b05
AC_DEFINE(BACKEND_SMING, 0, ""))
Packit 022b05
Packit 022b05
AC_PATH_PROG(FLEX, "flex")
Packit 022b05
if test -z "${FLEX}" ; then
Packit 022b05
  echo "NOTE: We will not be able to build scanner C code from flex sources."
Packit 022b05
fi
Packit 022b05
Packit 022b05
AC_PATH_PROG(BISON, "bison")
Packit 022b05
if test -z "${BISON}" ; then
Packit 022b05
  echo "NOTE: We will not be able to build parser C code from bison sources."
Packit 022b05
fi
Packit 022b05
Packit 022b05
AC_PATH_PROG(BASH, "bash")
Packit 022b05
AC_PATH_PROG(SH, "sh")
Packit 022b05
AC_PATH_PROG(AWK, awk)
Packit 022b05
AC_PATH_PROG(WGET, wget)
Packit 022b05
Packit 022b05
AC_PATH_PROGS(DIFF, gdiff diff)
Packit 022b05
$DIFF --version >/dev/null 2>&1
Packit 022b05
if test $? -eq 0 ; then
Packit 022b05
	DIFF="$DIFF --ignore-matching-lines='generated by smidump' --ignore-matching-lines='\$Id.*\$' --ignore-matching-lines='@author.*smidump'"
Packit 022b05
fi
Packit 022b05
Packit 022b05
AC_EXEEXT
Packit 022b05
AC_PROG_INSTALL
Packit 022b05
AC_PROG_MAKE_SET
Packit 022b05
AM_PROG_LIBTOOL
Packit 022b05
AC_SUBST(LIBTOOL_DEPS)
Packit 022b05
Packit 022b05
AC_DEFINE_UNQUOTED([DEFAULT_GLOBALCONFIG], "${sysconfdir}/smi.conf",
Packit 022b05
[The full pathname of the global configuration file.])
Packit 022b05
Packit 022b05
AC_DEFINE([DEFAULT_USERCONFIG], ".smirc",
Packit 022b05
[The basename of the per-user configuration file searched in $HOME.])
Packit 022b05
Packit 022b05
if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then
Packit 022b05
  STATIC=-static
Packit 022b05
else
Packit 022b05
  STATIC=
Packit 022b05
fi
Packit 022b05
AC_SUBST(STATIC)
Packit 022b05
Packit 022b05
AC_SUBST(LIBSMI_MAJOR)
Packit 022b05
AC_SUBST(LIBSMI_MINOR)
Packit 022b05
AC_SUBST(LIBSMI_PATCHLEVEL)
Packit 022b05
AC_SUBST(LIBTOOL_VERSION)
Packit 022b05
AC_SUBST(LIBTOOL_REVISION)
Packit 022b05
AC_SUBST(LIBTOOL_AGE)
Packit 022b05
AC_SUBST(VERSION_STRING)
Packit 022b05
AC_SUBST(VERSION_LIBTOOL)
Packit 022b05
AC_SUBST(UINT64_TYPE)
Packit 022b05
AC_SUBST(INT64_TYPE)
Packit 022b05
Packit 022b05
AC_SUBST(EXEEXT)
Packit 022b05
AC_SUBST(BASH)
Packit 022b05
AC_SUBST(SH)
Packit 022b05
AC_SUBST(AWK)
Packit 022b05
AC_SUBST(WGET)
Packit 022b05
AC_SUBST(DIFF)
Packit 022b05
AC_SUBST(CC)
Packit 022b05
AC_SUBST(CFLAGS)
Packit 022b05
AC_SUBST(srcdir)
Packit 022b05
AC_SUBST(mibdir)
Packit 022b05
AC_SUBST(pibdir)
Packit 022b05
AC_SUBST(smipath)
Packit 022b05
Packit 022b05
AC_OUTPUT([
Packit 022b05
Makefile
Packit 022b05
lib/Makefile
Packit 022b05
tools/Makefile
Packit 022b05
mibs/Makefile
Packit 022b05
mibs/iana/Makefile
Packit 022b05
mibs/ietf/Makefile
Packit 022b05
mibs/irtf/Makefile
Packit 022b05
mibs/tubs/Makefile
Packit 022b05
mibs/site/Makefile
Packit 022b05
pibs/Makefile
Packit 022b05
pibs/ietf/Makefile
Packit 022b05
pibs/tubs/Makefile
Packit 022b05
pibs/site/Makefile
Packit 022b05
test/Makefile
Packit 022b05
test/mibs/Makefile
Packit 022b05
test/smidiff/Makefile
Packit 022b05
test/dumps/Makefile
Packit 022b05
test/dumps/corba/Makefile
Packit 022b05
test/dumps/imports/Makefile
Packit 022b05
test/dumps/jax/Makefile
Packit 022b05
test/dumps/netsnmp/Makefile
Packit 022b05
test/dumps/mosy/Makefile
Packit 022b05
test/dumps/orig-smiv2/Makefile
Packit 022b05
test/dumps/smilint-smiv2/Makefile
Packit 022b05
test/dumps/sming/Makefile
Packit 022b05
test/dumps/smiv1/Makefile
Packit 022b05
test/dumps/smiv2/Makefile
Packit 022b05
test/dumps/smiv2-smiv2/Makefile
Packit 022b05
test/dumps/tree/Makefile
Packit 022b05
test/dumps/types/Makefile
Packit 022b05
test/dumps/identifiers/Makefile
Packit 022b05
test/dumps/metrics/Makefile
Packit 022b05
test/dumps/xml/Makefile
Packit 022b05
test/dumps/cm/Makefile
Packit 022b05
test/dumps/python/Makefile
Packit 022b05
test/dumps/yang/Makefile
Packit 022b05
doc/Makefile
Packit 022b05
lib/smi.h
Packit 022b05
lib/libsmi.3
Packit 022b05
lib/smi_macro.3
Packit 022b05
lib/smi_module.3
Packit 022b05
lib/smi_node.3
Packit 022b05
lib/smi_type.3
Packit 022b05
lib/smi_config.3
Packit 022b05
lib/smi_render.3
Packit 022b05
lib/smi_util.3
Packit 022b05
lib/smi_class.3
Packit 022b05
lib/smi_attribute.3
Packit 022b05
lib/smi_event.3
Packit 022b05
lib/smi_identity.3
Packit 022b05
tools/smistrip
Packit 022b05
tools/smicache
Packit 022b05
tools/smiquery.1
Packit 022b05
tools/smilint.1
Packit 022b05
tools/smidump.1
Packit 022b05
tools/smidiff.1
Packit 022b05
tools/smistrip.1
Packit 022b05
tools/smicache.1
Packit 022b05
tools/smixlate.1
Packit 022b05
tools/mib2svg.cgi
Packit 022b05
test/parser.test
Packit 022b05
test/smidump-corba.test
Packit 022b05
test/smidump-jax.test
Packit 022b05
test/smidump-netsnmp.test
Packit 022b05
test/smidump-imports.test
Packit 022b05
test/smidump-mosy.test
Packit 022b05
test/smidump-orig-smiv2.test
Packit 022b05
test/smidump-sming.test
Packit 022b05
test/smidump-yang.test
Packit 022b05
test/smidump-smiv1.test
Packit 022b05
test/smidump-smiv2-smiv2.test
Packit 022b05
test/smidump-smiv2.test
Packit 022b05
test/smidump-tree.test
Packit 022b05
test/smidump-types.test
Packit 022b05
test/smidump-identifiers.test
Packit 022b05
test/smidump-metrics.test
Packit 022b05
test/smidump-xml.test
Packit 022b05
test/smidump-cm.test
Packit 022b05
test/smidump-python.test
Packit 022b05
test/smilint-smiv2.test
Packit 022b05
test/smidiff.test
Packit 022b05
libsmi.pc
Packit 022b05
win/config.h],
Packit 022b05
chmod a+x test/*.test
Packit 022b05
)