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