[10723] | 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 |
---|