-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
102 lines (71 loc) · 3.9 KB
/
INSTALL
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
To install Prop, just perform the following steps.
(0) You'll need the following gzip'ed and tar'ed file:
prop-XXX.tar.gz (around 800+ kbytes)
Unzip and untar the file with
gzip -d <prop-XXX.tar.gz | tar -xvf -
in an appropriate directory.
The directories are:
include/ The include files for the libraries
lib-src/ The source files for the libraries
prop-src/ The source files for the Prop translator
tools/ The source files for related tools
(1) Run ``make config''
(2) Edit the file lib-src/Makefile and change the options to your liking.
The default assumes GNU's g++ is used and it compiles everything with
debugging info off. You may want to turn this on if debugging
is needed. This makefile affects the library.
If you don't want/need to use the library for your own development
then it really doesn't matter much which options you choose, since
the code generated by Prop will only use a tiny part of the library
for support.
(3) Edit the file prop-src/Makefile to do the same customizing.
This affects only the Prop compiler itself.
(4) Now run ``make build'' from this directory. This will proceed
to create the library, then the prop compiler. This may take a while.
You'll need gnumake for this.
(5) If compilation succeeds, you can now run the testing procedure by
typing ``make test.'' This will proceed to regenerate the prop
generated files within the release with your new compiler and test
if they match.
(6) The next step is to compile and run the test programs.
Simply run ``make testall'' to compile the test programs.
WARNING: unless garbage collection works on your platform, you
will get segmentation faults.
(7) Assuming nothing goes wrong. You can now complete the final installation
step. Edit the top level Makefile and change the variables
TARGET_BIN_DIR, TARGET_LIB_DIR and TARGET_INCLUDE_DIR if needed.
Run ``make install'' or ``make full-install''.
By default, the executables, libraries
and include files will go to /usr/local/{bin,lib,include}.
'Full install' differs from install in that the entire include
directory hierarchy will be copied to $(TARGET_INCLUDE_DIR).
With 'install', only a symbolic link will be created; so with 'install'
you cannot delete the distribution after installation.
(8) Run ``make spotless'' to remove all object files and other
intermediate files. WARNING!!! If you do this, you will not be able to
rebuild the system if installation is not successful.
(9) Now tell your friends and family about this great tool :-)
(10) The included ``documentation'' is incomplete and misleading.
Allen Leung
Jan 1997
------------------------------------------------------------------------------
Important for g++ users
There is a problem with template instantiation in releases 2.6.1 - 2.6.3
of g++. If you get multiple template instantiations during link time,
then you have the bug/misfeature.
To get around this problem, try adding
-fno-implicit-templates
as an extra command line argument to g++.
If you have already built the library, try deleting all the .o files
and recompile.
------------------------------------------------------------------------------
Problems with garbage collection classes in <AD/gc>
Reconfiguration may be required to get these classes to work since
garbage collection is intimately tied with the OS and the architecture.
You can edit the file <AD/gc/gcconfig.h> to customize the parameters.
If garbage collection is not needed then you may skip over this
area by commenting out the appropriate lines in the file src/Makefile.
------------------------------------------------------------------------------
2/26/97.
Thanks to Paul Dietz at dietz@mothost.mot.com GC now appears to work
on Solaris.