![]() | Department of Computer
Science The University of Arizona Tucson, Arizona IPD243c November 29, 1996 http://www.cs.arizona.edu/icon/docs/ipd243.html |
Makefile
entries for most steps. Those steps are
marked by asterisks. Steps that are optional are enclosed in brackets:
1. Decide where to unload Icon. 2. Unload the Icon hierarchy at the selected place. 3* Check the status of the configuration for your system. 4* Configure the source code for your system. 5* Compile Icon. 6* Run simple tests. [7*] Run extensive tests. [8*] Run benchmarks. [9.] Install Icon at the desired place.
make
is with respect to the Makefile
at the top level of this hierarchy.
"."
.
Icon is distributed in a variety of formats. It requires about 20 MB of
disk space when unloaded. The amount of space it takes to build Icon depends
on the platform, what components are built, and whether intermediate files
are deleted between building components.|-bin------ executable binaries and support files | |-config---|-unix------ UNIX configuration directories | |-docs----- documents | |-ipl------ Icon program library | | |-common---- common source | |-h--------- header files | |-iconc----- Icon compiler source |-icon----|-src------|-icont----- Icon translator source | |-preproc--- preprocessor source | |-rtt------- run-time translator source | |-runtime--- run-time source | |-vtran----- variant translator source | |-xpm------- XPM support | | |-bench----- benchmarks | |-calling--- calling C functions | |-general--- general tests |-tests----|-graphics-- graphics tests |-samples--- sample programs |-vtran----- variant translator testsThere are additional subdirectories that are not shown above.
where name is one of those given in the table in the appendix at the end of this report. For example,make Status name=name
lists the status of the configuration for a Sun 4 workstation running Solaris 2.x.make Status name=sun4 solaris
wheremake Configure name=name
name
is the name of your platform as described above.
For example,
configures Version 9 of Icon for a Sun 4 Workstation, but without graphics facilities.make Configure name=sun4_solaris
X-Configure
instead of Configure
, as in
Note: On some platforms, error exit codes from installation processes may be intercepted bymake X-Configure name=sun4_solaris
make
and result in warning messages. These
messages can be safely ignored.config/unix
(see Reference 2) and restart from the make X-Configure
step.
There may be warning messages on some platforms, but there should be no fatal errors.make Icon
This test compares local program output with the expected output. There should be no differences. If there are no differences, you presumably have a running installation of Icon.make Samples
Some differences are to be expected, since tests include date, time, local host information, and platform-specific formats for floating-point numbers. In addition tomake Test
Test
there are some individual tests of optional
features. See the main Makefile
for more information about
the tests.gpxtest.icn
in test/graphics
.
It should build and run without error, producing a window similar to the
GIF image gpxtest.gif
in the same area.
See also the other material in the subdirectorymake Benchmark
tests/bench
.
It contains a form that you can use to record your benchmarks with the Icon
Project (see Section 9).
bin
in the Icon
hierarchy as the result of building the Icon interpreter:
Some other files related to installing Icon and the optional components mentioned earlier also are placed inicont Icon translator iconx Icon interpreter
bin
. The executable files
needed to run Icon -- icont
and iconx
-- can be
copied or moved to any desired place, and they need not be in the same directory.icont
must know the location of iconx
, it
is necessary to patch icont
if iconx
is moved.
The program patchstr
, also installed in bin
, is
provided for this purpose. It is used as follows:
For example, ifpatchstr icont-location iconx-location
icont
is moved to /usr/local/icont
and iconx
is moved to /usr/local/icon/iconx
, the
patching step is
Patching can be repeated if necessary. The patch value can be checked by usingpatchstr /usr/local/icont /usr/local/icon/iconx
patchstr
without a second argument, as in
which prints the path topatchstr /usr/local/icont
iconx
in /usr/local/icont
.
Makefile
entries that are the
same as for the combined installation, but with the suffix -iconc
to distinguish the compiler. The steps to build the compiler are:
Note: When testing the Icon compiler in conjunction with some C compilers, it may be necessary to remove the optionsmake Icon-iconc make Samples-iconc make Test-iconc make Benchmark-iconc
-p -w
for suppressing
warning messages that appear in icon/tests/general/Makefile
.
The file iconc
needed to run the Icon compiler is placed in
bin
in the Icon hierarchy as the result of building Icon. Files
needed by iconc
also are placed in bin
:
The executable filedlrgint.o
stubs for large integer arithmetic libXpm.a XPM library if configured for graphics rt.a compiler library rt.db compiler database rt.h include file
iconc
can be moved to any place. Similarly,
the files needed by iconc
can be moved to another directory.
There is a Makefile
entry for doing this:
where directory is the directory in which the files needed bymake CopyLib Target=directory
iconc
are to be placed.iconc
must know the location of the files it uses, it
is necessary to patch iconc
if the files it needs are moved:
wherepatchstr iconc-location directory/
iconc-location
is where iconc
is located
and directory
is where the files that iconc
needs
are located. For example, if iconc
is moved to /usr/local/iconc
and the files needed by iconc
are placed in the directory /usr/local/icon/iconc.lib
,
the patching step is
Note that a full path should be used for the directory that contains the filespatchstr /usr/local/iconc /usr/local/icon/iconc.lib/
iconc
needs and that this path must be followed by a
terminating slash. The patching of iconc
can be repeated if
necessary.iconc
can be checked by using patchstr
without a second argument, as in
patchstr /usr/local/iconc
icon_vt
, for creating variant translators, is placed
in bin
during the configuration step described earlier. There
is no separate step for building the variant translator system.There may be warning messages during compilation, but there should be no fatal errors.make Test-vtran
ipl/idol
contains
an object-oriented version of Icon written in Icon. Go to that directory
for more information.iconc
.This puts compiled programs inmake Ipl
ipl/icode
and translated procedures
in ipl/ucode
.No differences should show.make Test-ipl
ipl/icode
and the translated
procedures in ipl/ucode
to other places to make them more accessible,
although they can be used from any location that is readable by the user.
You may wish to copy these manual pages to a standard location for such documentation. If you are replacing an earlier version of Icon, you should delete the obsolete manual pages,icon.1 Icon compiler and interpreter icon_vt.1 Icon variant translator
icont.1
, iconc.1
,
and icon_pi.1
.docs
directory also contains PostScript files for technical
reports related to Version 9 of Icon, including those listed under References.
If you copied components of Icon to other places, you can delete the copies left in the Icon hierarchy.make Clean
Icon ProjectPlease also let us know if you have any suggestions for improvements to the installation process or corrections or refinements to configuration information.
Department of Computer Science
The University of Arizona
P.O. Box 210077
Tucson, AZ 85721-0077
U.S.A.
(520) 621-6613 (voice)
(520) 621-4246 (fax)
icon-project@cs.arizona.edu
Version
9.3 of the Icon Programming Language, The Univ. of Arizona Icon Project
Document IPD278, 1996.
Configuring
the Source Code for Version 9 of Icon, The Univ. of Arizona Icon Project
Document IPD238, 1995.
Variant Translators for Version 9 of
Icon, The Univ. of Arizona Icon Project Document IPD245,
1994.
The Icon Program Library;
Version 9.3, The Univ. of Arizona Icon Project Document IPD279,
1996.
computer UNIX system name Amdahl UTS amdahl_uts Apollo Workstation BSD domain_bsd Astronautics ZS-1 UNIX zs1 AT&T 3B1 (UNIX PC) System III unixpc AT&T 3B2 System V att3b_2 AT&T 3B5 System V att3b_5 AT&T 3B15 System V att3b_15 AT&T 3B20 System V att3b_20 AT&T 3B4000 System V att3b_4000 AT&T 6386 System V att6386 CDC Cyber NOS/VE cdc_vxve Celerity 4.2BSD celerity_bsd Codata 3400 Unisis codata Convergent MegaFrame CTIX mega Convex C240 BSD convex Cray-2 UNICOS cray2 *DEC Alpha OSF/1 Version 3.x dec_osf DEC MIPS Ultrix decstation DG AViiON System V aviion DIAB D-NIX diab_dnix Elxsi-6400 BSD elxsi_bsd Encore UMAX multimax_bsd Gould Powernode UTX gould_pn HP 9000/330 HP-UX hp9000_s300 HP 9000/500 HP-UX hp9000_s500 *HP RISC HP-UX hp_risc IBM 370 AIX ibm370_aix IBM PS/2 AIX ps2_aix IBM RS6000 Workstation AIX rs6000_aix IBM RT Workstation ACIS rtpc_acis IBM RT Workstation AIX rtpc_aix Intel 286 XENIX 286 i286_xenix Intel 386 BSD/OS 2.0 i386_bsdos Intel 386 FreeBSD i386_freebsd Intel 386 Linux i386_linux Intel 386 Linux ix86_linux_elf Intel 386 Solaris i386_solaris Intel 386 System V i386_sysv Intel 386 System V/GNU C i386_sysv_gcc Intel 386 System V, Release 4 i386_svr4 Intel 386 XENIX 386 i386_xenix Intel 386 XENIX 386/GNU C i386_xenix_gcc Intel 486 FreeBSD i486_freebsd_gcc Intergraph Clipper System V clix Macintosh AU/X mac_aux Masscomp 5500 System V masscomp Microport V/AT System V microport MIPS/r3000 System V mips Motorola 8000/400 System V mot_8000 Multiflow Trace UNIX trace NeXT Mach next Plexus P60 System V plexus Pyramid 90x 4.2BSD pyramid_bsd Ridge 32 ROS ridge Sequent Balance 8000 Dynix balance_dynix2 Sequent Symmetry Dynix symmetry Siemens MX500 SINIX mx_sinix *SGI 4D Irix iris4d Stride 460 UniStride stride Sun 2 Workstation SunOS sun2 Sun 3 Workstation SunOS sun3 Sun 3 with 68881 SunOS sun3_68881 Sun 386i SunOS sun386i *Sun 4 Workstation SunOS 4.1 sun4 Sun 4 Workstation SunOS 4.1/GNU C sun4_gcc Sun 4 Workstation SunOS 4.1/Open Windows sun4_openwin Sun 4 Workstation SunOS 4.1/Code Center sun4_saberc *Sun 4 Workstation Solaris 2.x/SunPro C sun4_solaris Sun 4 Workstation Solaris 2.x/Centerline C sun4_solar_clc Sun 4 Workstation Solaris 2.x/GNU C sun4_solar_gcc Unisys 7000/40 4.3BSD tahoe_bsd VAX-11 4.1BSD vax_41_bsd VAX-11 4.2BSD and 4.3BSD vax_bsd VAX-11 System V vax_sysv VAX-11 Ultrix vax_ultrix VAX-11 9th Edition vax_v9