Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       attila - A Tool Installer

SYNOPSIS

       attila [ -h ]  [ -S ]  [ -U ]  [ -F ]  [ -A ]
        [ --help ]  [ --ssh ]  [ --user ]  [ --asim ]
        [ --prefix=INSTALL_DIR ]  [ --builddir=BUILD_DIR ]
        --tool=name1 [ --tool=name2... ]
        [ -c- configure_arg1   [  configure_arg2 ... ]   ]
        [ -m- make_arg1  [ make_arg2... ]   ]

DESCRIPTION

       attila  automates  the process of compiling and installing one or more Alliance tools. The
       tool can be installed either in the user's account (during the devellopment stage)  or  in
       the  Alliance  system  wide  tree (for instance /asim/alliance) when a new version is made
       avalaible to all.

       attila proceed with the following steps :

       1.     Checks if the sources of tools are present in the user's  account.  If  not,  check
              them out from the Alliance CVS tree. Note that you must have access to it.

       2.     In  case  of  --asim  or --full installations, attila will fork itself on one Linux
              computer (currently bip) and on one Solaris  computer  (beny).  As  to  connect  on
              thoses  computer  it  will uses rsh so you must setup your ~/.rhosts to access them
              whithout passwords. You also can uses ssh (but the  procedure  to  allow  automatic
              login is more complicated).

       3.     Run autostuff for the tool in the ~/alliance/src directory.

       4.     Run configure in the build directory (see below).

       5.     Install  the  tool in the local install directory (see below) or in the system-wide
              Alliance directory rooted under /asim/alliance.

              After an --asim install: the build directory tree of the tool will  be  removed  to
              avoid messing with further local installations.

   DIRECTORY STRUCTURE
       attila relies on the following tree structure : (all paths below are given relative to the
       user's home directory)

       • ~/alliance/src where the tools sources are to be found.

       • ~/alliance/Linux/build/$TOOL : the top directory under which the tool will  be  compiled
         for Linux.  This is where the configure script will be run.

       • ~/alliance/Linux/install : the top of the install tree when the tool is compiled locally
         for Linux.  Under this directory you will found (at least) : ./bin, ./lib and ./include.

       • ~/alliance/Solaris/build/$TOOL : the tool's build directory for Solaris.

       • ~/alliance/Solaris/install : top of the local install tree for Solaris.

   CVS CHECKOUT
       If the sources of the requested tool(s) are not found under  ~/alliance/src/  attila  will
       try  to check them out. So, as says above, you must have access rights to the Alliance CVS
       tree.

       In addition to the tool(s) sources, it will also checks  for  the  minimal  set  of  files
       needed for configure to run. As for now :

       • autostuff

       • alliance.m4

       • motif.m4

       • Makefile.am

   GUESSING CVSROOT
       The root of the CVS tree will be set according to the following rules :

       1.     Uses the user's environment variable CVSROOT if sets.

       2.     Uses the attila default value sets in attila.conf (variable ATTILA_CVSROOT).

GUESSING ALLIANCE_TOP

       The  root  of  the  Alliance  installed  distribution  tree  will  be set according to the
       following rules :

       1.     Uses the user's environment variable ALLIANCE_TOP if sets.

       2.     Uses the attila default value sets in attila itself (variable ATTILA_ALLIANCE_TOP).

              ALLIANCE_TOP: is set in attila itself because its value is a prerequisite  to  load
              the configuration file attila.conf which is in the directory $ALLIANCE_TOP/etc/.

ARGUMENTS

       attila accepts the followings arguments :

       • -h, --help : print help.

       • -S,  --ssh :  uses  ssh  instead  of  rsh to connect to the remote computers (in case of
         --asim or --full).

       • -U, --user : perform a local installation.

       • -F, --full : install for all avalaibles architectures (currently Linux and Solaris).

       • -A, --asim : install in the system-wide directory (/asim/alliance).

       • --prefix=INSTALL_DIR : override the default installation directory.

       • --builddir=BUILD_DIR : override the default building directory.

       • --tool=name1 : name of the tool to be installed.

       • -c- configure_arg1 : all arguments following -c- (until a -m- is encountered) are passed
         as  is  to  the subsequent call to configure. For example, if you want to first use your
         local libraries, give --enable-devel.  If you want to link or install dynamic libraries,
         give  --enable-alc-shared  for  alliance  libraries  and  give --enable-shared for other
         libraries.

       • -m- make_arg1 : all arguments following -m- are passed as is to the subsequent  call  to
         make.  If  no  -m-  argument is given, then install is assumed. If you want to completly
         uninstall a tool and clean it's build directory you can pass uninstall clean

CONFIGURATION FILE ATTILA.CONF

       The configuration file is located in $ALLIANCE_TOP/etc. This file is to be read by the  sh
       shell. It sets up the following variables :

       • LINUX_TARGET : the computer where to compile for the Linux architecture (default bip).

       • LINUX_CC : the name or full path to to the C compiler for Linux system (default gcc3).

       • LINUX_CXX  :  the  name  or  full  path to to the C++ compiler for Linux system (default
         g++3).

       • SOLARIS_TARGET : the computer where to compile for  the  Solaris  architecture  (default
         beny).

       • SOLARIS_CC  :  the  name  or  full path to to the C compiler for Solaris system (default
         /usr/local/gcc-3.0.4/bin/g++3).

       • SOLARIS_CXX : the name or full path to to the C++ compiler for Solaris  system  (default
         /usr/local/gcc-3.0.4/bin/g++3).

       • ATTILA_CVSROOT     :     the    root    of    the    Alliance    CVS    tree    (default
         /users/outil/alliance/cvsroot).

       • CVS_STARTUP_FILES : the minimal set of files needed to run configure.

EXAMPLES

       Compile & install nero tool on the local computer (must be either a  Linux  or  a  Solaris
       one) :

       $ attila --tool=nero

       Compile  &  install  nero tool for all architectures (currently only Linux and Solaris are
       supported) :

       $ attila --full --tool=nero

       Compile & install nero tool in the system-wide directory (a new version  for  everyone  to
       use) :

       $ attila --asim --tool=nero

       Compile  & install mbk then genlib (the order is significant) in a row for a local install
       on the current computer :

       $ attila --tool=mbk --tool=genlib

       Compile nero tool and link it against the locally installed libraries (if any).

       $ attila --tool=nero -c- --enable-devel

       Remove poire tool from the system-wide tree.  (poire is the old name of nero).

       $ attila --asim --tool=poire -m- uninstall