diff --git a/Makefile.in b/Makefile.in index 172511286..417c8900d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -27,6 +27,12 @@ SHELL = /bin/sh # in order to get a more automatic version stamp as well. VERSION = 0.8.6 +# 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@ @@ -37,7 +43,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@ libdir64 = @libdir64@ @@ -153,12 +161,13 @@ 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;@LIBDIR64@;@libdir64@;' \ -e 's;@VPIDIR1@;@vpidir1@;' -e 's;@VPIDIR2@;@vpidir2@;' \ + -e 's;@INCLUDEDIR@;$(includedir);' \ -e 's;@LIBDIR@;@libdir@;' $< > $@ chmod +x $@ endif @@ -200,46 +209,46 @@ iverilog-vpi.pdf: iverilog-vpi.ps # program *and* a ps2pdf program. ifeq (@WIN32@,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 -XNF_INSTALL = $(libdir)/ivl/xnf.conf $(libdir)/ivl/xnf-s.conf +XNF_INSTALL = $(libdir)/ivl$(suffix)/xnf.conf $(libdir)/ivl$(suffix)/xnf-s.conf -install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) $(XNF_INSTALL) +install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) $(XNF_INSTALL) for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done for dir in vpi ivlpp driver; \ do (cd $$dir ; $(MAKE) $@); done -$(bindir)/iverilog-vpi: ./iverilog-vpi - $(INSTALL_SCRIPT) ./iverilog-vpi $(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@ $(libdir)/ivl/ivl@EXEEXT@ +$(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@ + $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@ -$(libdir)/ivl/xnf-s.conf: $(srcdir)/xnf-s.conf - $(INSTALL_DATA) $(srcdir)/xnf-s.conf $(libdir)/ivl/xnf-s.conf +$(libdir)/ivl$(suffix)/xnf-s.conf: $(srcdir)/xnf-s.conf + $(INSTALL_DATA) $(srcdir)/xnf-s.conf $(libdir)/ivl$(suffix)/xnf-s.conf -$(libdir)/ivl/xnf.conf: $(srcdir)/xnf.conf - $(INSTALL_DATA) $(srcdir)/xnf.conf $(libdir)/ivl/xnf.conf +$(libdir)/ivl$(suffix)/xnf.conf: $(srcdir)/xnf.conf + $(INSTALL_DATA) $(srcdir)/xnf.conf $(libdir)/ivl$(suffix)/xnf.conf $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h $(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h @@ -256,49 +265,32 @@ $(includedir)/acc_user.h: $(srcdir)/acc_user.h $(includedir)/veriuser.h: $(srcdir)/veriuser.h $(INSTALL_DATA) $(srcdir)/veriuser.h $(includedir)/veriuser.h -$(mandir)/man1/iverilog-vpi.1: $(srcdir)/iverilog-vpi.man - $(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(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 $(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 $(bindir) $(includedir) $(libdir)/ivl \ - $(mandir) $(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 tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done for dir in vpi ivlpp driver; \ do (cd $$dir ; $(MAKE) $@); done - for f in xnf.conf xnf-s.conf ivl; \ - do rm -f $(libdir)/ivl/$$f; done - -rmdir $(libdir)/ivl - for f in verilog iverilog-vpi gverilog@EXEEXT@; \ - do rm -f $(bindir)/$$f; done + for f in xnf.conf xnf-s.conf ivl@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); \ + 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 $(includedir)/$$f; done - rm -f $(mandir)/man1/iverilog-vpi.1 + do rm -f $(DESTDIR)$(includedir)/$$f; done + -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 e6df621a6..3f1e20422 100644 --- a/README.txt +++ b/README.txt @@ -88,10 +88,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, @@ -107,6 +103,17 @@ configure script that modify its behavior: compilation of 32bit compatible vvp (vvp32) and the vpi modules that match. + --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.2.1 Special AMD64 Instructions (The Icarus Verilog RPM for x86_64 is build using these instructions.) diff --git a/aclocal.m4 b/aclocal.m4 index 6060262c2..2aca95e5d 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.8' +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 3941d3afa..f56c09673 100644 --- a/cadpli/Makefile.in +++ b/cadpli/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -33,7 +35,7 @@ bindir = @bindir@ libdir = @libdir@ includedir = $(prefix)/include -vpidir = @libdir@/ivl/@vpidir1@ +vpidir = @libdir@/ivl$(suffix)/@vpidir1@ strip_dynamic=@strip_dynamic@ diff --git a/cadpli/configure.in b/cadpli/configure.in index 79bf30b03..b503b963c 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 # vvp32 is by default disabled diff --git a/configure.in b/configure.in index 8ea916137..26ba068da 100644 --- a/configure.in +++ b/configure.in @@ -97,6 +97,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 d166d562f..07ef9594e 100644 --- a/driver-vpi/Makefile.in +++ b/driver-vpi/Makefile.in @@ -23,12 +23,16 @@ SHELL = /bin/sh VERSION = 0.8.3 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ 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 a249f9788..3f0b65cb6 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 79783f931..4fa3b9c8f 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.8 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -71,7 +73,7 @@ cfparse.h cfparse.c: cfparse.y main.o: main.c globals.h - $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(DEBUGFLAGS) $(srcdir)/main.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl$(suffix)"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(DEBUGFLAGS) $(srcdir)/main.c build_string.o: build_string.c globals.h cflexor.o: cflexor.c cfparse.h cfparse_misc.h globals.h @@ -85,35 +87,35 @@ iverilog.pdf: iverilog.ps ifeq (@WIN32@,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@ $(bindir)/iverilog@EXEEXT@ +$(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@ + $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(bindir)/iverilog$(suffix)@EXEEXT@ -$(mandir)/man1/iverilog.1: $(srcdir)/iverilog.man - $(INSTALL_DATA) $(srcdir)/iverilog.man $(mandir)/man1/iverilog.1 +$(mandir)/man1/iverilog$(suffix).1: $(srcdir)/iverilog.man + $(INSTALL_DATA) $(srcdir)/iverilog.man $(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 $(bindir) $(INSTALL_DOCDIR) uninstall: - rm -f $(bindir)/iverilog@EXEEXT@ - rm -f $(mandir)/man1/iverilog.1 + rm -f $(bindir)/iverilog$(suffix)@EXEEXT@ + rm -f $(mandir)/man1/iverilog$(suffix).1 diff --git a/iverilog-vpi.sh b/iverilog-vpi.sh index 1282eb240..84f3a102d 100644 --- a/iverilog-vpi.sh +++ b/iverilog-vpi.sh @@ -17,19 +17,20 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: iverilog-vpi.sh,v 1.14 2004/05/20 00:40:34 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 LDFLAGS32="@SHARED@ -L@LIBDIR@" LDFLAGS64="@SHARED@ -L@LIBDIR64@" LDFLAGS="$LDFLAGS64" -LDLIBS="-lveriuser -lvpi" +LDLIBS="-lveriuser$SUFFIX -lvpi$SUFFIX" INSTDIR64="@VPIDIR1@" INSTDIR32="@VPIDIR2@" @@ -117,7 +118,7 @@ do ;; --install-dir) - echo "@LIBDIR@/ivl/$INSTDIR" + echo "@LIBDIR@/ivl$SUFFIX/$INSTDIR" exit ;; esac diff --git a/ivlpp/Makefile.in b/ivlpp/Makefile.in index 792619d58..b47055b58 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@ @@ -63,16 +65,16 @@ lexor.c: lexor.lex parse.h parse.c: parse.y bison --verbose -t -d -o parse.c $(srcdir)/parse.y -install: all installdirs $(libdir)/ivl/ivlpp +install: all installdirs $(libdir)/ivl$(suffix)/ivlpp -$(libdir)/ivl/ivlpp: ivlpp - $(INSTALL_PROGRAM) ./ivlpp $(libdir)/ivl/ivlpp +$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@ + $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/ivlpp + rm -f $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ lexor.o: lexor.c parse.h globals.h main.o: main.c globals.h diff --git a/libveriuser/Makefile.in b/libveriuser/Makefile.in index 2e3fa916e..a787420db 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@ @@ -95,16 +96,16 @@ distclean: clean rm -f Makefile config.status config.log config.cache rm -rf autom4te.cache -install:: all installdirs $(libdir64)/libveriuser.a $(INSTALL32) +install:: all installdirs $(libdir64)/libveriuser$(suffix).a $(INSTALL32) -$(libdir64)/libveriuser.a: ./libveriuser.a - $(INSTALL_DATA) ./libveriuser.a $(libdir64)/libveriuser.a +$(libdir64)/libveriuser$(suffix).a: ./libveriuser.a + $(INSTALL_DATA) ./libveriuser.a $(libdir64)/libveriuser$(suffix).a installdirs: mkinstalldirs $(srcdir)/mkinstalldirs $(includedir) $(libdir64) uninstall:: - rm -f $(libdir64)/libveriuser.a + rm -f $(libdir64)/libveriuser$(suffix).a ifeq (@enable_vvp32@,yes) all32: bin32 bin32/libveriuser.a @@ -123,10 +124,13 @@ bin32/libveriuser.a: bin32/libveriuser.o ar cvq $@ bin32/libveriuser.o $(RANLIB) $@ -install32: $(libdir)/libveriuser.a +install32: $(libdir)/libveriuser$(suffix).a -$(libdir)/libveriuser.a: bin32/libveriuser.a - $(INSTALL_DATA) bin32/libveriuser.a $(libdir)/libveriuser.a +$(libdir)/libveriuser$(suffix).a: bin32/libveriuser.a + $(INSTALL_DATA) bin32/libveriuser.a $(libdir)/libveriuser$(suffix).a + +uninstall:: + rm -f $(DESTDIR)$(libdir)/libveriuser$(suffix).a -include $(patsubst bin32/%.o, bin32/%.d, $(addprefix bin32/,$O)) endif diff --git a/libveriuser/configure.in b/libveriuser/configure.in index a66c623e6..f8142a253 100644 --- a/libveriuser/configure.in +++ b/libveriuser/configure.in @@ -14,6 +14,8 @@ AX_CPP_IDENT #enable_vvp32=no AC_SUBST(enable_vvp32) +AX_ENABLE_SUFFIX + AC_CHECK_HEADERS(malloc.h) AC_CHECK_SIZEOF(unsigned long long) diff --git a/tgt-edif/Makefile.in b/tgt-edif/Makefile.in index db575a21d..78a3b6d52 100644 --- a/tgt-edif/Makefile.in +++ b/tgt-edif/Makefile.in @@ -31,6 +31,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -118,31 +120,31 @@ else #INSTALL_DOCDIR = $(mandir)/man1 endif -install: all installdirs $(libdir)/ivl/edif.tgt $(INSTALL_DOC) $(libdir)/ivl/edif.conf $(libdir)/ivl/edif-s.conf +install: all installdirs $(libdir)/ivl$(suffix)/edif.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/edif.conf $(libdir)/ivl$(suffix)/edif-s.conf -$(libdir)/ivl/edif.tgt: ./edif.tgt - $(INSTALL_PROGRAM) ./edif.tgt $(libdir)/ivl/edif.tgt +$(libdir)/ivl$(suffix)/edif.tgt: ./edif.tgt + $(INSTALL_PROGRAM) ./edif.tgt $(libdir)/ivl$(suffix)/edif.tgt -$(libdir)/ivl/edif.conf: $(srcdir)/edif.conf - $(INSTALL_DATA) $(srcdir)/edif.conf $(libdir)/ivl/edif.conf +$(libdir)/ivl$(suffix)/edif.conf: $(srcdir)/edif.conf + $(INSTALL_DATA) $(srcdir)/edif.conf $(libdir)/ivl$(suffix)/edif.conf -$(libdir)/ivl/edif-s.conf: $(srcdir)/edif-s.conf - $(INSTALL_DATA) $(srcdir)/edif-s.conf $(libdir)/ivl/edif-s.conf +$(libdir)/ivl$(suffix)/edif-s.conf: $(srcdir)/edif-s.conf + $(INSTALL_DATA) $(srcdir)/edif-s.conf $(libdir)/ivl$(suffix)/edif-s.conf -$(mandir)/man1/iverilog-edif.1: $(srcdir)/iverilog-edif.man - $(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(mandir)/man1/iverilog-edif.1 +$(mandir)/man1/iverilog-edif$(suffix).1: $(srcdir)/iverilog-edif.man + $(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(mandir)/man1/iverilog-edif$(suffix).1 -$(prefix)/iverilog-edif.pdf: iverilog-edif.pdf - $(INSTALL_DATA) iverilog-edif.pdf $(prefix)/iverilog-edif.pdf +$(prefix)/iverilog-edif$(suffix).pdf: iverilog-edif.pdf + $(INSTALL_DATA) iverilog-edif.pdf $(prefix)/iverilog-edif$(suffix).pdf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/edif.tgt + rm -f $(libdir)/ivl$(suffix)/edif.tgt rm -f $(INSTALL_DOC) - rm -f $(libdir)/ivl/edif-s.conf - rm -f $(libdir)/ivl/edif.conf + rm -f $(libdir)/ivl$(suffix)/edif-s.conf + rm -f $(libdir)/ivl$(suffix)/edif.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-edif/configure.in b/tgt-edif/configure.in index 56d7b4003..90a7d4c59 100644 --- a/tgt-edif/configure.in +++ b/tgt-edif/configure.in @@ -11,6 +11,8 @@ AC_CHECK_PROGS(PS2PDF,ps2pdf,none) AC_CANONICAL_HOST # $host +AX_ENABLE_SUFFIX + # Combined check for Microsoft-related bogosities; sets WIN32 if found AX_WIN32 diff --git a/tgt-fpga/Makefile.in b/tgt-fpga/Makefile.in index 25605311b..ed0d3c78c 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@ @@ -91,46 +93,47 @@ check: all ifeq (@WIN32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 +INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 else ifeq (@PS2PDF@,none) -INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 +INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 else -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 endif endif INSTALL_DOCDIR = $(mandir)/man1 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 33b36baee..7cd92de47 100644 --- a/tgt-fpga/configure.in +++ b/tgt-fpga/configure.in @@ -11,6 +11,8 @@ AC_CHECK_PROGS(PS2PDF,ps2pdf,none) 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 cba6d9c16..a4aeb467d 100644 --- a/tgt-null/Makefile.in +++ b/tgt-null/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -31,7 +33,6 @@ VPATH = $(srcdir) bindir = @bindir@ libdir = @libdir@ -includedir = $(prefix)/include CC = @CC@ INSTALL = @INSTALL@ @@ -73,25 +74,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 $(libdir)/ivl/null.tgt +$(libdir)/ivl$(suffix)/null.tgt: ./null.tgt + $(INSTALL_PROGRAM) ./null.tgt $(libdir)/ivl$(suffix)/null.tgt -$(libdir)/ivl/null.conf: $(srcdir)/null.conf - $(INSTALL_DATA) $(srcdir)/null.conf $(libdir)/ivl/null.conf +$(libdir)/ivl$(suffix)/null.conf: $(srcdir)/null.conf + $(INSTALL_DATA) $(srcdir)/null.conf $(libdir)/ivl$(suffix)/null.conf -$(libdir)/ivl/null-s.conf: $(srcdir)/null-s.conf - $(INSTALL_DATA) $(srcdir)/null-s.conf $(libdir)/ivl/null-s.conf +$(libdir)/ivl$(suffix)/null-s.conf: $(srcdir)/null-s.conf + $(INSTALL_DATA) $(srcdir)/null-s.conf $(libdir)/ivl$(suffix)/null-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/null.tgt - rm -f $(libdir)/ivl/null.conf - rm -f $(libdir)/ivl/null-s.conf + rm -f $(libdir)/ivl$(suffix)/null.tgt + rm -f $(libdir)/ivl$(suffix)/null.conf + rm -f $(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 8f9b41078..5f3c7c9aa 100644 --- a/tgt-stub/Makefile.in +++ b/tgt-stub/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -74,26 +76,28 @@ 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 \ $(includedir)/vpi_user.h -$(libdir)/ivl/stub.tgt: ./stub.tgt - $(INSTALL_PROGRAM) ./stub.tgt $(libdir)/ivl/stub.tgt +$(libdir)/ivl$(suffix)/stub.tgt: ./stub.tgt + $(INSTALL_PROGRAM) ./stub.tgt $(libdir)/ivl$(suffix)/stub.tgt -$(libdir)/ivl/stub.conf: stub.conf - $(INSTALL_DATA) $< $(libdir)/ivl/stub.conf +$(libdir)/ivl$(suffix)/stub.conf: stub.conf + $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub.conf -$(libdir)/ivl/stub-s.conf: stub-s.conf - $(INSTALL_DATA) $< $(libdir)/ivl/stub-s.conf +$(libdir)/ivl$(suffix)/stub-s.conf: stub-s.conf + $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/stub.tgt + 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-vvp/Makefile.in b/tgt-vvp/Makefile.in index 27232e525..6715d5a0b 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@ @@ -67,10 +69,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 @@ -84,23 +86,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 $(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) $< $(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) $< $(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 $(libdir)/ivl + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(libdir)/ivl/vvp.tgt + 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 4310e240c..f7fc29ed4 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 32c60389e..8920871ea 100644 --- a/vpi/Makefile.in +++ b/vpi/Makefile.in @@ -23,6 +23,8 @@ SHELL = /bin/sh VERSION = 0.0 +suffix = @install_suffix@ + prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ @@ -33,7 +35,7 @@ bindir = @bindir@ libdir = @libdir@ includedir = $(prefix)/include -vpidir = $(libdir)/ivl/@vpidir1@ +vpidir = $(libdir)/ivl$(suffix)/@vpidir1@ strip_dynamic=@strip_dynamic@ @@ -48,7 +50,7 @@ LDFLAGS = @LDFLAGS@ STRIP = @STRIP@ ifeq (@enable_vvp32@,yes) -vpidir32 = $(libdir)/ivl/@vpidir2@ +vpidir32 = $(libdir)/ivl$(suffix)/@vpidir2@ ALL32 = all32 INSTALL32 = install32 UNINSTALL32 = uninistall32 @@ -119,14 +121,13 @@ distclean: clean check: all - -install: all installdirs $(vpidir)/system.vpi $(libdir)/ivl/system.sft $(INSTALL32) +install: all installdirs $(vpidir)/system.vpi $(libdir)/ivl$(suffix)/system.sft $(INSTALL32) $(vpidir)/system.vpi: ./system.vpi $(INSTALL_PROGRAM) ./system.vpi $(vpidir)/system.vpi $(STRIP) $(strip_dynamic) $(vpidir)/system.vpi -$(libdir)/ivl/system.sft: system.sft +$(libdir)/ivl$(suffix)/system.sft: system.sft $(INSTALL_DATA) $< $@ installdirs: ../mkinstalldirs @@ -134,7 +135,7 @@ installdirs: ../mkinstalldirs uninstall: $(UNINSTALL32) rm -f $(vpidir)/system.vpi - rm -f $(libdir)/ivl/system.sft + rm -f $(libdir)/ivl$(suffix)/system.sft -include $(patsubst %.o, dep/%.d, $O) diff --git a/vpi/configure.in b/vpi/configure.in index 172378351..32f008893 100644 --- a/vpi/configure.in +++ b/vpi/configure.in @@ -78,6 +78,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 238e10d18..e865a9118 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@ @@ -55,9 +57,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 ifeq (@enable_vvp32@,yes) @@ -173,18 +175,18 @@ vvp.pdf: $(srcdir)/vvp.man ifeq (@WIN32@,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 @@ -192,41 +194,41 @@ Makefile: Makefile.in config.status ./config.status -install: all installdirs $(bindir)/vvp@EXEEXT@ $(libdir64)/libvpi.a $(INSTALL_DOC) $(INSTALL32) +install: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir64)/libvpi$(suffix).a $(INSTALL_DOC) $(INSTALL32) -$(bindir)/vvp@EXEEXT@: ./vvp@EXEEXT@ - $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(bindir)/vvp@EXEEXT@ +$(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@ + $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(bindir)/vvp$(suffix)@EXEEXT@ -$(libdir64)/libvpi.a : ./libvpi.a - $(INSTALL_DATA) libvpi.a $(libdir64)/libvpi.a +$(libdir64)/libvpi$(suffix).a : ./libvpi.a + $(INSTALL_DATA) libvpi.a $(libdir64)/libvpi$(suffix).a -$(mandir)/man1/vvp.1: $(srcdir)/vvp.man - $(INSTALL_DATA) $(srcdir)/vvp.man $(mandir)/man1/vvp.1 +$(mandir)/man1/vvp$(suffix).1: $(srcdir)/vvp.man + $(INSTALL_DATA) $(srcdir)/vvp.man $(mandir)/man1/vvp$(suffix).1 $(prefix)/vvp.pdf: vvp.pdf - $(INSTALL_DATA) vvp.pdf $(prefix)/vvp.pdf + $(INSTALL_DATA) vvp.pdf $(prefix)/vvp$(suffix).pdf installdirs: $(srcdir)/mkinstalldirs $(srcdir)/mkinstalldirs $(bindir) $(libdir) $(libdir64) $(INSTALL_DOCDIR) ifeq (@enable_vvp32@,yes) -install32: all32 $(libdir)/libvpi.a $(bindir)/vvp32 +install32: all32 $(libdir)/libvpi$(suffix).a $(bindir)/vvp32$(suffix) -$(libdir)/libvpi.a: bin32/libvpi.a - $(INSTALL_DATA) bin32/libvpi.a $(libdir)/libvpi.a +$(libdir)/libvpi$(suffix).a: bin32/libvpi.a + $(INSTALL_DATA) bin32/libvpi.a $(libdir)/libvpi$(suffix).a -$(bindir)/vvp32: ./vvp32 - $(INSTALL_PROGRAM) ./vvp32 $(bindir)/vvp32 +$(bindir)/vvp32$(suffix): ./vvp32 + $(INSTALL_PROGRAM) ./vvp32 $(bindir)/vvp32$(suffix) uninstall32: - rm -f $(libdir)/libvpi.a - rm -f $(bindir)/vvp32 + rm -f $(libdir)/libvpi$(suffix).a + rm -f $(bindir)/vvp32$(suffix) endif uninstall: $(UNINSTALL32) - rm -f $(bindir)/vvp@EXEEXT@ - rm -f $(libdir64)/libvpi.a - rm -f $(mandir)/man1/vvp.1 + rm -f $(bindir)/vvp$(suffix)@EXEEXT@ + rm -f $(libdir64)/libvpi$(suffix).a + rm -f $(mandir)/man1/vvp$(suffix).1 -include $(patsubst %.o, dep/%.d, $O) diff --git a/vvp/configure.in b/vvp/configure.in index 45eee314e..6a652aedb 100644 --- a/vvp/configure.in +++ b/vvp/configure.in @@ -2,6 +2,9 @@ AC_INIT(Makefile.in) AC_CONFIG_HEADER(config.h) AC_PROG_CC + +AX_ENABLE_SUFFIX + AC_PROG_CXX AC_PROG_RANLIB AC_CHECK_TOOL(STRIP, strip, true)