File: INSTALL

package info (click to toggle)
savant 1.02.1-1
  • links: PTS
  • area: main
  • in suites: potato, woody
  • size: 9,076 kB
  • ctags: 8,973
  • sloc: cpp: 70,113; sh: 1,792; makefile: 157
file content (115 lines) | stat: -rw-r--r-- 5,556 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
SCRAM:

scram has now gotten quite large and requires a "makedepend" with a larger
parameter for MAXFILES.  This is found in "def.h" of the makedepend source
and we have increased the value of MAXFILES to 2048.  you must have an
appropriately modified "makedepend" to build scram.  For your convenience,
we have provided some binaries in the savant bin directory.  The
executables for a SUN workstation running SOLARIS 2.5 are available with
the suffix ".solaris2.5" and the executables for a x86 box running linux
(elf format) are avaliable with the suffix ".linux-gnu".

Beginning with version 0.9.1 of SAVANT, the configure script will look for
g++, and use it to build dependencies.  If it can't find g++, _then_ it
will look for an augmented make depend. The developers have noticed that
using g++ for dependencies occasionally produces bad results - sometimes
not everything gets recompiled that should.  This will only be a problem if
you're actively developing extensions to SAVANT.  If you make changes to
Savant's source, you recompile, and it segfaults, try doing a "make clean"
and recompiling.  If this fixes the segfault, you've found a bug in make or
in g++'s dependency generator.  When we track this down, we'll report it to
the FSF, who produces those tools.

In addition to this archive, you need the Purdue Compiler Construction Tool
Set (PCCTS).  This is a freely available system - it can be ftped from
http://www.polhode.com/pccts133mr.html.  Specifically, you need the header
files from the archive, and an "antlr" binary.  (dlg is not required -
SAVANT uses a flex lexer.)  After installing PCCTS, you need to set an
environment variable, "PCCTSROOT", to the directory where PCCTS's header
files are located in order for them to be found by configure and the
Makefile.

Other tools required to build scram include GNU make, and flex.  Most
development of SAVANT has used "g++", but we have attempted to use "normal"
features of C++ such that any reasonable C++ compiler in a unix-like
environment should be sufficient.  (For instance, SunPro 4.2 under Solaris
is occasionally used by the developers to build scram.)

Versions of these tools used by the developers at the time of writing
these directions - hopefully nothing is extremely dependent on minor
versions:
make	- version 3.77 (See "Note About Make 3.77" at the bottom if
                        you're running Solaris.)
flex	- version 2.5.4
g++	- version egcs-2.91.60 (egcs 1.1.1 release)
antlr	- version 1.33MR12b

For this release, we've tried to maintain compatibility with g++2.7.2.
This will most likely not remain true in the future, as the egcs versions
of g++ adhere more closely to the c++ standard.

Once things are set up as described in the preceding paragraphs, building
scram itself should be simple.  Simply run the configure script in the
src directory (savant/src), build dependencies with "make depend", and then
build scram with "make".

Note that if "make depend" produces some error messages (especially under
linux), that it is normally safe to ignore them.  (Linux header files are
set up so they can only be preprocessed by gcc without errors, and
makedepend is definitely _not_ gcc.)  Your dependencies should still be
built correctly.

The binary executable "scram" will be produced and placed in the bin
directory (savant/bin). 

You can now "install" scram by running "make install".  By default, it will
be placed in /usr/local/bin, and a couple of tiny libraries will be place
in "/usr/local/lib/savant/lib".  If you want to install scram somewhere
else, you can edit the Makefile and change "DESTDIR = /usr/local" to
something else.  If you do this, the binary has hardcoded in it where to
look for it's libraries and you'll need to define an environment variable
"SAVANTROOT" to tell it where to find them.  If you're running csh or a
similar shell and you installed it in your home directory (by setting
DESTIDIR = <your home dir> before running "make install", you'll need to do
something like "setenv SAVANTROOT <your home dir>/savant".  If you're
running sh or a shell similar to it, you'll need to do "SAVANTROOT=<your
home directory>/savant; export SAVANTROOT".  See the documentation for your
shell for details.

In order to simulate VHDL, there are some more requirements.  Please see
the file "INSTALL-FOR-SIMULATION" for more info.


Note About Make 3.77

We've run into problems with gnu-make 3.77 on Solaris 2.6 and 2.7.  Here's
what make's authors say about it:

The wildcard function is broken in GNU make 3.77 for Solaris 2.6 and
above.  It works on Solaris before 2.6.  It will be fixed in the next
release of GNU make.  In the meantime:

> You can either:
>
>  1) Run the make you built on Solaris 2.5 or 2.5.1, on 2.6+; this will
>     work fine but you won't get large file support (not a major issue
>     for most people, I'm sure).
>
>  2) After building a (broken) make on Solaris 2.6+, do the following:
>
>       $ rm -f glob/*.o
>       $ make CFLAGS='-g -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
>
>     You can adjust the -g and -O2 options to taste.  The resulting make
>     executable will work correctly on Solaris 2.6+.

Option 2) worked fine for the authors here, but as always your mileage
may vary!  Note that make-3.76.1 has worked on all platforms that we've
tested.

------------------------------------------------------------------------
SAVANT version 1.0
The University of Cincinnati
------------------------------------------------------------------------

Last Revised: February 25, 1999