#!/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."