
\newpage
\begin{center}
{\Large\bf II}

\vspace{3mm}
{\large\bf INSTALLATION GUIDE}
\end{center}

\hugeskip
This section is addressed to the system administrator of a UNIX 
installation.  It is duplicated in the README files supplied with MaGIC 
and xmagic.  If you have any problems installing either program contact 
the authors.

\vspace{15mm}\noindent
{\large\bf \S2.1\hs{3mm}Installing MaGIC 1.1}

\bigskip
In order to install MaGIC 1.1 you need a directory containing the following 
files.  Those marked `P' are needed for the parallel version 1.1P only; 
those marked `S' are for the sequential version only; those unmarked are 
needed for both versions.
\begin{verbatim}
     Makefile
     MaGIC.h
     MaGIC.U        (P)
     MaGIC.m4       (P)
     MaGIC1.c       (S)
     README
     TR.c
     dialog.c
     isom.c
     lid.c
     logic.c
     logic_io_s.c   (S)
     logic_io_p.c   (P)
     logic_set.c
     logic_test.c
     monmacs (directory)       (P)
        monmacs/Makefile       (P)
        monmacs/c.m4.monmacs   (P)
        monmacs/c.m4.smacs     (P)
        monmacs/cputm.U        (P)
        monmacs/cputm.c        (P)
        monmacs/inmain         (P)
        monmacs/rec.U          (P)
        monmacs/send.U         (P)
        monmacs/shmem.U        (P)
        monmacs/soctest.c      (P)
        monmacs/sox.U          (P)
        monmacs/trace.U        (P)
        monmacs/xptrace.c      (P)
     mp_parse.c
     mstuff (directory)
        mstuff/AX.show
        mstuff/BTW.show
        mstuff/FDL.show
        mstuff/LOG.show
        mstuff/MEN.show
        mstuff/OUT.show
        mstuff/WFF.show
        mstuff/ba.16
        mstuff/dl.10
        mstuff/dln.10
        mstuff/dln.14
        mstuff/l.8
        mstuff/ln.10
        mstuff/po.6
        mstuff/pon.7
        mstuff/pont.8
        mstuff/pot.7
        mstuff/tn.16
        mstuff/to.12
     setup.c
\end{verbatim}
The parallel version of MaGIC has been written using the Argonne Monitor 
Macros package for portable parallel programming.  The part required to 
compile MaGIC has been attached (in the directory \verb|monmacs|) in case 
you do not already have these macros installed on your system.

