998a263434f3685a26a25a33baef1c8349cc1b4f
[dana/urxvt.git] / INSTALL
1 --------------------------------------------------------------------------
2 Using GNU autoconfig
3 --------------------------------------------------------------------------
4   1.    If you retrieved a CVS version of this package, you need the GNU
5         autoconf package to generate the configure script.  This is done
6         by running   ./.prebuild   in this directory which will automatically
7         run autoconf with the appropriate options.
8
9   2.    Run   ./configure   to generate config.h and the various Makefiles.
10         ./configure --help   gives a list of possible options with slightly
11         longer descriptions in README.configure
12
13         Note that configure options have changed since 2.6.x series.
14
15         Some systems require unusual options for compilation or linking that
16         the `configure' script does not know about.  You can give `configure'
17         initial values for variables by setting them in the environment.  Using
18         a Bourne-compatible shell, you can do that on the command line like
19         this:
20                 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
21         Or on systems that have the `env' program, you can do it like this:
22                 env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
23         Or if you're using a non Bourne-compatible shell, you can do:
24                 sh -c 'CFLAGS="-O2 -g" ./configure
25
26         If you are making different versions of rxvt you can configure them
27         to be installed with different names using configure arguments, e.g.
28         ./configure --enable-languages --program-transform-name='s,rxvt,kxvt,;'
29
30   3.    set any other main preferences:
31             Edit "src/feature.h"
32             Edit "config.h"   if you didn't use ./configure options
33             If you're cross-compiling, edit the following in "config.h"
34                 NO_XLOCALE
35                 SIZEOF_*        # sizeof some types
36
37   4.    Build it (repeat step 2 as desired):
38             make
39
40   5.    build rclock (small xclock with biff & appointments) and
41         optionally edit rclock/feature.h to add/remove features:
42             make clock
43
44   6.    Install both rxvt and rclock:
45             make install
46
47         or install them separately
48             (cd src; make install)
49             (cd rclock; make install)
50
51         you may also want to install doc/etc/rxvt.terminfo and 
52         doc/etc/rxvt.termcap
53
54   7 a.  If compiled with UTMP_SUPPORT, you may need to install rxvt setuid
55         root or setuid/setgid to match the file permissions on /etc/utmp
56   7 b.  You may need to install setuid root anyway for some systems so that
57         they can give you ownership of the tty devices.
58
59   8.    On systems which dislike doc/rxvt.1
60             (cd doc; rm rxvt.1; make rxvt.1)
61
62                  ===================================
63
64 NB:     If you were able to compile OK but running rxvt prints out
65                 "rxvt: could not obtain control of tty"
66         running "make tests" from this directory (or from src/test)
67         should give you a breakdown of the failure point which is
68         useful to the developers in fixing the problem
69
70 NB:     SunOS (with/without gcc?) gets reported by configure as
71
72                 #undef STDC_HEADERS
73                 #define HAVE_SYS_IOCTL_H 1
74
75         but the ioctl() defines aren't protected against multiple
76         inclusion, in this case by <termios.h> so use a hack in
77         "feature.h" to avoid the problem.
78
79         Gave up checking for `STDC_HEADERS', since they really should be
80         there and I don't want to deal with the problems when they don't
81         exist.
82
83         SunOS users might complain to the right places and get their
84         system headers fixed so that one day the rest of us won't have
85         to keep compensating :(
86
87         SVR4 users (that aren't using gcc) will have to add -DSVR4 to
88         CPPFLAGS for configure.
89
90 --
91 EOF