: Check extensions
echo " "
echo "Looking for extensions..." >&4
-: If we are using the old config.sh, known_extensions may contain
-: old or inaccurate or duplicate values.
-known_extensions=''
+: If we are using the old config.sh, nonxs_extensions and xs_extensions may
+: contain old or inaccurate or duplicate values.
nonxs_extensions=''
+xs_extensions=''
: We do not use find because it might not be available.
: We do not just use MANIFEST because the user may have dropped
: some additional extensions into the source tree and expect them
DynaLoader|dynaload) ;;
*)
this_ext=`echo $xxx | $sed -e s/-/\\\//g`;
- echo " $known_extensions $nonxs_extensions" > $$.tmp;
+ echo " $xs_extensions $nonxs_extensions" > $$.tmp;
if $contains " $this_ext " $$.tmp; then
echo >&4;
echo "Duplicate directories detected for extension $xxx" >&4;
fi;
$ls -1 $xxx > $$.tmp;
if $contains "\.xs$" $$.tmp > /dev/null 2>&1; then
- known_extensions="$known_extensions $this_ext";
+ xs_extensions="$xs_extensions $this_ext";
elif $contains "\.c$" $$.tmp > /dev/null 2>&1; then
- known_extensions="$known_extensions $this_ext";
+ xs_extensions="$xs_extensions $this_ext";
elif $test -d $xxx; then
nonxs_extensions="$nonxs_extensions $this_ext";
fi;
set X
shift
eval $find_extensions
-set X $known_extensions
+set X $xs_extensions
shift
-known_extensions=`echo "$*" | tr ' ' $trnl | $sort | tr $trnl ' '`
+xs_extensions=`echo "$*" | tr ' ' $trnl | $sort | tr $trnl ' '`
set X $nonxs_extensions
shift
nonxs_extensions=`echo "$*" | tr ' ' $trnl | $sort | tr $trnl ' '`
cd "$tdir"
+known_extensions=`echo $nonxs_extensions $xs_extensions | tr ' ' $trnl | $sort | tr $trnl ' '`
: Now see which are supported on this system.
avail_ext=''
-for xxx in $known_extensions ; do
+for xxx in $xs_extensions ; do
case "$xxx" in
DB_File|db_file)
case "$i_db" in
extensions (Extensions.U):
This variable holds a list of all extension files (both XS and
- non-xs linked into the package. It is propagated to Config.pm
+ non-xs) installed with the package. It is propagated to Config.pm
and is typically used to test whether a particular extension
is available.
This variable contains the C type used for Perl's IV.
known_extensions (Extensions.U):
- This variable holds a list of all XS extensions included in
- the package.
+ This variable holds a list of all extensions (both XS and non-xs)
+ included in the package source distribution. This information is
+ only really of use during the Perl build, as the list makes no
+ distinction between extensions which were build and installed, and
+ those which where not. See "extensions" for the list of extensions
+ actually built and available.
ksh (Loc.U):
This variable is defined but not used by Configure.
Maybe Linux should just always set usenm=false.
nonxs_ext (Extensions.U):
- This variable holds a list of all non-xs extensions included
- in the package. All of them will be built.
+ This variable holds a list of all non-xs extensions built and
+ installed by the package. By default, all non-xs extensions
+ distributed will be built, with the exception of platform-specific
+ extensions (currently only one VMS specific extension).
nroff (Loc.U):
This variable is used internally by Configure to determine the
}
*extensions = _ext_ne('known');
-# faithfully copy Configure in not including nonxs extensions for the nonce
-*known_extensions = _ext_ne('nonxs');
+
+sub known_extensions {
+ sort keys %ext;
+}
sub is_static
{