Browse files

autoconf the makefiles.

  • Loading branch information...
1 parent 09cfbc6 commit 471d389c8ccf0bf6eabfbae6ca6cc80243fb48d0 steve committed Apr 25, 1999
Showing with 914 additions and 32 deletions.
  1. +5 −0 .cvsignore
  2. +339 −0 COPYING
  3. +181 −0 INSTALL
  4. +0 −31 Makefile
  5. +89 −0
  6. +14 −1 README.txt
  7. +8 −0
  8. +238 −0 install-sh
  9. +40 −0 mkinstalldirs
@@ -4,3 +4,8 @@

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,181 @@
+Basic Installation
+ These are generic installation instructions.
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+ The file `' is used to create `configure' by a program
+called `autoconf'. You only need `' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+The simplest way to compile this package is:
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+ 2. Type `make' to compile the package.
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+Compilers and Options
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+Compiling For Multiple Architectures
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+Installation Names
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+Optional Features
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+Specifying the System Type
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+Sharing Defaults
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/' if it exists, then
+`PREFIX/etc/' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+Operation Controls
+ `configure' recognizes the following options to control how it
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+ Print a summary of the options to `configure', and exit.
+ Do not print messages saying which checks are being made.
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+`configure' also accepts some other, not widely useful, options.
@@ -1,31 +0,0 @@
-CXXFLAGS = -O -g -Wall -Wno-uninitialized
-%.o dep/%.d:
- $(CXX) $(CXXFLAGS) -MD -c $< -o $*.o
- mv $*.d dep/$*.d
-#TT = t-debug.o t-vvm.o
-TT = t-null.o t-verilog.o t-vvm.o t-xnf.o
-FF = nobufz.o propinit.o sigfold.o stupid.o xnfio.o
-O = main.o cprop.o design_dump.o elaborate.o emit.o eval.o lexor.o mangle.o \
-netlist.o parse.o parse_misc.o pform.o pform_dump.o verinum.o target.o \
-targets.o Module.o PExpr.o PGate.o Statement.o $(FF) $(TT)
-ivl: $O
- $(CXX) $(CXXFLAGS) -o ivl $O
- rm *.o parse.h dep/*.d
-lexor.o dep/lexor.d: parse.h
-parse.h parse.y
- bison --verbose -t -p VL -d parse.y -o
- mv parse.h
- lexor.lex
- flex -PVL -s lexor.lex
--include $(patsubst %.o, dep/%.d, $O)
@@ -0,0 +1,89 @@
+# This source code is free software; you can redistribute it
+# and/or modify it in source code form under the terms of the GNU
+# Library General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option)
+# any later version. In order to redistribute the software in
+# binary form, you will need a Picture Elements Binary Software
+# License.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Library General Public License for more details.
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc.,
+# 59 Temple Place - Suite 330
+# Boston, MA 02111-1307, USA
+#ident "$Id:,v 1.1 1999/04/25 21:54:33 steve Exp $"
+SHELL = /bin/sh
+VERSION = 0.0
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+srcdir = @srcdir@
+VPATH = $(srcdir)
+bindir = $(exec_prefix)/bin
+libdir = $(exec_prefix)/lib
+includedir = $(prefix)/include
+CC = @CC@
+CXX = @CXX@
+all: ivl
+ rm *.o parse.h dep/*.d
+TT = t-null.o t-verilog.o t-vvm.o t-xnf.o
+FF = nobufz.o propinit.o sigfold.o stupid.o xnfio.o
+O = main.o cprop.o design_dump.o elaborate.o emit.o eval.o lexor.o mangle.o \
+netlist.o parse.o parse_misc.o pform.o pform_dump.o verinum.o target.o \
+targets.o Module.o PExpr.o PGate.o Statement.o $(FF) $(TT)
+Makefile: config.status
+ ./config.status
+ivl: $O
+ $(CXX) $(CXXFLAGS) -o ivl $O
+%.o dep/%.d:
+ $(CXX) $(CXXFLAGS) -MD -c $< -o $*.o
+ mv $*.d dep/$*.d
+lexor.o dep/lexor.d: parse.h
+parse.h parse.y
+ bison --verbose -t -p VL -d parse.y -o
+ mv parse.h
+ lexor.lex
+ flex -PVL -s lexor.lex
+install: all installdirs
+installdirs: mkinstalldirs
+ $(srcdir)/mkinstalldirs $(includedir) $(bindir)
+-include $(patsubst %.o, dep/%.d, $O)
@@ -13,7 +13,7 @@ INVOKING
The vl command is the compiler driver, that invokes the parser,
optimization functions and the code generator.
-Usage: vl [-s <module>] [-o <file>] [-D] [-F <name>] [-t <name>] file
+Usage: vl <options>... file
vl -h
-F <name>
@@ -37,11 +37,24 @@ Usage: vl [-s <module>] [-o <file>] [-D] [-F <name>] [-t <name>] file
target specific information to the target backend, or
options/parameters to optimization functions, if any are defined.
+-N <file>
+ Dump the elaborated netlist to the named file. The netlist is
+ the folly elaborated netlist, after all the function modules
+ are applied and right before the output generator is
+ called. This is an aid for debugging the compiler, and the
+ output generator in particular.
-o <file>
Normally, the generated result is sent to standard
output. Use the -o flag to specify an output file for the
generated result.
+-P <file>
+ Write the PForm of the parsed input to the specified file.
+ The pform is the compiler's understanding of the input after
+ parsing and before elaboration. This is an aid for debugging
+ the compiler.
-s <module>
Normally, vl will elaborate the only module in the source
file. If there are multiple modules, use this option to select
@@ -0,0 +1,8 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl Checks for programs.
Oops, something went wrong.

0 comments on commit 471d389

Please sign in to comment.