-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILDING
171 lines (115 loc) · 6.1 KB
/
BUILDING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
-------------------------------------------------------------------------------
Building Hercules
If you are wanting to build the Windows version of Hercules refer to the
README.WIN64 document for detailed instructions.
As for non-Windows *nix builds, if you're simply trying to figure out how to
build Hercules from the distributed source tarball (i.e. NOT from the source
directly pulled from the repository), then skip to the "Building Hercules"
section further below.
-------------------
BUILD PREPARATION
-------------------
In order to build Hercules from the repository sources, you must have
installed the minimum versions of the development packages as reported
by the 'bldlvlck' script in the 'util' subdirectory:
Note: the below listed versions may not be correct;
please run the 'util/bldlvlck' script for the
most current list of minimum versions.
Package Version (or greater!)
----------------------------------
autoconf 2.64 (or greater!)
automake 1.9 (or greater!)
flex 2.5 (or greater!)
gawk 3.0 (or greater!)
gcc 3.0 (or greater!)
grep 1.0 (or greater!)
m4 1.4.6 (or greater!)
make 3.79 (or greater!)
perl 5.6 (or greater!)
sed 3.02 (or greater!)
The following package(s) is(are) optional but highly recommended:
Package Version (or greater!)
----------------------------------
zlib ? (for ZLIB compression)
libbz2 ? (for BZIP2 compression)
* If an optional package is not installed, the resulting build may lack
an optional feature, but should be usable otherwise.
All of these tools can be found at www.gnu.org in source code form, and
are also widely available in packaged form (RPM, DEB, Solaris packages,
etc.).
Once you have the minimum versions of all of the above tools installed,
simply enter the following command:
sh ./autogen.sh
This will, among other things, create you a shell script called "configure".
The resulting configure script (created by the above 'autogen' command) is
then what you use to build Hercules with. (It will probably create a bunch
of other directories and files too, but we're mostly concerned about the
configure script).
-------------------
BUILDING HERCULES
-------------------
Now that a 'configure' script has been built for us, let's use it! :)
(Note: if you're simply trying to build Hercules from the distributed
tarball (i.e. NOT directly from the pulled respository sources), then just
use the 'configure' script that should have been included with the source
distribution tarball.)
+------------------------------------------------------------+
| |
| ** NOTE ** |
| |
| See also refer to instructions in the BUILD PREPARATION |
| section above regarding the 'bldlvlck' script which can |
| be used to check to see if you have all of the required |
| packages installed or not to build Hercules from source. |
| |
+------------------------------------------------------------+
Before you trying using the configure script, you may wish to review
the information in the INSTALL file. It contains generic installation
instructions for how to build/install most any package. The instructions
there pertain just as much to Hercules as they do to any other package.
Since the information there is pretty detailed however, rather than try
to slog your way through it all, you may wish to first review the below
summarized version first.
Briefly, the way you build Herc is to first "configure" the building
process and then invoke your pre-configured building process. The build
process basically consists of a 'make' command which processes a 'makefile'.
The makefile however needs to be customized for your system. That's what
the "configure" script does. It contructs a customized makefile and that
is what is meant by "configuring your building process".
Here's the entire build process step-by-step:
To build Herc, first switch to the directory where the source files
are:
cd hercules
If you are building directly from repository source, it is a good
habit to always recreate the configure script each time you build:
sh ./autogen.sh
configure your build options by entering the following command:
./configure ...
(Note: you may or may not wish to enter additional parameters
to the configure command. See further below)
Then simply invoke your pre-configured build process by entering
the following command:
make
That's it! The 'make' command should build Hercules for you. After
it's been built, you may or may not wish to "install" it.
To "install" Hercules into the default package installation
directory after building it, enter the following command:
make install
That will copy the just built binaries to their proper place.
To uninstall Hercules once it's been installed, simply enter the
command:
make uninstall
and the previously copied files will be removed (deleted).
Note: you may or may not wish to add some additional parameters to
the above mentioned "configure" command. One of the more common ones
for those who are building Herc under Cygwin is "--enable-fthreads".
Enter "./configure --help" for more information regarding the various
parameters that Hercules's customized "configure" script supports
for building Hercules.
--
original author:
Matt Zimmerman <[email protected]>
08 Oct, 2001
Updated by many others over the course of time of course.
Refer to repository commit log if you're that interested.
-------------------------------------------------------------------------------