This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Refresh ExtUtils::Manifest to 1.33
[perl5.git] / perl_exp.SH
CommitLineData
a0d0e21e 1#!/bin/sh
71be2cbc 2#
75f92628 3# Written: Nov 1994 Wayne Scott (wscott@ichips.intel.com)
71be2cbc 4#
a0d0e21e
LW
5# Create the export list for perl.
6# Needed by AIX to do dynamic linking.
71be2cbc 7#
a0d0e21e
LW
8# This simple program relys on 'global.sym' being up to date
9# with all of the global symbols that a dynamicly link library
10# might want to access.
71be2cbc 11#
12# Most symbols have a Perl_ prefix because that's what embed.h sticks
13# in front of them. Variations depend on binary compatibility with
14# Perl 5.003.
15#
a0d0e21e 16
71be2cbc 17case $CONFIG in
18'')
19 if test -f config.sh; then TOP=.;
20 elif test -f ../config.sh; then TOP=..;
21 elif test -f ../../config.sh; then TOP=../..;
22 elif test -f ../../../config.sh; then TOP=../../..;
23 elif test -f ../../../../config.sh; then TOP=../../../..;
24 else
25 echo "Can't find config.sh."; exit 1
26 fi
27 . $TOP/config.sh
28 ;;
29esac
30: This forces SH files to create target in same directory as SH file.
31: This is so that make depend always knows where to find SH derivatives.
32case "$0" in
33*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
34esac
bbb28fc1 35
a0d0e21e
LW
36echo "Extracting perl.exp"
37
acf072ce 38rm -f perl.exp
a0d0e21e
LW
39echo "#!" > perl.exp
40
5f05dabc 41case "$bincompat3" in
42y*)
a3e802d2
CS
43 global=/tmp/exp$$g
44 interp=/tmp/exp$$i
45 compat3=/tmp/exp$$c
46 grep '^[A-Za-z]' global.sym | sort >$global
47 grep '^[A-Za-z]' interp.sym | sort >$interp
48 grep '^[A-Za-z]' compat3.sym | sort >$compat3
49 comm -23 $global $compat3 | sed 's/^/Perl_/' >> perl.exp
50 comm -12 $interp $compat3 | sed 's/^/Perl_/' >> perl.exp
51 comm -12 $global $compat3 >> perl.exp
52 comm -23 $interp $compat3 >> perl.exp
53 rm -f $global $interp $compat3
5f05dabc 54 ;;
55*)
56 sed -n '/^[A-Za-z]/ s/^/Perl_/p' global.sym interp.sym >> perl.exp
57 ;;
58esac
75f92628 59
71be2cbc 60#
61# Extra globals not included above (including a few that might
62# not actually be defined, but there's no harm in that).
63#
64
a0d0e21e 65cat <<END >> perl.exp
55497cff 66perl_init_i18nl10n
bbce6d69 67perl_init_i18nl14n
68perl_new_collate
69perl_new_ctype
ff68c719 70perl_new_numeric
36477c24 71perl_set_numeric_local
72perl_set_numeric_standard
a0d0e21e
LW
73perl_alloc
74perl_construct
75perl_destruct
76perl_free
77perl_parse
78perl_run
79perl_get_sv
80perl_get_av
81perl_get_hv
82perl_get_cv
83perl_call_argv
84perl_call_pv
85perl_call_method
86perl_call_sv
87perl_requirepv
71be2cbc 88Mymalloc
89Mycalloc
90Myremalloc
91Myfree
92Perl_malloc
93Perl_calloc
94Perl_realloc
95Perl_free
a0d0e21e 96END