From e80c6d1fcaba51239065e3e7de22aac36fc090bc Mon Sep 17 00:00:00 2001 From: cltbld Date: Thu, 6 Jan 2005 23:02:38 +0000 Subject: [PATCH] Generalize make-msi.pl script to open the door for MSIs of other Mozilla projects. Work supporting bug 231062. (cmp) git-svn-id: svn://10.0.0.236/trunk@167366 18797224-902f-48f8-a5cc-f745e15eee43 --- .../mozapps/installer/windows/msi/make-msi.pl | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/mozilla/toolkit/mozapps/installer/windows/msi/make-msi.pl b/mozilla/toolkit/mozapps/installer/windows/msi/make-msi.pl index 4a564a2442b..8a96a40748e 100755 --- a/mozilla/toolkit/mozapps/installer/windows/msi/make-msi.pl +++ b/mozilla/toolkit/mozapps/installer/windows/msi/make-msi.pl @@ -46,12 +46,23 @@ if ($inConfigFiles eq "") { die "ERROR: Packager manifests and install script location must be specified with -config\n"; } +if ($inProject eq "") { + die "ERROR: Project must be specified with -project\n"; +} + $DIST = "$inObjDir/dist"; -$MSRC = "$inSrcDir/browser/installer/windows/msi"; $MMH = "$inSrcDir/toolkit/mozapps/installer/windows/msi"; $MDIST = "$DIST/msi"; $STAGE = "$DIST/install"; +if ($inProject eq "firefox") { + $MSRC = "$inSrcDir/browser/installer/windows/msi"; +} elsif ($inProject eq "thunderbird") { + $MSRC = "$inSrcDir/mail/installer/windows/msi"; +} else { + die "ERROR: make-msi.pl currently only supports the firefox and thunderbird projects.\n"; +} + $STAGE =~ s:/+:/:g; $DIST =~ s:/+:/:g; $MSRC =~ s:/+:/:g; @@ -94,9 +105,9 @@ mkdir($MDIST, 0775); #-------------------------------------------------------------------------- Print("Placing MSI files in $MDIST/...\n"); -system("cp \"$MSRC/firefox.mm\" \"$MDIST/\""); -system("cp \"$MSRC/firefox.mmh\" \"$MDIST/\""); -system("cp \"$MSRC/firefox.ver\" \"$MDIST/\""); +system("cp \"$MSRC/$inProject.mm\" \"$MDIST/\""); +system("cp \"$MSRC/$inProject.mmh\" \"$MDIST/\""); +system("cp \"$MSRC/$inProject.ver\" \"$MDIST/\""); system("cp \"$MMH/mozilla-dept.mmh\" \"$MDIST/\""); system("cp \"$MMH/mozilla-company.mmh\" \"$MDIST/\""); @@ -106,18 +117,18 @@ system("cp \"$MMH/mozilla-company.mmh\" \"$MDIST/\""); Print("Generating MSI file...\n"); chdir($MDIST); -system("mm.cmd firefox P"); +system("mm.cmd $inProject P"); -if ( ! -e "out/firefox.mm/MSI/firefox.msi" ) { - die "ERROR: Failed to build MSI -- $MDIST/out/firefox.mm/MSI/firefox.msi missing!\n"; +if ( ! -e "out/$inProject.mm/MSI/$inProject.msi" ) { + die "ERROR: Failed to build MSI -- $MDIST/out/$inProject.mm/MSI/$inProject.msi missing!\n"; } #-------------------------------------------------------------------------- -# Move MSI file to stage. +# Copy MSI file to stage. #-------------------------------------------------------------------------- Print("Copying MSI file to staging area...\n"); -my $cmd = "cp out/firefox.mm/MSI/firefox.msi \"$STAGE/$output_filename\""; +my $cmd = "cp out/$inProject.mm/MSI/$inProject.msi \"$STAGE/$output_filename\""; Print("$cmd\n"); system($cmd); @@ -161,6 +172,11 @@ sub ParseArgv { $counter++; $inConfigFiles = $argv[$counter]; } + } elsif ($argv[$counter] =~ /^[-,\/]project$/i) { + if ($#argv >= ($counter + 1)) { + $counter++; + $inProject = $argv[$counter]; + } } } }