--- a/ReadKey.pm.PL +++ b/ReadKey.pm.PL @@ -511,16 +511,21 @@ package Term::ReadKey; require DynaLoader; our @ISA = qw(DynaLoader); -print "Bootstrapping the XS for blockoptions: "; -bootstrap Term::ReadKey or die; -print blockoptions()."\n"; +# cross compiling can not load the XS, allow to pass the value +my $blockoptions = $ENV{TERMREADKEY_BLOCKOPTIONS}; +unless (defined $blockoptions) { + print "Bootstrapping the XS for blockoptions: "; + bootstrap Term::ReadKey or die; + $blockoptions = blockoptions(); +} +print "blockoptions: $blockoptions\n"; open OUT, ">>", $file or die "Can't append to $file: $!"; print OUT "# blockoptions: \n"; -if ( &blockoptions() & 1 ) # Use nodelay +if ( $blockoptions & 1 ) # Use nodelay { print OUT "#nodelay\n"; - if ( &blockoptions() & 2 ) #poll + if ( $blockoptions & 2 ) #poll { print OUT <<'!NO!SUBS!'; # poll @@ -551,7 +556,7 @@ sub ReadLine { !NO!SUBS! } - elsif ( &blockoptions() & 4 ) #select + elsif ( $blockoptions & 4 ) #select { print OUT <<'!NO!SUBS!'; #select @@ -630,7 +635,7 @@ sub ReadLine { else { print OUT "#no nodelay\n"; - if ( &blockoptions() & 2 ) # Use poll + if ( $blockoptions & 2 ) # Use poll { print OUT <<'!NO!SUBS!'; #poll @@ -651,7 +656,7 @@ sub ReadLine { !NO!SUBS! } - elsif ( &blockoptions() & 4 ) # Use select + elsif ( $blockoptions & 4 ) # Use select { print OUT <<'!NO!SUBS!'; #select @@ -672,7 +677,7 @@ sub ReadLine { !NO!SUBS! } - elsif ( &blockoptions() & 8 ) # Use Win32 + elsif ( $blockoptions & 8 ) # Use Win32 { print OUT <<'!NO!SUBS!'; #Win32