gecko-dev/build/mac/NGLayoutBuildList.pm

505 строки
21 KiB
Perl
Исходник Обычный вид История

1998-06-11 07:58:24 +04:00
#!perl -w
package NGLayoutBuildList;
require 5.004;
require Exporter;
use strict;
use vars qw( @ISA @EXPORT );
1998-06-11 07:58:24 +04:00
# perl includes
1998-06-11 07:58:24 +04:00
use Mac::StandardFile;
1998-06-27 05:26:41 +04:00
use Mac::Processes;
1998-06-11 07:58:24 +04:00
use Cwd;
use File::Path;
# homegrown
1998-06-11 07:58:24 +04:00
use Moz;
use MacCVS;
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
@ISA = qw(Exporter);
1998-06-27 05:26:41 +04:00
@EXPORT = qw( Checkout BuildDist BuildProjects BuildCommonProjects BuildLayoutProjects);
1998-06-11 07:58:24 +04:00
# NGLayoutBuildList builds the nglayout project
# it is configured by setting the following variables in the caller:
# Usage:
# caller variables that affect behaviour:
# DEBUG : 1 if we are building a debug version
# 3-part build process: checkout, dist, and build_projects
# Hack alert:
# NGLayout defines are located in :mozilla:config:mac:NGLayoutConfigInclude.h
# An alias "MacConfigInclude.h" to this file is created inside dist:config
# Note that the name of alias is different than the name of the file. This
# is to trick CW into including NGLayout defines
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Utility routines
#//--------------------------------------------------------------------------------------------------
1998-06-11 07:58:24 +04:00
# pickWithMemoryFile stores the information about the user pick inside
# the file $session_storage
sub _pickWithMemoryFile($)
{
my ($sessionStorage) = @_;
my $cvsfile;
if (( -e $sessionStorage) &&
open( SESSIONFILE, $sessionStorage ))
{
# Read in the path if available
$cvsfile = <SESSIONFILE>;
chomp $cvsfile;
close SESSIONFILE;
if ( ! -e $cvsfile )
{
print STDERR "$cvsfile has disappeared\n";
undef $cvsfile;
}
}
unless (defined ($cvsfile))
{
print "Choose a CVS session file in file dialog box:\n"; # no way to display a prompt?
1998-06-27 05:26:41 +04:00
# make sure that MacPerl is a front process
while (GetFrontProcess () != GetCurrentProcess())
{
SetFrontProcess( GetCurrentProcess() );
}
# prompt user for the file name, and store it
1998-06-11 07:58:24 +04:00
my $macFile = StandardGetFile( 0, "McvD");
if ( $macFile->sfGood() )
{
$cvsfile = $macFile->sfFile();
# save the choice if we can
if ( open (SESSIONFILE, ">" . $sessionStorage))
{
printf SESSIONFILE $cvsfile, "\n";
close SESSIONFILE;
}
else
{
print STDERR "Could not open storage file\n";
}
}
}
return $cvsfile;
}
# assert that we are in the correct directory for the build
sub _assertRightDirectory()
{
unless (-e ":mozilla")
{
my($dir) = cwd();
print STDERR "NGLayoutBuildList called from incorrect directory: $dir";
}
}
sub _getDistDirectory()
{
1998-06-27 05:26:41 +04:00
return $main::DEBUG ? ":mozilla:dist:viewer_debug:" : ":mozilla:dist:viewer:";
}
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Checkout everything
#//--------------------------------------------------------------------------------------------------
1998-06-11 07:58:24 +04:00
sub Checkout()
{
_assertRightDirectory();
my($cvsfile) = _pickWithMemoryFile("::nglayout.cvsloc");
my($session) = MacCVS->new( $cvsfile );
unless (defined($session)) { die "Checkout aborted. Cannot create session file: $session" }
1998-10-06 06:52:09 +04:00
#//
#// Checkout commands
#//
if ($main::pull{all})
1998-06-11 07:58:24 +04:00
{
1998-12-01 01:15:00 +03:00
$session->checkout("RaptorMac") || die "checkout failure";
#//$session->checkout("mozilla/modules/libpref") || die "checkout failure";
#// beard: additional libraries needed to make shared libraries link.
#//$session->checkout("mozilla/lib/mac/PowerPlant") || die "checkout failure";
#//$session->checkout("mozilla/lib/xlate") || die "checkout failure";
}
1998-06-11 07:58:24 +04:00
}
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Build the 'dist' directory
#//--------------------------------------------------------------------------------------------------
1998-06-11 07:58:24 +04:00
sub BuildDist()
{
unless ( $main::build{dist} ) { return;}
_assertRightDirectory();
# we really do not need all these paths, but many client projects include them
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
1998-06-27 05:26:41 +04:00
mkpath([ ":mozilla:dist:viewer:", ":mozilla:dist:viewer_debug:" ]);
my($distdirectory) = ":mozilla:dist";
1998-10-06 06:52:09 +04:00
#MAC_COMMON
InstallFromManifest(":mozilla:build:mac:MANIFEST", "$distdirectory:mac:common:");
InstallFromManifest(":mozilla:lib:mac:NSStdLib:include:MANIFEST", "$distdirectory:mac:common:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", "$distdirectory:mac:common:");
InstallFromManifest(":mozilla:lib:mac:Misc:MANIFEST", "$distdirectory:mac:common:");
InstallFromManifest(":mozilla:lib:mac:MoreFiles:MANIFEST", "$distdirectory:mac:common:morefiles:");
1998-10-06 06:52:09 +04:00
#INCLUDE
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:config:mac:MANIFEST", "$distdirectory:config:");
InstallFromManifest(":mozilla:config:mac:MANIFEST_config", "$distdirectory:config:");
InstallFromManifest(":mozilla:include:MANIFEST", "$distdirectory:include:");
InstallFromManifest(":mozilla:cmd:macfe:pch:MANIFEST", "$distdirectory:include:");
InstallFromManifest(":mozilla:cmd:macfe:utility:MANIFEST", "$distdirectory:include:");
1998-10-06 06:52:09 +04:00
#NSPR
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:nsprpub:pr:include:MANIFEST", "$distdirectory:nspr:");
InstallFromManifest(":mozilla:nsprpub:pr:src:md:mac:MANIFEST", "$distdirectory:nspr:mac:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:nsprpub:lib:ds:MANIFEST", "$distdirectory:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:libc:include:MANIFEST", "$distdirectory:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:msgc:include:MANIFEST", "$distdirectory:nspr:");
1998-10-06 06:52:09 +04:00
#JPEG
InstallFromManifest(":mozilla:jpeg:MANIFEST", "$distdirectory:jpeg:");
1998-10-06 06:52:09 +04:00
#LIBREG
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:libreg:include:MANIFEST", "$distdirectory:libreg:");
1998-10-06 06:52:09 +04:00
#XPCOM
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:xpcom:public:MANIFEST", "$distdirectory:xpcom:");
1998-10-06 06:52:09 +04:00
#ZLIB
InstallFromManifest(":mozilla:modules:zlib:src:MANIFEST", "$distdirectory:zlib:");
1998-10-06 06:52:09 +04:00
#LIBUTIL
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:libutil:public:MANIFEST", "$distdirectory:libutil:");
1998-10-06 06:52:09 +04:00
#SUN_JAVA
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:sun-java:stubs:include:MANIFEST", "$distdirectory:sun-java:");
InstallFromManifest(":mozilla:sun-java:stubs:macjri:MANIFEST", "$distdirectory:sun-java:");
1998-10-06 06:52:09 +04:00
#NAV_JAVA
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:nav-java:stubs:include:MANIFEST", "$distdirectory:nav-java:");
InstallFromManifest(":mozilla:nav-java:stubs:macjri:MANIFEST", "$distdirectory:nav-java:");
1998-10-06 06:52:09 +04:00
#JS
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:js:src:MANIFEST", "$distdirectory:js:");
1998-10-06 06:52:09 +04:00
#SECURITY_freenav
InstallFromManifest(":mozilla:modules:security:freenav:MANIFEST", "$distdirectory:security:");
1998-10-06 06:52:09 +04:00
#LIBPREF
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:libpref:public:MANIFEST", "$distdirectory:libpref:");
1998-10-06 06:52:09 +04:00
#LIBIMAGE
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:libimg:png:MANIFEST", "$distdirectory:libimg:");
InstallFromManifest(":mozilla:modules:libimg:src:MANIFEST", "$distdirectory:libimg:");
InstallFromManifest(":mozilla:modules:libimg:public:MANIFEST", "$distdirectory:libimg:");
1998-10-06 06:52:09 +04:00
#PLUGIN
InstallFromManifest(":mozilla:modules:plugin:nglsrc:MANIFEST", "$distdirectory:plugin:");
InstallFromManifest(":mozilla:modules:plugin:public:MANIFEST", "$distdirectory:plugin:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:plugin:src:MANIFEST", "$distdirectory:plugin:");
InstallFromManifest(":mozilla:modules:oji:src:MANIFEST", "$distdirectory:oji:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:modules:oji:public:MANIFEST", "$distdirectory:oji:");
1998-10-06 06:52:09 +04:00
#LAYERS (IS THIS STILL NEEDED)
InstallFromManifest(":mozilla:lib:liblayer:include:MANIFEST", "$distdirectory:layers:");
1998-10-06 06:52:09 +04:00
#NETWORK
InstallFromManifest(":mozilla:network:cache:MANIFEST", "$distdirectory:network:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:network:client:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:cnvts:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:cstream:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:main:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:mimetype:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:util:MANIFEST", "$distdirectory:network:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:network:protocol:about:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:certld:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:dataurl:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:file:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:ftp:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:gopher:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:http:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:js:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:mailbox:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:marimba:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:nntp:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:pop3:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:remote:MANIFEST", "$distdirectory:network:");
InstallFromManifest(":mozilla:network:protocol:smtp:MANIFEST", "$distdirectory:network:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:network:module:MANIFEST", "$distdirectory:network:module");
1998-10-06 06:52:09 +04:00
#BASE
InstallFromManifest(":mozilla:base:src:MANIFEST", "$distdirectory:base:");
InstallFromManifest(":mozilla:base:public:MANIFEST", "$distdirectory:base:");
1998-10-06 06:52:09 +04:00
#WEBSHELL
InstallFromManifest(":mozilla:webshell:public:MANIFEST", "$distdirectory:webshell:");
1998-10-06 06:52:09 +04:00
#LAYOUT
InstallFromManifest(":mozilla:layout:build:MANIFEST", "$distdirectory:layout:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:layout:base:public:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:html:style:public:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:html:base:src:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:base:src:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:events:public:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:events:src:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:xml:document:public:MANIFEST", "$distdirectory:layout:");
InstallFromManifest(":mozilla:layout:xml:content:public:MANIFEST", "$distdirectory:layout:");
1998-10-06 06:52:09 +04:00
#WIDGET
InstallFromManifest(":mozilla:widget:public:MANIFEST", "$distdirectory:widget:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:widget:src:mac:MANIFEST", "$distdirectory:widget:");
1998-10-06 06:52:09 +04:00
#GFX
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:gfx:src:MANIFEST", "$distdirectory:gfx:");
InstallFromManifest(":mozilla:gfx:public:MANIFEST", "$distdirectory:gfx:");
1998-10-06 06:52:09 +04:00
#VIEW
InstallFromManifest(":mozilla:view:public:MANIFEST", "$distdirectory:view:");
1998-10-06 06:52:09 +04:00
#DOM
InstallFromManifest(":mozilla:dom:public:MANIFEST", "$distdirectory:dom:");
InstallFromManifest(":mozilla:dom:public:coreDom:MANIFEST", "$distdirectory:dom:");
InstallFromManifest(":mozilla:dom:public:coreEvents:MANIFEST", "$distdirectory:dom:");
InstallFromManifest(":mozilla:dom:public:events:MANIFEST", "$distdirectory:dom:");
1998-12-01 01:15:00 +03:00
InstallFromManifest(":mozilla:dom:public:html:MANIFEST", "$distdirectory:dom:");
InstallFromManifest(":mozilla:dom:public:css:MANIFEST", "$distdirectory:dom:");
InstallFromManifest(":mozilla:dom:src:jsurl:MANIFEST", "$distdirectory:dom:");
1998-10-06 06:52:09 +04:00
#HTMLPARSER
InstallFromManifest(":mozilla:htmlparser:src:MANIFEST", "$distdirectory:htmlparser:");
#RDF
InstallFromManifest(":mozilla:rdf:include:MANIFEST", "$distdirectory:rdf:");
1998-11-30 02:52:10 +03:00
#EDITOR
InstallFromManifest(":mozilla:editor:public:MANIFEST", "$distdirectory:editor:");
1998-10-06 06:52:09 +04:00
#// To get out defines in all the project, dummy alias NGLayoutConfigInclude.h into MacConfigInclude.h
MakeAlias(":mozilla:config:mac:NGLayoutConfigInclude.h", ":mozilla:dist:config:MacConfigInclude.h");
1998-06-11 07:58:24 +04:00
}
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Build common projects
#//--------------------------------------------------------------------------------------------------
sub BuildCommonProjects()
1998-06-11 07:58:24 +04:00
{
1998-06-27 05:26:41 +04:00
unless( $main::build{common} ) { return; }
1998-06-11 07:58:24 +04:00
_assertRightDirectory();
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
my($D) = $main::DEBUG ? "Debug" : "";
my($dist_dir) = _getDistDirectory();
1998-10-06 06:52:09 +04:00
#//
#// Clean projects
#//
Moz::BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
1998-06-17 02:56:31 +04:00
Moz::BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:cmd:macfe:projects:client:Client.mcp", "Stubs");
1998-12-01 01:15:00 +03:00
#//
#// Stub libraries
#//
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
1998-10-06 06:52:09 +04:00
#//
#// Shared libraries
#//
if ( $main::CARBON )
{
BuildProject(":mozilla:cmd:macfe:projects:interfaceLib:Interface.mcp", "Carbon Interfaces");
}
else
{
BuildProject(":mozilla:cmd:macfe:projects:interfaceLib:Interface.mcp", "MacOS Interfaces");
}
1998-10-06 06:52:09 +04:00
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "NSRuntime$D.shlb");
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb.xSYM", "$dist_dir") : 0;
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb.xSYM", "$dist_dir") : 0;
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb.xSYM", "$dist_dir") : 0;
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb.xSYM","$dist_dir") : 0;
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
1998-10-06 06:52:09 +04:00
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb.xSYM", "$dist_dir") : 0;
1998-06-11 07:58:24 +04:00
1998-10-06 06:52:09 +04:00
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb.xSYM", "$dist_dir") : 0;
1998-10-06 06:52:09 +04:00
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScriptNoJSJ$D.shlb");
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb.xSYM", "$dist_dir") : 0;
1998-10-06 06:52:09 +04:00
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb.xSYM", "$dist_dir") : 0;
1998-11-20 09:05:20 +03:00
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.shlb");
MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb.xSYM", "$dist_dir") : 0;
1998-11-20 09:05:20 +03:00
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:modules:libpref:macbuild:libpref.mcp", "libpref$D.shlb");
MakeAlias(":mozilla:modules:libpref:macbuild:libpref$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:libpref:macbuild:libpref$D.shlb.xSYM", "$dist_dir") : 0;
1998-10-06 06:52:09 +04:00
}
1998-08-05 12:32:38 +04:00
sub BuildResourceAliases
{
my($src_dir, $dest_dir) = @_;
# get a list of all the resource files
opendir(SRCDIR, $src_dir) || die("can't open $src_dir");
my(@resource_files) = readdir(SRCDIR);
closedir(SRCDIR);
# make aliases for each one into the dest directory
for ( @resource_files ) {
next if $_ eq "CVS";
my($file_name) = $src_dir . $_;
print("Placing alias to file $file_name in $dest_dir\n");
MakeAlias($file_name, $dest_dir);
}
}
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Build NGLayout
#//--------------------------------------------------------------------------------------------------
sub BuildLayoutProjects()
{
1998-06-27 05:26:41 +04:00
unless( $main::build{nglayout} ) { return; }
_assertRightDirectory();
1998-06-11 07:58:24 +04:00
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
my($D) = $main::DEBUG ? "Debug" : "";
my($dist_dir) = _getDistDirectory();
1998-12-01 01:15:00 +03:00
1998-10-06 06:52:09 +04:00
#//
#// Make aliases of resource files
#//
1998-09-16 05:24:52 +04:00
my($resource_dir) = "$dist_dir" . "res:";
1998-12-01 01:15:00 +03:00
MakeAlias(":mozilla:layout:html:document:src:ua.css", "$resource_dir");
my($html_dir) = "$resource_dir" . "html:";
1998-12-01 01:15:00 +03:00
MakeAlias(":mozilla:layout:html:base:src:broken-image.gif", "$html_dir");
1998-10-06 06:52:09 +04:00
my($throbber_dir) = "$resource_dir" . "throbber:";
1998-12-01 01:15:00 +03:00
BuildResourceAliases(":mozilla:webshell:tests:viewer:throbber:", "$throbber_dir");
my($samples_dir) = "$resource_dir" . "samples:";
1998-12-01 01:15:00 +03:00
BuildResourceAliases(":mozilla:webshell:tests:viewer:samples:", "$samples_dir");
1998-10-06 06:52:09 +04:00
my($chrome_dir) = "$resource_dir" . "chrome:";
1998-12-01 01:15:00 +03:00
BuildResourceAliases(":mozilla:xpfe:xpviewer:src:resources:chrome:", "$chrome_dir");
my($toolbar_dir) = "$resource_dir" . "toolbar:";
1998-12-01 01:15:00 +03:00
BuildResourceAliases(":mozilla:xpfe:xpviewer:src:resources:toolbar:", "$toolbar_dir");
#//
#// Make WasteLib alias
#//
local(*F);
my($filepath, $appath, $psi) = (':mozilla:build:mac:idepath.txt');
if (open(F, $filepath)) {
$appath = <F>;
close(F);
my($wastelibpath) = "$appath" . "::MacOS Support:WASTE 1.3 Distribution:WASTELib";
MakeAlias("$wastelibpath", "$dist_dir");
}
else {
print STDERR "Can't find $filepath\n";
}
1998-10-06 06:52:09 +04:00
#//
#// Build Layout projects
#//
#// PowerPlant now used by widget, etc.
BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp", "PowerPlant$D.shlb");
MakeAlias(":mozilla:lib:mac:PowerPlant:PowerPlant$D.shlb", "$dist_dir");
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:base:macbuild:base.mcp", "base$D.shlb");
MakeAlias(":mozilla:base:macbuild:base$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:libutil:macbuild:libutil.mcp", "libutil$D.shlb");
MakeAlias(":mozilla:modules:libutil:macbuild:libutil$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:libutil:macbuild:libutil$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.shlb");
MakeAlias(":mozilla:modules:libimg:macbuild:libimg$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:libimg:macbuild:libimg$D.shlb.xSYM", "$dist_dir") : 0;
#// beard: now depends on libimg.
BuildProject(":mozilla:network:macbuild:network.mcp", "NetworkModular$D.shlb");
MakeAlias(":mozilla:network:macbuild:NetworkModular$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:network:macbuild:NetworkModular$D.shlb", "$dist_dir") : 0;
BuildProject(":mozilla:htmlparser:macbuild:htmlparser.mcp", "htmlparser$D.shlb");
MakeAlias(":mozilla:htmlparser:macbuild:htmlparser$D.shlb", "$dist_dir");
BuildProject(":mozilla:dom:macbuild:dom.mcp", "dom$D.shlb");
MakeAlias(":mozilla:dom:macbuild:dom$D.shlb", "$dist_dir") ;
1998-11-20 09:05:20 +03:00
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:gfx:macbuild:gfx.mcp", "gfx$D.shlb");
MakeAlias(":mozilla:gfx:macbuild:gfx$D.shlb", "$dist_dir");
BuildProject(":mozilla:layout:macbuild:layout.mcp", "layout$D.shlb");
MakeAlias(":mozilla:layout:macbuild:layout$D.shlb", "$dist_dir");
BuildProject(":mozilla:view:macbuild:view.mcp", "view$D.shlb");
MakeAlias(":mozilla:view:macbuild:view$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:view:macbuild:view$D.shlb.xSYM", "$dist_dir") : 0;
1998-11-20 09:05:20 +03:00
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:widget:macbuild:widget.mcp", "widget$D.shlb");
MakeAlias(":mozilla:widget:macbuild:widget$D.shlb", "$dist_dir");
#// This isn't quite ready yet...
#BuildProject(":mozilla:rdf:macbuild:rdf.mcp", "rdf$D.shlb");
#MakeAlias(":mozilla:rdf:macbuild:rdf$D.shlb", "$dist_dir");
1998-12-01 01:15:00 +03:00
BuildProject(":mozilla:webshell:macbuild:webshell.mcp", "webshell$D.shlb");
MakeAlias(":mozilla:webshell:macbuild:webshell$D.shlb", "$dist_dir");
BuildProject(":mozilla:webshell:tests:viewer:mac:viewer.mcp", "viewer$D");
BuildProject(":mozilla:xpfe:macbuild:xpfeviewer.mcp", "xpfeViewer$D");
}
1998-10-06 06:52:09 +04:00
#//--------------------------------------------------------------------------------------------------
#// Build everything
#//--------------------------------------------------------------------------------------------------
sub BuildProjects()
{
BuildCommonProjects();
BuildLayoutProjects();
1998-06-11 07:58:24 +04:00
}