Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. General Build Instructions ========================== To build tomcat-connectors you need to run "configure" and "make": ./configure [autoconf arguments] [tomcat-connectors arguments] make It is possible to set CFLAGS and LDFLAGS to add some platform specifics: LDFLAGS=-lc \ ./configure -with-apxs=/home2/local/apache/bin/apxs To find out about all available configure flags use ./configure --help Build for the Apache HTTP Server ================================ If you want to build mod_jk for the Apache HTTP Server you need to locate the apxs tool coming with the Apache HTTP server. If apxs is located in /usr/sbin/apxs, run: ./configure --with-apxs=/usr/sbin/apxs make The resulting module file mod_jk.so of mod_jk will be located in the directory apache-2.0 (for any version of Apache 2.x) respectively apache-1.3 (for Apache 1.3). Simply copy the file to your web server modules or libexec directory. Apache related configure arguments for tomcat-connectors -------------------------------------------------------- --with-apxs[=FILE] FILE is the location of the apxs tool. Default is finding apxs in PATH. It builds a shared Apache module. It detects automatically the Apache version. (2.x and 1.3) --with-apache=DIR DIR is the path where apache sources are located. The apache sources should have been configured before configuring mod_jk. DIR is something like: /home/apache/apache_1.3.19 It builds a static Apache module. --enable-EAPI This parameter is needed when using Apache 1.3 and mod_ssl, otherwise you will get the error message: "this module might crash under EAPI!" when loading libjk.so in httpd. Static build needs more tests, and we strongly recommend dynamic build using DSO/APXS. Building for Netscape/iPlanet/SunONE WebServer ============================================== Building uses the following command sequence: ./configure --enable-netscape cd netscape make -f Makefile.solaris This assumes that IPLANET_HOME is defined and points to your iPlanet install path (eg: /opt/SUNWwbsvr). By default GCC will be used. You can use Sun CC by providing CC=cc on the make command line: make -f Makefile.solaris CC=cc IPLANET_HOME=/opt/SUNWwbsrv70 EXTRA_CFLAGS=-m64 Misc Notes ========== Build for Multiple Web Servers ------------------------------ If you want to build for multiple web servers, you need to call "make clean" between the individual builds. HP-UX build notes ----------------- If you plan to use GCC on HP-UX to build mod_jk, be sure to have -DHPUX11GCC defined (usually by setting CLAGS before configure) Reports are that the stripped down cc version that ships with HP-UX won't be able to work, you should have the HP add-on ANSI C Compiler package. A good repository for HP-UX gnu tools is: http://gatekeep.cs.utah.edu/ Solaris build notes ------------------- The build should work with the GNU gcc compiler, on both SPARC and x86 architecture systems. A good repository for Solaris gnu tools is: http://www.sunfreeware.com/ Be carefull when mixing native compiler and gnu compiler, and ensure that apache and mod_jk will be compiled and linked with the same tools (i.e. full Solaris or full GNU) Building from the subversion tree ================================= This is only necessary if you want to build a not yet released versions. When using a subversion tree, "buildconf.sh" must be run before configure. This script uses the auto tools to provide the following files: - libtool files in scripts/build/unix (should copy them?) - Makefile.in from Makefile.am - aclocal.m4 from different m4 files located on the local machine - configure from configure.in and aclocal.m4 buildconf.sh is known to work with libtool 1.5.2, automake 1.10 and autoconf 2.59 or newer. The use of more recent versions is strongly encouraged, e.g. for reliable detection of the features of recent version of operating systems (e.g. AIX 6.1). The script is run without arguments: ./buildconf.sh If you see error messages from automake, don't care about them. After running buildconf you can build as usual using configure and make.