]> granicus.if.org Git - apache/blob - acinclude.m4
seems nobody is using sethostent()
[apache] / acinclude.m4
1  
2 AC_DEFUN(APACHE_CONFIG_NICE,[
3   rm -f $1
4   cat >$1<<EOF
5 #! /bin/sh
6 #
7 # Created by configure
8
9 EOF
10
11   for arg in [$]0 "[$]@"; do
12     echo "\"[$]arg\" \\" >> $1
13   done
14   echo '"[$]@"' >> $1
15   chmod +x $1
16 ])
17
18 AC_DEFUN(APACHE_PASSTHRU,[
19   unset ac_cv_pass_$1
20   AC_CACHE_VAL(ac_cv_pass_$1, [ac_cv_pass_$1=$$1])
21 ])
22
23 dnl APACHE_SUBST(VARIABLE)
24 dnl Makes VARIABLE available in generated files
25 dnl (do not use @variable@ in Makefiles, but $(variable))
26 AC_DEFUN(APACHE_SUBST,[
27   APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
28   AC_SUBST($1)
29 ])
30
31 dnl APACHE_FAST_OUTPUT(FILENAME)
32 dnl Perform substitutions on FILENAME (Makefiles only)
33 AC_DEFUN(APACHE_FAST_OUTPUT,[
34   APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
35 ])
36
37 dnl APACHE_MKDIR_P_CHECK
38 dnl checks whether mkdir -p works
39 AC_DEFUN(APACHE_MKDIR_P_CHECK,[
40   AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
41     test -d conftestdir && rm -rf conftestdir
42     mkdir -p conftestdir/somedir >/dev/null 2>&1
43     if test -d conftestdir/somedir; then
44       ac_cv_mkdir_p=yes
45     else
46       ac_cv_mkdir_p=no
47     fi
48     rm -rf conftestdir
49   ])
50 ])
51
52 dnl APACHE_GEN_CONFIG_VARS
53 dnl Creates config_vars.mk
54 AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
55   APACHE_SUBST(abs_srcdir)
56   APACHE_SUBST(bindir)
57   APACHE_SUBST(cgidir)
58   APACHE_SUBST(logdir)
59   APACHE_SUBST(exec_prefix)
60   APACHE_SUBST(datadir)
61   APACHE_SUBST(localstatedir)
62   APACHE_SUBST(libexecdir)
63   APACHE_SUBST(htdocsdir)
64   APACHE_SUBST(includedir)
65   APACHE_SUBST(iconsdir)
66   APACHE_SUBST(sysconfdir)
67   APACHE_SUBST(progname)
68   APACHE_SUBST(prefix)
69   APACHE_SUBST(AWK)
70   APACHE_SUBST(CC)
71   APACHE_SUBST(CFLAGS)
72   APACHE_SUBST(CPPFLAGS)
73   APACHE_SUBST(CXX)
74   APACHE_SUBST(CXXFLAGS)
75   APACHE_SUBST(LTFLAGS)
76   APACHE_SUBST(LDFLAGS)
77   APACHE_SUBST(DEFS)
78   APACHE_SUBST(LIBTOOL)
79   APACHE_SUBST(SHELL)
80   APACHE_SUBST(MODULE_DIRS)
81   APACHE_SUBST(PORT)
82
83   abs_srcdir="`(cd $srcdir && pwd)`"
84
85   APACHE_MKDIR_P_CHECK
86   echo creating config_vars.mk
87   > config_vars.mk
88   for i in $APACHE_VAR_SUBST; do
89     eval echo "$i = \$$i" >> config_vars.mk
90   done
91 ])
92
93 dnl APACHE_GEN_MAKEFILES
94 dnl Creates Makefiles
95 AC_DEFUN(APACHE_GEN_MAKEFILES,[
96   $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
97 ])
98
99 AC_DEFUN(APACHE_LIBTOOL_SILENT,[
100   LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
101 ])
102
103     
104 dnl ## APACHE_OUTPUT(file)
105 dnl ## adds "file" to the list of files generated by AC_OUTPUT
106 dnl ## This macro can be used several times.
107 AC_DEFUN(APACHE_OUTPUT, [
108   APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
109 ])
110
111 dnl
112 dnl AC_ADD_LIBRARY(library)
113 dnl
114 dnl add a library to the link line
115 dnl
116 AC_DEFUN(AC_ADD_LIBRARY,[
117   APACHE_ONCE(LIBRARY, $1, [
118     EXTRA_LIBS="$EXTRA_LIBS -l$1"
119   ])
120 ])
121
122 dnl
123 dnl AC_CHECK_DEFINE(macro, headerfile)
124 dnl
125 dnl checks for the macro in the header file
126 dnl
127 AC_DEFUN(AC_CHECK_DEFINE,[
128   AC_CACHE_CHECK(for $1 in $2, ac_cv_define_$1,
129   AC_EGREP_CPP([YES_IS_DEFINED], [
130 #include <$2>
131 #ifdef $1
132 YES_IS_DEFINED
133 #endif
134   ], ac_cv_define_$1=yes, ac_cv_define_$1=no))
135   if test "$ac_cv_define_$1" = "yes" ; then
136       AC_DEFINE(HAVE_$1,,
137           [Define if the macro "$1" is defined on this system])
138   fi
139 ])
140
141 dnl
142 dnl AC_TYPE_RLIM_T
143 dnl
144 dnl If rlim_t is not defined, define it to int
145 dnl
146 AC_DEFUN(AC_TYPE_RLIM_T, [
147   AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
148     AC_TRY_COMPILE([
149 #include <sys/types.h>
150 #include <sys/time.h>
151 #include <sys/resource.h>
152 ], [rlim_t spoon;], [
153       ac_cv_type_rlim_t=yes
154     ],[ac_cv_type_rlim_t=no
155     ])
156   ])
157   if test "$ac_cv_type_rlim_t" = "no" ; then
158       AC_DEFINE(rlim_t, int,
159           [Define to 'int' if <sys/resource.h> doesn't define it for us])
160   fi
161 ])
162
163 dnl
164 dnl APACHE_ONCE(namespace, variable, code)
165 dnl
166 dnl execute code, if variable is not set in namespace
167 dnl
168 AC_DEFUN(APACHE_ONCE,[
169   unique=`echo $ac_n "$2$ac_c" | tr -cd a-zA-Z0-9`
170   cmd="echo $ac_n \"\$$1$unique$ac_c\""
171   if test -n "$unique" && test "`eval $cmd`" = "" ; then
172     eval "$1$unique=set"
173     $3
174   fi
175 ])
176
177 sinclude(srclib/apr/apr_common.m4)
178 sinclude(srclib/apr/hints.m4)
179 sinclude(hints.m4)
180
181 AC_DEFUN(APACHE_CHECK_SIGWAIT_ONE_ARG,[
182   AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
183   AC_TRY_COMPILE([
184 #ifdef __NETBSD__
185     /* When using the unproven-pthreads package, we need to pull in this 
186      * header to get a prototype for sigwait().  Else things will fail later
187      * on.  XXX Should probably be fixed in the unproven-pthreads package.
188      */
189 #include <pthread.h>
190 #endif
191 #include <signal.h>
192 ],[
193   sigset_t set;
194
195   sigwait(&set);
196 ],[
197   ac_cv_sigwait_one_arg=yes
198 ],[
199   ac_cv_sigwait_one_arg=no
200 ])])
201   if test "$ac_cv_sigwait_one_arg" = "yes"; then
202     AC_DEFINE(SIGWAIT_TAKES_ONE_ARG,1,[ ])
203   fi
204 ])
205
206 dnl APACHE_MODPATH_INIT(modpath)
207 AC_DEFUN(APACHE_MODPATH_INIT,[
208   current_dir=$1
209   modpath_current=modules/$1
210   modpath_static=
211   modpath_shared=
212   test -d $1 || $srcdir/build/mkdir.sh $modpath_current
213   > $modpath_current/modules.mk
214 ])dnl
215 dnl
216 AC_DEFUN(APACHE_MODPATH_FINISH,[
217   echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
218   echo "static = $modpath_static" >> $modpath_current/modules.mk
219   echo "shared = $modpath_shared" >> $modpath_current/modules.mk
220   if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
221     MODULE_DIRS="$MODULE_DIRS $current_dir"
222   fi
223   APACHE_FAST_OUTPUT($modpath_current/Makefile)
224 ])dnl
225 dnl
226 dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
227 AC_DEFUN(APACHE_MODPATH_ADD,[
228   if test -z "$3"; then
229     objects="mod_$1.lo"
230   else
231     objects="$3"
232   fi
233
234   if test -z "$module_standalone"; then
235     if test -z "$2"; then
236       libname="mod_$1.la"
237       BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
238       modpath_static="$modpath_static $libname"
239       cat >>$modpath_current/modules.mk<<EOF
240 $libname: $objects
241         \$(MOD_LINK) $objects
242 EOF
243     else
244       apache_need_shared=yes
245       libname="mod_$1.la"
246       shobjects=`echo $objects | sed 's/\.lo/.slo/'`
247       modpath_shared="$modpath_shared $libname"
248       cat >>$modpath_current/modules.mk<<EOF
249 $libname: $shobjects
250         \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
251 EOF
252     fi
253   fi
254 ])dnl
255 dnl
256 dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
257 AC_DEFUN(APACHE_MODULE,[
258   AC_MSG_CHECKING(whether to enable mod_$1)
259   define([optname],[  --]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
260   AC_ARG_ENABLE(translit($1,_,-),optname() substr([                         ],len(optname()))$2,,enable_$1=ifelse($5,,no,$5))
261   undefine([optname])dnl
262   AC_MSG_RESULT($enable_$1)
263   if test "$enable_$1" != "no"; then
264     case "$enable_$1" in
265     shared*)
266       enable_$1=`echo $ac_n $enable_$1$ac_c|sed 's/shared,*//'`
267       sharedobjs=yes
268       shared=yes;;
269     *)
270       MODLIST="$MODLIST ifelse($4,,$1,$4)"
271       if test "$1" = "so"; then
272           sharedobjs=yes
273       fi
274       shared="";;
275     esac
276     ifelse([$6],,:,[$6])
277     APACHE_MODPATH_ADD($1, $shared, $3)
278   fi
279 ])dnl
280 dnl
281 dnl APACHE_LAYOUT(configlayout, layoutname)
282 AC_DEFUN(APACHE_LAYOUT,[
283   if test ! -f $srcdir/config.layout; then
284     echo "** Error: Layout file $srcdir/../config.layout not found"
285     echo "** Error: Cannot use undefined layout '$LAYOUT'"
286     exit 1
287   fi
288   pldconf=config.pld
289   changequote({,})
290   sed -e "1,/[  ]*<[lL]ayout[   ]*$2[   ]*>[    ]*/d" \
291       -e '/[    ]*<\/Layout>[   ]*/,$d' \
292       -e "s/^[  ]*//g" \
293       -e "s/:[  ]*/=\'/g" \
294       -e "s/[   ]*$/'/g" \
295       $1 > $pldconf
296   layout_name=$2
297   . $pldconf
298   rm $pldconf
299   for var in prefix exec_prefix bindir sbindir libexecdir mandir \
300              sysconfdir datadir iconsdir htdocsdir cgidir includedir \
301              localstatedir runtimedir logdir proxycachedir; do
302     eval "val=\"\$$var\""
303     case $val in
304       *+)
305         val=`echo $val | sed -e 's;\+$;;'`
306         eval "$var=\"\$val\""
307         autosuffix=yes
308         ;;
309       *)
310         autosuffix=no
311         ;;
312     esac
313     val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
314     val=`echo $val | sed -e 's:$\([a-z_]*\):$(\1):g'`
315     if test "$autosuffix" = "yes"; then
316       if echo $val | grep apache >/dev/null; then
317         addtarget=no
318       else
319         addtarget=yes
320       fi
321       if test "$addtarget" = "yes"; then
322         val="$val/apache"
323       fi
324     fi
325     eval "$var='$val'"
326   done
327   changequote([,])
328 ])dnl
329 dnl
330 dnl APACHE_ENABLE_LAYOUT
331 dnl
332 AC_DEFUN(APACHE_ENABLE_LAYOUT,[
333 AC_ARG_ENABLE(layout,
334 [  --enable-layout=LAYOUT],[
335   LAYOUT=$enableval
336 ])
337
338 if test -z "$LAYOUT"; then
339   htdocsdir='$(prefix)/htdocs'
340   iconsdir='$(prefix)/icons'
341   cgidir='$(prefix)/cgi-bin'
342   logdir='$(prefix)/logs'
343   sysconfdir='${prefix}/conf'
344   libexecdir='${prefix}/modules'
345   layout_name=Apache
346 else  
347   APACHE_LAYOUT($srcdir/../config.layout, $LAYOUT)
348 fi
349
350 AC_MSG_CHECKING(for chosen layout)
351 AC_MSG_RESULT($layout_name)
352 ])dnl
353 dnl
354 dnl APACHE_ENABLE_SHARED
355 dnl
356 AC_DEFUN(APACHE_ENABLE_SHARED,[
357 AC_ARG_ENABLE(mods-shared,
358 [  --enable-mods-shared=MODULE-LIST],[
359   for i in $enableval; do
360         eval "enable_$i=shared"
361   done
362 ])
363 ])dnl
364 dnl
365 dnl APACHE_ENABLE_MODULES
366 dnl
367 AC_DEFUN(APACHE_ENABLE_MODULES,[
368 AC_ARG_ENABLE(modules,
369 [  --enable-modules=MODULE-LIST],[
370   for i in $enableval; do
371     eval "enable_$i=yes"
372   done
373 ])
374 ])dnl
375
376 AC_DEFUN(APACHE_REQUIRE_CXX,[
377   if test -z "$apache_cxx_done"; then
378     AC_PROG_CXX
379     AC_PROG_CXXCPP
380     apache_cxx_done=yes
381   fi
382 ])