Detect some hosts that do not support -rdynamic.

This commit is contained in:
steve 2000-06-16 19:00:06 +00:00
parent bec4a205ec
commit db8cc7d98d
2 changed files with 35 additions and 3 deletions

View File

@ -9,9 +9,12 @@ AC_CHECK_HEADERS(getopt.h)
AC_PROG_INSTALL
AC_CHECK_LIB(dl,main,[DLLIB=-ldl])
AC_SUBST(DLLIB)
AC_CANONICAL_HOST
$host
#######################
## test for underscores
## test for underscores. The vpi module loader in vvm needs to know this
## in order to know the name of the start symbol for the .vpi module.
#######################
AC_MSG_CHECKING("for leading and/or trailing underscores")
@ -50,4 +53,26 @@ AC_MSG_RESULT("$CC_LEADING_UNDERSCORE $CC_TRAILING_UNDERSCORE")
## end of test for underscores
#######################
# The -rdynamic flag is used by iverilog when compiling the target,
# to know how to export symbols of the main program to loadable modules
# that are brought in by -ldl
AC_MSG_CHECKING("for -rdynamic compiler flag")
rdynamic=-rdynamic
case "${host}" in
*-*-netbsd*)
rdynamic="-Wl,--export-dynamic"
;;
*-*-solaris*)
rdynamic=""
;;
esac
AC_DEFINE_UNQUOTED(RDYNAMIC,"${rdynamic}")
AC_MSG_RESULT("$RDYNAMIC")
AC_OUTPUT(Makefile vpi/Makefile ivlpp/Makefile vvm/Makefile)

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT)
#ident "$Id: iverilog.c,v 1.15 2000/05/17 03:53:29 steve Exp $"
#ident "$Id: iverilog.c,v 1.16 2000/06/16 19:00:06 steve Exp $"
#endif
#include <stdio.h>
@ -29,6 +29,10 @@
# define IVL_ROOT "."
#endif
#ifndef RDYNAMIC
# define RDYNAMIC "-rdynamic"
#endif
const char*base = IVL_ROOT;
const char*opath = "a.out";
const char*targ = "vvm";
@ -140,7 +144,7 @@ static int t_vvm(char*cmd, unsigned ncmd)
return rc;
}
sprintf(tmp, "%s -O -rdynamic -fno-exceptions -o %s -I%s "
sprintf(tmp, "%s -O " RDYNAMIC " -fno-exceptions -o %s -I%s "
"-L%s %s.cc -lvvm %s", CXX, opath, IVL_INC, IVL_LIB,
opath, DLLIB);
@ -376,6 +380,9 @@ int main(int argc, char **argv)
/*
* $Log: iverilog.c,v $
* Revision 1.16 2000/06/16 19:00:06 steve
* Detect some hosts that do not support -rdynamic.
*
* Revision 1.15 2000/05/17 03:53:29 steve
* Add the module option to iverilog.
*