~ubuntu-branches/ubuntu/trusty/librep/trusty

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Christian Marillat
  • Date: 2001-11-13 15:06:22 UTC
  • Revision ID: james.westby@ubuntu.com-20011113150622-vgmgmk6srj3kldr3
Tags: upstream-0.15.2
ImportĀ upstreamĀ versionĀ 0.15.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
[ this is -*-Text-*- ]
 
2
 
 
3
This is librep, a Lisp system for UNIX. It contains a Lisp interpreter,
 
4
byte-code compiler and virtual machine. Applications may use the Lisp
 
5
interpreter as an extension language, or it may be used for stand-alone
 
6
scripts.
 
7
 
 
8
The Lisp dialect was originally inspired by Emacs Lisp, but with the
 
9
worst features removed. It also borrows many ideas from Scheme.
 
10
 
 
11
It is known to compile on at least Solaris/sparc and Linux/ix86; it is
 
12
released under the terms of the GNU GPL, copyright John Harper
 
13
<jsh@pixelslut.com>
 
14
 
 
15
For more details see:
 
16
 
 
17
        http://librep.sourceforge.net/
 
18
 
 
19
To compile this you'll need GNU make, the GNU MP library (see below)
 
20
and GNU dbm installed. Basically, just do:
 
21
 
 
22
        $ ./configure
 
23
        $ make
 
24
        $ make install
 
25
 
 
26
 
 
27
Notes
 
28
=====
 
29
 
 
30
64-bit systems
 
31
--------------
 
32
 
 
33
If you're on a 64-bit architecture you may want to look at the
 
34
`--with-value-type' configure option. This is an implicitly signed
 
35
integer type (i.e. `int', `long', etc) that is wide enough to store an
 
36
arbitrary pointer without losing any bits.
 
37
 
 
38
It should be detected automatically by the configure script, but if not
 
39
there are two most likely required settings:
 
40
 
 
41
 1. For a machine with 64-bit pointers and longs, but only 32-bit ints
 
42
    the following could be done:
 
43
 
 
44
        $ ./configure --with-value-type=long
 
45
 
 
46
 2. For a machine with both int and long 32-bits, but with 64-bit
 
47
    pointers and long long ints, then:
 
48
 
 
49
        $ ./configure --with-value-type="long long"
 
50
 
 
51
If this option is set incorrectly (i.e. to an integer type that is too
 
52
small) a run-time assertion will be triggered when the interpreter
 
53
initialises itself.
 
54
 
 
55
Also, if this option is set to anything but int, long, or long long,
 
56
then the src/rep_config.h file will need to be edited for the constant
 
57
suffix and printf conversion of the chosen type.
 
58
 
 
59
 
 
60
libgmp
 
61
------
 
62
 
 
63
rep uses GNU MP for it's bignum/rational implementation; you can find
 
64
it at any GNU mirror. GMP versions 2 and 3 are both known to work
 
65
(though version 3 is recommended)
 
66
 
 
67
 
 
68
shared libraries
 
69
----------------
 
70
 
 
71
rep includes plugins providing language bindings for several libraries.
 
72
Because these plugins are implemented as shared objects that are loaded
 
73
at runtime, the libraries they wrap must also be shared libraries on
 
74
most systems. This means that the installed libgdm must be shared, and
 
75
if compiling with readline support, so must libreadline
 
76
 
 
77
 
 
78
cut-down version
 
79
----------------
 
80
 
 
81
The configure script accepts the following options to build restricted
 
82
versions of librep. The resulting library is binary-compatible with the
 
83
normal version.
 
84
 
 
85
  --without-gmp
 
86
 
 
87
    Don't use GNU MP for bignums. Use `long long' as biggest integer
 
88
    type (if available, else just `long'). Also, there is no support
 
89
    for exact rationals, thus (/ 1 2) => 0.5 not 1/2
 
90
 
 
91
  --disable-continuations
 
92
 
 
93
    Don't include support for call/cc or multi-threading. This may be
 
94
    useful for machines with non-linear stacks (old crays?)
 
95
 
 
96
 
 
97
obscure configure options
 
98
-------------------------
 
99
 
 
100
  --enable-dballoc
 
101
 
 
102
    Trace all memory allocations. Not for general use
 
103
 
 
104
  --disable-dbsyms
 
105
 
 
106
    When printing C stack backtraces, don't try to output symbolic
 
107
    addresses
 
108
 
 
109
  --enable-gprof
 
110
 
 
111
    Compile with flags enabling profiling. Also needs --enable-static
 
112
    to be given. Use the `srep' target in the src directory to build a
 
113
    statically linked interpreter (since gprof doesn't profile shared
 
114
    libraries)
 
115
 
 
116
  --with-malloc-alignment=BYTES
 
117
 
 
118
    The minimum alignment of memory returned from malloc (). Defaults
 
119
    to the machine's word size. It's unlikely this will ever need to be
 
120
    specified explicitly
 
121
 
 
122
  --with-stack-direction=DIRECTION
 
123
 
 
124
    Direction of stack growth. -1 for downwards (grows from higher
 
125
    addresses to lower addresses), +1 for upwards. If not given, will
 
126
    try to infer this automatically (though it has been known to fail)
 
127
 
 
128
  --enable-full-name-terminator=CHARACTER
 
129
 
 
130
    If the GECOS fields in your password file contain extra information
 
131
    after the user's full name, this option allows the separator
 
132
    character to be given, letting rep's user-full-name function return
 
133
    the correct information.
 
134
 
 
135
    E.g. some systems have GECOS as a comma-separated list of values,
 
136
    the first of which is the full name. For this case:
 
137
 
 
138
        --enable-full-name-terminator=,
 
139