pjs/embedding/config/gen_mn.pl

90 строки
2.0 KiB
Perl

#!/usr/bin/perl
#################################################################
# Rest of program
# get requirements from the same dir as the script
if ($^O ne "cygwin") {
# we'll be pulling in some stuff from the script directory
require FindBin;
import FindBin;
push @INC, $FindBin::Bin;
}
require GenerateManifest;
import GenerateManifest;
use Getopt::Long;
# Configuration
$win32 = 0;
$darwin = 0;
for ($^O) {
if (/((MS)?win32)|cygwin/i) {
$win32 = 1;
}
elsif (/darwin/i) {
$darwin = 1;
}
}
if ($win32) {
$moz = "$ENV{'MOZ_SRC'}/mozilla";
if ($ENV{'MOZ_DEBUG'}) {
$chrome = "$moz/dist/WIN32_D.OBJ/Embed/tmpchrome";
}
else
{
$chrome = "$moz/dist/WIN32_O.OBJ/Embed/tmpchrome";
}
}
else {
$moz = "~/mozilla";
$chrome = "$moz/dist/Embed/tmpchrome";
}
$verbose = 0;
$locale = "en-US";
$platform = "en-unix";
GetOptions('verbose!' => \$verbose,
'mozpath=s' => \$moz,
'manifest=s' => \$manifest,
'chrome=s' => \$chrome,
'locale=s' => \$locale,
'help' => \$showhelp);
if ($win32) {
# Fix those pesky backslashes
$moz =~ s/\\/\//g;
$chrome =~ s/\\/\//g;
$platform = "en-win";
}
elsif ($darwin) {
$platform = "en-mac"
}
if ($showhelp) {
print STDERR "Embedding manifest generator.\n",
"Usage:\n",
" -help Show this help.\n",
" -manifest <file> Specify the input manifest.\n",
" -mozpath <path> Specify the path to Mozilla.\n",
" -chrome <path> Specify the path to the chrome.\n",
" -locale <value> Specify the locale to use. (e.g. en-US)\n",
" -verbose Print extra information\n";
exit 1;
}
if ($manifest eq "") {
die("Error: No input manifest file was specified.\n");
}
if ($verbose) {
print STDERR "Mozilla path = \"$moz\"\n",
"Chrome path = \"$chrome\"\n",
"Manifest file = \"$manifest\"\n";
}
GenerateManifest($moz, $manifest, $chrome, $locale, $platform, *STDOUT, "/", $verbose);
exit 0;