This commit was generated by cvs2svn to compensate for changes in r3921,
[freeside.git] / rt / configure.ac
1 autoconf; exec ./configure $@
2 dnl
3 dnl Process this file with autoconf to produce a configure script
4 dnl
5 dnl Embed in generated ./configure script the following CVS info:
6 AC_REVISION($Revision: 1.1.1.4 $)dnl
7
8 dnl Setup autoconf
9 AC_PREREQ(2.53)
10 AC_INIT(RT, [3.2.2], [rt-bugs@fsck.com])
11 AC_CONFIG_SRCDIR([lib/RT.pm.in])
12
13 dnl Extract RT version number components
14 AC_SUBST([rt_version_major],
15         m4_bregexp(AC_PACKAGE_VERSION,[^\(\w+\)\.\(\w+\)\(\.\(\w+\)\)?],[\1]))
16 AC_SUBST([rt_version_minor],
17         m4_bregexp(AC_PACKAGE_VERSION,[^\(\w+\)\.\(\w+\)\(\.\(\w+\)\)?],[\2]))
18 AC_SUBST([rt_version_patch],
19         m4_bregexp(AC_PACKAGE_VERSION,[^\(\w+\)\.\(\w+\)\(\.\(\w+\)\)?],[\4]))
20 test "x$rt_version_major" = 'x' && rt_version_major=0
21 test "x$rt_version_minor" = 'x' && rt_version_minor=0
22 test "x$rt_version_patch" = 'x' && rt_version_patch=0
23
24 dnl Check for programs
25 AC_PROG_INSTALL
26 AC_ARG_VAR([PERL],[Perl interpreter command])
27 AC_PATH_PROG([PERL], [perl], [not found])
28 if test "$PERL" = 'not found'; then
29         AC_MSG_ERROR([cannot use $PACKAGE_NAME without perl])
30 fi
31
32
33 dnl SPEED_BIN
34 AC_ARG_WITH(speedycgi,
35             AC_HELP_STRING([--with-speedycgi=/path/to/speedy],
36                            [path to your speedycgi binary, if it exists]),
37             SPEEDY_BIN=$withval,
38             SPEEDY_BIN=/usr/local/bin/speedy) 
39 AC_SUBST(SPEEDY_BIN)
40
41
42 dnl Defaults paths for installation
43 AC_PREFIX_DEFAULT([/opt/rt3])
44 RT_ENABLE_LAYOUT
45
46 dnl RTGROUP
47 AC_ARG_WITH(rt-group,
48             AC_HELP_STRING([--with-rt-group=GROUP],
49                            [group to own all files (default: rt)]),
50             RTGROUP=$withval,
51             RTGROUP=rt)
52 AC_SUBST(RTGROUP)
53
54 dnl BIN_OWNER
55 AC_ARG_WITH(bin-owner,
56             AC_HELP_STRING([--with-bin-owner=OWNER],
57                            [user that will own RT binaries (default root)]),
58             BIN_OWNER=$withval,
59             BIN_OWNER=root)
60 AC_SUBST(BIN_OWNER)
61
62 dnl LIBS_OWNER
63 AC_ARG_WITH(libs-owner,
64             AC_HELP_STRING([--with-libs-owner=OWNER],
65                            [user that will own RT libraries (default root)]),
66             LIBS_OWNER=$withval,
67             LIBS_OWNER=root)
68 AC_SUBST(LIBS_OWNER)
69
70 dnl LIBS_GROUP
71 AC_ARG_WITH(libs-group,
72             AC_HELP_STRING([--with-libs-group=GROUP],
73                            [group that will own RT binaries (default bin)]),
74             LIBS_GROUP=$withval,
75             LIBS_GROUP=bin)
76 AC_SUBST(LIBS_GROUP)
77
78 dnl DB_TYPE
79 AC_ARG_WITH(db-type,
80             AC_HELP_STRING([--with-db-type=TYPE],
81                            [sort of database RT will use (default: mysql) (mysql, Pg, Oracle, Informix and SQLite are valid)]), 
82             DB_TYPE=$withval,
83             DB_TYPE=mysql)
84 if test "$DB_TYPE" != 'mysql' -a "$DB_TYPE" != 'Pg' -a "$DB_TYPE" != 'SQLite' -a "$DB_TYPE" != 'Oracle' -a "$DB_TYPE" != 'Informix' -a "$DB_TYPE" != 'Sybase' ; then
85         AC_MSG_ERROR([Only Oracle, Informix, Pg, mysql and SQLite are valid db types])
86 fi
87 AC_SUBST(DB_TYPE)
88
89 dnl DATABASE_ENV_PREF
90 if test "$DB_TYPE" = 'Oracle'; then
91         test "x$ORACLE_HOME" = 'x' && AC_MSG_ERROR([Please declare the ORACLE_HOME environment variable])
92         DATABASE_ENV_PREF="\$ENV{'ORACLE_HOME'} = '$ORACLE_HOME';"
93 fi
94
95 dnl DATABASE_ENV_PREF
96 if test "$DB_TYPE" = 'Sybase'; then
97         test "x$SYBASE" = 'x' && AC_MSG_ERROR([Please declare the SYBASE_HOME environment variable])
98         DATABASE_ENV_PREF="\$ENV{'SYBASE'} = '$SYBASE';"
99 fi
100 AC_SUBST(DATABASE_ENV_PREF)
101
102 dnl DB_HOST
103 AC_ARG_WITH(db-host,
104             AC_HELP_STRING([--with-db-host=HOSTNAME],
105                            [FQDN of database server (default: localhost)]),
106             DB_HOST=$withval,
107             DB_HOST=localhost)
108 AC_SUBST(DB_HOST)
109
110 dnl DB_PORT
111 AC_ARG_WITH(db-port,
112             AC_HELP_STRING([--with-db-port=PORT],
113                            [port on which the database listens on]),
114             DB_PORT=$withval,
115             DB_PORT=)
116 AC_SUBST(DB_PORT)
117
118 dnl DB_RT_HOST
119 AC_ARG_WITH(db-rt-host,
120             AC_HELP_STRING([--with-db-rt-host=HOSTNAME],
121                            [FQDN of RT server which talks to the database server (default: localhost)]),
122             DB_RT_HOST=$withval,
123             DB_RT_HOST=localhost)
124 AC_SUBST(DB_RT_HOST)
125
126 dnl DB_DATABASE_ADMIN
127 AC_ARG_WITH(db-dba,
128             AC_HELP_STRING([--with-db-dba=DBA],
129                            [name of database administrator (default: root)]),
130             DB_DBA=$withval,
131             DB_DBA=root)
132 AC_SUBST(DB_DBA)
133
134 dnl DB_DATABASE
135 AC_ARG_WITH(db-database,
136             AC_HELP_STRING([--with-db-database=DBNAME],
137                            [name of the database to use (default: rt3)]),
138             DB_DATABASE=$withval,
139             DB_DATABASE=rt3)
140 AC_SUBST(DB_DATABASE)
141
142 dnl DB_RT_USER
143 AC_ARG_WITH(db-rt-user,
144             AC_HELP_STRING([--with-db-rt-user=DBUSER],
145                            [name of database user (default: rt_user)]),
146             DB_RT_USER=$withval,
147             DB_RT_USER=rt_user)
148 AC_SUBST(DB_RT_USER)
149
150 dnl DB_RT_PASS
151 AC_ARG_WITH(db-rt-pass,
152             AC_HELP_STRING([--with-db-rt-pass=PASSWORD],
153                            [password for database user (default: rt_pass)]),
154             DB_RT_PASS=$withval,
155             DB_RT_PASS=rt_pass)
156 AC_SUBST(DB_RT_PASS)
157
158 dnl WEB_USER
159 AC_ARG_WITH(web-user,
160             AC_HELP_STRING([--with-web-user=USER],
161                            [user the web server runs as (default: www)]),
162             WEB_USER=$withval,
163             WEB_USER=www)
164 AC_SUBST(WEB_USER)
165
166 dnl WEB_GROUP
167 AC_ARG_WITH(web-group,
168             AC_HELP_STRING([--with-web-group=GROUP],
169                            [group the web server runs as (default: www)]),
170             WEB_GROUP=$withval,
171             WEB_GROUP=www)
172 AC_SUBST(WEB_GROUP)
173
174 dnl INSTALL AS ME
175 my_group=$(groups|cut -f1 -d' ')
176 AC_ARG_WITH(my-user-group,
177             AC_HELP_STRING([--with-my-user-group],
178                            [set all users and groups to current user/group]),
179             RTGROUP=$my_group
180             BIN_OWNER=$USER
181             LIBS_OWNER=$USER
182             LIBS_GROUP=$my_group
183             WEB_USER=$USER
184             WEB_GROUP=$my_group)
185
186
187
188 dnl Set the value of apachectl
189 AC_ARG_WITH(apachectl,
190             AC_HELP_STRING([--with-apachectl],
191                            [instruct RT where to find your apachectl]),
192
193             APACHECTL=$withval, 
194             APACHECTL=`which apachectl`)
195 AC_SUBST(APACHECTL)
196
197 dnl This section maps the variable names this script 'natively' generates
198 dnl to their existing names. They should be removed from here as the .in
199 dnl files are changed to use the new names.
200
201 dnl version numbers
202 AC_SUBST(RT_VERSION_MAJOR,              ${rt_version_major})
203 AC_SUBST(RT_VERSION_MINOR,              ${rt_version_minor})
204 AC_SUBST(RT_VERSION_PATCH,              ${rt_version_patch})
205
206 dnl layout paths
207 AC_SUBST([RT_PATH],                     ${exp_prefix})
208 AC_SUBST([RT_DOC_PATH],                 ${exp_manualdir})
209 AC_SUBST([RT_LOCAL_PATH],               ${exp_customdir})
210 AC_SUBST([RT_LIB_PATH],                 ${exp_libdir})
211 AC_SUBST([RT_ETC_PATH],                 ${exp_sysconfdir})
212 AC_SUBST([CONFIG_FILE_PATH],            ${exp_sysconfdir})
213 AC_SUBST([RT_BIN_PATH],                 ${exp_bindir})
214 AC_SUBST([RT_SBIN_PATH],                ${exp_sbindir})
215 AC_SUBST([RT_VAR_PATH],                 ${exp_localstatedir})
216 AC_SUBST([RT_MAN_PATH],                 ${exp_mandir})
217 AC_SUBST([MASON_DATA_PATH],             ${exp_masonstatedir})
218 AC_SUBST([MASON_SESSION_PATH],          ${exp_sessionstatedir})
219 AC_SUBST([MASON_HTML_PATH],             ${exp_htmldir})
220 AC_SUBST([LOCAL_ETC_PATH],              ${exp_custometcdir})
221 AC_SUBST([MASON_LOCAL_HTML_PATH],       ${exp_customhtmldir})
222 AC_SUBST([LOCAL_LEXICON_PATH],          ${exp_customlexdir})
223 AC_SUBST([LOCAL_LIB_PATH],              ${exp_customlibdir})
224 AC_SUBST([DESTDIR],                     ${exp_prefix})
225 AC_SUBST([RT_LOG_PATH],                 ${exp_logfiledir})
226
227 dnl Configure the output files, and generate them.
228
229 AC_CONFIG_FILES([
230                  sbin/rt-setup-database
231                  sbin/rt-test-dependencies
232                  Makefile
233                  etc/RT_Config.pm
234                  lib/RT.pm
235                  lib/t/00smoke.t
236                  lib/t/01harness.t
237                  lib/t/02regression.t
238                  lib/t/03web.pl
239                  lib/t/04_send_email.pl
240                  lib/t/05cronsupport.pl
241                  bin/mason_handler.fcgi
242                  bin/mason_handler.scgi
243                  bin/standalone_httpd
244                  bin/mason_handler.svc
245                  bin/rt-crontool
246                  bin/rt-mailgate
247                  bin/rt
248                  bin/webmux.pl]
249                 )
250 AC_OUTPUT