Skip to content
Snippets Groups Projects
Select Git revision
  • ff14611e0dfca6756278e407a77032f571720840
  • master default protected
  • releases
  • releases/3.0.3
4 results

MAINTENANCE

Blame
  • MAINTENANCE 6.75 KiB
    MAINTENANCE DOCUMENTATION FOR ALBERT PACKAGES
    Daniel Koester, December 2002
    dani@mathematik.uni-freiburg.de
    
    I) Introduction and Maintenance
    ===============================
    
    The albert-x.x packages are now distributed using GNU autoconf 2.53, automake 1.6, and libtool 1.4.2. Since some unusual compilation was necessary, a few hints seemed like a good idea. Here is the general structure of the albert-1.1 packages:
    
                     _________ ALBERT/ __________ src/ _______|--- 1d/
                    /                         \               |--- 2d/ 
                   /__________ BLAS/           -- doc/        |--- 3d/
                  /                                           |--- Common/
                 /____________ DEMO/ __ src/ _______|--- 1d/  |--- ALBERT??_??/
    albert-x.x/ *                                   |--- 2d/  
                 \____________ ALBERT_UTIL/         |--- 3d/
                  \                                 |--- Common/
                   \__________ PLOT_ANSI/ __ src/
                    \
                     \________ SOLVER/ __ src/
                      \
                       \______ [gltools-2-3/] optional
                        \
                         \____ configure.ac and other distribution
                               files
    
    We keep track of the "Makefile.am"s, which are processed by automake to create "Makefile.in"s. Two exceptions:
    1) The "Makefile.in"s in DEMO/src/*d are independently maintained. They have a simple structure compared to "real" "Makefile.in"s produced by automake.
    2) The "Makefile.albert.in" in ALBERT/src/Common/, see below.
    
    The file "configure.ac" is processed by autoconf to create "configure". The script "configure" then processes "Makefile.in"s to create proper Makefiles. The created Makefiles can then be used by us to test compilation and the demo programs. All Makefiles can be called independently from any subdirectory. The "install"-target is used to install a package (defaults for maintenance: albert-x.x/lib/ and albert-x.x/include/ as installation paths for libraries and headers, no shared libraries). There are also several variations of "clean" targets.
    
    
    II) Package contents
    ====================
    
    The following subpackages are included in albert-x.x:
    1) ALBERT
    The main package.
    
    2) BLAS
    Basic Linear Algebra Subroutines, these are compiled if the system on which ALBERT will run does not supply them.
    
    3) DEMO
    A few demonstration programs. This package is not touched by automake and includes several small Makefile.in's in which configure substitutes values like installation paths for libraries and headers. This directory can be copied elsewhere by the user after installation. The Makefiles include "Makefile.albert" which resides in $installdir/include together with the C-header files. They are meant to faciliate the first steps with ALBERT.
    
    4) ALBERT_UTIL
    This package contains the old ALBERT util.c file, now split into several smaller source files. It is compiled to form a separate utility library (message macros, ALBERT memory allocation routines, etc.) and should linked to any program using the ALBERT package.
    It can also be used as a standalone utility library.
    
    5) PLOT_ANSI
    PLOT_ANSI provides tools for displaying X11 graphics, if gltools is not used.
    
    6) SOLVER
    Linear and nonlinear solver routines for ALBERT.
    
    
    III) External packages
    ======================
    
    The gltools package is not part of ALBERT. If it is detected during installation, the file ALBERT/src/Common/gltools.c is included in the ALBERT libraries. The user can specify the path of an already installed gltools-package as a configure option, see INSTALL.
    
    IV) Checking into CVS directory tree
    ====================================
    
    Step 1)
    Do [g]make clean cvs-clean. This deletes all files which are not part of the CVS directory tree, but are in the CVS-maintained directories. Also does "chgrp -R albert *"
    
    Step 2)
      cvs commit