$define{$1} = 1 if /^\s*#\s*define\s+(USE_ITHREADS)\b/;
$define{$1} = 1 if /^\s*#\s*define\s+(USE_PERLIO)\b/;
$define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/;
+ $define{$1} = 1 if /^\s*#\s*define\s+(PERL_IMPLICIT_SYS)\b/;
$define{$1} = 1 if /^\s*#\s*define\s+(PERL_BINCOMPAT_5005)\b/;
}
close(CFG);
if ($PLATFORM eq 'win32') {
warn join(' ',keys %define)."\n";
- if ($define{PERL_OBJECT} || $define{MULTIPLICITY}) {
- print "LIBRARY Perl56\n";
- print "DESCRIPTION 'Perl interpreter'\n";
- print "EXPORTS\n";
+ print "LIBRARY Perl56\n";
+ print "DESCRIPTION 'Perl interpreter'\n";
+ print "EXPORTS\n";
+ if ($define{PERL_IMPLICIT_SYS}) {
output_symbol("perl_get_host_info");
output_symbol("perl_alloc_override");
}
- else {
- print "LIBRARY Perl56\n";
- print "DESCRIPTION 'Perl interpreter, export autogenerated'\n";
- print "EXPORTS\n";
- }
}
elsif ($PLATFORM eq 'os2') {
($v = $]) =~ s/(\d\.\d\d\d)(\d\d)$/$1_$2/;
chdir 't' if -d 't';
unshift @INC, '../lib';
require Config; import Config;
- unless ($Config{'d_fork'} || ($^O eq 'MSWin32' && $Config{'useithreads'})) {
+ unless ($Config{'d_fork'}
+ or ($^O eq 'MSWin32' and $Config{useithreads}
+ and $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/))
+ {
print "1..0 # Skip: no fork\n";
exit 0;
}
/* compatibility stuff for other compilers goes here */
-#if !defined(PERL_OBJECT) && defined(PERL_MEMBER_PTR_SIZE)
+#if !defined(PERL_OBJECT) && defined(PERL_CAPI) && defined(PERL_MEMBER_PTR_SIZE)
# define STRUCT_MGVTBL_DEFINITION \
struct mgvtbl { \
union { \
U8 op_flags; \
U8 op_private;
-#endif /* !PERL_OBJECT && PERL_MEMBER_PTR_SIZE */
+#endif /* !PERL_OBJECT && PERL_CAPI && PERL_MEMBER_PTR_SIZE */
START_EXTERN_C