2000-04-27 22:03:57 +02:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
|
AC_INIT(src/main.c)
|
|
|
|
|
dnl Create a configuration header
|
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
|
|
|
|
|
|
dnl --enable-ansi : try to force --ansi option to the compiler
|
|
|
|
|
AC_ARG_ENABLE(ansi,
|
|
|
|
|
[ --enable-ansi Force --ansi option for compilation])
|
|
|
|
|
|
|
|
|
|
dnl --disable-debug : remove -g and -Wall option to the compiler
|
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
|
|
|
[ --enable-debug Add -g option for compilation (default)])
|
|
|
|
|
|
|
|
|
|
dnl --enable-checker : add --with-checker-debug option to the compiler
|
|
|
|
|
AC_ARG_ENABLE(checker,
|
|
|
|
|
[ --enable-checkergcc Option for compilation with checkergcc])
|
|
|
|
|
|
|
|
|
|
dnl --enable-bypass : define BYPASS for the code
|
|
|
|
|
AC_ARG_ENABLE(nobypass,
|
|
|
|
|
[ --enable-nobypass Don't bypass recalculations of slowly changing variables])
|
|
|
|
|
|
|
|
|
|
dnl --enable-predictor : define PREDICTOR for the code
|
|
|
|
|
AC_ARG_ENABLE(predictor,
|
|
|
|
|
[ --enable-predictor Enables a predictor method for convergence])
|
|
|
|
|
|
|
|
|
|
dnl --enable-sense2 : define HAVE_SENSE2 for the code
|
|
|
|
|
AC_ARG_ENABLE(sense2,
|
|
|
|
|
[ --enable-sense2 Use spice2 sensitivity analysis])
|
|
|
|
|
|
|
|
|
|
dnl --enable-experimental : define EXPERIMENTAL_CODE for the code
|
|
|
|
|
AC_ARG_ENABLE(experimental,
|
|
|
|
|
[ --enable-experimental Enables some experimental code])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Initialize automake stuff
|
|
|
|
|
AM_INIT_AUTOMAKE(ng-spice-rework,10)
|
|
|
|
|
|
|
|
|
|
dnl Enable maintainer commands only if requested
|
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
|
|
|
|
|
|
dnl Work on compiler options according to system:
|
|
|
|
|
dnl Set default CFLAG - only use -Wall if we have gcc
|
|
|
|
|
|
|
|
|
|
AC_PROG_CC
|
|
|
|
|
|
|
|
|
|
if test "x$GCC" = "xyes"; then
|
|
|
|
|
CFLAGS="$CFLAGS -Wall "
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test "$enable_debug" = "no"; then
|
|
|
|
|
AC_MSG_WARN(Removing debugging option!)
|
|
|
|
|
CFLAGS=" "
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dnl Not sure that this will work....
|
|
|
|
|
if test "$with_checkergcc" = "yes"; then
|
|
|
|
|
CC="checkergcc"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Checks for ANSI-C header files.
|
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
|
|
|
|
|
if test "$enable_ansi" = "yes"; then
|
|
|
|
|
AM_PROG_CC_STDC
|
|
|
|
|
if test ! "$am_cv_prog_cc_stdc"="yes"; then
|
|
|
|
|
AC_MSG_WARN(Failed to find Ansi flag!)
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Chech system we're on , and tune accordingly
|
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
|
|
|
|
|
case "$host" in
|
|
|
|
|
|
|
|
|
|
*bsd* ) CFLAGS="$CFLAGS";;
|
|
|
|
|
*linux*) CFLAGS="$CFLAGS";;
|
|
|
|
|
*rs6000* ) CFLAGS="$CFLAGS";;
|
|
|
|
|
*sgi* ) CFLAGS="$CFLAGS";;
|
|
|
|
|
*sun* ) CFLAGS="$CFLAGS";;
|
|
|
|
|
*ultrix* ) CFLAGS="$CFLAGS";;
|
|
|
|
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Checks for programs
|
|
|
|
|
|
|
|
|
|
AC_LIBTOOL_DLOPEN
|
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Checks for X11 header files and libraries - X11 support can be disabled
|
|
|
|
|
dnl by passing the '--without-x' option to configure:
|
|
|
|
|
|
|
|
|
|
AC_PATH_X
|
|
|
|
|
AC_PATH_XTRA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl Checks for X libraries - if X11 wasn't found then don't make following
|
|
|
|
|
dnl tests and compile without X11 support - otherwise, check if the following
|
|
|
|
|
dnl libraries are present (error if they are not)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if test ! "$no_x" = "yes" ; then
|
|
|
|
|
X_LIBS="$X_LIBS -lX11 -lXt"
|
|
|
|
|
AC_CHECK_LIB(Xext, XShmAttach,X_LIBS="$X_LIBS -lXext",AC_MSG_ERROR(Couldn't find Xext librairies), $X_LIBS $X_EXTRA_LIBS)
|
|
|
|
|
AC_CHECK_LIB(Xaw,main,X_LIBS="$X_LIBS -lXaw",AC_MSG_ERROR(Couldn't find Xaw librairies),$X_LIBS $X_EXTRA_LIBS)
|
|
|
|
|
AC_CHECK_LIB(Xmu,main,X_LIBS="$X_LIBS -lXmu",AC_MSG_ERROR(Couldn't find Xmu librairies), $X_LIBS $X_EXTRA_LIBS)
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dnl Check for a few typdefs:
|
|
|
|
|
AC_TYPE_PID_T
|
|
|
|
|
AC_TYPE_SIGNAL
|
|
|
|
|
|
|
|
|
|
dnl Check for a few libraries and headers:
|
|
|
|
|
|
|
|
|
|
dnl Look for ncurses first, then termcap
|
|
|
|
|
AC_SEARCH_LIBS(tputs,ncurses termcap,AC_DEFINE(HAVE_TERMCAP),
|
|
|
|
|
AC_MSG_ERROR(Found neither ncurses or termcap))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC_HEADER_DIRENT
|
|
|
|
|
AC_CHECK_HEADERS(ctype.h unistd.h pwd.h fcntl.h)
|
|
|
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
|
AC_HEADER_STAT
|
|
|
|
|
|
|
|
|
|
dnl Check time and ressources headers and functions:
|
|
|
|
|
AC_HEADER_TIME
|
|
|
|
|
AC_STRUCT_TM
|
|
|
|
|
AC_STRUCT_TIMEZONE
|
|
|
|
|
AC_CHECK_FUNCS(localtime)
|
|
|
|
|
AC_CHECK_FUNCS(gettimeofday time ftime , break)
|
|
|
|
|
AC_CHECK_FUNCS(getrusage utimes, break)
|
|
|
|
|
AC_CHECK_FUNCS(getrlimit ulimit, break)
|
|
|
|
|
|
|
|
|
|
dnl Look for termios first (posix)
|
|
|
|
|
AC_CHECK_HEADERS(termios.h termio.h sgtty.h , break)
|
|
|
|
|
AC_CHECK_FUNCS(isatty)
|
|
|
|
|
|
|
|
|
|
dnl Check for a few functions:
|
|
|
|
|
AC_FUNC_VFORK
|
|
|
|
|
AC_CHECK_FUNCS(access bcopy qsort dup2 popen)
|
|
|
|
|
AC_CHECK_FUNCS(strchr index , break)
|
|
|
|
|
AC_CHECK_FUNCS(getcwd getwd , break)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC_MSG_RESULT(Checking mathematical features of the system:)
|
|
|
|
|
dnl Look for math library:
|
|
|
|
|
AC_CHECK_LIB(m,sqrt)
|
|
|
|
|
AC_CHECK_HEADERS(float.h limits.h values.h)
|
|
|
|
|
|
|
|
|
|
dnl Check for a few mathematical functions:
|
|
|
|
|
AC_CHECK_FUNCS(erfc logb scalb scalbn asinh acosh atanh)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Expand the prefix variable (this is really annoying!)
|
|
|
|
|
if eval "test x$prefix = xNONE"; then
|
|
|
|
|
dprefix=$ac_default_prefix
|
|
|
|
|
else
|
|
|
|
|
dprefix=$prefix
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(NGSPICEBINDIR, "`echo $dprefix/bin`" )
|
|
|
|
|
AC_DEFINE_UNQUOTED(NGSPICEDATADIR, "`echo $dprefix/share/ng-spice`" )
|
|
|
|
|
AC_DEFINE_UNQUOTED(NGSPICEBUILDDATE, "`date`" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Recapitulate settings:
|
|
|
|
|
AC_MSG_RESULT(Settings which were chosen:)
|
|
|
|
|
if test "$enable_sense2" = "yes"; then
|
|
|
|
|
AC_DEFINE(WANT_SENSE2)
|
|
|
|
|
AC_MSG_RESULT(Spice2 sensitivity analysis enabled)
|
|
|
|
|
fi
|
|
|
|
|
if test "$enable_nobypass" = "yes"; then
|
|
|
|
|
AC_DEFINE(NOBYPASS)
|
|
|
|
|
AC_MSG_RESULT(NOBYPASS option enabled)
|
|
|
|
|
fi
|
|
|
|
|
if test "$enable_predictor" = "yes"; then
|
|
|
|
|
AC_DEFINE(PREDICTOR)
|
|
|
|
|
AC_MSG_RESULT(PREDICTOR algorithm enabled)
|
|
|
|
|
fi
|
|
|
|
|
if test "$enable_experimental" = "yes"; then
|
|
|
|
|
AC_DEFINE(EXPERIMENTAL_CODE)
|
|
|
|
|
AC_MSG_RESULT(EXPERIMENTAL_CODE enabled)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC_OUTPUT( \
|
|
|
|
|
Makefile \
|
|
|
|
|
doc/Makefile \
|
|
|
|
|
man/Makefile \
|
|
|
|
|
man/man1/Makefile \
|
|
|
|
|
src/Makefile \
|
|
|
|
|
src/analysis/Makefile \
|
|
|
|
|
src/circuit/Makefile \
|
|
|
|
|
src/devices/Makefile \
|
|
|
|
|
src/devices/asrc/Makefile \
|
|
|
|
|
src/devices/bjt/Makefile \
|
|
|
|
|
src/devices/bsim1/Makefile \
|
|
|
|
|
src/devices/bsim2/Makefile \
|
|
|
|
|
src/devices/bsim3v1/Makefile \
|
|
|
|
|
src/devices/bsim3/Makefile \
|
|
|
|
|
src/devices/bsim4/Makefile \
|
|
|
|
|
src/devices/bsim3v2/Makefile \
|
|
|
|
|
src/devices/cap/Makefile \
|
|
|
|
|
src/devices/cccs/Makefile \
|
|
|
|
|
src/devices/ccvs/Makefile \
|
|
|
|
|
src/devices/csw/Makefile \
|
|
|
|
|
src/devices/devsup/Makefile \
|
|
|
|
|
src/devices/dio/Makefile \
|
|
|
|
|
src/devices/ind/Makefile \
|
|
|
|
|
src/devices/isrc/Makefile \
|
|
|
|
|
src/devices/jfet/Makefile \
|
|
|
|
|
src/devices/jfet2/Makefile \
|
|
|
|
|
src/devices/ltra/Makefile \
|
|
|
|
|
src/devices/mes/Makefile \
|
|
|
|
|
src/devices/mos1/Makefile \
|
|
|
|
|
src/devices/mos2/Makefile \
|
|
|
|
|
src/devices/mos3/Makefile \
|
|
|
|
|
src/devices/mos6/Makefile \
|
|
|
|
|
src/devices/res/Makefile \
|
|
|
|
|
src/devices/sw/Makefile \
|
|
|
|
|
src/devices/tra/Makefile \
|
|
|
|
|
src/devices/urc/Makefile \
|
|
|
|
|
src/devices/vccs/Makefile \
|
|
|
|
|
src/devices/vcvs/Makefile \
|
|
|
|
|
src/devices/vsrc/Makefile \
|
|
|
|
|
src/frontend/Makefile \
|
2000-05-06 16:20:56 +02:00
|
|
|
src/frontend/plotting/Makefile \
|
2000-04-27 22:03:57 +02:00
|
|
|
src/hlp/Makefile \
|
|
|
|
|
src/include/Makefile \
|
|
|
|
|
src/maths/Makefile \
|
|
|
|
|
src/maths/cmaths/Makefile \
|
|
|
|
|
src/maths/ni/Makefile \
|
2000-06-16 23:11:59 +02:00
|
|
|
src/maths/partialderiv/Makefile \
|
2000-05-13 13:02:40 +02:00
|
|
|
src/maths/poly/Makefile \
|
2000-04-27 22:03:57 +02:00
|
|
|
src/maths/sparse/Makefile \
|
|
|
|
|
src/misc/Makefile \
|
|
|
|
|
src/parser/Makefile \
|
|
|
|
|
tests/Makefile \
|
2000-06-05 23:24:21 +02:00
|
|
|
tests/filters/Makefile \
|
2000-06-11 12:32:50 +02:00
|
|
|
tests/polezero/Makefile \
|
|
|
|
|
tests/resistance/Makefile \
|
2000-04-27 22:03:57 +02:00
|
|
|
)
|