[win32] various cleanups so that B can be built as "just another extension"
[p5sagit/p5-mst-13.2.git] / perl_exp.SH
index ef79876..067ebec 100644 (file)
@@ -5,9 +5,9 @@
 # Create the export list for perl.
 # Needed by AIX to do dynamic linking.
 #
-# This simple program relys on 'global.sym' being up to date
-# with all of the global symbols that a dynamicly link library
-# might want to access.
+# This simple program relys on 'global.sym' and other *.sym files
+# being up to date with all of the global symbols that a dynamic
+# link library might want to access.
 #
 # Most symbols have a Perl_ prefix because that's what embed.h sticks
 # in front of them.  Variations depend on binary compatibility with
@@ -54,9 +54,25 @@ y*)
        ;;
 *)
        sed -n '/^[A-Za-z]/ s/^/Perl_/p' global.sym interp.sym >> perl.exp
+       expperlvars=/tmp/exp$$pv
+       expthrdvar=/tmp/exp$$tv
+       sed -n 's/^PERLVARI*(G\([^,]*\).*/Perl_\1/p' perlvars.h >> $expperlvars
+       sed -n 's/^PERLVARI*(T\([^,]*\).*/Perl_\1/p' thrdvar.h  >> $expthrdvar
+       # The shebang line nicely sorts as the first one.
+       sort -o perl.exp -u perl.exp $expperlvars $expthrdvar
+       rm -f $expperlvars $expthrdvar
        ;;
 esac
 
+# 
+# If we use the PerlIO abstraction layer, add its symbols
+#
+
+if [ $useperlio = "define" ]
+then
+       grep '^[A-Za-z]' perlio.sym >> perl.exp
+fi
+
 #
 # Extra globals not included above (including a few that might
 # not actually be defined, but there's no harm in that).