diff --git a/Makefile.in b/Makefile.in index 5e1a59a3d..0e385ea58 100644 --- a/Makefile.in +++ b/Makefile.in @@ -41,6 +41,12 @@ MODE=regular # in order to get a more automatic version stamp as well. VERSION = 0.9.devel +# This string is used as an installation suffix. It modifies certain +# key install paths/files such that a build and install of Icarus Verilog +# with the same $(prefix) but a different $(suffix) will not interfere. +# The normal configuratin leaves suffix empty +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -52,7 +58,9 @@ VPATH = $(srcdir) bindir = @bindir@ libdir = @libdir@ -includedir = @includedir@ +# This is actually the directory where we install our own header files. +# It is a little different from the generic includedir. +includedir = @includedir@/verilog$(suffix) mandir = @mandir@ dllib=@DLLIB@ @@ -160,10 +168,11 @@ all: dep iverilog-vpi iverilog-vpi: iverilog-vpi.sh sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \ + -e 's;@SUFFIX@;$(suffix);' \ -e 's;@IVCC@;$(CC);' \ -e 's;@IVCXX@;$(CXX);' \ -e 's;@IVCFLAGS@;$(CXXFLAGS);' \ - -e 's;@INCLUDEDIR@;@includedir@;' \ + -e 's;@INCLUDEDIR@;$(includedir);' \ -e 's;@LIBDIR@;@libdir@;' $< > $@ chmod +x $@ endif @@ -229,43 +238,43 @@ version.h: ifeq (@MINGW32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 +INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1 else ifeq ($(PS2PDF),none) -INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 +INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1 else -INSTALL_DOC = $(prefix)/iverilog-vpi.pdf $(mandir)/man1/iverilog-vpi.1 +INSTALL_DOC = $(prefix)/iverilog-vpi$(suffix).pdf $(mandir)/man1/iverilog-vpi$(suffix).1 all: dep iverilog-vpi.pdf endif endif INSTALL_DOCDIR = $(mandir)/man1 else -INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 +INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif ifeq (@MINGW32@,yes) -WIN32_INSTALL = $(prefix)/hello.vl $(prefix)/sqrt.vl $(prefix)/sqrt-virtex.v $(prefix)/QUICK_START.txt +WIN32_INSTALL = else -WIN32_INSTALL = $(bindir)/iverilog-vpi +WIN32_INSTALL = $(bindir)/iverilog-vpi$(suffix) endif -install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(libdir)/ivl/include/constants.vams $(libdir)/ivl/include/disciplines.vams $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) +install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(libdir)/ivl$(suffix)/include/constants.vams $(libdir)/ivl$(suffix)/include/disciplines.vams $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for dir in vpi ivlpp driver; \ do (cd $$dir ; $(MAKE) $@); done -$(bindir)/iverilog-vpi: ./iverilog-vpi - $(INSTALL_SCRIPT) ./iverilog-vpi $(DESTDIR)$(bindir)/iverilog-vpi +$(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi + $(INSTALL_SCRIPT) ./iverilog-vpi $(DESTDIR)$(bindir)/iverilog-vpi$(suffix) -$(libdir)/ivl/ivl@EXEEXT@: ./ivl@EXEEXT@ - $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(DESTDIR)$(libdir)/ivl/ivl@EXEEXT@ +$(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@ + $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@ -$(libdir)/ivl/include/constants.vams: $(srcdir)/constants.vams - $(INSTALL_DATA) $(srcdir)/constants.vams $(DESTDIR)$(libdir)/ivl/include/constants.vams +$(libdir)/ivl$(suffix)/include/constants.vams: $(srcdir)/constants.vams + $(INSTALL_DATA) $(srcdir)/constants.vams $(DESTDIR)$(libdir)/ivl$(suffix)/include/constants.vams -$(libdir)/ivl/include/disciplines.vams: $(srcdir)/disciplines.vams - $(INSTALL_DATA) $(srcdir)/disciplines.vams $(DESTDIR)$(libdir)/ivl/include/disciplines.vams +$(libdir)/ivl$(suffix)/include/disciplines.vams: $(srcdir)/disciplines.vams + $(INSTALL_DATA) $(srcdir)/disciplines.vams $(DESTDIR)$(libdir)/ivl$(suffix)/include/disciplines.vams $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h $(INSTALL_DATA) $(srcdir)/ivl_target.h $(DESTDIR)$(includedir)/ivl_target.h @@ -282,49 +291,31 @@ $(includedir)/acc_user.h: $(srcdir)/acc_user.h $(includedir)/veriuser.h: $(srcdir)/veriuser.h $(INSTALL_DATA) $(srcdir)/veriuser.h $(DESTDIR)$(includedir)/veriuser.h -$(mandir)/man1/iverilog-vpi.1: $(srcdir)/iverilog-vpi.man - $(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(DESTDIR)$(mandir)/man1/iverilog-vpi.1 +$(mandir)/man1/iverilog-vpi$(suffix).1: $(srcdir)/iverilog-vpi.man + $(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 -$(prefix)/iverilog-vpi.pdf: iverilog-vpi.pdf - $(INSTALL_DATA) iverilog-vpi.pdf $(DESTDIR)$(prefix)/iverilog-vpi.pdf +$(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf + $(INSTALL_DATA) iverilog-vpi.pdf $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf -# In windows installations, put a few examples and the quick_start -# into the destination directory. -ifeq (@MINGW32@,yes) -$(prefix)/hello.vl: $(srcdir)/examples/hello.vl - ./dosify.exe $(srcdir)/examples/hello.vl tmp.vl - mv tmp.vl $(prefix)/hello.vl - -$(prefix)/sqrt.vl: $(srcdir)/examples/sqrt.vl - ./dosify.exe $(srcdir)/examples/sqrt.vl tmp.vl - mv tmp.vl $(prefix)/sqrt.vl - -$(prefix)/sqrt-virtex.v: $(srcdir)/examples/sqrt-virtex.v - ./dosify.exe $(srcdir)/examples/sqrt-virtex.v tmp.vl - mv tmp.vl $(prefix)/sqrt-virtex.v - -$(prefix)/QUICK_START.txt: $(srcdir)/QUICK_START.txt - ./dosify.exe $(srcdir)/QUICK_START.txt tmp.txt - mv tmp.txt $(prefix)/QUICK_START.txt -endif installdirs: mkinstalldirs - $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/ivl \ - $(DESTDIR)$(libdir)/ivl/include $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 + $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/ivl$(suffix) \ + $(DESTDIR)$(libdir)/ivl$(suffix)/include $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 uninstall: for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for dir in vpi ivlpp driver; \ do (cd $$dir ; $(MAKE) $@); done for f in ivl@EXEEXT@ include/constants.vams include/disciplines.vams; \ - do rm -f $(DESTDIR)$(libdir)/ivl/$$f; done - -rmdir $(DESTDIR)$(libdir)/ivl/include - -rmdir $(DESTDIR)$(libdir)/ivl - for f in verilog iverilog-vpi gverilog@EXEEXT@; \ + do rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/$$f; done + -rmdir $(DESTDIR)$(libdir)/ivl$(suffix)/include + -rmdir $(DESTDIR)$(libdir)/ivl$(suffix) + for f in verilog$(suffix) iverilog-vpi$(suffix) gverilog$(suffix)@EXEEXT@; \ do rm -f $(DESTDIR)$(bindir)/$$f; done for f in ivl_target.h vpi_user.h _pli_types.h acc_user.h veriuser.h; \ do rm -f $(DESTDIR)$(includedir)/$$f; done - rm -f $(DESTDIR)$(mandir)/man1/iverilog-vpi.1 $(DESTDIR)$(prefix)/iverilog-vpi.pdf + -test X$(suffix) = X || rmdir $(DESTDIR)/$(includedir) + rm -f $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf -include $(patsubst %.o, dep/%.d, $O) diff --git a/README.txt b/README.txt index b980e9c1f..3186c5038 100644 --- a/README.txt +++ b/README.txt @@ -85,10 +85,6 @@ Normally, this command automatically figures out everything it needs to know. It generally works pretty well. There are a few flags to the configure script that modify its behavior: - --without-ipal - This turns off support for Icarus PAL, whether ipal - libraries are installed or not. - --prefix= The default is /usr/local, which causes the tool suite to be compiled for install in /usr/local/bin, @@ -99,27 +95,16 @@ configure script that modify its behavior: common to use --prefix=/opt. You can configure for a non-root install with --prefix=$HOME. - --enable-vvp32 (experimental) - If compiling on AMD64 systems, this enables the - compilation of 32bit compatible vvp (vvp32) and the vpi - modules that match. - -2.2.1 Special AMD64 Instructions - -(The Icarus Verilog RPM for x86_64 is build using these instructions.) - -If you are building for Linux/AMD64 (a.k.a x86_64) then to get the -most out of your install, first make sure you have both 64bit and -32bit development libraries installed. Then configure with this -somewhat more complicated command: - - ./configure libdir64='$(prefix)/lib64' vpidir1=vpi64 vpidir2=. --enable-vvp32 - -This reflects the convention on AMD64 systems that 64bit libraries go -into lib64 directories. The "--enable-vvp32" also turns on 32bit -compatibility files. A 32bit version of vvp (vvp32) will be created, -as well as 32bit versions of the development libraries and bundled VPI -libraries. + --enable-suffix + --enable-suffix= + --disable-suffix + Enable/disable changing the names of install files to use + a suffix string so that this version or install can co- + exist with other versions. This renames the installed + commands (iverilog, iverilog-vpi, vvp) and the installed + library files and include directory so that installations + with the same prefix but different suffix are guaranteed + to not interfere with each other. 2.3 (Optional) Testing diff --git a/aclocal.m4 b/aclocal.m4 index 76ddc0296..0c140fc0a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -24,6 +24,23 @@ fi AC_SUBST(ident_support) ])# AC_CPP_IDENT +# AX_ENABLE_SUFFIX +# ---------------- +# Create the configure option --enable-suffix[=suffix] to generate suffix +# strings for the installed commands. This allows for shared installs of +# different builds. Remember to change the default suffix string to some +# value appropriate for the current version. +AC_DEFUN([AX_ENABLE_SUFFIX], +[AC_ARG_ENABLE([suffix],[Set the installation command suffix],[true],[enable_suffix=no]) +if test X$enable_suffix = Xyes; then + install_suffix='-0.9' +elif test X$enable_suffix = Xno; then + install_suffix='' +else + install_suffix="$enable_suffix" +fi +AC_SUBST(install_suffix) +])# AX_ENABLE_SUFFIX # _AX_C_UNDERSCORES_MATCH_IFELSE(PATTERN, ACTION-IF-MATCH, ACTION-IF-NOMATCH) # ------------------------------ diff --git a/cadpli/Makefile.in b/cadpli/Makefile.in index 2d4f81c0f..669961ff6 100644 --- a/cadpli/Makefile.in +++ b/cadpli/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -30,7 +32,7 @@ bindir = @bindir@ libdir = @libdir@ includedir = $(prefix)/include -vpidir = @libdir@/ivl +vpidir = @libdir@/ivl$(suffix) CC = @CC@ INSTALL = @INSTALL@ diff --git a/cadpli/configure.in b/cadpli/configure.in index 99f1a1e45..fa55d815a 100644 --- a/cadpli/configure.in +++ b/cadpli/configure.in @@ -10,6 +10,8 @@ AC_SUBST(EXEEXT) # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 +AX_ENABLE_SUFFIX + AC_PROG_INSTALL AC_CHECK_HEADERS(malloc.h) diff --git a/configure.in b/configure.in index 5443f69ec..ab66fb7a8 100644 --- a/configure.in +++ b/configure.in @@ -92,6 +92,8 @@ AC_C_BIGENDIAN # $host +AX_ENABLE_SUFFIX + AX_LD_EXTRALIBS # Compiler option for position independent code, needed when making shared objects. diff --git a/driver-vpi/Makefile.in b/driver-vpi/Makefile.in index a33053ae1..73843a9bd 100644 --- a/driver-vpi/Makefile.in +++ b/driver-vpi/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -27,6 +29,8 @@ datarootdir = @datarootdir@ VPATH = $(srcdir) +suffix = @install_suffix@ + bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib includedir = $(prefix)/include @@ -65,6 +69,7 @@ main.o: main.c config.h config.h: config.h.in sed -e 's;@IVLCC@;@CC@;' -e 's;@IVLCXX@;@CXX@;' \ + -e 's;@SUFFIX@;$(suffix);' \ -e 's;@IVLCFLAGS@;@CXXFLAGS@;' \ -e 's;@SHARED@;@shared@;' $< > $@ @@ -73,13 +78,13 @@ res.o: res.rc windres -i res.rc -o res.o # -install: all installdirs $(bindir)/iverilog-vpi@EXEEXT@ +install: all installdirs $(bindir)/iverilog-vpi$(suffix)@EXEEXT@ -$(bindir)/iverilog-vpi@EXEEXT@: ./iverilog-vpi@EXEEXT@ - $(INSTALL_PROGRAM) ./iverilog-vpi@EXEEXT@ $(bindir)/iverilog-vpi@EXEEXT@ +$(bindir)/iverilog-vpi$(suffix)@EXEEXT@: ./iverilog-vpi@EXEEXT@ + $(INSTALL_PROGRAM) ./iverilog-vpi@EXEEXT@ $(bindir)/iverilog-vpi$(suffix)@EXEEXT@ installdirs: ../mkinstalldirs $(srcdir)/../mkinstalldirs $(bindir) uninstall: - rm -f $(bindir)/iverilog-vpi@EXEEXT@ + rm -f $(bindir)/iverilog-vpi$(suffix)@EXEEXT@ diff --git a/driver-vpi/config.h.in b/driver-vpi/config.h.in index ca1005555..9f4da0c15 100644 --- a/driver-vpi/config.h.in +++ b/driver-vpi/config.h.in @@ -5,4 +5,5 @@ #define IVERILOG_VPI_CXX "@IVLCXX@" #define IVERILOG_VPI_CFLAGS " @IVLCFLAGS@" #define IVERILOG_VPI_LDFLAGS "@SHARED@" -#define IVERILOG_VPI_LDLIBS "-lveriuser -lvpi" +#define IVERILOG_VPI_LDLIBS "-lveriuser@SUFFIX@ -lvpi@SUFFIX@" +#define IVERILOG_SUFFIX "@SUFFIX@" \ No newline at end of file diff --git a/driver-vpi/main.c b/driver-vpi/main.c index a5be8f8dc..a08260dfb 100644 --- a/driver-vpi/main.c +++ b/driver-vpi/main.c @@ -87,9 +87,9 @@ static void myExit(int exitVal) static void usage() { - fprintf(stderr,"usage: iverilog-vpi [src and obj files]...\n"); - fprintf(stderr," or iverilog-vpi -mingw=dir\n"); - fprintf(stderr," or iverilog-vpi -ivl=dir\n"); + fprintf(stderr,"usage: iverilog-vpi" IVERILOG_SUFFIX " [src and obj files]...\n"); + fprintf(stderr," or iverilog-vpi" IVERILOG_SUFFIX " -mingw=dir\n"); + fprintf(stderr," or iverilog-vpi" IVERILOG_SUFFIX " -ivl=dir\n"); myExit(1); } @@ -384,7 +384,7 @@ static int parse(int argc, char *argv[]) /* Check for the --install-dir option */ else if (stricmp("--install-dir", argv[idx]) == 0) { setup_ivl_environment(); - printf("%s\\\\lib\\\\ivl\\\\.\n", gstr.pIVL); + printf("%s\\\\lib\\\\ivl" IVERILOG_SUFFIX "\\\\.\n", gstr.pIVL); myExit(0); } /* This is different than iverilog-vpi.sh, we don't @@ -444,14 +444,14 @@ static void checkIvlDir(char *root) initDynString(&path); assign(&path,gstr.pIVL); appendBackSlash(&path); - append(&path,"bin\\vvp.exe"); + append(&path,"bin\\vvp" IVERILOG_SUFFIX ".exe"); irv = _stat(path,&stat_buf); deInitDynString(path); if (irv) { fprintf(stderr,"error: %s does not appear to be the valid root directory of\n",root); - fprintf(stderr," Icarus Verilog. Use the -ivl option of iverilog-vpi.exe to\n"); + fprintf(stderr," Icarus Verilog. Use the -ivl option of iverilog-vpi" IVERILOG_SUFFIX " to\n"); fprintf(stderr," point to the Icarus Verilog root directory. For a Windows\n"); fprintf(stderr," command shell the option would be something like -ivl=c:\\iverilog\n"); fprintf(stderr," For a Cygwin shell the option would be something like\n"); @@ -503,7 +503,7 @@ static void setup_ivl_environment() SetRegistryKey(IVL_REGKEY_IVL,gstr.pIVL); } else if (!GetRegistryKey(IVL_REGKEY_IVL,&gstr.pIVL)) { fprintf(stderr,"error: can not locate the Icarus Verilog root directory, use the -ivl option\n"); - fprintf(stderr," of iverilog-vpi.exe to point to the Icarus Verilog root directory.\n"); + fprintf(stderr," of iverilog-vpi" IVERILOG_SUFFIX " to point to the Icarus Verilog root directory.\n"); fprintf(stderr," For a Windows command shell the option would be something like\n"); fprintf(stderr," -ivl=c:\\iverilog For a Cygwin shell the option would be something\n"); fprintf(stderr," like -ivl=c:\\\\iverilog\n"); @@ -516,7 +516,7 @@ static void setup_ivl_environment() append(&gstr.pCFLAGS,gstr.pIVL); appendBackSlash(&gstr.pCFLAGS); append(&gstr.pCFLAGS, "\\"); - append(&gstr.pCFLAGS,"include"); + append(&gstr.pCFLAGS,"include" IVERILOG_SUFFIX); /* Build up the LDFLAGS option string */ assign(&gstr.pLDLIBS,"-L"); diff --git a/driver/Makefile.in b/driver/Makefile.in index e3b91d3e4..f624bd427 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -68,7 +70,7 @@ cfparse.h cfparse.c: cfparse.y main.o: main.c globals.h ../version.h - $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(srcdir)/main.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl$(suffix)"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(srcdir)/main.c build_string.o: build_string.c globals.h cflexor.o: cflexor.c cfparse.h cfparse_misc.h globals.h @@ -82,35 +84,35 @@ iverilog.pdf: iverilog.ps ifeq (@MINGW32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/iverilog.1 +INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1 else ifeq ($(PS2PDF),none) -INSTALL_DOC = $(mandir)/man1/iverilog.1 +INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1 else -INSTALL_DOC = $(prefix)/iverilog.pdf $(mandir)/man1/iverilog.1 +INSTALL_DOC = $(prefix)/iverilog$(suffix).pdf $(mandir)/man1/iverilog$(suffix).1 all: iverilog.pdf endif endif INSTALL_DOCDIR = $(mandir)/man1 else -INSTALL_DOC = $(mandir)/man1/iverilog.1 +INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif -install: all installdirs $(bindir)/iverilog@EXEEXT@ $(INSTALL_DOC) +install: all installdirs $(bindir)/iverilog$(suffix)@EXEEXT@ $(INSTALL_DOC) -$(bindir)/iverilog@EXEEXT@: ./iverilog@EXEEXT@ - $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(DESTDIR)$(bindir)/iverilog@EXEEXT@ +$(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@ + $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(DESTDIR)$(bindir)/iverilog$(suffix)@EXEEXT@ -$(mandir)/man1/iverilog.1: $(srcdir)/iverilog.man - $(INSTALL_DATA) $(srcdir)/iverilog.man $(DESTDIR)$(mandir)/man1/iverilog.1 +$(mandir)/man1/iverilog$(suffix).1: $(srcdir)/iverilog.man + $(INSTALL_DATA) $(srcdir)/iverilog.man $(DESTDIR)$(mandir)/man1/iverilog$(suffix).1 -$(prefix)/iverilog.pdf: iverilog.pdf - $(INSTALL_DATA) iverilog.pdf $(prefix)/iverilog.pdf +$(prefix)/iverilog$(suffix).pdf: iverilog.pdf + $(INSTALL_DATA) iverilog.pdf $(prefix)/iverilog$(suffix).pdf installdirs: ../mkinstalldirs $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(INSTALL_DOCDIR) uninstall: - rm -f $(DESTDIR)$(bindir)/iverilog@EXEEXT@ - rm -f $(DESTDIR)$(mandir)/man1/iverilog.1 $(DESTDIR)$(prefix)/iverilog.pdf + rm -f $(DESTDIR)$(bindir)/iverilog$(suffix)@EXEEXT@ + rm -f $(DESTDIR)$(mandir)/man1/iverilog$(suffix).1 $(DESTDIR)$(prefix)/iverilog$(suffix).pdf diff --git a/iverilog-vpi.sh b/iverilog-vpi.sh index b49abe6cc..29c9a880c 100644 --- a/iverilog-vpi.sh +++ b/iverilog-vpi.sh @@ -17,17 +17,18 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: iverilog-vpi.sh,v 1.17 2007/02/06 05:07:31 steve Exp $" # These are the variables used for compiling files CC=@IVCC@ CXX=@IVCXX@ CFLAGS="@PIC@ @IVCFLAGS@ -I@INCLUDEDIR@" +SUFFIX=@SUFFIX@ + # These are used for linking... LD=$CC LDFLAGS="@SHARED@ -L@LIBDIR@" -LDLIBS="-lveriuser -lvpi" +LDLIBS="-lveriuser$SUFFIX -lvpi$SUFFIX" CCSRC= CXSRC= @@ -101,7 +102,7 @@ do ;; --install-dir) - echo "@LIBDIR@/ivl" + echo "@LIBDIR@/ivl$SUFFIX" exit ;; esac diff --git a/ivlpp/Makefile.in b/ivlpp/Makefile.in index 2a3e0d22f..c4e0b1ccf 100644 --- a/ivlpp/Makefile.in +++ b/ivlpp/Makefile.in @@ -25,6 +25,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -60,16 +62,16 @@ ivlpp@EXEEXT@: $O lexor.c: lexor.lex flex -olexor.c $(srcdir)/lexor.lex -install: all installdirs $(libdir)/ivl/ivlpp@EXEEXT@ +install: all installdirs $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ -$(libdir)/ivl/ivlpp@EXEEXT@: ivlpp@EXEEXT@ - $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(DESTDIR)$(libdir)/ivl/ivlpp@EXEEXT@ +$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@ + $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)$(libdir)/ivl/ivlpp@EXEEXT@ + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ lexor.o: lexor.c globals.h main.o: main.c globals.h diff --git a/libveriuser/Makefile.in b/libveriuser/Makefile.in index 7fc807e84..5c69e5485 100644 --- a/libveriuser/Makefile.in +++ b/libveriuser/Makefile.in @@ -21,6 +21,7 @@ # SHELL = /bin/sh +suffix = @install_suffix@ prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -86,15 +87,15 @@ clean: distclean: clean rm -f Makefile config.status config.log config.cache config.h -install:: all installdirs $(libdir)/libveriuser.a $(INSTALL32) +install:: all installdirs $(libdir)/libveriuser$(suffix).a $(INSTALL32) -$(libdir)/libveriuser.a: ./libveriuser.a - $(INSTALL_DATA) ./libveriuser.a $(DESTDIR)$(libdir)/libveriuser.a +$(libdir)/libveriuser$(suffix).a: ./libveriuser.a + $(INSTALL_DATA) ./libveriuser.a $(DESTDIR)$(libdir)/libveriuser$(suffix).a installdirs: mkinstalldirs $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) uninstall:: - rm -f $(DESTDIR)$(libdir)/libveriuser.a + rm -f $(DESTDIR)$(libdir)/libveriuser$(suffix).a -include $(patsubst %.o, dep/%.d, $O) diff --git a/libveriuser/configure.in b/libveriuser/configure.in index e185749be..d3a37b8d9 100644 --- a/libveriuser/configure.in +++ b/libveriuser/configure.in @@ -10,6 +10,8 @@ AC_PROG_RANLIB AC_EXEEXT AX_CPP_IDENT +AX_ENABLE_SUFFIX + AC_CHECK_HEADERS(malloc.h) AC_CHECK_SIZEOF(unsigned long long) diff --git a/tgt-fpga/Makefile.in b/tgt-fpga/Makefile.in index a540f346c..0413f258b 100644 --- a/tgt-fpga/Makefile.in +++ b/tgt-fpga/Makefile.in @@ -24,6 +24,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -87,39 +89,39 @@ distclean: clean check: all ifeq (@WIN32@,yes) -INSTALL_DOC = $(prefix)/iverilog-fpga.pdf $(mandir)/man1/iverilog-fpga.1 +INSTALL_DOC = $(prefix)/iverilog-fpga$(suffix).pdf $(mandir)/man1/iverilog-fpga$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 all: iverilog-fpga.pdf else -INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 +INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif -install: all installdirs $(libdir)/ivl/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl/fpga.conf $(libdir)/ivl/fpga-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/fpga.conf $(libdir)/ivl$(suffix)/fpga-s.conf -$(libdir)/ivl/fpga.tgt: ./fpga.tgt - $(INSTALL_PROGRAM) ./fpga.tgt $(libdir)/ivl/fpga.tgt +$(libdir)/ivl$(suffix)/fpga.tgt: ./fpga.tgt + $(INSTALL_PROGRAM) ./fpga.tgt $(libdir)/ivl$(suffix)/fpga.tgt -$(libdir)/ivl/fpga.conf: $(srcdir)/fpga.conf - $(INSTALL_DATA) $(srcdir)/fpga.conf $(libdir)/ivl/fpga.conf +$(libdir)/ivl$(suffix)/fpga.conf: $(srcdir)/fpga.conf + $(INSTALL_DATA) $(srcdir)/fpga.conf $(libdir)/ivl$(suffix)/fpga.conf -$(libdir)/ivl/fpga-s.conf: $(srcdir)/fpga-s.conf - $(INSTALL_DATA) $(srcdir)/fpga-s.conf $(libdir)/ivl/fpga-s.conf +$(libdir)/ivl$(suffix)/fpga-s.conf: $(srcdir)/fpga-s.conf + $(INSTALL_DATA) $(srcdir)/fpga-s.conf $(libdir)/ivl$(suffix)/fpga-s.conf -$(mandir)/man1/iverilog-fpga.1: $(srcdir)/iverilog-fpga.man - $(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(mandir)/man1/iverilog-fpga.1 +$(mandir)/man1/iverilog-fpga$(suffix).1: $(srcdir)/iverilog-fpga.man + $(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(mandir)/man1/iverilog-fpga$(suffix).1 -$(prefix)/iverilog-fpga.pdf: iverilog-fpga.pdf - $(INSTALL_DATA) iverilog-fpga.pdf $(prefix)/iverilog-fpga.pdf +$(prefix)/iverilog-fpga$(suffix).pdf: iverilog-fpga.pdf + $(INSTALL_DATA) iverilog-fpga.pdf $(prefix)/iverilog-fpga$(suffix).pdf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/fpga.tgt + rm -f $(libdir)/ivl$(suffix)/fpga.tgt rm -f $(INSTALL_DOC) - rm -f $(libdir)/ivl/fpga-s.conf - rm -f $(libdir)/ivl/fpga.conf + rm -f $(libdir)/ivl$(suffix)/fpga-s.conf + rm -f $(libdir)/ivl$(suffix)/fpga.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-fpga/configure.in b/tgt-fpga/configure.in index 725d36bdd..5481e1d8f 100644 --- a/tgt-fpga/configure.in +++ b/tgt-fpga/configure.in @@ -9,6 +9,8 @@ AC_PROG_INSTALL AC_CANONICAL_HOST # $host +AX_ENABLE_SUFFIX + # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 diff --git a/tgt-null/Makefile.in b/tgt-null/Makefile.in index 845b2f0e1..5cb577068 100644 --- a/tgt-null/Makefile.in +++ b/tgt-null/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -28,7 +30,6 @@ VPATH = $(srcdir) bindir = @bindir@ libdir = @libdir@ -includedir = $(prefix)/include CC = @CC@ INSTALL = @INSTALL@ @@ -72,25 +73,25 @@ distclean: clean check: all -install: all installdirs $(libdir)/ivl/null.tgt $(INSTALL_DOC) $(libdir)/ivl/null.conf $(libdir)/ivl/null-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/null.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/null.conf $(libdir)/ivl$(suffix)/null-s.conf -$(libdir)/ivl/null.tgt: ./null.tgt - $(INSTALL_PROGRAM) ./null.tgt $(DESTDIR)$(libdir)/ivl/null.tgt +$(libdir)/ivl$(suffix)/null.tgt: ./null.tgt + $(INSTALL_PROGRAM) ./null.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/null.tgt -$(libdir)/ivl/null.conf: $(srcdir)/null.conf - $(INSTALL_DATA) $(srcdir)/null.conf $(DESTDIR)$(libdir)/ivl/null.conf +$(libdir)/ivl$(suffix)/null.conf: $(srcdir)/null.conf + $(INSTALL_DATA) $(srcdir)/null.conf $(DESTDIR)$(libdir)/ivl$(suffix)/null.conf -$(libdir)/ivl/null-s.conf: $(srcdir)/null-s.conf - $(INSTALL_DATA) $(srcdir)/null-s.conf $(DESTDIR)$(libdir)/ivl/null-s.conf +$(libdir)/ivl$(suffix)/null-s.conf: $(srcdir)/null-s.conf + $(INSTALL_DATA) $(srcdir)/null-s.conf $(DESTDIR)$(libdir)/ivl$(suffix)/null-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)$(libdir)/ivl/null.tgt - rm -f $(DESTDIR)$(libdir)/ivl/null.conf - rm -f $(DESTDIR)$(libdir)/ivl/null-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null.tgt + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null-s.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-stub/Makefile.in b/tgt-stub/Makefile.in index fbf4702b3..b77bd6ec9 100644 --- a/tgt-stub/Makefile.in +++ b/tgt-stub/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -72,25 +74,25 @@ distclean: clean check: all -install: all installdirs $(libdir)/ivl/stub.tgt \ - $(libdir)/ivl/stub.conf $(libdir)/ivl/stub-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/stub.tgt \ + $(libdir)/ivl$(suffix)/stub.conf $(libdir)/ivl$(suffix)/stub-s.conf -$(libdir)/ivl/stub.tgt: ./stub.tgt - $(INSTALL_PROGRAM) ./stub.tgt $(DESTDIR)$(libdir)/ivl/stub.tgt +$(libdir)/ivl$(suffix)/stub.tgt: ./stub.tgt + $(INSTALL_PROGRAM) ./stub.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt -$(libdir)/ivl/stub.conf: stub.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/stub.conf +$(libdir)/ivl$(suffix)/stub.conf: stub.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/stub.conf -$(libdir)/ivl/stub-s.conf: stub-s.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/stub-s.conf +$(libdir)/ivl$(suffix)/stub-s.conf: stub-s.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/stub-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)$(libdir)/ivl/stub.tgt - rm -f $(DESTDIR)$(libdir)/ivl/stub.conf - rm -f $(DESTDIR)$(libdir)/ivl/stub-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub-s.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-stub/configure.in b/tgt-stub/configure.in index dab124974..5f3b050bb 100644 --- a/tgt-stub/configure.in +++ b/tgt-stub/configure.in @@ -9,6 +9,8 @@ AC_PROG_INSTALL AC_CANONICAL_HOST # $host +AX_ENABLE_SUFFIX + # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 diff --git a/tgt-vhdl/Makefile.in b/tgt-vhdl/Makefile.in index 2348e5e97..c1bbe956d 100644 --- a/tgt-vhdl/Makefile.in +++ b/tgt-vhdl/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -74,23 +76,23 @@ distclean: clean check: all -install: all installdirs $(libdir)/ivl/vhdl.tgt $(libdir)/ivl/vhdl.conf \ - $(libdir)/ivl/vhdl-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/vhdl.tgt $(libdir)/ivl$(suffix)/vhdl.conf \ + $(libdir)/ivl$(suffix)/vhdl-s.conf -$(libdir)/ivl/vhdl.tgt: ./vhdl.tgt - $(INSTALL_PROGRAM) ./vhdl.tgt $(DESTDIR)$(libdir)/ivl/vhdl.tgt +$(libdir)/ivl$(suffix)/vhdl.tgt: ./vhdl.tgt + $(INSTALL_PROGRAM) ./vhdl.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl.tgt -$(libdir)/ivl/vhdl.conf: vhdl.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/vhdl.conf +$(libdir)/ivl$(suffix)/vhdl.conf: vhdl.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl.conf -$(libdir)/ivl/vhdl-s.conf: vhdl-s.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/vhdl-s.conf +$(libdir)/ivl$(suffix)/vhdl-s.conf: vhdl-s.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)$(libdir)/ivl/vhdl.tgt $(DESTDIR)$(libdir)/ivl/vhdl.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl.conf $(DESTDIR)$(libdir)/ivl$(suffix)/vhdl-s.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-vhdl/configure.in b/tgt-vhdl/configure.in index 3223b50e8..52ca76897 100644 --- a/tgt-vhdl/configure.in +++ b/tgt-vhdl/configure.in @@ -11,6 +11,8 @@ AC_PROG_INSTALL AC_CANONICAL_HOST # $host +AX_ENABLE_SUFFIX + # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 diff --git a/tgt-vvp/Makefile.in b/tgt-vvp/Makefile.in index b71c1310a..4c1076523 100644 --- a/tgt-vvp/Makefile.in +++ b/tgt-vvp/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -69,10 +71,10 @@ vvp.tgt: $O $(TGTDEPLIBS) $(CC) @shared@ -o $@ $O $(TGTLDFLAGS) vvp.conf: $(srcdir)/vvp.conf.in - echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp' | cat $(srcdir)/vvp.conf.in - > vvp.conf + echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp$(suffix)' | cat $(srcdir)/vvp.conf.in - > vvp.conf vvp-s.conf: $(srcdir)/vvp-s.conf.in - echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp' | cat $(srcdir)/vvp-s.conf.in - > vvp-s.conf + echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp$(suffix)' | cat $(srcdir)/vvp-s.conf.in - > vvp-s.conf Makefile: Makefile.in config.status ./config.status @@ -85,23 +87,23 @@ distclean: clean check: all -install: all installdirs $(libdir)/ivl/vvp.tgt $(libdir)/ivl/vvp.conf $(libdir)/ivl/vvp-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/vvp.tgt $(libdir)/ivl$(suffix)/vvp.conf $(libdir)/ivl$(suffix)/vvp-s.conf -$(libdir)/ivl/vvp.tgt: ./vvp.tgt - $(INSTALL_PROGRAM) ./vvp.tgt $(DESTDIR)$(libdir)/ivl/vvp.tgt +$(libdir)/ivl$(suffix)/vvp.tgt: ./vvp.tgt + $(INSTALL_PROGRAM) ./vvp.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.tgt -$(libdir)/ivl/vvp.conf: vvp.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/vvp.conf +$(libdir)/ivl$(suffix)/vvp.conf: vvp.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.conf -$(libdir)/ivl/vvp-s.conf: vvp-s.conf - $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl/vvp-s.conf +$(libdir)/ivl$(suffix)/vvp-s.conf: vvp-s.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vvp-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)$(libdir)/ivl/vvp.tgt $(DESTDIR)$(libdir)/ivl/vvp.conf $(DESTDIR)$(libdir)/ivl/vvp-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.conf $(DESTDIR)$(libdir)/ivl$(suffix)/vvp-s.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-vvp/configure.in b/tgt-vvp/configure.in index eef3ee18f..9a245752a 100644 --- a/tgt-vvp/configure.in +++ b/tgt-vvp/configure.in @@ -10,6 +10,8 @@ AC_PROG_INSTALL AC_CANONICAL_HOST # $host +AX_ENABLE_SUFFIX + # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 diff --git a/vpi/Makefile.in b/vpi/Makefile.in index d6ee95e6e..77c5b492b 100644 --- a/vpi/Makefile.in +++ b/vpi/Makefile.in @@ -20,6 +20,8 @@ SHELL = /bin/sh VERSION = 0.9.devel +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -30,7 +32,7 @@ bindir = @bindir@ libdir = @libdir@ includedir = $(prefix)/include -vpidir = $(libdir)/ivl +vpidir = $(libdir)/ivl$(suffix) CC = @CC@ INSTALL = @INSTALL@ @@ -114,26 +116,26 @@ distclean: clean check: all install: all installdirs \ - $(vpidir)/system.vpi $(libdir)/ivl/system.sft \ - $(vpidir)/va_math.vpi $(libdir)/ivl/va_math.sft \ - $(vpidir)/v2005_math.vpi $(libdir)/ivl/v2005_math.sft + $(vpidir)/system.vpi $(vpidir)/system.sft \ + $(vpidir)/va_math.vpi $(vpidir)/va_math.sft \ + $(vpidir)/v2005_math.vpi $(vpidir)/v2005_math.sft $(vpidir)/system.vpi: ./system.vpi $(INSTALL_PROGRAM) ./system.vpi $(DESTDIR)$(vpidir)/system.vpi -$(libdir)/ivl/system.sft: system.sft +$(vpidir)/system.sft: system.sft $(INSTALL_DATA) $< $(DESTDIR)$@ $(vpidir)/va_math.vpi: ./va_math.vpi $(INSTALL_PROGRAM) ./va_math.vpi $(DESTDIR)$(vpidir)/va_math.vpi -$(libdir)/ivl/va_math.sft: va_math.sft +$(vpidir)/va_math.sft: va_math.sft $(INSTALL_DATA) $< $(DESTDIR)$@ $(vpidir)/v2005_math.vpi: ./v2005_math.vpi $(INSTALL_PROGRAM) ./v2005_math.vpi $(DESTDIR)$(vpidir)/v2005_math.vpi -$(libdir)/ivl/v2005_math.sft: v2005_math.sft +$(vpidir)/v2005_math.sft: v2005_math.sft $(INSTALL_DATA) $< $(DESTDIR)$@ installdirs: ../mkinstalldirs @@ -141,10 +143,10 @@ installdirs: ../mkinstalldirs uninstall: rm -f $(DESTDIR)$(vpidir)/system.vpi - rm -f $(DESTDIR)$(libdir)/ivl/system.sft + rm -f $(DESTDIR)$(vpidir)/system.sft rm -f $(DESTDIR)$(vpidir)/va_math.vpi - rm -f $(DESTDIR)$(libdir)/ivl/va_math.sft + rm -f $(DESTDIR)$(vpidir)/va_math.sft rm -f $(DESTDIR)$(vpidir)/v2005_math.vpi - rm -f $(DESTDIR)$(libdir)/ivl/v2005_math.sft + rm -f $(DESTDIR)$(vpidir)/v2005_math.sft -include $(patsubst %.o, dep/%.d, $O) diff --git a/vpi/configure.in b/vpi/configure.in index 9e0125650..bf3d8f775 100644 --- a/vpi/configure.in +++ b/vpi/configure.in @@ -71,6 +71,8 @@ AC_SUBST(file64_support) # $host +AX_ENABLE_SUFFIX + # Compiler option for position independent code, needed when making shared objects. AX_C_PICFLAG diff --git a/vvp/Makefile.in b/vvp/Makefile.in index a65994e6b..17cf2face 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -21,6 +21,8 @@ # SHELL = /bin/sh +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -53,9 +55,9 @@ LIBS = @LIBS@ @EXTRALIBS@ dllib=@DLLIB@ -MDIR1 = -DMODULE_DIR1=\"$(libdir)/ivl/@vpidir1@\" +MDIR1 = -DMODULE_DIR1=\"$(libdir)/ivl$(suffix)/@vpidir1@\" ifneq (x@vpidir2@,x) -MDIR2 = -DMODULE_DIR2=\"$(libdir)/ivl/@vpidir2@\" +MDIR2 = -DMODULE_DIR2=\"$(libdir)/ivl$(suffix)/@vpidir2@\" endif all: dep vvp@EXEEXT@ libvpi.a @@ -139,18 +141,18 @@ vvp.pdf: $(srcdir)/vvp.man ifeq (@MINGW32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/vvp.1 +INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 else ifeq ($(PS2PDF),none) -INSTALL_DOC = $(mandir)/man1/vvp.1 +INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 else -INSTALL_DOC = $(prefix)/vvp.pdf $(mandir)/man1/vvp.1 +INSTALL_DOC = $(prefix)/vvp$(suffix).pdf $(mandir)/man1/vvp$(suffix).1 all: vvp.pdf endif endif INSTALL_DOCDIR = $(mandir)/man1 else -INSTALL_DOC = $(mandir)/man1/vvp.1 +INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif @@ -158,27 +160,27 @@ Makefile: Makefile.in config.status ./config.status -install: all installdirs $(bindir)/vvp@EXEEXT@ $(libdir)/libvpi.a $(INSTALL_DOC) +install: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir)/libvpi$(suffix).a $(INSTALL_DOC) -$(bindir)/vvp@EXEEXT@: ./vvp@EXEEXT@ - $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(DESTDIR)$(bindir)/vvp@EXEEXT@ +$(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@ + $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@ -$(libdir)/libvpi.a : ./libvpi.a - $(INSTALL_DATA) libvpi.a $(DESTDIR)$(libdir)/libvpi.a +$(libdir)/libvpi$(suffix).a : ./libvpi.a + $(INSTALL_DATA) libvpi.a $(DESTDIR)$(libdir)/libvpi$(suffix).a -$(mandir)/man1/vvp.1: $(srcdir)/vvp.man - $(INSTALL_DATA) $(srcdir)/vvp.man $(DESTDIR)$(mandir)/man1/vvp.1 +$(mandir)/man1/vvp$(suffix).1: $(srcdir)/vvp.man + $(INSTALL_DATA) $(srcdir)/vvp.man $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 -$(prefix)/vvp.pdf: vvp.pdf - $(INSTALL_DATA) vvp.pdf $(DESTDIR)$(prefix)/vvp.pdf +$(prefix)/vvp$(suffix).pdf: vvp.pdf + $(INSTALL_DATA) vvp.pdf $(DESTDIR)$(prefix)/vvp$(suffix).pdf installdirs: $(srcdir)/mkinstalldirs $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(INSTALL_DOCDIR) uninstall: $(UNINSTALL32) - rm -f $(DESTDIR)$(bindir)/vvp@EXEEXT@ - rm -f $(DESTDIR)$(libdir)/libvpi.a - rm -f $(DESTDIR)$(mandir)/man1/vvp.1 $(DESTDIR)$(prefix)/vvp.pdf + rm -f $(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@ + rm -f $(DESTDIR)$(libdir)/libvpi$(suffix).a + rm -f $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 $(DESTDIR)$(prefix)/vvp$(suffix).pdf -include $(patsubst %.o, dep/%.d, $O) diff --git a/vvp/configure.in b/vvp/configure.in index 28e762708..3ffa8bc4c 100644 --- a/vvp/configure.in +++ b/vvp/configure.in @@ -3,6 +3,8 @@ AC_CONFIG_HEADER(config.h) AC_PROG_CC +AX_ENABLE_SUFFIX + ####################### ## 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. @@ -98,6 +100,7 @@ AC_CHECK_FUNCS(lround nan) AC_CHECK_HEADERS(sys/resource.h) case "${host}" in *linux*) AC_DEFINE([LINUX], [1], [Host operating system is Linux.]) ;; esac + # Linker option used when compiling the target AX_LD_RDYNAMIC