diff --git a/README.txt b/README.txt index 4d9a72a21..8022e3c61 100644 --- a/README.txt +++ b/README.txt @@ -94,6 +94,13 @@ configure script that modify its behavior: common to use --prefix=/opt. You can configure for a non-root install with --prefix=$HOME. +NOTE FOR AMD64: If you are building on an AMD64 system, you probably +want to put libraries in a lib64 directory instead of the usual lib +directory. This is how Linux/AMD64 keeps 64bit libraries segregated +from 32bit libraries. This is done by configuring like this: + + ./configure libdir64='$(prefix)/lib64' + 2.3 (Optional) Testing To run a simple test before installation, execute diff --git a/_pli_types.h.in b/_pli_types.h.in index 6d4ab7f31..5902ea4e3 100644 --- a/_pli_types.h.in +++ b/_pli_types.h.in @@ -19,9 +19,36 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: _pli_types.h.in,v 1.1 2003/09/30 01:33:13 steve Exp $" +#ident "$Id: _pli_types.h.in,v 1.2 2003/10/02 19:33:44 steve Exp $" #endif +# undef HAVE_STDINT_H + +#ifdef HAVE_STDINT_H + +/* + * If the host enhironment has the stdint.h header file, + * then use that to size our PLI types. + */ + +# include +typedef uint64_t PLI_UINT64; +typedef int64_t PLI_INT64; +typedef uint32_t PLI_UINT32; +typedef int32_t PLI_INT32; + +typedef signed short PLI_INT16; +typedef unsigned short PLI_UINT16; +typedef signed char PLI_BYTE8; +typedef unsigned char PLI_UBYTE8; + +#else + +/* + * If we do not have the c99 stdint.h header file, then use + * configure detenction to guess the pli types ourselves. + */ + # define SIZEOF_UNSIGNED_LONG_LONG 8 # define SIZEOF_UNSIGNED_LONG 8 # define SIZEOF_UNSIGNED 4 @@ -54,9 +81,13 @@ typedef signed short PLI_INT16; typedef unsigned short PLI_UINT16; typedef signed char PLI_BYTE8; typedef unsigned char PLI_UBYTE8; +#endif /* * $Log: _pli_types.h.in,v $ + * Revision 1.2 2003/10/02 19:33:44 steve + * Put libraries in libdir64. + * * Revision 1.1 2003/09/30 01:33:13 steve * Add PLI_UINT64 to _pli_types.h. * diff --git a/configure.in b/configure.in index 2dd08fe71..c30404ecb 100644 --- a/configure.in +++ b/configure.in @@ -50,7 +50,7 @@ AC_SUBST(EXEEXT) AC_LANG_CPLUSPLUS -AC_CHECK_HEADERS(getopt.h malloc.h libiberty.h iosfwd sys/wait.h) +AC_CHECK_HEADERS(getopt.h malloc.h stdint.h libiberty.h iosfwd sys/wait.h) AC_CHECK_LIB(z, gzwrite) AC_CHECK_LIB(z, gzwrite, HAVE_LIBZ=yes, HAVE_LIBZ=no) diff --git a/libveriuser/Makefile.in b/libveriuser/Makefile.in index a4adcbb5b..e76b60d53 100644 --- a/libveriuser/Makefile.in +++ b/libveriuser/Makefile.in @@ -16,7 +16,7 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: Makefile.in,v 1.27 2003/08/22 04:27:10 steve Exp $" +#ident "$Id: Makefile.in,v 1.28 2003/10/02 19:33:44 steve Exp $" # # SHELL = /bin/sh @@ -30,6 +30,7 @@ VPATH = $(srcdir) bindir = @bindir@ libdir = @libdir@ +libdir64 = @libdir64@ includedir = $(prefix)/include CC = @CC@ -I. -I.. -I$(srcdir) -I$(srcdir)/.. @@ -83,15 +84,15 @@ clean: distclean: clean rm -f Makefile config.status config.log config.cache -install:: all installdirs $(libdir)/libveriuser.a +install:: all installdirs $(libdir64)/libveriuser.a -$(libdir)/libveriuser.a: ./libveriuser.a - $(INSTALL_DATA) ./libveriuser.a $(libdir)/libveriuser.a +$(libdir64)/libveriuser.a: ./libveriuser.a + $(INSTALL_DATA) ./libveriuser.a $(libdir64)/libveriuser.a installdirs: mkinstalldirs - $(srcdir)/mkinstalldirs $(includedir) $(libdir) + $(srcdir)/mkinstalldirs $(includedir) $(libdir64) uninstall:: - rm -f $(libdir)/libveriuser.a + rm -f $(libdir64)/libveriuser.a -include $(patsubst %.o, dep/%.d, $O) diff --git a/libveriuser/configure.in b/libveriuser/configure.in index ffc692a8b..4ddd685e0 100644 --- a/libveriuser/configure.in +++ b/libveriuser/configure.in @@ -42,4 +42,14 @@ AC_MSG_RESULT($PICFLAG) AC_SUBST(EXEEXT) AC_SUBST(EXTRALIBS) +# If not otherwise specified, set the libdir64 variable +# to the same as libdir. +AC_MSG_CHECKING(for libdir64 path) +if test x${libdir64} = x +then + libdir64="${libdir}" +fi +AC_SUBST(libdir64) +AC_MSG_RESULT(${libdir64}) + AC_OUTPUT(Makefile) diff --git a/verilog.spec b/verilog.spec index c047e49df..35b45b429 100644 --- a/verilog.spec +++ b/verilog.spec @@ -26,18 +26,14 @@ to the IEEE-1364 standard. %build %ifarch x86_64 -./configure --prefix=/usr --libdir=/usr/lib64 +./configure --prefix=/usr libdir64='$(prefix)/lib64' %else ./configure --prefix=/usr %endif make CXXFLAGS=-O %install -%ifarch x86_64 -make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/usr/lib64 install -%else make prefix=$RPM_BUILD_ROOT/usr install -%endif %files @@ -51,18 +47,6 @@ make prefix=$RPM_BUILD_ROOT/usr install %attr(-,root,root) /usr/bin/iverilog %attr(-,root,root) /usr/bin/iverilog-vpi %attr(-,root,root) /usr/bin/vvp -%ifarch x86_64 -%attr(-,root,root) /usr/lib64/ivl/ivl -%attr(-,root,root) /usr/lib64/ivl/ivlpp -%attr(-,root,root) /usr/lib64/ivl/system.vpi -%attr(-,root,root) /usr/lib64/ivl/cadpli.vpl -%attr(-,root,root) /usr/lib64/ivl/null.tgt -%attr(-,root,root) /usr/lib64/ivl/vvp.tgt -%attr(-,root,root) /usr/lib64/ivl/fpga.tgt -%attr(-,root,root) /usr/lib64/ivl/iverilog.conf -%attr(-,root,root) /usr/lib64/libvpi.a -%attr(-,root,root) /usr/lib64/libveriuser.a -%else %attr(-,root,root) /usr/lib/ivl/ivl %attr(-,root,root) /usr/lib/ivl/ivlpp %attr(-,root,root) /usr/lib/ivl/system.vpi @@ -71,6 +55,10 @@ make prefix=$RPM_BUILD_ROOT/usr install %attr(-,root,root) /usr/lib/ivl/vvp.tgt %attr(-,root,root) /usr/lib/ivl/fpga.tgt %attr(-,root,root) /usr/lib/ivl/iverilog.conf +%ifarch x86_64 +%attr(-,root,root) /usr/lib64/libvpi.a +%attr(-,root,root) /usr/lib64/libveriuser.a +%else %attr(-,root,root) /usr/lib/libvpi.a %attr(-,root,root) /usr/lib/libveriuser.a %endif diff --git a/vvp/Makefile.in b/vvp/Makefile.in index f27abdc0c..4fb67876a 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -16,7 +16,7 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: Makefile.in,v 1.53 2003/09/13 00:59:56 steve Exp $" +#ident "$Id: Makefile.in,v 1.54 2003/10/02 19:33:44 steve Exp $" # # SHELL = /bin/sh @@ -32,6 +32,8 @@ libdir = @libdir@ mandir = @mandir@ includedir = @includedir@ +libdir64 = @libdir64@ + CC = @CC@ HOSTCC = @CC@ CXX = @CXX@ -Wall @@ -56,7 +58,7 @@ all: dep vvp@EXEEXT@ libvpi.a clean: rm -f *.o *~ parse.cc parse.cc.output parse.h lexor.cc tables.cc - rm -rf dep vvp@EXEEXT@ libvpi.a libvpi.a + rm -rf dep vvp@EXEEXT@ libvpi.a distclean: clean rm -f Makefile config.status config.log config.cache config.h @@ -138,13 +140,13 @@ Makefile: Makefile.in config.status ./config.status -install: all installdirs $(bindir)/vvp@EXEEXT@ $(libdir)/libvpi.a $(INSTALL_DOC) +install: all installdirs $(bindir)/vvp@EXEEXT@ $(libdir64)/libvpi.a $(INSTALL_DOC) $(bindir)/vvp@EXEEXT@: ./vvp@EXEEXT@ $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(bindir)/vvp@EXEEXT@ -$(libdir)/libvpi.a : ./libvpi.a - $(INSTALL_DATA) libvpi.a $(libdir)/libvpi.a +$(libdir64)/libvpi.a : ./libvpi.a + $(INSTALL_DATA) libvpi.a $(libdir64)/libvpi.a $(mandir)/man1/vvp.1: $(srcdir)/vvp.man $(INSTALL_DATA) $(srcdir)/vvp.man $(mandir)/man1/vvp.1 @@ -153,12 +155,12 @@ $(prefix)/vvp.pdf: vvp.pdf $(INSTALL_DATA) vvp.pdf $(prefix)/vvp.pdf installdirs: $(srcdir)/mkinstalldirs - $(srcdir)/mkinstalldirs $(bindir) $(INSTALL_DOCDIR) + $(srcdir)/mkinstalldirs $(bindir) $(libdir) $(libdir64) $(INSTALL_DOCDIR) uninstall: rm -f $(bindir)/vvp@EXEEXT@ - rm -f $(libdir)/libvpi.a + rm -f $(libdir64)/libvpi.a rm -f $(mandir)/man1/vvp.1 -include $(patsubst %.o, dep/%.d, $O) diff --git a/vvp/configure.in b/vvp/configure.in index be4218b53..68e8cb935 100644 --- a/vvp/configure.in +++ b/vvp/configure.in @@ -198,4 +198,14 @@ esac AC_SUBST(ident_support) AC_MSG_RESULT($ident_support) +# If not otherwise specified, set the libdir64 variable +# to the same as libdir. +AC_MSG_CHECKING(for libdir64 path) +if test x${libdir64} = x +then + libdir64="${libdir}" +fi +AC_SUBST(libdir64) +AC_MSG_RESULT(${libdir64}) + AC_OUTPUT(Makefile)