#!perl
use Config;

$libdir = $ENV{PERL_SRC} || "$Config{installarchlib}/CORE";

my $quiet++ if $ARGV[0] eq '-q';
shift if $quiet;
my $debug++ if $ARGV[0] eq '-d';
shift if $debug;

if (grep(/^-[cES]$/, @ARGV)) { # compile-only with -c -E or -S
    ;
} elsif (grep(/^-Bdynamic$/, @ARGV)) { # force dynamic linking with -Bdynamic
    use ExtUtils::Embed;
    @ARGV = grep{ !/^-Bdynamic$/o } @ARGV;
    $linkargs = ldopts;
} elsif ( -e "$libdir/$Config{libperl}" and $Config{libperl} !~ /\.(dll|so)$/ ) {
    # prefer static linkage
    $linkargs = sprintf("%s $libdir/$Config{libperl} %s",
		        @Config{qw(ldflags libs)});
} else { # try dynamic lib if no static lib exists
    use ExtUtils::Embed;
    @ARGV = grep{ !/^-Bdynamic$/o } @ARGV;
    $linkargs = ldopts('-std');
}

my $ccflags = $Config{ccflags};
$ccflags .= " -ansi -pedantic -Wall -Wextra -Wconversion -Wshadow -Wcast-qual -Wwrite-strings"
  if $debug and $Config{cc} =~ /gcc/;

$cccmd = "$Config{cc} $ccflags -I$libdir @ARGV $linkargs";
print "$cccmd\n" unless $quiet;
exec $cccmd;
