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