Changeset a56b3a in git for factory/INSTALL


Ignore:
Timestamp:
Oct 28, 1997, 6:27:48 PM (27 years ago)
Author:
Jens Schmidt <schmidt@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'aefe9ae36ec8df52dbdbefda02828f18f27715b3')
Children:
e4126ace46ae0b2e08ae0ce999784ad0aa4591df
Parents:
bee961a23de01f8d01feadc945c768843ae13239
Message:
	* INSTALL: doc fix.  Updated to 1.3b.


git-svn-id: file:///usr/local/Singular/svn/trunk@864 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/INSTALL

    rbee961 ra56b3a  
    11
    22
    3        --- This INSTALL file corresponds to Factory version 1.3a ---
     3      --- This `INSTALL' file corresponds to Factory version 1.3b ---
    44
    55
     
    99NOTE: The copyright state of Factory is still unclear.  Sooner or later it
    1010will be free software, but by now please do *not* distribute the sources.
     11
    1112
    1213Overview                                Installation for the impatient
     
    14151. Configuring Factory                  ./configure
    15162. Building Factory                     make all
    16 3. Creating GF(q) tables                make gftables
     173. Creating GF(q) Tables                make gftables
    17184. Installing Factory                   make install
    18 5. Installing GF(q) tables              make installgftables
     195. Installing GF(q) Tables              make installgftables
     206. Testing Installation of Factory      make installtest
    1921
    2022
    21231. Configuring Factory
    2224======================
    23   The configure shell script attempts to guess correct values for various
     25  The `configure' shell script attempts to guess correct values for various
    2426system-dependent variables used during compilation.  It uses those values
    25 to create a GNUmakefile and a config.h file containing system-dependent
    26 definitions.  Finally, it creates a shell script config.status that you can
    27 run in the future to recreate the current configuration, a file
    28 config.cache that saves the results of its tests to speed up reconfiguring,
    29 and a file config.log containing compiler output (useful mainly for
    30 debugging configure).
     27to create a `GNUmakefile' and a `config.h' file containing system-dependent
     28definitions.  Finally, it creates a shell script `config.status' that you
     29can run in the future to recreate the current configuration, a file
     30`config.cache' that saves the results of its tests to speed up
     31reconfiguring, and a file `config.log' containing compiler output (useful
     32mainly for debugging `configure').
    3133
    3234  If you need to do unusual things to compile the package, please try to
    33 figure out how configure could check whether to do them, and mail diffs or
    34 instructions to the address given in the README file so they can be
    35 considered for the next release.  If at some point config.cache contains
     35figure out how `configure' could check whether to do them, and mail diffs
     36or instructions to the address given in the `README' file so they can be
     37considered for the next release.  If at some point `config.cache' contains
    3638results you don't want to keep, you may remove or edit it.
    3739
    38   The file configure.in is used to create configure by a program called
    39 autoconf.  You only need configure.in if you want to change it or
    40 regenerate configure using a newer version of autoconf.
    41 
    42   Normally, the configure script's guesses are correct.  However, you may
    43 want to check the values it came up with.  Especially the way configure
    44 tries to figure out the path to the GF(q) tables ('GFTABLEDIR') may be
    45 fooled in some circumstances.  See the marked sections in the files
    46 config.h and GNUmakefile which configure created.
     40  The file `configure.in' is used to create `configure' by a program called
     41`autoconf'.  You only need `configure.in' if you want to change it or
     42regenerate `configure' using a newer version of `autoconf'.
     43
     44  Normally, `configure's guesses are correct.  However, you may want to
     45check the values it came up with.  Especially the way `configure' tries to
     46figure out the path to the GF(q) tables (`GFTABLEDIR') may be fooled in
     47some circumstances.  See the marked sections in the files `config.h' and
     48`GNUmakefile' which configure created.  See also the description of the
     49`GNUmakefile' target `installtest', which, among others, tests the
     50installation of the GF(q) tables.
    4751
    4852
     
    5054----------------
    5155  Some systems require unusual options for compilation or linking that the
    52 configure script does not know about.  You can give configure initial
     56`configure' script does not know about.  You can give `configure' initial
    5357values for variables by setting them in the environment.  Using a
    5458Bourne-compatible shell, you can do that on the command line like this:
     
    5660  CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
    5761
    58 Or on systems that have the env program, you can do it like this:
     62Or on systems that have the `env' program, you can do it like this:
    5963
    6064  env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
    6165
    62   In contrast to the GNU-world, Factory is translated with 'CFLAGS=-O2
    63 -fomit-frame-pointer' 'CXXFLAGS=-O2 -fomit-frame-pointer' by default.  If
    64 you do not like this, configure with
     66  In contrast to the GNU-world, Factory is translated with `CFLAGS=-O2
     67-fomit-frame-pointer' `CXXFLAGS=-O2 -fomit-frame-pointer' by default.  If
     68you do not like this, run `configure' with
    6569
    6670  CFLAGS='-g -O' CXXFLAGS='-g -O' ./configure
     
    6872Specifying source and installation directories
    6973----------------------------------------------
    70   configure recognizes the '--srcdir=<srcdir>' option and looks in <srcdir>
    71 for the source files when building Factory.  This is useful if you want to
    72 translate Factory with different configurations (see the corresponding
    73 section).
    74 
    75   By default, 'make install' will install the package's files in
    76 /usr/local/lib, /usr/local/include, etc.  You can specify an installation
    77 prefix other than /usr/local by giving configure the option
    78 --prefix=<path>.
     74  `configure' recognizes the `--srcdir=<srcdir>' option and looks in
     75<srcdir> for the source files when building Factory.  This is useful if you
     76want to translate Factory with different configurations (see the
     77corresponding section).
     78
     79  By default, `make install' will install the package's files in
     80`/usr/local/lib', `/usr/local/include', etc.  You can specify an
     81installation prefix other than `/usr/local' by giving `configure' the
     82option `--prefix=<path>'.
    7983  You can specify separate installation prefixes for architecture-specific
    8084files and architecture-independent files.  If you give configure the option
    81 '--exec-prefix=<path>' the package will use <path> as the prefix for
     85`--exec-prefix=<path>' the package will use <path> as the prefix for
    8286installing the libraries.  The other data files will still use the regular
    8387prefix.
     
    8892  The configure script that comes with Factory recognizes a number of
    8993additional options.  Here is a list of them which you can get entering
    90 './configure --help':
     94`./configure --help':
    9195
    9296  --with-memman(=<memman>) specify Factory memory manager.
    93                           <memman> is either 'old' (default), 'new', or 'no'.
     97                          <memman> is either `old' (default), `new', or `no'.
    9498  --with-gmp(=<gmp_inc_path>(,<gmp_lib_path>))
    9599                          specify where to find gmp library.
     
    97101  --disable-streamio      build Factory without stream IO
    98102  --enable-memdebug=<level> switch on memory management debugging.  Meaningful
    99                           with --with-memman=new only.  <level> may be either
    100                           'no' (default), 'normal', or 'full'.
     103                          with `--with-memman=new' only.  <level> may be either
     104                          `no' (default), `normal', or `full'.
    101105  --enable-assertions     build Factory with assertions activated
    102106  --enable-timing         build Factory so it will print timing information
    103107  --enable-debugoutput    build Factory so it will print debugging information
    104   --enable-gmp            together with --with-Singular means: installation
    105                           in process, be graceful when there is no gmp.h
    106 
    107   For more detailed information, see the README file.  Note that not all
    108 possible combinations of the --with's and --enable's are meaningful.  The
    109 dependencies between them are described in the README file, too.
     108  --enable-gmp            together with `--with-Singular' means: installation
     109                          in process, be graceful when there is no `gmp.h'
     110
     111  For more detailed information, see the `README' file.  Note that not all
     112possible combinations of the `--with's and `--enable's are meaningful.  The
     113dependencies between them are described in the `README' file, too.
    110114
    111115  You can compile the package for more than one configuration at the same
     
    131135  ../configure --srcdir=.. --prefix=/usr/local/factory.opt
    132136  make install
    133   # Better set a symbolic link from one $(gftabledir) to the other.  They
     137  # Better set a symbolic link from one $(gftabledir) to the other.  The
    134138  # GF(q) tables are the same for all configurations.
    135139  make installgftables
     
    140144  Factory translates on Macintosh with the Metroworks CodeWarrior compiler
    141145now.  If you want to build Factory on this or other non-Unix platforms you
    142 either have to configure config.h and GNUmakefile by hand or you have to
    143 create a suitable config.cache file and run configure on a machine that
    144 supports it.
     146either have to configure `config.h' and `GNUmakefile' by hand or you have
     147to create a suitable `config.cache' file and run `configure' on a machine
     148that supports it.
    145149
    146150
     
    150154  Targets/commands for building Factory:
    151155
    152 'make all'
     156`make all'
    153157----------
    154   Builds Factory.  According to configuration, 'make all' builds only
    155 Factory ('make cf') or Factory and the Factory memory manager ('make cf;
     158  Builds Factory.  According to configuration, `make all' builds only
     159Factory (`make cf') or Factory and the Factory memory manager (`make cf;
    156160make mem').
    157161
    158 'make clean', 'make mostlyclean', 'make distclean'
     162`make clean', `make mostlyclean', `make distclean'
    159163--------------------------------------------------
    160164  Deletes all files from the current directory that have been created by
    161 building Factory.  In addition, 'make mostlyclean' deletes the GF(q) tables
    162 if they have been created by 'make gftables'.  'make distclean' is like
    163 'make mostlyclean', but also deletes all files from the current directory
     165building Factory.  In addition, `make mostlyclean' deletes the GF(q) tables
     166if they have been created by `make gftables'.  `make distclean' is like
     167`make mostlyclean', but also deletes all files from the current directory
    164168that have been created by configuring.  If you have unpacked the source and
    165 built the program without creating any other files, 'make distclean' leaves
     169built the program without creating any other files, `make distclean' leaves
    166170only the files that were in the distribution.
    167171
    168 'make TAGS'
     172`make TAGS'
    169173-----------
    170174  Updates a tags table for Factory.
    171175
    172 'make depend'
     176`make depend'
    173177-------------
    174178  Creates dependencies.  Once created, they will be automatically updated as
    175179source files change.  Intended to be used by developers.
    176180
    177 'make ftmpl_inst.o'
     181`make ftmpl_inst.o'
    178182-------------------
    179   Creates the Factory template instantiation.  Necessary when linking
     183  Creates the Factory template instantiations.  Necessary when linking
    180184Factory with your application.
    181185
    182186
    183 3. Creating GF(q) tables
     1873. Creating GF(q) Tables
    184188========================
    185189
     
    188192
    189193There are two possibilities to get the tables:
    190 a) Get them from the net where you got Factory from.  Unpack the archive
    191    factory-gftables.tgz in the source directory (factory-<version>.tgz).
    192 b) Create them using Factory itself.  Since this process does not require
    193    arithmetics in GF(q) there are not any bootstrapping problems.  There
    194    are two targets which accomplish this, the second depending from the
    195    first:
    196 
    197    'make gengftables'
     194o Get them from the net where you got Factory from.  Unpack the archive
     195  `factory-gftables.tgz' in the source directory (`factory-<version>.tgz')
     196  or in the directory in which you are going to build Factory.
     197o Create them using Factory itself.  Since this process does not require
     198  arithmetics in GF(q) there are not any bootstrapping problems.  There
     199  are two targets which accomplish this, the second depending from the
     200  first:
     201
     202   `make gengftables'
    198203   ------------------
    199      Creates the executable gengftables necessary to build the tables.
    200 
    201    'make gftables'
     204     Creates the executable `gengftables' necessary to build the tables.
     205
     206   `make gftables'
    202207   ---------------
    203      Creates a directory gftables/ and executes gengftables.  This is a
     208     Creates a directory `gftables/' and executes `gengftables'.  This is a
    204209   rather time consuming process, so you may want to start it in the
    205    background or as 'nohup' ('nohup make gftables &').
     210   background using `nohup' (`nohup make gftables &').
    206211
    207212
     
    211216  Targets/commands for installing Factory:
    212217
    213 'make install'
     218`make install'
    214219--------------
    215220  Builds and installs Factory.  This target also creates the directories
     
    217222The files are installed in the following directories:
    218223
    219 File            Symb.Name       (Default) phys. location
     224File            Symb.Name       (Default) physical location
    220225------------------------------------------------------------------------
    221226libcf.a         $(libdir)       = /usr/local/lib
     
    235240
    236241gftables/*      $(gftabledir)   = /usr/local/share/factory/gftables
    237   (Factory GF(q) tables, installed by 'make installgftables')
    238 
    239 'make uninstall'
     242  (Factory GF(q) tables, installed by `make installgftables')
     243
     244`make uninstall'
    240245----------------
    241246  Deletes all the installed files that the install target created.  Also
     
    243248
    244249
    245 5. Installing GF(q) tables
     2505. Installing GF(q) Tables
    246251==========================
    247 'make installgftables'
     252  Targets/commands for installing the GF(q) tables.
     253
     254`make installgftables'
    248255----------------------
    249   Installs the GF(q) tables in $(gftabledir).
    250 
    251 'make unistallgftables'
     256  Installs the GF(q) tables in `$(gftabledir)' ( by default this is
     257`/usr/local/share/factory/gftables').
     258
     259`make unistallgftables'
    252260-----------------------
    253261  Uninstalls the GF(q) tables and attempts to delete the directories created
    254262by the installation process.
     263
     264
     2656. Testing Installation of Factory
     266==================================
     267`make installtest'
     268------------------
     269  Builds and runs the small executable `test_install' which tests whether
     270Factory and the GF(q) tables have been configured, built, and installed
     271correctly.
Note: See TracChangeset for help on using the changeset viewer.