eval 'exec perl -S $0 ${1+"$@"}'
     if $running_under_some_shell;


$dir = $ARGV[0] . "/";
while (<STDIN>) {
    ($var,$val) = split(" ");
    if ($var ne "") {
	$fname = $dir . $var . ".h";
	if (!open(INCFILE,">" . $fname . "-new")) {
	    print STDERR ("Could not open " . $fname . "-new\n");
	    exit(-1);
	}
	print INCFILE ("#ifndef _VDEFS_" . $var . "_H\n");
	print INCFILE ("#define _VDEFS_" . $var . "_H\n");
	print INCFILE ("\n");
#	if ($val eq "TRUE" || $val eq "FALSE") {
#	    print INCFILE ("#include \"utils/truefalse.h\"\n");
#	}
	if ($val ne "undef") {
	    print INCFILE ("#define " . $var . " " . $val . "\n");
	} else {
	    print INCFILE ("#undef " . $var . "\n")
	}
	print INCFILE ("\n#endif /* _VDEFS_" . $var . "_H */\n");
	close(INCFILE);
	if ($recorded{$fname} != 1) {
	    push(@defined, $fname);
	    $recorded{$fname} = 1;
	}
    }
}
foreach $fname (@defined) {
    if ((-r $fname) &&
	(0 == system("diff " . $fname . " " . $fname . "-new")/256)) {
	unlink($fname . "-new");
    } else {
	if (!rename($fname . "-new", $fname)) {
	    print STDERR ("Rename failed\n");
	    exit(-1);
	}
    }
}
