MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //installd/perl588installer/perl-5.8.8/writemain
#!/bin/sh
# This script takes the plain miniperlmain.c and writes out perlmain.c
# which includes all the extensions.
# The command line arguments name extensions to be used.
#  E.g.:  sh writemain SDBM_File POSIX > perlmain.c
#

orig="$*"
args=''
: Remove any .a suffixes and any leading path components
for file in $orig ; do
        case "$file" in
           *.a)  file=`echo $file | sed 's/\.a//g'`
                 ;;
        esac
	case "$file" in
	ext/*)	file=`echo $file | sed 's:ext/\(.*\)/[^/]*:\1:'`
		;;
	lib/auto/*)	file=`echo $file | sed 's:lib/auto/\(.*\)/[^/]*:\1:'`
		;;
	*/*)
		file=`expr X$file : 'X.*/\(.*\)'`
		;;
	esac
	args="$args $file"
done


sed '/Do not delete this line--writemain depends on it/q' miniperlmain.c


if test X"$args" != "X" ; then
    for ext in $args ; do
: $ext will either be 'Name' or 'Name1/Name2' etc
: convert ext into cname and mname
mname=`echo $ext   | sed 's!/!::!g'`
cname=`echo $mname | sed 's!:!_!g'`

echo "EXTERN_C void boot_${cname} (pTHX_ CV* cv);"
    done
fi

cat << 'EOP'

static void
xs_init(pTHX)
{
EOP

if test X"$args" != "X" ; then
    echo "    const char file[] = __FILE__;"
    echo "    dXSUB_SYS;"

    ai=''

    for ext in $args ; do

	: $ext will either be 'Name' or 'Name1/Name2' etc
	: convert ext into cname and mname
	mname=`echo $ext   | sed 's!/!::!g'`
	cname=`echo $mname | sed 's!:!_!g'`

	if test "$ext" = "DynaLoader"; then
	    : Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'!
	    : boot_DynaLoader is called directly in DynaLoader.pm
	    echo "        newXS(\"${mname}::boot_${ext}\", boot_${cname}, (char *)file);"
	else
	    echo "        newXS(\"${mname}::bootstrap\", boot_${cname}, (char *)file);"
	fi
    done
fi

cat << 'EOP'
}
EOP