summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm23
1 files changed, 14 insertions, 9 deletions
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index 176faf17529..3a9fc71361a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.98';
+our $VERSION = '7.04_01';
sub Mksymlists {
my(%spec) = @_;
@@ -141,19 +141,24 @@ sub _write_win32 {
print $def "EXPORTS\n ";
my @syms;
# Export public symbols both with and without underscores to
- # ensure compatibility between DLLs from different compilers
+ # ensure compatibility between DLLs from Borland C and Visual C
# NOTE: DynaLoader itself only uses the names without underscores,
# so this is only to cover the case when the extension DLL may be
# linked to directly from C. GSAR 97-07-10
- if ($Config::Config{'cc'} =~ /^bcc/i) {
- for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}}) {
- push @syms, "_$_", "$_ = _$_";
+
+ #bcc dropped in 5.16, so dont create useless extra symbols for export table
+ unless($] >= 5.016) {
+ if ($Config::Config{'cc'} =~ /^bcc/i) {
+ push @syms, "_$_", "$_ = _$_"
+ for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}});
}
- }
- else {
- for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}}) {
- push @syms, "$_", "_$_ = $_";
+ else {
+ push @syms, "$_", "_$_ = $_"
+ for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}});
}
+ } else {
+ push @syms, "$_"
+ for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}});
}
print $def join("\n ",@syms, "\n") if @syms;
_print_imports($def, $data);