Commit | Line | Data |
a0d0e21e |
1 | #!/bin/sh |
71be2cbc |
2 | # |
75f92628 |
3 | # Written: Nov 1994 Wayne Scott (wscott@ichips.intel.com) |
71be2cbc |
4 | # |
a0d0e21e |
5 | # Create the export list for perl. |
6 | # Needed by AIX to do dynamic linking. |
71be2cbc |
7 | # |
1553ab04 |
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. |
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 |
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 |
bbb28fc1 |
35 | |
a0d0e21e |
36 | echo "Extracting perl.exp" |
37 | |
acf072ce |
38 | rm -f perl.exp |
a0d0e21e |
39 | echo "#!" > perl.exp |
40 | |
5f05dabc |
41 | case "$bincompat3" in |
42 | y*) |
a3e802d2 |
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 | ;; |
58 | esac |
75f92628 |
59 | |
1553ab04 |
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 | |
71be2cbc |
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 | |
a0d0e21e |
74 | cat <<END >> perl.exp |
55497cff |
75 | perl_init_i18nl10n |
bbce6d69 |
76 | perl_init_i18nl14n |
77 | perl_new_collate |
78 | perl_new_ctype |
ff68c719 |
79 | perl_new_numeric |
36477c24 |
80 | perl_set_numeric_local |
81 | perl_set_numeric_standard |
a0d0e21e |
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 |
6b8afdaf |
96 | perl_eval_pv |
97 | perl_eval_sv |
98 | perl_require_pv |
71be2cbc |
99 | Mymalloc |
100 | Mycalloc |
101 | Myremalloc |
102 | Myfree |
103 | Perl_malloc |
104 | Perl_calloc |
105 | Perl_realloc |
106 | Perl_free |
a0d0e21e |
107 | END |