%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  install.tex     ACE documentation - installation     Alexander Hulpke
%W                                                      Joachim Neub"user
%W                                                            Greg Gamble
%%
%H  $Id: install.tex,v 1.14 2003/12/22 08:16:25 gap Exp $
%%
%Y  Copyright (C) 2000  Centre for Discrete Mathematics and Computing
%Y                      Department of Computer Science & Electrical Eng.
%Y                      University of Queensland, Australia.
%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Installing and Loading the ACE Package}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Installing the ACE Package}

To install, unpack the archive file, which should have a name of  form
`ace-<XXX>.zoo'  for  some  package  version  number   <XXX>,   as   a
sub-directory in the `pkg' hierarchy of your version of {\GAP}~4. This
might be the `pkg' directory of the {\GAP}~4  home  directory;  it  is
however also possible to keep an additional `pkg'  directory  in  your
private directories. The only  essential  difference  with  installing
{\ACE} in a `pkg' directory different to the {\GAP}~4  home  directory
is  that  one  must  start  {\GAP}   with   the   `-l'   switch   (see
Section~"ref:Command  Line  Options"),  e.g.~if  your  private   `pkg'
directory is a subdirectory of `mygap'  in  your  home  directory  you
might type:

%begintt
\){\kernttindent}gap -l ";<myhomedir>/mygap"
%endtt

where <myhomedir> is the path to your  home  directory,  which  (since
{\GAP}~4.3) may be replaced by a tilde.  The  empty  path  before  the
semicolon is filled in by  the  default  path  of  the  {\GAP}~4  home
directory.

After unpacking the archive, go to the newly created  `ace'  directory
and call `./configure <path>' where <path> is the path to  the  {\GAP}
home directory. So for example if you install the package in the  main
`pkg' directory call

\begintt
./configure ../..
\endtt

This  will fetch  the  architecture  type for  which  {\GAP} has  been
compiled last and create a `Makefile'. Now simply call

\begintt
make
\endtt

to compile the binary and to install it in the appropriate place.

Note that the  current version of the configuration  process only sets
up  directory paths.  If you  need a  different compiler  or different
compiler options, you need to edit `src/Makefile.in'  yourself,  prior
to calling `make'.

If you use this installation of {\GAP} on different hardware platforms
you will have to compile the binary for each platform separately. This
is done by calling `configure',  editing  `src/Makefile.in'  possibly,
and calling `make' for the package anew  immediately  after  compiling
{\GAP} itself for the respective  architecture.  If  your  version  of
{\GAP} is already compiled (and has last been  compiled  on  the  same
architecture)  you  do  not  need  to  compile  {\GAP}  again,  it  is
sufficient  to  call  the  `configure'  script  in  the  {\GAP}   home
directory.

The manual you are currently reading describes how to use  the  {\ACE}
Package; it can be found in the `doc' subdirectory of the package.  If
your manual does not have a table of contents or index, or  has  these
but with  invalid  page  numbers  please  re-generate  the  manual  by
executing

\begintt
./make_doc
\endtt

in the `doc' subdirectory.

The subdirectory `standalone-doc' contains the file `ace3001.ps' which
holds a version of the user manual for the {\ACE} standalone; it forms
part of~\cite{Ram99}). You should consult  it  if  you  are  going  to
switch to  the  {\ACE}  standalone,  e.g.~in  order  to  directly  use
interactive facilities.

The  `src' subdirectory  contains a  copy  of the  original source  of
{\ACE}.  (The  only modification  is  that  a  file `Makefile.in'  was
obtained from  the different `make.xyz' and  will be used  to create a
`Makefile'.)  You  can replace  the source by  a newer  version before
compiling.

If you encounter problems in installation please read the `README'.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Loading the ACE Package}

To use the {\ACE} Package you have  to  request  it  explicitly.  With
{\GAP} 4.4, this is done by calling

\beginexample
gap> LoadPackage("ace");
---------------------------------------------------------------------------
Loading    ACE (Advanced Coset Enumerator) 4.1
GAP code by Greg Gamble <gregg@itee.uq.edu.au> (address for correspondence)
       Alexander Hulpke (http://www.math.colostate.edu/~hulpke)
           [uses ACE binary (C code program) version: 3.001]
C code by  George Havas (http://www.itee.uq.edu.au/~havas)
           Colin Ramsay (http://www.itee.uq.edu.au/~cram)

                 For help, type: ?ACE
---------------------------------------------------------------------------
true
\endexample

\index{banner!suppression}
The banner may be suppressed by providing the version string (`"4.1"')
as second argument and `false' as third argument to the  `LoadPackage'
command.    The    `LoadPackage'    command    is     described     in
Section~"ref:LoadPackage" in the {\GAP} Reference Manual.

If {\GAP} cannot find a working binary, the call to `LoadPackage' will
fail.

If you want to load the {\ACE} package by default,  you  can  put  the
`LoadPackage' command into your `.gaprc'  file  (see  Section~"ref:The
.gaprc file" in the {\GAP} Reference Manual).

*Loading ACE with GAP 4.3*

The remainder of this section is only relevant if you are still  using
{\GAP} 4.3. 

To load {\ACE} with {\GAP} 4.3 you will need to  use  `RequirePackage'
rather than `LoadPackage', and in this case the  banner  will  look  a
little different. In particular, each line starts  with  `\#I',  since
the banner is `Info'-ed at `InfoWarning' level 1, and so will  not  be
observed if the `InfoLevel' of `InfoWarning' is 0.

With {\GAP} 4.3, the banner is also suppressed if  the  global  {\GAP}
variable `QUIET' is `true' or `BANNER' is  `false'  (these  conditions
occur if {\GAP}  is  invoked  with  the  `-q'  or  `-b'  command  line
switches, respectively).

\atindex{option pkgbanner}{@option \noexpand`pkgbanner'}
With {\GAP} 4.3, there is yet one more  way  of  suppressing  {\ACE}'s
banner is to supply the option `pkgbanner' (which does  nothing  under
{\GAP} 4.4) with value `"none"' to the `RequirePackage' command:

\beginexample
gap> RequirePackage( "ace" : pkgbanner := "none" );
true
\endexample

Finally (with {\GAP} 4.3), the full banner is replaced by a  ``short''
1-line loading  message  (`Info'-ed  at  `InfoWarning'  level  1)  if,
instead, `pkgbanner' has the value `"short"':

\begintt
gap> RequirePackage( "ace" : pkgbanner := "short" );
#I  Loading ACE Package Version 4.1
true
\endtt

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E
