c_allow_opts.t 969 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #! /usr/bin/env perl
  2. # test -DALLOW_PERL_OPTIONS
  3. BEGIN {
  4. print "1..2\n";
  5. }
  6. use strict;
  7. my $pl = "ccode00.pl";
  8. my $d = <DATA>;
  9. open F, ">", $pl;
  10. print F $d;
  11. close F;
  12. my $exe = $^O eq 'MSWin32' ? 'a' : './a';
  13. my $C = $] > 5.007 ? "-qq,C" : "C";
  14. my $X = $^X =~ m/\s/ ? qq{"$^X"} : $^X;
  15. system "$X -Mblib -MO=$C,-oa.c $pl";
  16. # see if the ldopts libs are picked up correctly. This really depends on your perl package.
  17. system "$X -Mblib script/cc_harness -q -DALLOW_PERL_OPTIONS a.c -o a";
  18. unless (-e 'a' or -e 'a.out') {
  19. print "ok 1 #skip wrong ldopts for cc_harness. Try -Bdynamic or -Bstatic or fix your ldopts.\n";
  20. print "ok 2 #skip ditto\n";
  21. exit;
  22. }
  23. my $ok = `$exe -s -- -abc=2 -def`;
  24. print $ok ne '21-' ? "n" : "", "ok 1\n";
  25. system "$X -Mblib script/cc_harness -q a.c -o a";
  26. $ok = `$exe -s -- -abc=2 -def`;
  27. print $ok ne '---' ? "n" : "", "ok 2\n";
  28. END {
  29. unlink($exe, "a.out", "a.c", $pl);
  30. }
  31. __DATA__
  32. for (qw/abc def ghi/) {print defined $$_ ? $$_ : q(-)};