\smallskip
Before compilation and installation edit the Makefile in the main 
directory of MaGIC\@.  On most systems only the top few lines of the 
Makefile will require editing.  If your system has the header \verb|times.h| 
(not to be confused with \verb|time.h|) then leave the definition of 
\verb|HASTIMES| as it is; otherwise comment it out.  \verb|BIN| defines 
where MaGIC's binaries will go, \verb|MAGLIB| defines the directory in which 
MaGIC's auxiliary files will be installed.  The manual will be installed in 
\verb|$(MANROOT)/man$(MANSECT)| as \verb|magicc.$(MANSECT).Z|, and the 
formatted version will go to \verb|$(MANROOT)/cat$(MANSECT)|\@.  If you 
intend to place the auxiliary files and manual pages in different 
locations you should edit \verb|magic.man| so that the manual page points 
properly to the file locations, and that the manual section (given as 
``L") is also correct.

\smallskip
On our system binary files and manual pages are writable to the group.  
This is reflected in variables \verb|MANDMDE|, \verb|MANMODE| and 
\verb|BINMODE|---modify these if you don't want the group to be allowed 
to write on the binaries and libraries.

\smallskip
To read the command line MaGIC uses AT\&T's function \verb|getopt|\@.  
Under Dynix this means you will have to use the \ $-$lseq \ library during 
linking.  Make sure that \verb|LOCLIB| is so defined if you run Dynix.

\smallskip
If you are installing the parallel version MaGIC 1.1P you need to define the 
number of available processors \verb|NO_OF_PROCS| first.  For sharing 
reasons, you may wish to restrict users to a number smaller than the maximum 
provided by the hardware.  If so just define it as a constant. You will also 
need the Argonne Monitor Macros which reside in \verb|./monmacs|\@.  They 
will be made during installation.  If you prefer to use your own version of 
these macros, redefine \verb|MACDIR| to point to your own directory.  Note 
that these are macros for the Sequent Symmetry. You will need different sets 
of macros for different machines.  The file \verb|MaGIC.m4| contains some 
more macros written by us which may need slight changes for machines other 
than the Sequent Symmetry.

\smallskip
If you are installing the sequential version MaGIC 1.1 you must leave the 
number of processors \verb|NO_OF_PROCS| undefined.  Defining it to be 1 
does {\em not\/} have the same effect.

\smallskip
Once you are happy with the Makefile, type
\begin{verbatim}
     make sequential
\end{verbatim}
to make the sequential version, or
\begin{verbatim}
     make parallel
\end{verbatim}
to make the parallel version.  Note that \verb|make| on its own makes the 
sequential version by default.  Then, if there were no problems with 
compilation and linking, type
\begin{verbatim}
     make install_sequential
\end{verbatim}
or, if you are installing MaGIC 1.1P,
\begin{verbatim}
     make install_parallel
\end{verbatim}
to install MaGIC, MaGIC's libraries and the manual page.  Again, a simple 
\verb|make install| installs the sequential program by default.  Then to 
clean up the source directory type
\begin{verbatim}
     make clean
\end{verbatim}
If you should ever want to remove MaGIC and all its works type
\begin{verbatim}
     make deinstall
\end{verbatim}

\newpage\noindent
{\large\bf \S2.2\hs{3mm}Installing Xmagic}

\bigskip\noindent
To install xmagic you should have a directory \verb|XMDIR| containing the 
following files:
\begin{verbatim}
     Makefile
     README
     actions.c
     axioms.c
     button.c
     conns.c
     defs.h
     dialog.c
     fragment.c
     help (directory)
        help/axioms.hlp
        help/connectives.hlp
        help/formulae.hlp
        help/intro.hlp
        help/logic.hlp
        help/output.hlp
     help.c
     jump.c
     list.c
     pipe.c
     syserr.c
     text.c
     xmagic.c
     xmagic.h
     xmagic.man
\end{verbatim}
Xmagic is an X Windows based front end to MaGIC\@.  Assuming that you 
have a compatible version of MaGIC (xmagic 1.1 requires MaGIC 1.1, while 
xmagic 1.0 requires MaGIC 1.0; in any case MaGIC must support the $-$x 
option which makes it possible to talk to it over a network) and MIT's 
version of X Windows (at least X11/R3 for xmagic 1.0 and X11/R4 for xmagic 
1.1) with the corresponding X Toolkit Athena Widgets, you can install 
xmagic.  To be precise, you must have the following libraries:
\begin{verbatim}
     libXaw.a
     libXmu.a
     libXt.a
     libXext.a
     libX11.a
\end{verbatim}

\smallskip
The installation of xmagic should be straightforward.  First, edit the 
Makefile.  On most systems only the first few lines should be modified.  
If you decide, as is preferable, to run MaGIC itself on a host different 
from your local machine or workstation, you must define \verb|MACHINE| 
and \verb|REMOTE|\@.  Otherwise comment out the line beginning with 
\verb|REMOTE|\@.  The variable \verb|MAGIC| must point to the precise 
location of MaGIC in the directory tree whether on your own or on the 
remote machine. The variable \verb|HELPPATH| must point to the directory 
in which you will put the help files which reside in \verb|help|\@.  This 
directory will be created automatically during the installation so you do 
not have to make it at this stage.  The variable \verb|BIN| points to the 
location of xmagic's executables.

\smallskip
The manual entry xmagic.man will be put in \verb|$(MANROOT/man$(MANSECT)| 
as \verb|xmagic.$(MANSECT)|\@.  Before installation you should also edit 
xmagic.man and modify the lines in section \verb|FILES| to correspond 
with the real location of help and app-defaults files.  Also, change the 
section number (it is ``L") if you decide to put the manual entry not in 
the local section.

\smallskip
The group membership of xmagic's executables is set to bin and the 
ownership to root.  The group membership of the help files and of the 
manual entry is set to man and the ownership to root.  These are not 
essential since xmagic does not require set-uid bits.  However, you 
should check before installation that you have the groups bin and man on 
your system.  If not, change \verb|MANGRP| and \verb|BINGRP| to what you 
prefer it to be.

\smallskip
Having done all of these type
\begin{verbatim}
     make all
\end{verbatim}
in order to compile and link xmagic, and then, if everything goes without 
glitches, type
\begin{verbatim}
     make install
\end{verbatim}
to install xmagic, the help files and the manual pages.

\smallskip
If at some stage you would like to remove xmagic from your system change 
back to directory \verb|XMDIR| and type
\begin{verbatim}
     make deinstall
\end{verbatim}
This will automatically remove xmagic, the help directory and the manual 
pages.

\smallskip
If you would like to modify some of xmagic's defaults site-wide, write 
your preferences on a file \verb|XMagic| and put it in 
\verb|/usr/lib/X11/app-defaults| or whatever else is your 
\verb|XAPPLOADDIR| directory.  See X(1) for more information.

\smallskip
To start xmagic simply type
\begin{verbatim}
     xmagic
\end{verbatim}
If xmagic and MaGIC have been properly installed you should see xmagic's 
main control panel appear on your screen.  If you run MaGIC on a remote 
system you may have to wait a while before the connection is established. 
If xmagic hangs and the main control panel does not fill with labels 
(i.e.\ all the boxes and windows are empty) it means that the connection 
to the remote host is being sought.  On our network the connection is 
usually established within a few seconds. 
If the connection cannot be established xmagic should exit.

\smallskip
Before xmagic quits it sends an ``exit" command to MaGIC rather than a 
kill signal.  However, on occasion, we have observed that MaGIC would 
still hang for a time even after xmagic had aborted. If xmagic is killed, 
MaGIC is very likely to hang.  In this case you may have to kill any 
dangling processes on the remote host manually.  A better signal handling 
facility will be implemented in future releases.

\smallskip
Before running xmagic you should be reasonably acquainted with MaGIC 
itself.  

\smallskip
At this stage xmagic 1.1 has been tested only on Suns 3/50 and 386i running 
X11/R4 under Sun OS 4.0.3 and (on the 386i) 4.0.1\@.  Xmagic 1.1 has been 
tested on the same machines running X11/R4\@.  The remote host was a Sequent 
Symmetry S27 with 8 processors running Dynix(R) V3.0.12\@.  The window 
manager used was twm on the 386i and olwm on the 3/50.

