1Basic Installation 2================== 3 4 For more information specific to this package, please read the README 5file. This source code distribution is autoconfiguring and you should be 6able to compile it and install it without manual interventions such as 7editing Makefiles, configuration files, and so on. These are generic 8instructions for people who are not familiar with installing autoconfiguring 9software. 10 11The simplest way to compile this package is to enter the source code 12main directory and do the following: 13 14 1. Configure the source code by typing: 15 % sh ./configure 16 17 If you're planning to install the package into your home directory 18 or to a location other than `/usr/local' then add the flag 19 `--prefix=PATH' to `configure'. For example, if your home directory 20 is `/home/luser' you can configure the package to install itself there 21 by invoking: 22 % sh ./configure --prefix=/home/luser 23 24 While running, `configure' prints some messages telling which 25 features is it checking for. 26 27 2. Compile the package by typing: 28 % make 29 Running `make' takes a while. If this is a very large package, now 30 is the time to go make some coffee. 31 32 3. Some packages are bundled with self-tests for source-code 33 verification. If this package includes such tests, you can 34 optionally run them after compilation by typing 35 % make check 36 37 4. Type `make install' to install the programs and any data files and 38 documentation. Type `make uninstall' to undo the installation. 39 During installation, the following files go to the following directories: 40 Executables -> /prefix/bin 41 Libraries -> /prefix/lib 42 Public header files -> /prefix/include 43 Man pages -> /prefix/man/man? 44 Info files -> /prefix/info 45 where `prefix' is either `/usr/local' or the PATH that you specified 46 in the `--prefix' flag. 47 48 If any of these directories do not presently exist, they will be 49 created on demand. 50 51 If you are installing in your home directory make sure that 52 `/home/luser/bin' is in your path. If you're using the bash shell 53 add this line at the end of your .cshrc file: 54 PATH="/home/luser/bin:${PATH}" 55 export PATH 56 If you are using csh or tcsh, then use this line instead: 57 setenv PATH /home/luser/bin:${PATH} 58 By prepending your home directory to the rest of the PATH you can 59 override systemwide installed software with your own custom installation. 60 61 5. You can remove the program binaries and object files from the 62 source code directory by typing `make clean'. To also remove the 63 files that `configure' created (so you can compile the package for 64 a different kind of computer), type `make distclean'. 65 66Compiler configuration 67====================== 68 69 The `configure' shell script is responsible for choosing and configuring 70the compiler(s). 71 72The following options allow you to specify whether you 73want to enable or disable various debugging mechanisms: 74 75`--with-warnings' 76 Make the compilers very picky about warnings. Try this whenever you 77 write new code since it may catch a few bugs. This is not active by 78 default because all too often warnings can be too picky and scare 79 the end-user. 80 81`--disable-assert' 82 Compile without using assertions. This results in faster code, 83 but should not be used during developerment, or to run `make check' 84 which depends on assertions. It should only be used for production 85 runs on code that you believe is bug free. 86 87All programs are compiled with optimization level 2 by default (-O2). 88Occasionally that confuses the debugger when code is inlined. To disable 89optimization and enable debugging, set the shell environment variables 90CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this 91like this: 92 $ export CFLAGS="-g" 93 $ export CXXFLAGS="-g" 94 $ export FFLAGS="-g" 95On the tcsh shell, use the `setenv' command instead: 96 % setenv CFLAGS "-g" 97 ...etc... 98For other shell, please consult your shell's documentation. 99 100Similarly, you can increase the optimization level by assigning these 101variables to "-g -O3". 102 103The following options allow you to reconsider the `configure' shell script's 104choice of Fortran compilers. 105 106`--with-f2c' 107 Compile the Fortran code by translating it to C, even if a native 108 Fortran compiler is available. A copy of the f2c translator should be 109 bundled in the distribution. It will be compiled and then used to 110 compile your Fortran code. 111`--with-g77' 112 Compile the Fortran code with g77 even if a proprietary Fortran 113 compiler is available 114`--with-f77=F77' 115 Compile the Fortran code with the specified Fortran compiler. 116 117Depending on what languages the package uses, some of these options may 118or may not be available. To see what is available, type: 119 % sh ./configure --help 120 121About the configure script 122========================== 123 124 The `configure' shell script attempts to guess correct values for 125various system-dependent variables used during compilation. It uses 126those values to create a `Makefile' in each directory of the package. 127It may also create one or more `.h' files containing system-dependent 128definitions. Finally, it creates a shell script `config.status' that 129you can run in the future to recreate the current configuration, a file 130`config.cache' that saves the results of its tests to speed up 131reconfiguring, and a file `config.log' containing compiler output 132(useful mainly for debugging `configure'). 133 134 If you need to do unusual things to compile the package, please try 135to figure out how `configure' could check whether to do them, and mail 136diffs or instructions to the address given in the `README' so they can 137be considered for the next release. If at some point `config.cache' 138contains results you don't want to keep, you may remove or edit it. 139 140 The file `configure.in' is used to create `configure' by a program 141called `autoconf'. You only need `configure.in' if you want to change 142it or regenerate `configure' using a newer version of `autoconf'. 143 144Advanced installation options. 145============================== 146 147 The `configure' script also understands the following more advanced 148options, to handle situations for which `--prefix' alone is not sufficient. 149 150 You can specify separate installation prefixes for 151architecture-specific files and architecture-independent files. If you 152give `configure' the option `--exec-prefix=PATH', the package will use 153PATH as the prefix for installing programs and libraries. 154Documentation and other data files will still use the regular prefix. 155 156 In addition, if you use an unusual directory layout you can give 157options like `--bindir=PATH' to specify different values for particular 158kinds of files. Run `configure --help' for a list of the directories 159you can set and what kinds of files go in them. 160 161 If the package supports it, you can cause programs to be installed 162with an extra prefix or suffix on their names by giving `configure' the 163option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 164 165Optional Features 166================= 167 168 Some packages pay attention to `--enable-FEATURE' options to 169`configure', where FEATURE indicates an optional part of the package. 170They may also pay attention to `--with-PACKAGE' options, where PACKAGE 171is something like `gnu-as' or `x' (for the X Window System). The 172`README' should mention any `--enable-' and `--with-' options that the 173package recognizes. 174 175 For packages that use the X Window System, `configure' can usually 176find the X include and library files automatically, but if it doesn't, 177you can use the `configure' options `--x-includes=DIR' and 178`--x-libraries=DIR' to specify their locations. 179 180