Skip to content

Commit e8b47b4

Browse files
author
dtrg
committed
Added some new readmes at the top level.
1 parent 5c8a5ed commit e8b47b4

File tree

4 files changed

+207
-3
lines changed

4 files changed

+207
-3
lines changed

.distr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Action
22
Copyright
33
NEW
44
README
5+
TODO
56
TakeAction
67
bin
78
doc

NEW

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
This is ACK distribution 5.2.
1+
This is ACK distribution 5.6.
2+
3+
This is a minor update of 5.5, the last public release from Vrije University.
4+
Only minor changes have been made to make the system build on modern
5+
platforms.
6+
7+
The NEW document from the previous release follows.
8+
9+
David Given
10+
dg@cowlark.com 2005-06-24
11+
12+
-----------------------------------------------------------------------------
213

314
The only addition with respect to the 5th ACK distribution is the support
415
for Solaris 2 on SPARCs. It also contains many bug fixes.

README

Lines changed: 174 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,174 @@
1-
Before starting installation you should read
2-
the file doc/install.pr
1+
# $Source$
2+
# $State$
3+
4+
Installing the ACK on a modern platform
5+
=======================================
6+
7+
This document provides some very quick and dirty instructions for installing
8+
the ACK on a modern platform. It is not intended as a substitute for the
9+
real instructions, which can be found in doc/install.pr.
10+
11+
Let me repeat myself:
12+
13+
THE FULL INSTALLATION INSTRUCTIONS ARE IN doc/install.pr.
14+
15+
The ACK is a very large and complex package and has received minimal
16+
maintenance for the best part of a decade. During that time, the Unix
17+
world has moved on, and many APIs have changed. It compiles cleanly on
18+
my, dtrg's, test machine, which is a Debian Ubuntu Linux system. Your
19+
mileage may vary.
20+
21+
All disclaimers now done, now on to the good stuff:
22+
23+
Building the ACK
24+
----------------
25+
26+
I'm assuming you're using Linux here, because that's what I use. If you
27+
don't use Linux, please let me know if you have any trouble and I'll update
28+
the instructions.
29+
30+
1. Configure the build.
31+
32+
To do this, run the first/first script. You will be asked several
33+
questions.
34+
35+
* What is the root of the ACK source tree?
36+
37+
This is the directory that you have unpacked the distribution into.
38+
For example, /home/dg/src/Ack-5.6.
39+
40+
* What is the root of the configuration tree?
41+
42+
This is the directory that the build process will use for temporary
43+
files. You'll only need this during the compilation process; it can
44+
be removed afterwards.
45+
For example, /tmp/ack-conf
46+
47+
* What is the root of the ACK binaries?
48+
49+
This is the ACK's installation path; where the binaries will live.
50+
This needs to be writable during the build process --- if you want
51+
to install in /usr/local, you either have to make /usr/local
52+
writable or compile as root. Sorry!
53+
54+
* What is your system type?
55+
56+
Linux isn't on the list. Choose ANY.
57+
58+
* Is this the system you are running on?
59+
60+
Yes.
61+
62+
* Are you satisfied?
63+
64+
Yes.
65+
66+
* What default machine do you wish to compile for?
67+
68+
The ACK wants to know what architecture to target if you don't manually
69+
specify an architecture. Unfortunately, it can't generate runnable
70+
binaries for Linux or any other modern system (except possible Solaris
71+
on Sparc). I'd recommend you choose em44. This will produce portable
72+
binaries using the ACK's intermediate format, which you can run using
73+
the int interpreter.
74+
75+
* What kind of Unix are you running?
76+
77+
Linux is a mixture, but I pick SYS_5 and it works.
78+
79+
* Do you wish to limit the installation?
80+
81+
No. If you pick Yes, the script will ask detailed questions about
82+
exactly what you want to build. Modern systems are fast enough that
83+
we may as well build everything.
84+
85+
* Which system call library do you wish to use on the VAX?
86+
87+
I don't have a VAX; the only person I know who has one uses it to vacuum
88+
his carpets. I pick libsysV_2 with no ill effects.
89+
90+
If the configuration script is happy, it will generate a script called
91+
INSTALL.
92+
93+
2. Do the compilation.
94+
95+
The configuration script will recommend a command line. Execute this. On
96+
modern systems, the compilation doesn't take long.
97+
98+
Check the output of the configuration script for "Failed" lines. On my
99+
system there are two:
100+
101+
$ grep Failed INSTALL.out
102+
Failed for Intel 8080 download programs, see dl/Out
103+
Failed for Intel 8080 support
104+
105+
You can ignore these. They aren't important.
106+
107+
3. Use the ACK.
108+
109+
Ensure that the ACK's binary directory is on your path; this is /bin in
110+
the directory you specified during the configuration process. In my
111+
example, this is /usr/local/bin. The /man subdirectory should go on your
112+
manpath.
113+
114+
To test your path, do: ack
115+
116+
This should return silently.
117+
118+
To test your manpath, do: man ack
119+
120+
This will produce the documentation for the main compiler driver.
121+
122+
If this works, you can remove the conf tree (/tmp/ack-conf in my example).
123+
124+
Gotchas
125+
-------
126+
127+
There are some things you should be aware of.
128+
129+
* The ACK's archiver tool is called 'arch'. This conflicts on Linux platforms
130+
with a utility that displays the current architecture. If your compilation
131+
occasionally fails obscurely and displays something like 'i686', you are
132+
running afoul of this. As a workaround, rearrange your path so the ACK's
133+
bin directory comes first --- but do be aware that some Linux system
134+
tools may stop working.
135+
136+
* By default, the ack tool will compile K&R C. Practically all C source these
137+
days is ANSI C --- use the -ansi switch to enable ANSI mode. No, the ACK is
138+
not C99 compatible.
139+
140+
* Not all combinations of optimisation and architectures work. This is
141+
perfectly normal, but the combinations are not well documented. Everything
142+
supports -O.
143+
144+
Disclaimer
145+
----------
146+
147+
The ACK is mature, well-tested software, but the environment in which it was
148+
developed for and tested under is rather different from that available on
149+
today's machines. There will probably be little in the way of logical bugs,
150+
but there may be many compilation and API bugs.
151+
152+
If you wish to use the ACK, *please* join the mailing list. We are interested
153+
in any reports of success and particularly, failure. If it does fail for you,
154+
we would love to know why, in as much detail as possible. Bug fixes are even
155+
more welcome.
156+
157+
The ACK is licensed under a BSD-like license. Please see the 'Copyright' file
158+
for the full text.
159+
160+
You can find the mailing list on the project's web site:
161+
162+
http://tack.sourceforge.net/
163+
164+
Please enjoy.
165+
166+
David Given (dtrg on Sourceforge)
167+
dg@cowlark.com
168+
2005-06-24, 23:53
169+
170+
# Revision history
171+
# $Log$
172+
# Revision 2.2 2005-06-24 23:20:41 dtrg
173+
# Added some new readmes at the top level.
174+
#

TODO

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# $Source$
2+
# $State$
3+
4+
This file contains things that I have noticed need fixing, but have not
5+
yet been fixed. Everything here should be reasonably low priority. Some
6+
bugs have been bodged around to make things work; these are all marked in
7+
the source with FIXME tags.
8+
9+
10+
* util/int needs to be rewritten to emulate sgtty with termios; look for
11+
FIXMEs.
12+
13+
* mach/i80/dl/nascom.c needs to be rewritten to use termios, not sgtty.
14+
15+
16+
# Revision history
17+
# $Log$
18+
# Revision 2.1 2005-06-24 23:20:41 dtrg
19+
# Added some new readmes at the top level.
20+
#

0 commit comments

Comments
 (0)