diff --git a/ChangeLog b/ChangeLog index 033c33155..58d888d3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-10-05 Dietmar Warning + * configure.ac: enabling openMP under SunStudio compiler + * terminal.c, ivars.c, ifnewuid.c, inperror.c, main.c: + asprintf definition also for sun compiler - can not be concentrated in + ngspice.h because of libgen - libiberty conflict + ============================ Rework-22 ================================== 2010-10-04 Holger Vogt * miscoms.c: remove bug no. 3080398 diff --git a/configure.ac b/configure.ac index a7eacaa86..6039d0f89 100644 --- a/configure.ac +++ b/configure.ac @@ -71,7 +71,7 @@ AC_ARG_ENABLE(capbypass, AC_ARG_ENABLE(capzerobypass, AS_HELP_STRING([--enable-capzerobypass],[Bypass all the cbd/cbs calculations if Czero is zero. (default=enabled)]), - [],[enable_capzerobypass=yes]) + [],[enable_capzerobypass=yes]) dnl --enable-nodelimiting: define NODELIMITING for the code AC_ARG_ENABLE(nodelimiting, @@ -166,10 +166,10 @@ dnl Xgraph is a plotting package for X11 once very popular. AC_ARG_ENABLE(xgraph, AS_HELP_STRING([--enable-xgraph],[Enable xgraph compilation.])) -dnl --enable-x: Compile software using x libraries. A GUI will be provided then. +dnl --enable-x: Compile software using x libraries. A GUI will be provided then. AC_ARG_ENABLE(x, AS_HELP_STRING([--enable-x],[Enable X11 gui])) - + dnl --with-readline: Includes GNU readline support into CLI. Default is "no". dnl Including readline into ngspice is a violation of GPL license. It's use dnl is discouraged. @@ -182,7 +182,7 @@ AC_ARG_WITH(editline, dnl --with-tcl: define TCL_MODULE in the code. This is for tcl support AC_ARG_WITH(tcl, - [ --with-tcl[=tcldir] Compiles the tcl module instead, experimental, see README.Tcl]) + [ --with-tcl[=tcldir] Compiles the tcl module instead, experimental, see README.Tcl]) dnl --enable-openmp: Use OpenMP on multi-core processors AC_ARG_ENABLE(openmp, @@ -244,7 +244,7 @@ if test "$enable_gprof" = "yes"; then CFLAGS="$CFLAGS -pg" LDFLAGS="$LDFLAGS -pg" else - AC_MSG_ERROR(We only support --enable-gprof with GCC right now.) + AC_MSG_ERROR(We only support --enable-gprof with GCC right now.) fi fi @@ -317,11 +317,11 @@ if test "x$with_tcl" != "x" -a "$with_tcl" != "no" ; then has_no_help=true AC_DEFINE(HAS_TCLWIN,1,[Tcl Windows]);; *cygwin* ) - has_tclcyg=true ;; + has_tclcyg=true ;; *) - ;; - esac - + ;; + esac + with_x=no enable_shared=yes enable_static=no @@ -451,7 +451,7 @@ fi AM_CONDITIONAL([TCL_MODULE], [test x$has_tcl_module = xtrue]) AM_CONDITIONAL([TCLWIN], [test x$has_tclwin = xtrue]) AM_CONDITIONAL([TCLCYG], [test x$has_tclcyg = xtrue]) - + AC_SUBST(TCL_PACKAGE_PATH) AC_SUBST(TCL_LIB_SPEC) ################################################################## @@ -586,8 +586,8 @@ dnl for MacOSX or Linux, but dnl -lXaw -lXmu -lXt -lXext -lX11 dnl seems to be the popular choice. dnl (The previous order was -lX11 -lXt -lXext -lXmu -lXaw) -if test "x$enable_x" = "xno"; then - no_x = "no" +if test "x$enable_x" = "xno"; then + no_x = "no" fi if test ! "$no_x" = "yes" ; then AC_CHECK_LIB(Xaw,main,X_LIBS="$X_LIBS -lXaw",AC_MSG_ERROR(Couldn't find Xaw library),$X_LIBS $X_EXTRA_LIBS) @@ -600,8 +600,8 @@ else AC_DEFINE(X_DISPLAY_MISSING) AC_MSG_RESULT(No X display!) has_no_x=true -fi - +fi + if ( test "x$enable_help" = "xyes" ) && ! ( test "$no_x" = "yes" ) ; then has_no_help=false else @@ -822,7 +822,7 @@ fi AC_SUBST(XGRAPHDIR) AC_SUBST(NOTXGRAPH) -AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc) +AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc) ################# XSPICE ################################################## dnl Add new code models to the build by pointing to them here. @@ -848,10 +848,10 @@ dnl Define variables for LEX DLLIBS="" ;; *freebsd* ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="";; + DLLIBS="";; *openbsd* ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="";; + DLLIBS="";; * ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) DLLIBS="-ldl";; @@ -874,17 +874,17 @@ dnl Find the library directory (lib or lib64) for XSPICE libs libname="lib64" fi echo XSPICE libraries in directory $libname - fi + fi else XSPCIEDIR="" XSPICELIB1="" XSPICELIB2="" XSPICETESTS="" XSPICEINIT="*" - + if test -z "${YACC}" ; then AC_MSG_WARN([No bison, byacc, yacc found: Uses prebuilt default parsers]) - fi + fi fi AC_SUBST(XSPICEDIR) AC_SUBST(XSPICELIB1) @@ -940,17 +940,17 @@ if test "$enable_adms" = "yes"; then AC_CHECK_PROGS(ADMSXML, admsXml admsXml.exe,no) if test "$ADMSXML" = "no"; then - AC_MSG_ERROR(If you want adms models you should install admsXml) + AC_MSG_ERROR(If you want Verilog-A models you should install admsXml) fi - AC_DEFINE(ADMS,[1],[Support for Verilog-A(MS) models]) + AC_DEFINE(ADMS,[1],[Support for Verilog-A models]) VLADEVDIR=" adms/ekv \ adms/hicum0 \ adms/hicum2 \ adms/mextram \ adms/psp102 " - -dnl The makefiles for adms (to be added to AC_CONFIG_FILES by ./autogen.sh --adms) + +dnl The makefiles for adms (to be added to AC_CONFIG_FILES by ./autogen.sh --adms) #VLAMKF src/spicelib/devices/adms/ekv/Makefile #VLAMKF src/spicelib/devices/adms/hicum0/Makefile #VLAMKF src/spicelib/devices/adms/hicum2/Makefile @@ -984,7 +984,7 @@ if test "$enable_ndev" = "yes"; then NDEV="" NDEV_DIR=" ndev " NDEV_LIB=" spicelib/devices/ndev/libndev.la " - + else NDEV="" NDEV_DIR="" @@ -1035,7 +1035,7 @@ if test "$with_editline" != "yes"; then AC_MSG_RESULT(BSD editline disabled.) else AC_MSG_RESULT(Checking for editline:) - AC_CHECK_HEADERS([editline/readline.h], + AC_CHECK_HEADERS([editline/readline.h], [AC_DEFINE([HAVE_BSDEDITLINE],[1],[Define to enable BSD editline])], [AC_MSG_ERROR(Couldn't find BSD editline headers.)]) AC_SEARCH_LIBS(tputs,ncurses termcap, @@ -1056,10 +1056,14 @@ dnl test for header AC_CHECK_HEADERS([omp.h], [AC_DEFINE(USE_OMP,[1],[OpenMP parallel processing])], [AC_MSG_ERROR(Couldn't find OpenMP headers.)]) - CFLAGS="$CFLAGS -fopenmp" -dnl test if function is o.k. + if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -fopenmp" + else + CFLAGS="$CFLAGS -xopenmp" + fi +dnl test if timing function is o.k. AC_CHECK_FUNC(omp_get_wtime, [AC_MSG_RESULT(OpenMP features enabled)], - [AC_MSG_ERROR(OpenMP not working correctly.)]) + [AC_MSG_ERROR(OpenMP not working correctly.)]) fi dnl Output Files @@ -1067,7 +1071,7 @@ dnl ------------ AC_CONFIG_FILES([Makefile man/Makefile - man/man1/Makefile + man/man1/Makefile src/Makefile src/spinit src/tclspinit diff --git a/src/frontend/terminal.c b/src/frontend/terminal.c index 8f5a95225..03a19b304 100644 --- a/src/frontend/terminal.c +++ b/src/frontend/terminal.c @@ -14,25 +14,25 @@ $Id$ #include -#ifdef HAVE_SGTTY_H -#include -#endif - -#ifdef HAVE_SYS_IOCTL_H -#include -#endif - #ifdef HAVE_ASPRINTF #ifdef HAVE_LIBIBERTY_H /* asprintf */ #include #undef AND /* obsolete macro in ansidecl.h */ -#elif defined(__MINGW32__)/* we have asprintf, but not libiberty.h */ +#elif defined(__MINGW32__) || defined(__SUNPRO_C) /* we have asprintf, but not libiberty.h */ #include extern int asprintf(char **out, const char *fmt, ...); extern int vasprintf(char **out, const char *fmt, va_list ap); #endif #endif +#ifdef HAVE_SGTTY_H +#include +#endif + +#ifdef HAVE_SYS_IOCTL_H +#include +#endif + #if 0 /* Bad interaction with bool type in bool.h because curses also defines this symbol. */ diff --git a/src/main.c b/src/main.c index a12f965cc..88001fab5 100644 --- a/src/main.c +++ b/src/main.c @@ -10,20 +10,20 @@ #include "ngspice.h" -#include -#include - #ifdef HAVE_ASPRINTF #ifdef HAVE_LIBIBERTY_H /* asprintf */ #include #undef AND /* obsolete macro in ansidecl.h */ -#elif defined(__MINGW32__)/* we have asprintf, but not libiberty.h */ +#elif defined(__MINGW32__) || defined(__SUNPRO_C) /* we have asprintf, but not libiberty.h */ #include extern int asprintf(char **out, const char *fmt, ...); extern int vasprintf(char **out, const char *fmt, va_list ap); #endif #endif +#include +#include + /* MINGW: random, srandom in libiberty.a, but not in libiberty.h */ #if defined(__MINGW32__) && defined(HAVE_RANDOM) extern long int random (void); @@ -648,7 +648,7 @@ read_initialisation_file(char * dir, char * name) { #ifndef HAVE_UNISTD_H FILE * fp = NULL; -#endif /* not HAVE_ASPRINTF */ +#endif /* not HAVE_UNISTD_H */ char * path; bool result = FALSE; diff --git a/src/misc/ivars.c b/src/misc/ivars.c index cb2745432..1a4c9cd89 100644 --- a/src/misc/ivars.c +++ b/src/misc/ivars.c @@ -9,7 +9,7 @@ Copyright 1991 Regents of the University of California. All rights reserved. #ifdef HAVE_LIBIBERTY_H /* asprintf */ #include #undef AND /* obsolete macro in ansidecl.h */ -#elif defined(__MINGW32__)/* we have asprintf, but not libiberty.h */ +#elif defined(__MINGW32__) || defined(__SUNPRO_C) /* we have asprintf, but not libiberty.h */ #include extern int asprintf(char **out, const char *fmt, ...); extern int vasprintf(char **out, const char *fmt, va_list ap); diff --git a/src/spicelib/parser/ifnewuid.c b/src/spicelib/parser/ifnewuid.c index 023d27b3d..bccc0c2c5 100644 --- a/src/spicelib/parser/ifnewuid.c +++ b/src/spicelib/parser/ifnewuid.c @@ -9,7 +9,7 @@ Author: 1988 Thomas L. Quarles #ifdef HAVE_LIBIBERTY_H /* asprintf */ #include #undef AND /* obsolete macro in ansidecl.h */ -#elif defined(__MINGW32__)/* we have asprintf, but not libiberty.h */ +#elif defined(__MINGW32__) || defined(__SUNPRO_C) /* we have asprintf, but not libiberty.h */ #include extern int asprintf(char **out, const char *fmt, ...); extern int vasprintf(char **out, const char *fmt, va_list ap); diff --git a/src/spicelib/parser/inperror.c b/src/spicelib/parser/inperror.c index 8c3401eaf..27794cbac 100644 --- a/src/spicelib/parser/inperror.c +++ b/src/spicelib/parser/inperror.c @@ -13,7 +13,7 @@ Author: 1985 Thomas L. Quarles #ifdef HAVE_LIBIBERTY_H /* asprintf */ #include #undef AND /* obsolete macro in ansidecl.h */ -#elif defined(__MINGW32__)/* we have asprintf, but not libiberty.h */ +#elif defined(__MINGW32__) || defined(__SUNPRO_C) /* we have asprintf, but not libiberty.h */ #include extern int asprintf(char **out, const char *fmt, ...); extern int vasprintf(char **out, const char *fmt, va_list ap);