1How to compile this package:
2
3Its really quite simple -- its about the same difficulty as compiling
4any GNU software (however, this is _not_ GNU software)
5
6  o  !!! IMPORTANT !!! If you are upgrading from a prior version of
7     your operating system, or you have changed operating systems, you
8     must do a 'make distclean' and re-do all of the steps in this file
9     for the new OS, or epic may get confused when it tries to compile
10     for your old system!  (Especially true for Redhat 5.2 to 6.1)
11
12  o  Run 'configure' by using one (and only one) of the following:
13
14		./configure
15		sh configure
16
17  o  By default, 'configure' sets up the software to be run from
18     /usr/local -- if this is not the case for you (ie, you are not
19     the superuser compiling for the entire system) you can run
20     configure with the "--prefix=/path/to/somewhere" flag, for example:
21
22		./configure --prefix=/usr/home/user
23
24  o  EPIC's build infrastructure fully supports all the bells and whistles
25     that configure provides for compiling in different places and for
26     different systems and all that esoteric stuff only used by package
27     maintainers.  This support was added because Debian asked for it.
28
29  o  On Linux, you _*-MUST-*_ install your system's "ncurses-devel" package
30     or you won't be able to build epic.  You should install your system's
31     "gdbm-devel" package or you won't have access to $dbmctl() (hash tables)
32
33  o  There are several options supported by our configure script:
34	  --with-termcap
35		EPIC will use ONLY termcap, and not look for terminfo.
36		You ought not specify this unless the terminfo support
37		on your system is more broken than your termcap support.
38	  --with-socks[=PATH]
39		EPIC will attempt to use SOCKS4 firewall code when making
40		network connections.  The PATH should specify the directory
41		tree where all of the interesting files can be found.  This
42		is usually something like /usr/local
43	  --with-socks5[=PATH]
44		Same thing as above, but for SOCKS5.
45	  --with-perl[=PATH]
46		Enable the perl support in the scripting language.
47		WARNING:  Currently requires Perl 5.6+.
48	  --with-ssl[=PATH]
49		Enable support for SSL connections to servers.
50
51  o  You must not try to compile epic with "gcc -O2" because -O2 will
52     generate bad code that leads to random crashes.  When you use -O2,
53     gcc assumes the source is conformant to ISO C99's requirements about
54     alias-safety, and EPIC, being a C90 program, does not conform, so the
55     result is undefined behavior (which means it crashes randomly.)  This
56     is not a bug in EPIC.  You must only compile epic with -O.
57
58  o  This software should be able to compile and run on almost
59     any modern unix (A ``modern'' unix is one that supports POSIX
60     system calls and BSD networking in addition to the most commonly
61     accepted non-standard unix extensions, like getpw*() functions.)
62     All I can say is try it and see if it works.  It should definitely
63     work on the 4.4BSDs, Linux, SVR4s (Solaris), Digital Unix/Ultrix,
64     AIX and SCO ODT 5, and possibly others.
65
66  o  To compile type `make'.  This will compile the `epic5' and `wserv4'
67     programs that live in the `source' subdirectory.
68
69  o  Once that you are happy with the compilation, you can install them
70     with `make install'.  This will install all the binaries, and scripts
71     into the path specified in the Makefile (or when you ran configure).
72     The help files are available as a seperate package.  They should be
73     available from the same place you got the source code from.
74     This release uses a new layout format for its various parts that differs
75     from the historical ircII defaults.  The binary is called 'epic5', the
76     library is put into .../share/epic by default, and the 'wserv4'
77     binary ends up as .../libexec/wserv4.
78
79  o  You can now delete the object files and binaries if you want to
80     save some space by typing `make clean'.  If you are sure you probably
81     wont have to compile again, but you want to keep the source code
82     around, you can use `make distclean'.  You should `make distclean'
83     before you try to compile again for a different architecture.
84
85  o  Help files are not shipped with the base distribution (because of their
86     size and because they are not updated frequently.)  You can peruse the
87     help files online at http://www.epicsol.org/help.  There is also a 'help'
88     script that implements the /help command if you want to do things the old
89     way.  Make sure you /SET HELP_PATH to where you put the help files or it
90     won't be able to find them.
91
92  o  Bug reports go to list@epicsol.org.  Please see the BUG_FORM file for
93     information about how to file a bug report.  Please include as much
94     information as possible.
95
96