--- /dev/null
+#!/usr/bin/perl -w
+use v5.14;
+no if $] > 5.017011, warnings => 'experimental::smartmatch';
+
+my ($format, $basename, $name) = @ARGV;
+my $ret = fork // die $!;
+if ($ret) {
+ $SIG{ALRM} = sub {kill KILL => $ret};
+ alarm 5;
+ wait;
+ exit $? >> 8
+} else {
+ given ($format){
+ exec 'g++', '-o', $basename, $name when 'CPP';
+ }
+}