blob: 452674cf1305a2845cb12fdd18d5dc0f8f79759c [file] [log] [blame]
#!/bin/sh
#
# configure.apxs --- build configuration script for creating mod_fcgid
# out of tree using the apxs utility and httpd build toolset
#
if test "$APXS" = ""; then
APXS=`which apxs 2>/dev/null`
fi;
if test "$APXS" = ""; then
echo $0 must be able to find apxs in your path,
echo or the environment variable APXS must provide the full path of APXS,
echo or you may specify it with:
echo
echo APXS=/path/to/apxs $0
echo
echo configuration failed
exit 1
fi
echo Configuring mod_fcgid for APXS in $APXS
# top_builddir and top_srcdir are a misnomers, because build/*.mk
# scripts expect them to be the parent of the build directory
# they fail to use the $installbuilddir path.
exp_installbuilddir=`$APXS -q exp_installbuilddir`
top_installbuilddir=`cd $exp_installbuilddir/..; pwd`
top_installbuilddir=`echo $exp_installbuilddir | sed -e "s#/[^/]*\\\$##;"`
builddir=`pwd`
srcdir=$builddir
fcgid_builddir=$builddir
fcgid_srcdir=$builddir
# prefix is the default @@ServerRoot@@, where libexecdir/sysconfdir may
# be relative (if it is not their prefix, the rel_ paths remain unchanged
rel_fix_prefix=`$APXS -q prefix`
rel_libexecdir=`$APXS -q exp_libexecdir | sed -e "s#^$rel_fix_prefix/##;"`
rel_sysconfdir=`$APXS -q exp_sysconfdir | sed -e "s#^$rel_fix_prefix/##;"`
rel_logfiledir=`$APXS -q exp_logfiledir | sed -e "s#^$rel_fix_prefix/##;"`
httpd_conffile=`$APXS -q exp_sysconfdir`/`$APXS -q progname`.conf
if test -z "$AWK"; then
AWK=`$APXS -q AWK`
fi
for i in Makefile build/Makefile modules/fcgid/Makefile modules/fcgid/modules.mk; do
l_r=`echo $i|sed -e "s#/*[^/]*\\\$##;s#^\(..*\)\\\$#/\1#"`
sed -e "s#^\(exp_installbuilddir\)=.*#\1=$exp_installbuilddir#;" \
-e "s#^\(include\) \$(exp_installbuilddir)#\1 $exp_installbuilddir#;" \
-e "s#^\(top_builddir\)=.*#\1=$top_installbuilddir#;" \
-e "s#^\(top_srcdir\)=.*#\1=$top_installbuilddir#;" \
-e "s#^\(fcgid_srcdir\)=.*#\1=$srcdir#;" \
-e "s#^\(fcgid_builddir\)=.*#\1=$builddir#;" \
-e "s#^\(srcdir\)=.*#\1=$srcdir$l_r#;" \
-e "s#^\(builddir\)=.*#\1=$builddir$l_r#;" \
-e "s#^\(rel_libexecdir\)=.*#\1=$rel_libexecdir#;" \
-e "s#^\(rel_sysconfdir\)=.*#\1=$rel_sysconfdir#;" \
-e "s#^\(rel_logfiledir\)=.*#\1=$rel_logfiledir#;" \
-e "s#^\(httpd_conffile\)=.*#\1=$httpd_conffile#;" \
-e "s#^\(awk\)=.*#\1=$AWK#;" \
< $i.apxs > $i
done
touch .deps
touch build/.deps
touch modules/fcgid/.deps
cd build
found_features=""
echo "Detecting features"
echo "Detecting features" > ../config.apxs.log
#test invocations follow the pattern;
#
#if make local-clean conftest_foofn >>../config.apxs.log 2>&1; then
# found_features="$found_features \
# -e \"s/^#undef \(HAVE_FOOFN\)[ \t]*/#define \1 1/;\""
#fi
if make local-clean conftest_sys_file_h >>../config.apxs.log 2>&1; then
found_features="$found_features \
-e \"s/^#undef \(HAVE_SYS_FILE_H\)[ \t]*/#define \1 1/;\""
fi
if make local-clean conftest_sys_mman_h >>../config.apxs.log 2>&1; then
found_features="$found_features \
-e \"s/^#undef \(HAVE_SYS_MMAN_H\)[ \t]*/#define \1 1/;\""
fi
if make local-clean conftest_sys_mutex_h >>../config.apxs.log 2>&1; then
found_features="$found_features \
-e \"s/^#undef \(HAVE_SYS_MUTEX_H\)[ \t]*/#define \1 1/;\""
fi
if make local-clean conftest_sys_shm_h >>../config.apxs.log 2>&1; then
found_features="$found_features \
-e \"s/^#undef \(HAVE_SYS_SHM_H\)[ \t]*/#define \1 1/;\""
fi
make local-distclean >>../config.apxs.log 2>&1
cd ..
if test "x$found_features" = "x"; then
cp modules/fcgid/fcgid_config.h.in modules/fcgid/fcgid_config.h
else
eval sed "$found_features" < modules/fcgid/fcgid_config.h.in \
> modules/fcgid/fcgid_config.h
fi
echo ""
echo "Finished, run 'make' to compile mod_fcgid"
echo ""
echo "Run 'make install' to install mod_fcgid"
echo ""
#echo "The manual pages fcgid/index.html and mod/mod_fcgid.html"
#echo "will be installed to help get you started."
#echo
#echo "The conf/extra/httpd-fcgid.conf will be installed as an example"
#echo "for you to work from. In your configuration file,"
#echo " `$APXS -q exp_sysconfdir`/`$APXS -q progname`.conf"
#echo "uncomment the line '#Include conf/extra/httpd-fcgid.conf'"
#echo "to activate this example mod_fcgid configuration."