blob: 1e65d291af4e432e13aeaf05cfc678cdab433dc9 [file] [log] [blame]
##
## libperl.module -- mod_perl Apache source tree stub
## Written by Ralf S. Engelschall <rse@apache.org>
##
## This script is _sourced_ by Apache's src/Configure script
## while configuring the module subdirectories. We can use
## two variables here to find ourself: $modfile, $modbase.
## Additionally because we run inside src/Configure's namespace
## we can directly adjust CFLAGS, LIBS, etc.
##
Name: perl_module
ConfigStart
# paths
my_dir="`echo ${modfile} | sed -e 's:/[^/]*$::'`"
my_config="${my_dir}/mod_perl.config"
my_config_sh="${my_dir}/mod_perl.config.sh"
my_outfile="Makefile.config"
my_prefix=" +"
# determine requested build-type
case $modfile in
*.so )
my_buildtype="DSO"
;;
*.a )
my_buildtype="OBJ"
;;
esac
echo "$my_prefix mod_perl build type: $my_buildtype"
# import MODPERL_CONFIG environment variable
my_config_override=''
if [ ".$MODPERL_CONFIG" != . ]; then
my_config_override="$MODPERL_CONFIG"
fi
# transform mod_perl config into Makefile config
echo "$my_prefix setting up mod_perl build environment"
$my_config_sh --config-file=$my_config \
--config-override="$my_config_override" \
--build-type=$my_buildtype \
--display-prefix="$my_prefix" >>$my_outfile
# additionally adjust the Apache build environment
echo "$my_prefix adjusting Apache build environment"
CFLAGS="$CFLAGS -DMOD_PERL"
if [ ".$my_buildtype" = .OBJ ]; then
my_perl_libs="`egrep '^PERL_LIBS=' $my_outfile | tail -1 | cut -d= -f2-`"
LIBS="$LIBS $my_perl_libs"
fi
# Perl support for SSI (mod_include)
if [ ".`egrep '^PERL_SSI[ ]*=[ ]*yes' $my_outfile`" != . ]; then
if [ ".$my_buildtype" = .DSO ]; then
echo ""
echo "** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **"
echo "** when mod_perl is compiled as DSO because of cross-module calls. **"
echo "** Ignoring PERL_SSI flag now. **"
echo ""
else
echo "$my_prefix enabling Perl support for SSI (mod_include)"
my_perl_ccflags="`egrep '^PERL_CCFLAGS=' $my_outfile | tail -1 | cut -d= -f2-`"
CFLAGS="$CFLAGS -DUSE_PERL_SSI $my_perl_ccflags"
my_perl_inc="`egrep '^PERL_INC=' $my_outfile | tail -1 | cut -d= -f2-`"
INCLUDES="$INCLUDES -I\$(SRCDIR) -I$my_perl_inc"
if [ ".`egrep '^PERL_THREADS[ ]*=[ ]*yes' $my_config`" != . ]; then
echo "$my_prefix enabling Perl Thread support"
CFLAGS="$CFLAGS -DPERL_THREADS"
fi
fi
fi
ConfigEnd