1 | #!/bin/sh |
---|
2 | # |
---|
3 | # Written: Nov 1994 Wayne Scott (wscott@ichips.intel.com) |
---|
4 | # |
---|
5 | # Create the export list for perl. |
---|
6 | # Needed by AIX to do dynamic linking. |
---|
7 | # |
---|
8 | # This simple program relys on 'global.sym' and other *.sym files |
---|
9 | # being up to date with all of the global symbols that a dynamic |
---|
10 | # link library might want to access. |
---|
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 | # |
---|
16 | |
---|
17 | case $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 | ;; |
---|
29 | esac |
---|
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. |
---|
32 | case "$0" in |
---|
33 | */*) cd `expr X$0 : 'X\(.*\)/'` ;; |
---|
34 | esac |
---|
35 | |
---|
36 | echo "Extracting perl.exp" |
---|
37 | |
---|
38 | rm -f perl.exp |
---|
39 | echo "#!" > perl.exp |
---|
40 | |
---|
41 | case "$bincompat3" in |
---|
42 | y*) |
---|
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 |
---|
54 | ;; |
---|
55 | *) |
---|
56 | sed -n '/^[A-Za-z]/ s/^/Perl_/p' global.sym interp.sym >> perl.exp |
---|
57 | ;; |
---|
58 | esac |
---|
59 | |
---|
60 | # |
---|
61 | # If we use the PerlIO abstraction layer, add its symbols |
---|
62 | # |
---|
63 | |
---|
64 | if [ $useperlio = "define" ] |
---|
65 | then |
---|
66 | grep '^[A-Za-z]' perlio.sym >> perl.exp |
---|
67 | fi |
---|
68 | |
---|
69 | # |
---|
70 | # Extra globals not included above (including a few that might |
---|
71 | # not actually be defined, but there's no harm in that). |
---|
72 | # |
---|
73 | |
---|
74 | cat <<END >> perl.exp |
---|
75 | perl_init_i18nl10n |
---|
76 | perl_init_i18nl14n |
---|
77 | perl_new_collate |
---|
78 | perl_new_ctype |
---|
79 | perl_new_numeric |
---|
80 | perl_set_numeric_local |
---|
81 | perl_set_numeric_standard |
---|
82 | perl_alloc |
---|
83 | perl_construct |
---|
84 | perl_destruct |
---|
85 | perl_free |
---|
86 | perl_parse |
---|
87 | perl_run |
---|
88 | perl_get_sv |
---|
89 | perl_get_av |
---|
90 | perl_get_hv |
---|
91 | perl_get_cv |
---|
92 | perl_call_argv |
---|
93 | perl_call_pv |
---|
94 | perl_call_method |
---|
95 | perl_call_sv |
---|
96 | perl_eval_pv |
---|
97 | perl_eval_sv |
---|
98 | perl_require_pv |
---|
99 | Mymalloc |
---|
100 | Mycalloc |
---|
101 | Myremalloc |
---|
102 | Myfree |
---|
103 | Perl_malloc |
---|
104 | Perl_calloc |
---|
105 | Perl_realloc |
---|
106 | Perl_free |
---|
107 | END |
---|