1 To install Prop, just perform the following steps.
3 (0) You'll need the following gzip'ed and tar'ed file:
5 prop-XXX.tar.gz (around 800+ kbytes)
7 Unzip and untar the file with
9 gzip -d <prop-XXX.tar.gz | tar -xvf -
11 in an appropriate directory.
15 include/ The include files for the libraries
16 lib-src/ The source files for the libraries
17 prop-src/ The source files for the Prop translator
18 tools/ The source files for related tools
20 (1) Run ``make config''
22 (2) Edit the file lib-src/Makefile and change the options to your liking.
23 The default assumes GNU's g++ is used and it compiles everything with
24 debugging info off. You may want to turn this on if debugging
25 is needed. This makefile affects the library.
27 If you don't want/need to use the library for your own development
28 then it really doesn't matter much which options you choose, since
29 the code generated by Prop will only use a tiny part of the library
32 (3) Edit the file prop-src/Makefile to do the same customizing.
33 This affects only the Prop compiler itself.
35 (4) Now run ``make build'' from this directory. This will proceed
36 to create the library, then the prop compiler. This may take a while.
37 You'll need gnumake for this.
39 (5) If compilation succeeds, you can now run the testing procedure by
40 typing ``make test.'' This will proceed to regenerate the prop
41 generated files within the release with your new compiler and test
44 (6) The next step is to compile and run the test programs.
45 Simply run ``make testall'' to compile the test programs.
46 WARNING: unless garbage collection works on your platform, you
47 will get segmentation faults.
49 (7) Assuming nothing goes wrong. You can now complete the final installation
50 step. Edit the top level Makefile and change the variables
51 TARGET_BIN_DIR, TARGET_LIB_DIR and TARGET_INCLUDE_DIR if needed.
53 Run ``make install'' or ``make full-install''.
54 By default, the executables, libraries
55 and include files will go to /usr/local/{bin,lib,include}.
57 'Full install' differs from install in that the entire include
58 directory hierarchy will be copied to $(TARGET_INCLUDE_DIR).
59 With 'install', only a symbolic link will be created; so with 'install'
60 you cannot delete the distribution after installation.
62 (8) Run ``make spotless'' to remove all object files and other
63 intermediate files. WARNING!!! If you do this, you will not be able to
64 rebuild the system if installation is not successful.
66 (9) Now tell your friends and family about this great tool :-)
68 (10) The included ``documentation'' is incomplete and misleading.
73 ------------------------------------------------------------------------------
74 Important for g++ users
76 There is a problem with template instantiation in releases 2.6.1 - 2.6.3
77 of g++. If you get multiple template instantiations during link time,
78 then you have the bug/misfeature.
80 To get around this problem, try adding
82 -fno-implicit-templates
84 as an extra command line argument to g++.
86 If you have already built the library, try deleting all the .o files
88 ------------------------------------------------------------------------------
89 Problems with garbage collection classes in <AD/gc>
91 Reconfiguration may be required to get these classes to work since
92 garbage collection is intimately tied with the OS and the architecture.
93 You can edit the file <AD/gc/gcconfig.h> to customize the parameters.
95 If garbage collection is not needed then you may skip over this
96 area by commenting out the appropriate lines in the file src/Makefile.
98 ------------------------------------------------------------------------------
101 Thanks to Paul Dietz at dietz@mothost.mot.com GC now appears to work