diff --git a/build/mac/IDE_Options.h b/build/mac/IDE_Options.h deleted file mode 100644 index dcb53843ca52..000000000000 --- a/build/mac/IDE_Options.h +++ /dev/null @@ -1,132 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ -/* - - This file overrides all option settings in the IDE. It is an attempt to allow all builds - to have the same options. - - Note: We can't use ConditionalMacros.h in this file because it will conflict with - the PowerPlant precompiled headers. - -*/ - - /* warning pragmas */ -#pragma warn_hidevirtual on -#pragma warn_emptydecl on -#pragma warn_unusedvar on -#pragma warn_extracomma on -#pragma warn_illpragma on -#pragma warn_possunwant on -#pragma warn_unusedarg off /* turned off to reduce warnings */ - -#pragma check_header_flags on - - /* Language features that must be the same across libraries... */ -#pragma enumsalwaysint on -#pragma unsigned_char off -#pragma exceptions on -#pragma bool on -#pragma wchar_type on -#pragma RTTI on - - - /* Save as much space as possible with strings... */ -#pragma pool_strings on -#pragma dont_reuse_strings off - -#pragma options align=native -#pragma sym on /* Takes no memory. OK in non-debug. */ - - - -#ifdef powerc /* ...generating PowerPC */ - #pragma toc_data on - #pragma fp_contract on - #pragma readonly_strings on - - #ifdef DEBUG - #pragma profile off /* Turn this on to profile the application. */ - /* Look for more details about profiling in nsMacMessagePump.cpp. */ - #pragma traceback on - #pragma global_optimizer off - #pragma scheduling off - #pragma peephole off - #pragma optimize_for_size off - #else - - #if TARGET_CARBON - #pragma traceback on /* should always be ON for Carbon builds */ - #else - #pragma traceback on /* leave on until the final release, so MacsBug logs are interpretable */ - #endif - - #pragma global_optimizer on - #pragma optimization_level 4 - #pragma scheduling 603 - #pragma peephole on - #pragma optimize_for_size on - - #pragma opt_strength_reduction on - #pragma opt_propagation on - #pragma opt_loop_invariants on - #pragma opt_lifetimes on - #pragma opt_dead_code on - #pragma opt_dead_assignments on - #pragma opt_common_subs on - #endif - -#else /* ...generating 68k */ - #pragma code68020 on - #pragma code68881 off - - /* Far everything... */ - #pragma far_code - #pragma far_data on - #pragma far_strings on - #pragma far_vtables on - - #pragma fourbyteints on /* 4-byte ints */ - #pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */ - - #ifdef DEBUG - #pragma macsbug on - #pragma oldstyle_symbols off - #else - #pragma macsbug off - #endif -#endif diff --git a/build/mac/MANIFEST b/build/mac/MANIFEST deleted file mode 100644 index d3d9afbf0ae5..000000000000 --- a/build/mac/MANIFEST +++ /dev/null @@ -1,5 +0,0 @@ -# -# This is a list of local files which get copied to the mozilla:dist directory -# - -IDE_Options.h diff --git a/build/mac/NSCrossProductDefines.h b/build/mac/NSCrossProductDefines.h deleted file mode 100644 index 4842adba3277..000000000000 --- a/build/mac/NSCrossProductDefines.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#error "DonÕt use me!" - -#define OLDROUTINELOCATIONS 0 -#define XP_MAC 1 -#define NSPR20 1 -#define _NO_FAST_STRING_INLINES_ 1 -#define HAVE_BOOLEAN 1 -#define NETSCAPE 1 -#define OTUNIXERRORS 1 /* We want OpenTransport error codes */ - -#define OJI 1 - -/* - This compiles in heap dumping utilities and other good stuff - for developers -- maybe we only want it in for a special SDK - nspr/java runtime(?): -*/ -#define DEVELOPER_DEBUG 1 - -#define MAX(_a,_b) ((_a) < (_b) ? (_b) : (_a)) -#define MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b)) diff --git a/build/mac/RunTSScript b/build/mac/RunTSScript deleted file mode 100644 index cd28badbf6d7..000000000000 Binary files a/build/mac/RunTSScript and /dev/null differ diff --git a/build/mac/build_scripts/BuildMozilla.pl b/build/mac/build_scripts/BuildMozilla.pl deleted file mode 100644 index 2b63f725fb93..000000000000 --- a/build/mac/build_scripts/BuildMozilla.pl +++ /dev/null @@ -1,80 +0,0 @@ -#!perl - -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# Simon Fraser -# - -require 5.004; - -use strict; - -use Cwd; -use Moz::BuildUtils; -use Moz::BuildCore; - -#------------------------------------------------------------- -# Where have the build options gone? -# -# The various build flags have been centralized into one place. -# The master list of options is in MozBuildFlags.txt. However, -# you should never need to edit that file, or this one. -# -# To customize what gets built, or where to start the build, -# edit the $prefs_file_name file in -# System Folder:Preferences:Mozilla build prefs: -# Documentation is provided in that file. -#------------------------------------------------------------- - -my($prefs_file_name) = "Mozilla opt build prefs"; -my($config_header_file_name) = ":mozilla:config:mac:DefinesOptions.h"; - -#------------------------------------------------------------- -# hashes to hold build options -#------------------------------------------------------------- -my(%build); -my(%options); -my(%filepaths); -my(%optiondefines); - -# Hash of input files for this build. Eventually, there will be -# input files for manifests, and projects too. -my(%inputfiles) = ( - "buildflags", "MozillaBuildFlags.txt", - "checkoutdata", "MozillaCheckoutList.txt", - "buildprogress", "¥ Mozilla opt progress", - "buildmodule", "MozillaBuildList.pm", - "checkouttime", "Mozilla last checkout" -); -#------------------------------------------------------------- -# end build hashes -#------------------------------------------------------------- - -# set the build root directory, which is the the dir above mozilla -SetupBuildRootDir(":mozilla:build:mac:build_scripts"); - -# Set up all the flags on $main::, like DEBUG, CARBON etc. -# Override the defaults using the preferences files. -SetupDefaultBuildOptions(0, ":mozilla:dist:viewer:", $config_header_file_name); - -my($do_checkout) = 0; -my($do_build) = 1; - -RunBuild($do_checkout, $do_build, \%inputfiles, $prefs_file_name); diff --git a/build/mac/build_scripts/BuildMozillaDebug.pl b/build/mac/build_scripts/BuildMozillaDebug.pl deleted file mode 100644 index f34ddcc380a8..000000000000 --- a/build/mac/build_scripts/BuildMozillaDebug.pl +++ /dev/null @@ -1,80 +0,0 @@ -#!perl - -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# Simon Fraser -# - -require 5.004; - -use strict; - -use Cwd; -use Moz::BuildUtils; -use Moz::BuildCore; - -#------------------------------------------------------------- -# Where have the build options gone? -# -# The various build flags have been centralized into one place. -# The master list of options is in MozBuildFlags.txt. However, -# you should never need to edit that file, or this one. -# -# To customize what gets built, or where to start the build, -# edit the $prefs_file_name file in -# System Folder:Preferences:Mozilla build prefs: -# Documentation is provided in that file. -#------------------------------------------------------------- - -my($prefs_file_name) = "Mozilla debug build prefs"; -my($config_header_file_name) = ":mozilla:config:mac:DefinesOptionsDebug.h"; - -#------------------------------------------------------------- -# hashes to hold build options -#------------------------------------------------------------- -my(%build); -my(%options); -my(%filepaths); -my(%optiondefines); - -# Hash of input files for this build. Eventually, there will be -# input files for manifests, and projects too. -my(%inputfiles) = ( - "buildflags", "MozillaBuildFlags.txt", - "checkoutdata", "MozillaCheckoutList.txt", - "buildprogress", "¥ Mozilla debug progress", - "buildmodule", "MozillaBuildList.pm", - "checkouttime", "Mozilla last checkout" -); -#------------------------------------------------------------- -# end build hashes -#------------------------------------------------------------- - -# set the build root directory, which is the the dir above mozilla -SetupBuildRootDir(":mozilla:build:mac:build_scripts"); - -# Set up all the flags on $main::, like DEBUG, CARBON etc. -# Override the defaults using the preferences files. -SetupDefaultBuildOptions(1, ":mozilla:dist:viewer_debug:", $config_header_file_name); - -my($do_pull) = 0; # overridden by flags and prefs -my($do_build) = 1; - -RunBuild($do_pull, $do_build, \%inputfiles, $prefs_file_name); diff --git a/build/mac/build_scripts/Moz/BuildCore.pm b/build/mac/build_scripts/Moz/BuildCore.pm deleted file mode 100644 index 47e3e936f120..000000000000 --- a/build/mac/build_scripts/Moz/BuildCore.pm +++ /dev/null @@ -1,601 +0,0 @@ -#!perl -w -package Moz::BuildCore; - -require 5.004; -require Exporter; - -use strict; -use vars qw( @ISA @EXPORT ); - -# perl includes -use Cwd; -use POSIX; -use Time::Local; -use File::Basename; -use LWP::Simple; - -# homegrown -use Moz::Moz; -use Moz::Jar; -use Moz::BuildFlags; -use Moz::BuildUtils; -use Moz::CodeWarriorLib; - -# use MozillaBuildList; # eventually, this should go away, and be replaced by data input - - -@ISA = qw(Exporter); -@EXPORT = qw( - RunBuild - ); - - -#//-------------------------------------------------------------------------------------------------- -#// DoPrebuildCheck -#// -#// Check the build tools etc before running the build. -#//-------------------------------------------------------------------------------------------------- -sub DoPrebuildCheck() -{ - SanityCheckBuildOptions(); - - # launch codewarrior and persist its location. Have to call this before first - # call to getCodeWarriorPath(). - my($ide_path_file) = $main::filepaths{"idepath"}; - $ide_path_file = full_path_to($ide_path_file); - LaunchCodeWarrior($ide_path_file); -} - -#//-------------------------------------------------------------------------------------------------- -#// SanityCheckBuildOptions -#//-------------------------------------------------------------------------------------------------- -sub SanityCheckBuildOptions() -{ - my($bad_options) = 0; - - # Jar options - if (!$main::options{chrome_jars} && !$main::options{chrome_files}) - { - print "Warning: Both \$options{chrome_jars} and \$options{chrome_files} are off. You won't get any chrome.\n"; - $bad_options = 1; - } - - if (!$main::options{chrome_jars} && $main::options{use_jars}) - { - print "Warning: \$options{chrome_jars} is off but \$options{use_jars} is on. Your build won't run (expects jars, got files).\n"; - $bad_options = 1; - } - - if (!$main::options{chrome_files} && !$main::options{use_jars}) - { - print "Warning: \$options{chrome_jars} is off but \$options{chrome_files} is on. Your build won't run (expects files, got jars).\n"; - $bad_options = 1; - } - - if ($main::options{ldap_experimental} && !$main::options{ldap}) - { - print "Warning: \$options{ldap_experimental} is on but \$options{ldap} is off. LDAP experimental features will not be built.\n"; - $bad_options = 1; - } - - if ($main::options{wsp} && !$main::options{xmlextras}) - { - print "Warning: \$options{wsp} is on but \$options{xmlextras} is off. wsp will not be built.\n"; - $bad_options = 1; - } - - if ($main::options{wsp} && !$main::options{iiextras}) - { - print "Warning: \$options{wsp} is on but \$options{iiextras} is off. wsp will be built but won't be useable.\n"; - $bad_options = 1; - } - - if ($bad_options) { - print "Build will start in 5 seconds. Press command-. to stop\n"; - - DelayFor(5); - } -} - -#//-------------------------------------------------------------------------------------------------- -#// GenBuildSystemInfo -#//-------------------------------------------------------------------------------------------------- - -sub GenBuildSystemInfo() -{ - # always rebuild the configuration program. - BuildProjectClean(":mozilla:build:mac:tools:BuildSystemInfo:BuildSystemInfo.mcp", "BuildSystemInfo"); - - # delete the configuration file. - unlink(":mozilla:build:mac:BuildSystemInfo.pm"); - - # run the program. - system(":mozilla:build:mac:BuildSystemInfo"); - - # wait for the file to be created. - while (!(-e ":mozilla:build:mac:BuildSystemInfo.pm")) { WaitNextEvent(); } - - # wait for BuildSystemInfo to finish, so that we see correct results. - while (IsProcessRunning("BuildSystemInfo")) { WaitNextEvent(); } - - # now, evaluate the contents of the file. - open(F, ":mozilla:build:mac:BuildSystemInfo.pm"); - while () { eval; } - close(F); -} - -#//-------------------------------------------------------------------------------------------------- -#// Make library aliases -#//-------------------------------------------------------------------------------------------------- - -sub MakeLibAliases() -{ - my($dist_dir) = GetBinDirectory(); - - #// ProfilerLib - if ($main::PROFILE) - { - my($profilerlibpath) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:Profiler:Profiler Common:ProfilerLib"); - MakeAlias("$profilerlibpath", "$dist_dir"."Essential Files:"); - } -} - -#//-------------------------------------------------------------------------------------------------- -#// ConfigureBuildSystem -#// -#// defines some build-system configuration variables. -#//-------------------------------------------------------------------------------------------------- -sub ConfigureBuildSystem() -{ - #// In the future, we may want to do configurations based on the actual build system itself. - #// GenBuildSystemInfo(); - - #// For now, if we discover a newer header file than existed in Universal Interfaces 3.2, - #// we'll assume that 3.3 or later is in use. - my($universal_interfaces) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:Universal:Interfaces:CIncludes:"); - if (-e ($universal_interfaces . "ControlDefinitions.h")) { - $main::UNIVERSAL_INTERFACES_VERSION = 0x0330; - } - - #// Rename IC SDK folder in the Mac OS Support folder - my($ic_sdk_folder) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:ICProgKit2.0.2"); - if( -e $ic_sdk_folder) - { - my($new_ic_folder_name) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:(ICProgKit2.0.2)"); - rename ($ic_sdk_folder, $new_ic_folder_name); - # note that CodeWarrior doesn't descend into folders with () the name - print "Mozilla no longer needs the Internet Config SDK to build:\n Renaming the 'ICProgKit2.0.2' folder to '(ICProgKit2.0.2)'\n"; - } - - printf("UNIVERSAL_INTERFACES_VERSION = 0x%04X\n", $main::UNIVERSAL_INTERFACES_VERSION); - - # alias required CodeWarrior libs into the Essential Files folder (only the Profiler lib now) - MakeLibAliases(); -} - - -#//-------------------------------------------------------------------------------------------------- -#// CheckOutModule. Takes variable number of args; first two are required -#//-------------------------------------------------------------------------------------------------- -sub CheckOutModule($$$$) -{ - my($session, $module, $revision, $date) = @_; - - my($result) = $session->checkout($module, $revision, $date); - - # result of 1 is success - if ($result) { return; } - - my($checkout_err) = $session->getLastError(); - if ($checkout_err == 708) { - die "Error: Checkout was cancelled.\n"; - } elsif ($checkout_err == 911) { - die "Error: CVS session settings are incorrect. Check your password, and the CVS root settings.\n"; - } elsif ($checkout_err == 703) { - die "Error: CVS checkout failed. Unknown module, unknown tag, bad username, or other CVS error.\n"; - } elsif ($checkout_err == 711) { - print "Checkout of '$module' failed.\n"; - } -} - -#//-------------------------------------------------------------------------------------------------- -#// getScriptFolder -#//-------------------------------------------------------------------------------------------------- -sub getScriptFolder() -{ - return dirname($0); -} - - -#//-------------------------------------------------------------------------------------------------- -#// getScriptFolder -#//-------------------------------------------------------------------------------------------------- -sub get_url_contents($) -{ - my($url) = @_; - - my($url_contents) = LWP::Simple::get($url); - $url_contents =~ s/\r\n/\n/g; # normalize linebreaks - $url_contents =~ s/\r/\n/g; # normalize linebreaks - return $url_contents; -} - -#//-------------------------------------------------------------------------------------------------- -#// get_files_from_content -#//-------------------------------------------------------------------------------------------------- -sub uniq -{ - my $lastval; - grep(($_ ne $lastval, $lastval = $_)[$[], @_); -} - - -#//-------------------------------------------------------------------------------------------------- -#// get_files_from_content -#//-------------------------------------------------------------------------------------------------- -sub get_files_from_content($) -{ - my($content) = @_; - - my(@jscalls) = grep (/return js_file_menu[^{]*/, split(/\n/, $content)); - my $i; - - for ($i = 0; $i < @jscalls ; $i++) - { - $jscalls[$i] =~ s/.*\(|\).*//g; - my(@callparams) = split(/,/, $jscalls[$i]); - my ($repos, $dir, $file, $rev) = grep(s/['\s]//g, @callparams); - $jscalls[$i] = "$dir/$file"; - } - - &uniq(sort(@jscalls)); -} - -#//-------------------------------------------------------------------------------------------------- -#// getLastUpdateTime -#// -#// Get the last time we updated. Return 0 on failure -#//-------------------------------------------------------------------------------------------------- -sub getLastUpdateTime($) -{ - my($timestamp_file) = @_; - - my($time_string); - - local(*TIMESTAMP_FILE); - unless (open(TIMESTAMP_FILE, "< $timestamp_file")) { return 0; } - - while () - { - my($line) = $_; - chomp($line); - - # ignore comments and empty lines - if ($line =~ /^\#/ || $line =~ /^\s*$/) { - next; - } - - $time_string = $line; - } - - # get the epoch seconds - my($last_update_secs) = $time_string; - $last_update_secs =~ s/\s#.+$//; - - print "FAST_UPDATE found that you last updated at ".localtime($last_update_secs)."\n"; - - # how long ago was this, in hours? - my($gm_now) = time(); - my($update_hours) = 1 + ceil(($gm_now - $last_update_secs) / (60 * 60)); - - return $update_hours; -} - - -#//-------------------------------------------------------------------------------------------------- -#// saveCheckoutTimestamp -#// -#// Create a file on disk containing the current time. Param is time(), which is an Epoch seconds -#// (and therefore in GMT). -#// -#//-------------------------------------------------------------------------------------------------- -sub saveCheckoutTimestamp($$) -{ - my($gm_secs, $timestamp_file) = @_; - - local(*TIMESTAMP_FILE); - open(TIMESTAMP_FILE, ">$timestamp_file") || die "Failed to open $timestamp_file\n"; - print(TIMESTAMP_FILE "# time of last checkout or update, in GMT. Used by FAST_UPDATE\n"); - print(TIMESTAMP_FILE "$gm_secs \# around ".localtime()." local time\n"); - close(TIMESTAMP_FILE); - -} - -#//-------------------------------------------------------------------------------------------------- -#// FastUpdate -#// -#// Use Bonsai url data to update only those dirs which have new files -#// -#//-------------------------------------------------------------------------------------------------- -sub FastUpdate($$) -{ - my($modules, $timestamp_file) = @_; # list of modules to check out - - my($num_hours) = getLastUpdateTime($timestamp_file); - if ($num_hours == 0 || $num_hours > 170) { - print "Can't fast_update; last update was too long ago, or never. Doing normal checkout.\n"; - return 0; - } - - print "Doing fast update, pulling files changed in the last $num_hours hours\n"; - - my($cvsfile) = AskAndPersistFile($main::filepaths{"sessionpath"}); - my($session) = Moz::MacCVS->new( $cvsfile ); - unless (defined($session)) { die "Error: Checkout aborted. Cannot create session file: $session" } - - # activate MacCVS - ActivateApplication('Mcvs'); - - my($checkout_start_time) = time(); - - #print "Time now is $checkout_start_time ($checkout_start_time + 0)\n"; - - my($this_co); - foreach $this_co (@$modules) - { - my($module, $revision, $date) = ($this_co->[0], $this_co->[1], $this_co->[2]); - - # assume that things pulled by date wont change - if ($date ne "") { - print "$module is pulled by date, so ignoring in FastUpdate.\n"; - next; - } - - my($search_type) = "hours"; - my($min_date) = ""; - my($max_date) = ""; - my($url) = "http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=${module}&branch=${revision}&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=${num_hours}&date=${search_type}&mindate=${min_date}&maxdate=${max_date}&cvsroot=%2Fcvsroot"; - - if ($revision eq "") { - print "Getting list of checkins to $module from Bonsai...\n"; - } else { - print "Getting list of checkins to $module on branch $revision from Bonsai...\n"; - } - my(@files) = &get_files_from_content(&get_url_contents($url)); - - if ($#files > 0) - { - my(@cvs_co_list); - - my($co_file); - foreach $co_file (@files) - { - print "Updating $co_file\n"; - push(@cvs_co_list, $co_file); - } - - my($result) = $session->update($revision, \@cvs_co_list); - # result of 1 is success - if (!$result) { die "Error: Fast update failed\n"; } - } else { - print "No files in this module changed\n"; - } - } - - saveCheckoutTimestamp($checkout_start_time, $timestamp_file); - return 1; -} - - -#//-------------------------------------------------------------------------------------------------- -#// Checkout -#//-------------------------------------------------------------------------------------------------- -sub CheckoutModules($$$) -{ - my($modules, $pull_date, $timestamp_file) = @_; # list of modules to check out - - my($start_time) = TimeStart(); - -# assertRightDirectory(); - my($cvsfile) = AskAndPersistFile($main::filepaths{"sessionpath"}); - my($session) = Moz::MacCVS->new( $cvsfile ); - unless (defined($session)) { die "Error: Checkout aborted. Cannot create session file: $session" } - - my($checkout_start_time) = time(); - - # activate MacCVS - ActivateApplication('Mcvs'); - - my($this_co); - foreach $this_co (@$modules) - { - my($module, $revision, $date) = ($this_co->[0], $this_co->[1], $this_co->[2]); - if ($date eq "") { - $date = $pull_date; - } - CheckOutModule($session, $module, $revision, $date); - # print "Checking out $module with ref $revision, date $date\n"; - } - - saveCheckoutTimestamp($checkout_start_time, $timestamp_file); - TimeEnd($start_time, "Checkout"); -} - -#//-------------------------------------------------------------------------------------------------- -#// ReadCheckoutModulesFile -#//-------------------------------------------------------------------------------------------------- -sub ReadCheckoutModulesFile($$) -{ - my($modules_file, $co_list) = @_; - - my($checkout_file) = getScriptFolder().":".$modules_file; - local(*CHECKOUT_FILE); - open(CHECKOUT_FILE, "< $checkout_file") || die "Error: failed to open checkout list $checkout_file\n"; - while () - { - my($line) = $_; - chomp($line); - - # ignore comments and empty lines - if ($line =~ /^\#/ || $line =~ /^\s*$/) { - next; - } - - my(@cvs_co) = ["", "", ""]; - - my($module, $revision, $date) = (0, 1, 2); - - if ($line =~ /\s*([^#,\s]+)\s*\,\s*([^#,\s]+)\s*\,\s*([^#]+)/) - { - @cvs_co[$module] = $1; - @cvs_co[$revision] = $2; - @cvs_co[$date] = $3; - } - elsif ($line =~ /\s*([^#,\s]+)\s*\,\s*([^#,\s]+)\s*(#.+)?/) - { - @cvs_co[$module] = $1; - @cvs_co[$revision] = $2; - } - elsif ($line =~ /\s*([^#,\s]+)\s*\,\s*,\s*([^#,]+)/) - { - @cvs_co[$module] = $1; - @cvs_co[$date] = $2; - } - elsif ($line =~ /\s*([^#,\s]+)/) - { - @cvs_co[$module] = $1; - } - else - { - die "Error: unrecognized line '$line' in $modules_file\n"; - } - - # strip surrounding space from date - @cvs_co[$date] =~ s/^\s*|\s*$//g; - - # print "Going to check out '@cvs_co[$module]', '@cvs_co[$revision]', '@cvs_co[$date]'\n"; - push(@$co_list, \@cvs_co); - } - - close(CHECKOUT_FILE); -} - -#//-------------------------------------------------------------------------------------------------- -#// PullFromCVS -#//-------------------------------------------------------------------------------------------------- -sub PullFromCVS($$) -{ - unless ( $main::build{pull} ) { return; } - - my($modules_file, $timestamp_file) = @_; - - StartBuildModule("pull"); - - my(@cvs_co_list); - ReadCheckoutModulesFile($modules_file, \@cvs_co_list); - - if ($main::FAST_UPDATE && $main::options{pull_by_date}) - { - die "Error: you can't use FAST_UPDATE if you are pulling by date.\n"; - } - - my($did_fast_update) = $main::FAST_UPDATE && FastUpdate(\@cvs_co_list, $timestamp_file); - if (!$did_fast_update) - { - my($pull_date) = ""; - if ($main::options{pull_by_date}) - { - # acceptable CVS date formats are (in local time): - # ISO8601 (e.g. "1972-09-24 20:05") and Internet (e.g. "24 Sep 1972 20:05"). - # Perl's localtime() string format also seems to work. - $pull_date = localtime().""; # force string interp. - print "Pulling by date $pull_date\n"; - } - - CheckoutModules(\@cvs_co_list, $pull_date, $timestamp_file); - } - - EndBuildModule("pull"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// RunBuild -#//-------------------------------------------------------------------------------------------------- -sub RunBuild($$$$) -{ - my($do_pull, $do_build, $input_files, $build_prefs) = @_; - - InitBuildProgress($input_files->{"buildprogress"}); - - # if we are pulling, we probably want to do a full build, so clear the build progress - if ($do_pull) { - ClearBuildProgress(); - } - - # read local prefs, and the build progress file, and set flags to say what to build - SetupBuildParams(\%main::build, - \%main::options, - \%main::optiondefines, - \%main::filepaths, - $input_files->{"buildflags"}, - $build_prefs); - - # If we were told to pull, make sure we do, overriding prefs etc. - if ($do_pull) - { - $main::build{"pull"} = 1; - } - - # transfer this flag - $CodeWarriorLib::CLOSE_PROJECTS_FIRST = $main::CLOSE_PROJECTS_FIRST; - - # setup the build log - SetupBuildLog($main::filepaths{"buildlogfilepath"}, $main::USE_TIMESTAMPED_LOGS); - StopForErrors(); - - if ($main::LOG_TO_FILE) { - RedirectOutputToFile($main::filepaths{"scriptlogfilepath"}); - } - - # run a pre-build check to see that the tools etc are in order - DoPrebuildCheck(); - - # do the pull - PullFromCVS($input_files->{"checkoutdata"}, $input_files->{"checkouttime"}); - - unless ($do_build) { return; } - - my($build_start) = TimeStart(); - - # check the build environment - ConfigureBuildSystem(); - - # here we load and call methods in the build module indirectly. - # we have to use indirection because the build module can be named - # differently for different builds. - chdir(dirname($0)); # change to the script dir - my($build_module) = $input_files->{"buildmodule"}; - # load the build module - require $build_module; - { # scope for no strict 'refs' - no strict 'refs'; - - my($package_name) = $build_module; - $package_name =~ s/\.pm$//; - - chdir($main::MOZ_SRC); - &{$package_name."::BuildDist"}(); - - chdir($main::MOZ_SRC); - &{$package_name."::BuildProjects"}(); - } - - # the build finished, so clear the build progress state - ClearBuildProgress(); - - TimeEnd($build_start, "Build"); - print "Build complete\n"; -} - -1; diff --git a/build/mac/build_scripts/Moz/BuildFlags.pm b/build/mac/build_scripts/Moz/BuildFlags.pm deleted file mode 100644 index b020d65a5661..000000000000 --- a/build/mac/build_scripts/Moz/BuildFlags.pm +++ /dev/null @@ -1,425 +0,0 @@ -#!perl -w -package Moz::BuildFlags; - -require 5.004; -require Exporter; - -# Package that attempts to read a file from the Preferences folder, -# and get build settings out of it - -use strict; -use Exporter; - -use Cwd; -use File::Basename; - -use Moz::Moz; -use Moz::Prefs; - -use vars qw(@ISA @EXPORT); - -@ISA = qw(Exporter); -@EXPORT = qw( - SetupBuildParams - InitBuildProgress - WriteBuildProgress - ClearBuildProgress - ReadBuildProgress - ); - - -my(@build_flags); -my(@options_flags); -my(@filepath_flags); - -my(%arrays_list) = ( - "build_flags", \@build_flags, - "options_flags", \@options_flags, - "filepath_flags", \@filepath_flags -); - -my($progress_file) = "¥ÊBuild progress"; - -#------------------------------------------------------------------------------- -# appendArrayFlag -# -# Set a flag in the array -#------------------------------------------------------------------------------- -sub appendArrayFlag(@) -{ - my($array_name) = shift; - my($setting) = shift; - my($value) = shift; - - my(@optional_values); - foreach (@_) { - push(@optional_values, $_); - } - - my(@this_flag) = [$setting, $value, @optional_values]; - my($flags_array) = $arrays_list{$array_name}; - if ($flags_array) - { - push(@{$flags_array}, @this_flag) || die "Failed to append\n"; - } - else - { - die "Error: unknown build flags array $array_name\n"; - } -} - -#------------------------------------------------------------------------------- -# readFlagsFile -# -# Read the file of build flags from disk. File path is relative to the -# script directory. -#------------------------------------------------------------------------------- -sub readFlagsFile($) -{ - my($flags_file) = @_; - - my($file_path) = $0; - $file_path =~ s/[^:]+$/$flags_file/; - - print "Reading build flags from '$file_path'\n"; - - local(*FLAGS_FILE); - open(FLAGS_FILE, "< $file_path") || die "Error: failed to open flags file $file_path\n"; - - my($cur_array) = ""; - - while() - { - my($line) = $_; - chomp($line); - - # ignore comments and empty lines - if ($line =~ /^\#/ || $line =~ /^\s*$/) { - next; - } - - # 1-word line, probably array name - if ($line =~ /^([^#\s]+)\s*$/) - { - $cur_array = $1; - next; - } - elsif ($line =~ /^([^#\s]+)\s+\"(.+)\"(\s+#.+)?$/) # quoted option, possible comment - { - my($flag) = $1; - my($setting) = $2; - - appendArrayFlag($cur_array, $flag, $setting); - } - elsif ($line =~ /^([^#\s]+)((\s+[^#\s]+)+)(\s+#.+)?$/) # multiple word line, possible comment - { - my($flag) = $1; - - appendArrayFlag($cur_array, $flag, split(' ', $2)); - } - else - { - die "Error: unknown build flag at '$line'\n"; - } - - } - - close(FLAGS_FILE); -} - - - -#------------------------------------------------------------------------------- -# flagsArrayToHash -# -# Utility routine to migrate flag from a 2D array to a hash, where -# item[n][0] is the hash entry name, and item[n][1] is the hash entry value. -#------------------------------------------------------------------------------- - -sub flagsArrayToHash($$) -{ - my($src_array, $dest_hash) = @_; - - my($item); - foreach $item (@$src_array) - { - $dest_hash->{$item->[0]} = $item->[1]; - } -} - -#----------------------------------------------- -# printHash -# -# Utility routine to print a hash -#----------------------------------------------- -sub printHash($) -{ - my($hash_ref) = @_; - - print "Printing hash:\n"; - - my($key, $value); - - while (($key, $value) = each (%$hash_ref)) - { - print " $key $value\n"; - } -} - - -#----------------------------------------------- -# printBuildArray -# -# Utility routine to print a 2D array -#----------------------------------------------- -sub printBuildArray($) -{ - my($build_array) = @_; - - my($entry); - foreach $entry (@$build_array) - { - print "$entry->[0] = $entry->[1]\n"; - } - -} - -#------------------------------------------------------------------------------- -# SetBuildFlags -#------------------------------------------------------------------------------- -sub SetBuildFlags($) -{ - my($build) = @_; - - flagsArrayToHash(\@build_flags, $build); -} - -#------------------------------------------------------------------------------- -# SetBuildOptions -#------------------------------------------------------------------------------- -sub SetBuildOptions($) -{ - my($options) = @_; - - flagsArrayToHash(\@options_flags, $options); -} - -#------------------------------------------------------------------------------- -# SetFilepathFlags -#------------------------------------------------------------------------------- -sub SetFilepathFlags($) -{ - my($filepath) = @_; - - flagsArrayToHash(\@filepath_flags, $filepath); -} - -#------------------------------------------------------------------------------- -# SetOptionDefines -#------------------------------------------------------------------------------- -sub SetOptionDefines($) -{ - my($optiondefines) = @_; - - foreach my $entry (@options_flags) - { - if (defined($entry->[2])) { - $optiondefines->{$entry->[0]}{$entry->[2]} = 1; - } - } -} - - -#------------------------------------------------------------------------------- -# PropagateAllFlags -#------------------------------------------------------------------------------- -sub PropagateAllFlags($) -{ - my($build_array) = @_; - - # if "all" is set, set all the flags to 1 - unless ($build_array->[0][0] eq "all") { die "Error: 'all' must come first in the flags array\n"; } - - if ($build_array->[0][1] == 1) - { - my($index); - foreach $index (@$build_array) - { - $index->[1] = 1; - } - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// _getBuildProgressFile -#//-------------------------------------------------------------------------------------------------- -sub _getBuildProgressFile() -{ - return $progress_file; -} - - -#//-------------------------------------------------------------------------------------------------- -#// setBuildProgressStart -#// -#// This automagically sets $build{"all"} to 0 -#//-------------------------------------------------------------------------------------------------- -sub setBuildProgressStart($$) -{ - my($build_array, $name) = @_; - - my($index); - foreach $index (@$build_array) - { - $index->[1] = 0; - if ($index->[0] eq $name) { - last; - } - } - - print "Building from module after $name, as specified by build progress\n"; -} - -#//-------------------------------------------------------------------------------------------------- -#// InitBuildProgress -#//-------------------------------------------------------------------------------------------------- -sub InitBuildProgress($) -{ - my($prog_file) = @_; - if ($prog_file ne "") { - $progress_file = full_path_to($prog_file); - print "Writing build progress to $progress_file\n"; - } -} - -#//-------------------------------------------------------------------------------------------------- -#// WriteBuildProgress -#//-------------------------------------------------------------------------------------------------- -sub WriteBuildProgress($) -{ - my($module_built) = @_; - - my($progress_file) = _getBuildProgressFile(); - - if ($progress_file ne "") - { - open(PROGRESS_FILE, ">>$progress_file") || die "Failed to open $progress_file\n"; - print(PROGRESS_FILE "$module_built\n"); - close(PROGRESS_FILE); - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// ClearBuildProgress -#//-------------------------------------------------------------------------------------------------- -sub ClearBuildProgress() -{ - my($progress_file) = _getBuildProgressFile(); - if ($progress_file ne "") { - unlink $progress_file; - } -} - -#//-------------------------------------------------------------------------------------------------- -#// WipeBuildProgress -#//-------------------------------------------------------------------------------------------------- -sub WipeBuildProgress() -{ - print "Ignoring build progress\n"; - ClearBuildProgress(); - $progress_file = ""; -} - -#//-------------------------------------------------------------------------------------------------- -#// ReadBuildProgress -#//-------------------------------------------------------------------------------------------------- -sub ReadBuildProgress($) -{ - my($build_array) = @_; - my($progress_file) = _getBuildProgressFile(); - - my($last_module); - - if (open(PROGRESS_FILE, "< $progress_file")) - { - print "Getting build progress from $progress_file\n"; - - while () - { - my($line) = $_; - chomp($line); - $last_module = $line; - } - - close(PROGRESS_FILE); - } - - if ($last_module) - { - setBuildProgressStart($build_array, $last_module); - } -} - -#------------------------------------------------------------------------------- -# clearOldBuildSettings -#------------------------------------------------------------------------------- -sub clearOldBuildSettings($$$$) -{ - my($build, $options, $optiondefines, $filepaths) = @_; - - # empty the arrays in case we're being called twice - @build_flags = (); - @options_flags = (); - @filepath_flags = (); - - # and empty the hashes - %$build = (); - %$options = (); - %$optiondefines = (); - %$filepaths = (); -} - -#------------------------------------------------------------------------------- -# SetupBuildParams -#------------------------------------------------------------------------------- -sub SetupBuildParams($$$$$$) -{ - my($build, $options, $optiondefines, $filepaths, $flags_file, $prefs_file) = @_; - - # Empty the hashes and arrays, to wipe out any stale data. - # Needed because these structures persist across two build scripts - # called using 'do' from a parent script. - clearOldBuildSettings($build, $options, $optiondefines, $filepaths); - - # Read from the flags file, which sets up the various arrays - readFlagsFile($flags_file); - - # If 'all' is set in the build array, propagate that to all entries - PropagateAllFlags(\@build_flags); - - # read the user pref file, that can change values in the array - ReadMozUserPrefs($prefs_file, \@build_flags, \@options_flags, \@filepath_flags); - - # If build progress exists, this clears flags in the array up to a certain point - if ($main::USE_BUILD_PROGRESS) { - ReadBuildProgress(\@build_flags); - } else { - WipeBuildProgress(); - } - -# printBuildArray(\@build_flags); -# printBuildArray(\@options_flags); - - SetBuildFlags($build); - SetBuildOptions($options); - SetOptionDefines($optiondefines); - SetFilepathFlags($filepaths); - -# printHash($build); -# printHash($options); -} - - -1; diff --git a/build/mac/build_scripts/Moz/BuildUtils.pm b/build/mac/build_scripts/Moz/BuildUtils.pm deleted file mode 100644 index fe5100e75945..000000000000 --- a/build/mac/build_scripts/Moz/BuildUtils.pm +++ /dev/null @@ -1,786 +0,0 @@ - -package Moz::BuildUtils; - -require 5.004; -require Exporter; - -# Package that contains build util functions specific to the Mozilla build -# process. - -use strict; -use Exporter; - -use Cwd; -use File::Path; -use File::Basename; - -use Mac::Events; -use Mac::StandardFile; - -use Moz::Moz; -use Moz::BuildFlags; -use Moz::MacCVS; -#use Moz::ProjectXML; #optional; required for static build only - -use vars qw(@ISA @EXPORT); - -@ISA = qw(Exporter); -@EXPORT = qw( - SetupDefaultBuildOptions - SetupBuildRootDir - StartBuildModule - EndBuildModule - GetBinDirectory - BuildOneProjectWithOutput - BuildOneProject - BuildProject - BuildProjectClean - BuildIDLProject - BuildFolderResourceAliases - AskAndPersistFile - DelayFor - TimeStart - TimeEnd - EmptyTree - SetupBuildLog - SetBuildNumber - SetTimeBomb - UpdateConfigHeader - ); - -#//-------------------------------------------------------------------------------------------------- -#// SetupDefaultBuildOptions -#//-------------------------------------------------------------------------------------------------- -sub SetupDefaultBuildOptions($$$) -{ - my($debug, $bin_dir, $config_header_file_name) = @_; - - # Here we set up defaults for the various build flags. - # If you want to override any of these, it's best to do - # so via the relevant preferences file, which lives in - # System Folder:Preferences:Mozilla build prefs:{build prefs file}. - # For the name of the prefs file, see the .pl script that you - # run to start this build. The prefs files are created when - # you run the build, and contain some documentation. - - #------------------------------------------------------------- - # configuration variables that globally affect what is built - #------------------------------------------------------------- - $main::DEBUG = $debug; - $main::PROFILE = 0; - $main::RUNTIME = 0; # turn on to just build runtime support and NSPR projects - $main::GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection - $main::MOZILLA_OFFICIAL = 0; # generate build number - $main::LOG_TO_FILE = 0; # write perl output to a file - - #------------------------------------------------------------- - # configuration variables that affect the manner of building, - # but possibly affecting the outcome. - #------------------------------------------------------------- - $main::ALIAS_SYM_FILES = $main::DEBUG; - $main::CLOBBER_LIBS = 1; # turn on to clobber existing libs and .xSYM files before - # building each project - # The following two options will delete all dist files (if you have $main::build{dist} turned on), - # but leave the directory structure intact. - $main::CLOBBER_DIST_ALL = 1; # turn on to clobber all aliases/files inside dist (headers/xsym/libs) - $main::CLOBBER_DIST_LIBS = 0; # turn on to clobber only aliases/files for libraries/sym files in dist - $main::CLOBBER_IDL_PROJECTS = 0; # turn on to clobber all IDL projects. - $main::CLOBBER_PROJECTS = 0; # turn on to remove object code from each project before building it - - $main::UNIVERSAL_INTERFACES_VERSION = 0x0320; - - #------------------------------------------------------------- - # configuration variables that are preferences for the build, - # style and do not affect what is built. - #------------------------------------------------------------- - $main::CLOSE_PROJECTS_FIRST = 0; - # 1 = close then make (for development), - # 0 = make then close (for tinderbox). - $main::USE_TIMESTAMPED_LOGS = 0; - $main::USE_BUILD_PROGRESS = 1; # track build progress for restartable builds - #------------------------------------------------------------- - # END OF CONFIG SWITCHES - #------------------------------------------------------------- - - $main::BIN_DIRECTORY = $bin_dir; - $main::DEFINESOPTIONS_FILE = $config_header_file_name; -} - - -#//-------------------------------------------------------------------------------------------------- -#// SetupBuildRootDir -#//-------------------------------------------------------------------------------------------------- -sub SetupBuildRootDir($) -{ - my($rel_path_to_script) = @_; - - my($cur_dir) = cwd(); - $cur_dir =~ s/$rel_path_to_script$//; - chdir($cur_dir) || die "Error: failed to set build root directory to '$cur_dir'.\nYou probably need to put 'mozilla' one level down (in a folder).\n"; - $main::MOZ_SRC = cwd(); -} - - -#//-------------------------------------------------------------------------------------------------- -#// StartBuildModule -#//-------------------------------------------------------------------------------------------------- -sub StartBuildModule($) -{ - my($module) = @_; - - print("---- Start of $module ----\n"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// EndBuildModule -#//-------------------------------------------------------------------------------------------------- -sub EndBuildModule($) -{ - my($module) = @_; - WriteBuildProgress($module); - print("---- End of $module ----\n"); -} - -#-------------------------------------------------------------------------------------------------- -# GetBinDirectory -#-------------------------------------------------------------------------------------------------- -sub GetBinDirectory() -{ - if ($main::BIN_DIRECTORY eq "") { die "Dist directory not set\n"; } - return $main::BIN_DIRECTORY; -} - -#-------------------------------------------------------------------------------------------------- -# AskAndPersistFile stores the information about the user pick inside -# the file $session_storage -#-------------------------------------------------------------------------------------------------- -sub AskAndPersistFile($) -{ - my ($sessionStorage) = @_; - my $cvsfile; - - if (( -e $sessionStorage) && - open( SESSIONFILE, $sessionStorage )) - { - # Read in the path if available - $cvsfile = ; - chomp $cvsfile; - close SESSIONFILE; - if ( ! -e $cvsfile ) - { - print STDERR "$cvsfile has disappeared\n"; - undef $cvsfile; - } - } - unless (defined ($cvsfile)) - { - # make sure that MacPerl is a front process - ActivateApplication('McPL'); - MacPerl::Answer("Could not find your MacCVS session file. Please choose one", "OK"); - - # prompt user for the file name, and store it - 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 $sessionStorage for saving $cvsfile\n"; - } - } - } - return $cvsfile; -} - - -#-------------------------------------------------------------------------------------------------- -# BuildIDLProject -# -#-------------------------------------------------------------------------------------------------- - -sub BuildIDLProject($$) -{ - my ($project_path, $module_name) = @_; - - if ($main::CLOBBER_IDL_PROJECTS) - { - my (@suffix_list) = (".mcp", ".xml"); - my ($project_name, $project_dir, $suffix) = fileparse($project_path, @suffix_list); - if ($suffix eq "") { die "Error: Project, $project_path must end in .xml or .mcp\n"; } - - my($datafolder_path); - if ($suffix eq ".xml") - { - $datafolder_path = $project_dir . "_" . $project_name . " Data:"; - } - else { - $datafolder_path = $project_dir . $project_name . " Data:"; - } - - print STDERR "Deleting IDL data folder: $datafolder_path\n"; - EmptyTree($datafolder_path); - } - - BuildOneProject($project_path, "headers", 0, 0, 0); - BuildOneProject($project_path, $module_name.".xpt", 1, 0, 1); -} - - -#-------------------------------------------------------------------------------------------------- -# CreateStaticLibTargets -# -#-------------------------------------------------------------------------------------------------- -sub CreateXMLStaticLibTargets($) -{ - my($xml_path) = @_; - - my (@suffix_list) = (".xml"); - my ($project_name, $project_dir, $suffix) = fileparse($xml_path, @suffix_list); - if ($suffix eq "") { die "XML munging: $xml_path must end in .xml\n"; } - - #sniff the file to see if we need to fix up broken Pro5-exported XML - print "Parsing $xml_path\n"; - - my $ide_version = Moz::ProjectXML::SniffProjectXMLIDEVersion($xml_path); - if ($ide_version eq "4.0") - { - my $new_file = $project_dir.$project_name."2.xml"; - - print "Cleaning up Pro 5 xml to $new_file\n"; - - Moz::ProjectXML::CleanupPro5XML($xml_path, $new_file); - - unlink $xml_path; - rename ($new_file, $xml_path); - } - - my $doc = Moz::ProjectXML::ParseXMLDocument($xml_path); - my @target_list = Moz::ProjectXML::GetTargetsList($doc); - my $target; - - my %target_hash; # for easy lookups below - foreach $target (@target_list) { $target_hash{$target} = 1; } - - foreach $target (@target_list) - { - if ($target =~ /(.+).shlb$/) # if this is a shared lib target - { - my $target_base = $1; - my $static_target = $target_base.".o"; - - # ensure that this does not exist already - if ($target_hash{$static_target}) { - print "Static target $static_target already exists in project. Not making\n"; - next; - } - - print "Making static target '$static_target' from target '$target'\n"; - - Moz::ProjectXML::CloneTarget($doc, $target, $static_target); - Moz::ProjectXML::SetAsStaticLibraryTarget($doc, $static_target, $static_target); - } - } - - print "Writing XML file to $xml_path\n"; - my $temp_path = $project_dir."_".$project_name.".xml"; - Moz::ProjectXML::WriteXMLDocument($doc, $temp_path, $ide_version); - Moz::ProjectXML::DisposeXMLDocument($doc); - - if (-e $temp_path) - { - unlink $xml_path; - rename ($temp_path, $xml_path); - } - else - { - die "Error: Failed to add new targets to XML project\n"; - } -} - -#//-------------------------------------------------------------------------------------------------- -#// ProcessProjectXML -#// -#// Helper routine to allow for XML pre-processing. This should read in the XML, process it, -#// and replace the original file with the processed version. -#//-------------------------------------------------------------------------------------------------- -sub ProcessProjectXML($) -{ - my($xml_path) = @_; - - # we need to manually load Moz::ProjectXML, becaues not everyone will have the - # required perl modules in their distro. - my($cur_dir) = cwd(); - - chdir(dirname($0)); # change to the script dir - eval "require Moz::ProjectXML"; - if ($@) { die "Error: could not do Project XML munging because you do not have the correct XML modules installed. Error is:\n################\n $@################"; } - - chdir($cur_dir); - - CreateXMLStaticLibTargets($xml_path); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build one project, and make the alias. Parameters are project path, target name, shared library -#// name, make shlb alias (boolean), make xSYM alias (boolean), and is component (boolean). -#//-------------------------------------------------------------------------------------------------- - -sub BuildOneProjectWithOutput($$$$$$) -{ - my ($project_path, $target_name, $output_name, $alias_lib, $alias_xSYM, $component) = @_; - - unless ($project_path =~ m/^$main::BUILD_ROOT.+/) { return; } - - my (@suffix_list) = (".mcp", ".xml"); - my ($project_name, $project_dir, $suffix) = fileparse($project_path, @suffix_list); - if ($suffix eq "") { die "Error: Project, $project_path must end in .xml or .mcp\n"; } - - my($dist_dir) = GetBinDirectory(); - - # Put libraries in "Essential Files" folder, Components in "Components" folder - my($output_dir) = $component ? "Components:" : "Essential Files:"; - my($output_path) = $dist_dir.$output_dir; - - if ($main::options{static_build}) - { - if ($output_name =~ /\.o$/ || $output_name =~ /\.[Ll]ib$/) - { - $alias_xSYM = 0; - $alias_lib = 1; - $output_path = $main::DEBUG ? ":mozilla:dist:static_libs_debug:" : ":mozilla:dist:static_libs:"; - } - } - - # if the flag is on to export projects to XML, export and munge them - if ($main::EXPORT_PROJECTS && !($project_path =~ /IDL\.mcp$/)) - { - my $xml_out_path = $project_path; - - $xml_out_path =~ s/\.mcp$/\.xml/; - - # only do this if project is newer? - if (! -e $xml_out_path) - { - ExportProjectToXML(full_path_to($project_path), full_path_to($xml_out_path)); - ProcessProjectXML($xml_out_path); - } - } - - # if the flag is set to use XML projects, default to XML if the file - # is present. - if ($main::USE_XML_PROJECTS && !($project_path =~ /IDL\.mcp$/)) - { - my $xml_project_path = $project_dir.$project_name.".xml"; - if (-e $xml_project_path) - { - $project_path = $xml_project_path; - $suffix = ".xml"; - } - } - - if ($suffix eq ".xml") - { - my($xml_path) = $project_path; - # Prepend an "_" onto the name of the generated project file so it doesn't conflict - $project_path = $project_dir . "_" . $project_name . ".mcp"; - my($project_modtime) = (-e $project_path ? GetFileModDate($project_path) : 0); - my($xml_modtime) = (-e $xml_path ? GetFileModDate($xml_path) : 0); - - if ($xml_modtime > $project_modtime) - { - print("Importing $project_path from $project_name.xml.\n"); - unlink($project_path); - # Might want to delete the "xxx.mcp Data" dir ??? - ImportXMLProject(full_path_to($xml_path), full_path_to($project_path)); - } - } - - - if ($main::CLOBBER_LIBS) - { - unlink "$project_dir$output_name"; # it's OK if these fail - unlink "$project_dir$output_name.xSYM"; - } - - DoBuildProject($project_path, $target_name, $main::CLOBBER_PROJECTS); - - $alias_lib ? MakeAlias("$project_dir$output_name", "$output_path") : 0; - $alias_xSYM ? MakeAlias("$project_dir$output_name.xSYM", "$output_path") : 0; -} - -#//-------------------------------------------------------------------------------------------------- -#// For compatiblity with existing scripts, BuildOneProject now just calls -#// BuildOneProjectWithOutput, with the output name and target name identical. -#// Note that this routine assumes that the target name and the shared libary name -#// are the same. -#//-------------------------------------------------------------------------------------------------- - -sub BuildOneProject($$$$$) -{ - my ($project_path, $target_name, $alias_lib, $alias_xSYM, $component) = @_; - - BuildOneProjectWithOutput($project_path, $target_name, $target_name, - $alias_lib, $alias_xSYM, $component); -} - -#//-------------------------------------------------------------------------------------------------- -#// For compatiblity with existing scripts, BuildProject now just calls -#// BuildOneProjectWithOutput, with the output name and target name identical. -#// Note that this routine assumes that the target name and the shared libary name -#// are the same. No aliases of the output are made. -#//-------------------------------------------------------------------------------------------------- - -sub BuildProject($$) -{ - my ($project_path, $target_name) = @_; - - BuildOneProjectWithOutput($project_path, $target_name, $target_name, 0, 0, 0); -} - -#//-------------------------------------------------------------------------------------------------- -#// Identical to BuildProject but clobbers the project before building it. -#//-------------------------------------------------------------------------------------------------- - -sub BuildProjectClean($$) -{ - my ($project_path, $target_name) = @_; - my ($save_clobber_flag) = $main::CLOBBER_PROJECTS; - $main::CLOBBER_PROJECTS = 1; - BuildOneProjectWithOutput($project_path, $target_name, $target_name, 0, 0, 0); - $main::CLOBBER_PROJECTS = $save_clobber_flag; -} - -#//-------------------------------------------------------------------------------------------------- -#// Make resource aliases for one directory -#//-------------------------------------------------------------------------------------------------- - -sub BuildFolderResourceAliases($$) -{ - 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 - print("Placing aliases to all files from $src_dir in $dest_dir\n"); - for ( @resource_files ) - { - next if $_ eq "CVS"; - #print(" Doing $_\n"); - if (-l $src_dir.$_) - { - print(" $_ is an alias\n"); - next; - } - my($file_name) = $src_dir . $_; - MakeAlias($file_name, $dest_dir); - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// DelayFor -#// -#// Delay for the given number of seconds, allowing the script to be cancelled -#//-------------------------------------------------------------------------------------------------- - -sub DelayFor($) -{ - my($delay_secs) = @_; - - STDOUT->autoflush(1); - - my($end_time) = time() + $delay_secs; - - my($last_time) = 0; - my($cur_time) = time(); - - while ($cur_time < $end_time) - { - $cur_time = time(); - if ($cur_time > $last_time) - { - print "."; - $last_time = $cur_time; - } - - WaitNextEvent(); - } - - print "\n"; - STDOUT->autoflush(0); -} - - -#//-------------------------------------------------------------------------------------------------- -#// TimeStart -#//-------------------------------------------------------------------------------------------------- -sub TimeStart() -{ - return time(); -} - -#//-------------------------------------------------------------------------------------------------- -#// TimeEnd -#//-------------------------------------------------------------------------------------------------- -sub TimeEnd($$) -{ - use integer; - - my($start_time, $operation_name) = @_; - my($end_time) = time(); - - my($tot_sec) = $end_time - $start_time; - - my($seconds) = $tot_sec; - - my($hours) = $seconds / (60 * 60); - $seconds -= $hours * (60 * 60); - - my($minutes) = $seconds / 60; - $seconds -= $minutes * 60; - - print "$operation_name took $hours hours $minutes minutes and $seconds seconds\n"; -} - -#//-------------------------------------------------------------------------------------------------- -#// Remove all files from a tree, leaving directories intact (except "CVS"). -#//-------------------------------------------------------------------------------------------------- - -sub EmptyTree($) -{ - my ($root) = @_; - #print "EmptyTree($root)\n"; - opendir(DIR, $root); - my $sub; - foreach $sub (readdir(DIR)) - { - my $fullpathname = $root.$sub; # -f, -d only work on full paths - - # Don't call empty tree for the alias of a directory. - # -d returns true for the alias of a directory, false for a broken alias) - - if (-d $fullpathname) - { - if (-l $fullpathname) # delete aliases - { - unlink $fullpathname; - next; - } - EmptyTree($fullpathname.":"); - if ($sub eq "CVS") - { - #print "rmdir $fullpathname\n"; - rmdir $fullpathname; - } - } - else - { - unless (unlink $fullpathname) { die "Failed to delete $fullpathname\n"; } - } - } - closedir(DIR); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Recurse through a directory hierarchy, looking for MANIFEST files. -#// Currently unused. -#//-------------------------------------------------------------------------------------------------- - -sub ScanForManifestFiles($$$$) -{ - my($dir, $theme_root, $theme_name, $dist_dir) = @_; - - opendir(DIR, $dir) or die "Cannot open dir $dir\n"; - my @files = readdir(DIR); - closedir DIR; - - my $file; - - foreach $file (@files) - { - my $filepath = $dir.":".$file; - - if (-d $filepath) - { - # print "Looking for MANIFEST files in $filepath\n"; - ScanForManifestFiles($filepath, $theme_root, $theme_name, $dist_dir); - } - elsif ($file eq "MANIFEST") - { - # print "Doing manifest file $filepath\n"; - - # Get the dest path from the first line of the file - - open(MANIFEST, $filepath) || die "Could not open file $file"; - # Read in the path if available - my($dest_line) = ; - chomp $dest_line; - close MANIFEST; - - $dest_line =~ s|^#!dest[\t ]+|| || die "No destination line found in $filepath\n"; - - my($dest_path) = $dist_dir."chrome:skins:$theme_name:$dest_line"; - # print " Destination is $dest_path\n"; - - InstallResources($filepath, "$dest_path", 0); - } - } -} - - -#----------------------------------------------- -# SetupBuildLog -#----------------------------------------------- -sub SetupBuildLog($$) -{ - my($logfile_path, $timestamped_log) = @_; - - my($logdir) = ""; - my($logfile) = $logfile_path; - - if ($logfile_path =~ /(.+?:)([^:]+)$/) # ? for non-greedy match - { - $logdir = $1; - $logfile = $2; - - mkpath($logdir); - } - - if ($timestamped_log) - { - #Use time-stamped names so that you don't clobber your previous log file! - my $now = localtime(); - while ($now =~ s@:@.@) {} # replace all colons by periods - OpenErrorLog("${logdir}${now}"); - } - else - { - OpenErrorLog("${logdir}${logfile}"); - } -} - -#----------------------------------------------- -# SetBuildNumber -#----------------------------------------------- -sub SetBuildNumber($$) -{ - my($build_num_file, $files_to_touch) = @_; - - # Make sure we add the config dir to search, to pick up mozBDate.pm - # Need to do this dynamically, because this module can be used before - # mozilla/config has been checked out. - - my ($inc_path) = $0; # $0 is the path to the parent script - $inc_path =~ s/:build:mac:build_scripts:.+$/:config/; - push(@INC, $inc_path); - - require mozBDate; - - mozBDate::UpdateBuildNumber($build_num_file, $main::MOZILLA_OFFICIAL); - - my($file); - foreach $file (@$files_to_touch) - { - print "Writing build number to $file from ${file}.in\n"; - mozBDate::SubstituteBuildNumber($file, $build_num_file, "${file}.in"); - } -} - -#----------------------------------------------- -# SetTimeBomb -#----------------------------------------------- -sub SetTimeBomb($$) -{ - my ($warn_days, $bomb_days) = @_; - - system("perl :mozilla:config:mac-set-timebomb.pl $warn_days $bomb_days"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Regenerate a configuration header file if necessary -#//-------------------------------------------------------------------------------------------------- -sub UpdateConfigHeader($) -{ - my($config_path) = @_; - - my($config, $oldconfig) = ("", ""); - my($define, $definevalue, $defines); - my($k, $l,); - - foreach $k (keys(%main::options)) - { - if ($main::options{$k}) - { - foreach $l (keys(%{$main::optiondefines{$k}})) - { - $my::defines{$l} = $main::optiondefines{$k}{$l}; - print "Setting up my::defines{$l}\n"; - } - } - } - - my $config_headerfile = current_directory().$config_path; - if (-e $config_headerfile) - { - open(CONFIG_HEADER, "< $config_headerfile") || die "$config_headerfile: $!\n"; - my($line); - while ($line = ) - { - if ($line =~ m/#define\s+([^\s]*)\s+([^\s]*)\s*\n/) - { - $define = $1; - $definevalue = $2; - - #canonicalize so that whitespace changes are not significant - my $canon_value = "#define " . $define . " " . $definevalue . "\n"; - $oldconfig .= $canon_value; - - if (exists ($my::defines{$define}) and ($my::defines{$define} == $definevalue)) - { - delete $my::defines{$define}; - $config .= $canon_value; - } - } - } - close(CONFIG_HEADER); - } - - if (%my::defines) - { - foreach $k (keys(%my::defines)) - { - $config .= "#define " . $k . " " . $my::defines{$k} . "\n"; - } - } - - my $file_name = basename($config_headerfile); - if (($config ne $oldconfig) || (!-e $config_headerfile)) - { - printf("Writing new configuration header $file_name\n"); - open(CONFIG_HEADER, "> $config_headerfile") || die "$config_headerfile: $!\n"; - print(CONFIG_HEADER "/* This file is auto-generated based on build options. Do not edit. */\n"); - print CONFIG_HEADER ($config); - close(CONFIG_HEADER); - - MacPerl::SetFileInfo("CWIE", "TEXT", $config_headerfile); - } - else - { - printf("Configuration header $file_name is up-to-date\n"); - } -} - - -1; - diff --git a/build/mac/build_scripts/Moz/CodeWarriorLib.pm b/build/mac/build_scripts/Moz/CodeWarriorLib.pm deleted file mode 100644 index 32394fa9a5d1..000000000000 --- a/build/mac/build_scripts/Moz/CodeWarriorLib.pm +++ /dev/null @@ -1,660 +0,0 @@ -#!perl -package Moz::CodeWarriorLib; - -=pod - -=head1 NAME - -CodeWarriorLib - supply interface to CodeWarrior - -=head1 SYNOPSIS - - #!perl - use CodeWarriorLib; - CodeWarriorLib::activate(); - $had_errors = CodeWarriorLib::build_project( - $project_path, $target_name, $recent_errors_file, $clean_build - ); - -=head1 DESCRIPTION - -Replaces the AppleScript library I. - -=over 4 - -=cut - -use strict; - -use Cwd; -use File::Basename; - -use Mac::Types; -use Mac::Events; -use Mac::AppleEvents; -use Mac::AppleEvents::Simple; -use Mac::Processes; -use Mac::MoreFiles; -use Mac::StandardFile; - - -use vars qw($VERSION); -$VERSION = '1.02'; - -my($app) = 'CWIE'; -my($scriptDir) = cwd(); # could use $0 for this -my($ide_loc_file) = ""; - -# 0 == don't switch CWIE to front app in do_event(), 1 == do switch -# note: activate() still switches when called -$Mac::AppleEvents::Simple::SWITCH = 0; -# $Mac::AppleEvents::Simple::WARN = 1; - -# supply your own path to the source here -#_test('PowerPudgeIV:mozilla:mozilla:'); - -# If you want to understand the gobbldeygook that's used to build Apple Events, -# you should start by reading the AEGizmos documentation. - -=pod - -=item _get_project($full_path) - -A private routine returning a reference to the open project with the given name, -or else the empty string (when that project is not open) - -full_path is a string identifying the project to be built and is of the form, -e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied. - -=cut - -sub _get_project ($) { - my( - $full_path, $candidate_projects - ) = @_; - $candidate_projects = _doc_named(basename($full_path, '*')); - if ($candidate_projects) { - my($cps) = _get_dobj($candidate_projects); - my($num) = AECountItems($cps); - if ($num) { # is a list - foreach (1 .. AECountItems($cps)) { - my($cp) = AEGetNthDesc($cps, $_); - if (lc $full_path eq lc _full_path($cp)) { - return($cp); - } - } - } else { # is only one, not a list - if (lc $full_path eq lc _full_path($cps)) { - return($cps); - } - } - } - return; -} - -=pod - -=item build_project - -Build a selected target of a project, saving any errors to a file, if supplied. - -full_path is a string identifying the project to be built and is of the form, -e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied. - -If target_name is the empty string, the current target of the selected project -will be built, else, target_name should be a string matching a target name in -the selected project. - -If error_path is the empty string, errors will not be saved to a file, -else, error_path should be the full path of a file to save error messages into. - -=cut - -$CodeWarriorLib::CLOSE_PROJECTS_FIRST = 0; # If true we close then make. If false, make then close. -my $last_project_built = ""; -my $last_project_was_closed = 0; - -sub build_project ($;$$$) { - my( - $full_path, $target_name, $error_path, - $remove_object, $p, $project_was_closed, $had_errors - ) = @_; - _close_errors_window(); - - if ($CodeWarriorLib::CLOSE_PROJECTS_FIRST && ($last_project_built ne $full_path)) - { - # If we're in "close first" mode, we don't close if the current project - # is the same as the previous one. - if ($last_project_was_closed) { - $p = _get_project($last_project_built); - _close($p); - } - $last_project_built = $full_path; - $last_project_was_closed = 0; # now refers to the new project - } - $project_was_closed = 0; - while (1) { - $p = _get_project($full_path); - if (!$p) { - if ($project_was_closed) { - print "### Error - request for project document failed after opening\n"; - die "### possibly CW Pro 4 bug: be sure to close your Find window\n"; - } - $project_was_closed = 1; - $last_project_was_closed = 1; - _open_file($full_path); - } else { - last; - } - } - - $had_errors = 0; - if ($target_name eq '') { - if ($remove_object) {_remove_object($p)} - _build($p); - } else { - if ($remove_object) {_remove_object($p, $target_name)} - _build($p, $target_name); - } - - if ($error_path ne '') { - _save_errors_window($error_path); - } - $had_errors = _close_errors_window(); - - if (!$CodeWarriorLib::CLOSE_PROJECTS_FIRST) - { - if ($project_was_closed) { - $p = _get_project($full_path); - _close($p); - } - } - - return($had_errors); -} - -=pod - -=item appIsRunning() - -=cut -sub _appIsRunning($) -{ - my ($appSignature) = @_; - my ($psi); - my ($found) = 0; - my ($appPSN); - - foreach $psi (values(%Process)) - { - if ($psi->processSignature() eq $appSignature) - { - $appPSN = $psi->processNumber(); - $found = 1; - last; - } - } - - return $found; -} - -=pod - -=item appIsFrontmost() - -=cut -sub _appIsFrontmost($) -{ - my ($appSignature) = @_; - my ($psi); - my ($found) = 0; - my ($appPSN); - - foreach $psi (values(%Process)) - { - if ($psi->processSignature() eq $appSignature) - { - $appPSN = $psi->processNumber(); - $found = 1; - last; - } - } - - return (GetFrontProcess() == $appPSN); -} - - -=pod - -=item activate() - -Launches CodeWarrior and brings it to the front. - -Once found, path will be saved in $idepath_file for future reference. -Edit or delete this file to change the location of the IDE. If app is -moved, C will prompt for a new location. - -First looks for an open CodeWarrior app. Second, tries to open previously -saved location in ':idepath.txt'. Third, tries to find it and allow user -to choose it with Navigation Services (if present). Fourth, uses good old -GUSI routines built-in to MacPerl for a Choose Directory dialog box. - -=cut - -sub activate ($) { - - $ide_loc_file = $_[0]; # save in global - - my($filepath, $appath, $psi) = ($ide_loc_file); - - foreach $psi (values(%Process)) { - if ($psi->processSignature() eq $app) { - $appath = $psi->processAppSpec(); - _save_appath($filepath, $appath); - last; - } - } - - if (!$appath || !-x $appath) { - $appath = _read_appath($filepath); - } - - if (!$appath || ! -x $appath) - { - # make sure that MacPerl is a front process - #ActivateApplication('McPL'); - MacPerl::Answer("Please locate the CodeWarrior application.", "OK"); - - # prompt user for the file name, and store it - my $macFile = StandardGetFile( 0, "APPL"); - if ( $macFile->sfGood() ) - { - $appath = $macFile->sfFile(); - } - else - { - die "Operation canceled\n"; - } - -# if (eval {require Mac::Navigation}) { -# my($options, $nav); -# Mac::Navigation->import(); -# $options = NavGetDefaultDialogOptions(); -# $options->message('Where is CodeWarrior IDE?'); -# $options->windowTitle('Find CodeWarrior IDE'); -# $nav = NavChooseObject($Application{$app}, $options); -# die "CodeWarrior IDE not found.\n" if (!$nav || !$nav->file(1)); -# $appath = $nav->file(1); -# } else { -# local(*D); -# my $cwd = `pwd`; -# $appath = _get_folder( -# 'Where is the CW IDE folder?', -# dirname($Application{$app}) -# ); -# die "CodeWarrior IDE not found.\n" if !$appath; -# opendir(D, $appath) or die $!; -# chdir($appath); -# foreach my $file (sort readdir (D)) { -# my(@app) = MacPerl::GetFileInfo($file); -# if ($app[0] && $app[1] && -# $app[1] eq 'APPL' && $app[0] eq $app -# ) { -# $appath .= $file; -# last; -# } -# } -# chomp($cwd); -# chdir($cwd); -# } - _save_appath($filepath, $appath); - } - - my($lp) = LaunchParam->new( - launchAppSpec => $appath, - launchControlFlags => launchContinue() + launchNoFileFlags() - ); - - unless (LaunchApplication($lp)) { - unlink($filepath); - die $^E; - } - - # wait for CodeWarrior to show up in the list of processes - while (!_appIsRunning('CWIE')) - { - WaitNextEvent(); - } - - # wait for CodeWarrior to come to the front - while (!_appIsFrontmost('CWIE')) - { - WaitNextEvent(); - } -} - -=pod - -=item getCodeWarriorPath() - -Returns a file path relative to the CodeWarrior folder - -=cut - -sub getCodeWarriorPath($) -{ - my($subfolder)=@_; - - my($app_path) = _read_appath($ide_loc_file); - if ($app_path eq "") { die "Error: Failed to get CodeWarrior IDE path\n"; } - - my($codewarrior_root) = $app_path; - $codewarrior_root =~ s/[^:]*$//; - return ($codewarrior_root . $subfolder); -} - - -=pod - -=item getCodeWarriorIDEName() - -Returns the name of the CodeWarrior application - -=cut - -sub getCodeWarriorIDEName() -{ - my($subfolder)=@_; - - my($app_path) = _read_appath($ide_loc_file); - if ($app_path eq "") { die "Error: Failed to get CodeWarrior IDE path\n"; } - - my(@codewarrior_path) = split(/:/, $app_path); - return pop(@codewarrior_path); -} - - -=pod - -=item quit() - -Quits CodeWarrior. - -=cut - -sub quit() { - - $last_project_built = ""; - $last_project_was_closed = 0; - - my($evt) = do_event(qw/aevt quit/, $app); -} - - -sub _build ($;$) { - my($evt); - if ($_[1]) { - my($prm) = - q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" . - AEPrint($_[0]) . '}'; - $evt = do_event(qw/CWIE MAKE/, $app, $prm, $_[1]); - } else { - my($prm) = q"'----':" . AEPrint($_[0]); - $evt = do_event(qw/CWIE MAKE/, $app, $prm); - } -} - -sub _remove_object ($;$) { - my($evt); - if ($_[1]) { - my($prm) = - q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" . - AEPrint($_[0]) . '}'; - $evt = do_event(qw/CWIE RMOB/, $app, $prm, $_[1]); - } else { - my($prm) = q"'----':" . AEPrint($_[0]); - $evt = do_event(qw/CWIE RMOB/, $app, $prm); - } -} - -sub _open_file ($) { - my($prm) = - q"'----':obj {form:name, want:type(alis), " . - q"seld:TEXT(@), from:'null'()}"; - - do_event(qw/aevt odoc/, $app, $prm, $_[0]); -} - -sub import_project ($$) { - my($xml_file, $project_path) = @_; - - my($prm) = "kocl:type(PRJD), rtyp:TEXT(@), data:TEXT(@), &subj:'null'()"; - - my($evt) = do_event(qw/core crel/, $app, $prm, $project_path, $xml_file); - my($result) = _get_event_result($evt); - - if ($result eq "") { - _close(_get_project($project_path)); - } - return $result; -} - -sub export_project ($$) { - my($project_path, $xml_out_path) = @_; - my($p, $project_was_closed); - - $project_was_closed = 0; - while (1) { - $p = _get_project($project_path); - if (!$p) { - if ($project_was_closed) { - print "### Error - request for project document failed after opening\n"; - die "### possibly CW bug: be sure to close your Find window\n"; -} - $project_was_closed = 1; - _open_file($project_path); - } else { - last; - } - } - - # avoid problems with the Project Messages window - _close_named_window("Project Messages"); - - my($prm) = - q"'----':obj {form:indx, want:type(PRJD), " . - q"seld:1, from:'null'()}, kfil:TEXT(@)"; - - my($evt) = do_event(qw/CWIE EXPT/, $app, $prm, $xml_out_path); - - if ($project_was_closed) { - $p = _get_project($project_path); - _close($p); - } - - return _get_event_result($evt); -} - -sub _doc_named ($) { - my($prm) = - q"'----':obj {form:test, want:type(docu), from:'null'(), " . - q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" . - q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}"; - - my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]); - return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt); -} - -sub _full_path ($) { - my($obj) = $_[0]; - my($prm) = - q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " . - q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)"; - my($evt) = do_event(qw/core getd/, $app, $prm); - - return MacPerl::MakePath( - MacUnpack('fss ', ( - AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get() - ) - ); -} - -sub _save_errors_window ($) { - my($prm) = - q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}"; - do_event(qw/MMPR SvMs/, $app, $prm, $_[0]); -} - - -sub _close_errors_window () { - return _close_named_window('Errors & Warnings'); -} - - -sub _close_named_window ($) { - my($window_name) = @_; - - my($prm) = - q"'----':obj {form:name, want:type(cwin), " . - q"seld:TEXT(@), from:'null'()}"; - - my($evt) = do_event(qw/core clos/, $app, $prm, $window_name); - return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0); -} - -sub _close () { - my($prm) = q"'----':" . AEPrint($_[0]); - do_event(qw/core clos/, $app, $prm); -} - -sub _get_dobj ($) { - return(AEGetParamDesc($_[0]->{REP}, keyDirectObject())); -} - -sub _get_folder ($$) { - require 'GUSI.ph'; - my($prompt, $default) = @_; - MacPerl::Choose( - GUSI::AF_FILE(), 0, $prompt, '', - GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0), - $default - ); -} - -sub _get_event_result ($) -{ - my($evt) = @_; - - my($result) = $evt->{ERROR}; - - if ( $result eq "" && $evt->{ERRNO} != 0 ) - { - $result = "unknown error (".$evt->{ERRNO}.")"; - } - - return $result; -} - - -sub _save_appath ($$) { - - my($cwd) = cwd(); # remember the current working dir - chdir($scriptDir); # change dir to the script dir - - local(*F); - open(F, '>' . $_[0]) or die $!; - print F $_[1]; - close(F); - - chdir($cwd); # restore the cwd -} - -sub _read_appath ($) { - - my($filepath) = @_; - - my($cwd) = cwd(); # remember the current working dir - chdir($scriptDir); # change dir to the script dir - - if (! -e $filepath) { - return ""; - } - - local(*F); - open(F, $filepath); - my($appath) = ; - close(F); - - chdir($cwd); # restore the cwd - return($appath); -} - - -sub _test ($) { - activate($ide_loc_file); - my($path) = $_[0]; - build_project( - "${path}modules:xml:macbuild:XML.mcp", '', - "${path}build:mac:Mozilla.BuildLog.part" - ); -} - -1; - -=pod - -=back - -=head1 HISTORY - -=over 4 - -=item v1.02, September 23, 1998 - -Made fixes in finding and saving location of CodeWarrior IDE. - -=item v1.01, June 1, 1998 - -Made fixes to C in C, made C more robust -in finding CodeWarrior IDE, added global variable to NOT switch to IDE -for each sent event, a few other fixes. - -=item v1.00, May 30, 1998 - -First shot - -=back - - -=head1 AUTHORS - -Chris Nandor Fpudge@pobox.comE>, and the author of the -original I, Scott Collins Fscc@netscape.comE>. - -=head1 SEE ALSO - -BuildProject L. - -=head1 COPYRIGHT - -The contents of this file are subject to the Netscape Public -License Version 1.1 (the "License"); you may not use this file -except in compliance with the License. You may obtain a copy of -the License at http://www.mozilla.org/NPL/ - -Software distributed under the License is distributed on an "AS -IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -implied. See the License for the specific language governing -rights and limitations under the License. - -The Original Code is Mozilla Communicator client code, released -March 31, 1998. - -The Initial Developer of the Original Code is Netscape -Communications Corporation. Portions created by Netscape are -Copyright (C) 1998-1999 Netscape Communications Corporation. All -Rights Reserved. - -Contributor(s): - -=cut diff --git a/build/mac/build_scripts/Moz/Jar.pm b/build/mac/build_scripts/Moz/Jar.pm deleted file mode 100644 index f830cf1d435e..000000000000 --- a/build/mac/build_scripts/Moz/Jar.pm +++ /dev/null @@ -1,597 +0,0 @@ -#!perl -w -package Moz::Jar; - -# -# Module for creating jar files, either using a jar manifest, or -# simply jarring up folders on disk. -# - -require 5.004; -require Exporter; - -use strict; -use Archive::Zip; -use File::Path; - -use Mac::Files; - -use Moz::Moz; -use Moz::Milestone; - -use vars qw( @ISA @EXPORT ); - -@ISA = qw(Exporter); -@EXPORT = qw( - CreateJarFileFromDirectory - CreateJarFromManifest - WriteOutJarFiles - SanityCheckJarOptions - ); - - -#------------------------------------------------------------------------------- -# Add the contents of a directory to the zip file -# -#------------------------------------------------------------------------------- -sub _addDirToJar($$$$) -{ - my($dir, $jar_root, $zip, $compress) = @_; - - opendir(DIR, $dir) or die "Error: Cannot open dir $dir\n"; - my @files = readdir(DIR); - closedir DIR; - - my $unix_jar_root = $jar_root; - $unix_jar_root =~ s|:|/|g; # colon to slash conversion - - my $file; - - foreach $file (@files) - { - my $filepath = $dir.":".$file; - - if (-d $filepath) - { - print "Adding files to jar from $filepath\n"; - _addDirToJar($filepath, $jar_root, $zip, $compress); - } - else - { - my $member = Archive::Zip::Member->newFromFile($filepath); - die "Error: Failed to create zip file member $filepath\n" unless $member; - - my $unixName = $filepath; - $unixName =~ s|:|/|g; # colon to slash conversion - $unixName =~ s|^$unix_jar_root||; # relativise - - $member->fileName($unixName); - - # print "Adding $file as $unixName\n"; - - if ($compress) { - $member->desiredCompressionMethod(Archive::Zip::COMPRESSION_DEFLATED); - } else { - $member->desiredCompressionMethod(Archive::Zip::COMPRESSION_STORED); - } - - $zip->addMember($member); - } - } -} - -#------------------------------------------------------------------------------- -# Add the contents of a directory to the zip file -# -#------------------------------------------------------------------------------- - -sub CreateJarFileFromDirectory($$$) -{ - my($srcdir, $jarpath, $compress) = @_; - - my $zip = Archive::Zip->new(); - - _addDirToJar($srcdir, $srcdir, $zip, $compress); - - print "Saving zip file...\n"; - my $status = $zip->writeToFileNamed($jarpath); - if ($status == 0) { - print "Zipping completed successfully\n"; - } else { - print "Error saving zip file\n"; - } - - # set the file type/creator to something reasonable - MacPerl::SetFileInfo("ZIP ", "ZIP ", $jarpath); -} - - -#------------------------------------------------------------------------------- -# printZipContents -# -#------------------------------------------------------------------------------- -sub printZipContents($) -{ - my($zip) = @_; - - my(@members) = $zip->memberNames(); - - print "Zip contains:\n"; - - my($member); - foreach $member (@members) - { - print " $member\n"; - } -} - - -#------------------------------------------------------------------------------- -# safeSaveJarFile -# -# Archive::Zip has a problem where you cannot save a zip file on top of -# an existing zip file that it has open, because it holds references -# into that zip. So we have to save to a temp file, then do a swap. -# -# Note that the zip will become invalid after this operation. -# If you want to do further operations on it, you'll have to reread it. -#------------------------------------------------------------------------------- -sub safeSaveJarFile($$) -{ - my($zip, $full_dest_path) = @_; - - my($temp_file_name) = $full_dest_path."_temp"; - - ($zip->writeToFileNamed($temp_file_name) == Archive::Zip::AZ_OK) || die "Error: died writing jar to temp file $temp_file_name\n"; - - unlink $full_dest_path; - - (rename $temp_file_name, $full_dest_path) || die "Error: Failed to rename $temp_file_name\n"; - - MacPerl::SetFileInfo("ZIP ", "ZIP ", $full_dest_path); -} - - -#------------------------------------------------------------------------------- -# addToJarFile -# -# Add a file to a jar file -# -# Parameters: -# 1. Jar ID. Unix path of jar file inside chrome. -# 2. Abs path to jar.mn file (i.e. source) (mac breaks) -# 3. File source, relative to jar.mn path (mac breaks) -# 4. Abs path to the resulting .jar file (mac breaks) -# 5. Relative file path within the jar (unix breaks) -# 6. Reference to hash of jar files -# -#------------------------------------------------------------------------------- - -sub addToJarFile($$$$$$$) -{ - my($jar_id, $jar_man_dir, $file_src, $jar_path, $file_jar_path, $override, $jars) = @_; - - # print "addToJarFile with:\n $jar_man_dir\n $file_src\n $jar_path\n $file_jar_path\n"; - - unless ($jar_path =~ m/(.+:)([^:]+)$/) { die "Error: Bad jar path $jar_path\n"; } - - my($target_dir) = $1; - my($jar_name) = $2; - - $target_dir =~ s/[^:]+$//; - - # print "¥ $target_dir $jar_name\n"; - - # find the source file - my($src) = $jar_man_dir.":".$file_src; - if ((!-e $src) && ($file_src =~ m/.+:([^:]+)$/)) # src does not exist. Fall back to looking for src in jar.mn dir - { - my $tmpl_file = "$src.tmpl"; - if (-e $tmpl_file) { - my $mfile = $src; - - # - # A sloppy way of getting $topsrcdir... but not sure how to do it otherwise. - # - if ($mfile =~ /:ns:/) { - $mfile =~ s/:ns:.*$/:ns/; - } else { - $mfile =~ s/:mozilla:.*$/:mozilla/; - } - $mfile =~ s/:$//; - $mfile .= ":config:milestone.txt"; - - Moz::Milestone::getOfficialMilestone($mfile); - Moz::Milestone::build_file($tmpl_file,$src); - } - else { - $file_src = $1; - $src = $jar_man_dir.":".$file_src; - - if (!-e $src) { - die "Error: Can't find chrome file $src\n"; - } - } - } - - if ($main::options{chrome_jars}) - { - my($zip) = $jars->{$jar_id}; - unless ($zip) { die "Error: Can't find Zip entry for $jar_id\n"; } - - # print "Adding $file_src to jar file $jar_path at $file_jar_path\n"; - my($member) = Archive::Zip::Member->newFromFile($src); - unless ($member) { die "Error: Failed to create zip file member $src\n"; } - - $member->fileName($file_jar_path); - - my($compress) = 1; - if ($compress) { - $member->desiredCompressionMethod(Archive::Zip::COMPRESSION_DEFLATED); - $member->desiredCompressionLevel(Archive::Zip::COMPRESSION_LEVEL_DEFAULT); # defaults to 6 - } else { - $member->desiredCompressionMethod(Archive::Zip::COMPRESSION_STORED); - } - - my($old_member) = $zip->memberNamed($file_jar_path); - - if ($override) - { - if ($old_member) - { - # print "Overriding $file_jar_path in jar file $jar_id\n"; - # need to compare mod dates or use the + here - $zip->removeMember($old_member); - } - - $zip->addMember($member); - } - else - { - if ($old_member) - { - #compare dates here - my($member_moddate) = $old_member->lastModTime(); - my($file_moddate) = GetFileModDate($src); - - if ($file_moddate > $member_moddate) - { - print "Updating older file $file_jar_path in $jar_id\n"; - $zip->removeMember($old_member); - $zip->addMember($member); - } - else - { - print "File $file_jar_path in $jar_id is more recent. Not updating.\n"; - } - } - else - { - $zip->addMember($member); - } - } - } - - if ($main::options{chrome_files}) # we install raw files too - { - my($rel_path) = $file_jar_path; - $rel_path =~ s|/|:|g; # slash to colons - - my($dir_name) = $jar_name; - $dir_name =~ s/\.jar$//; - - my($dst) = $target_dir.$dir_name.":".$rel_path; - - # print "Aliassing $src\n to\n$dst\n"; - if ($override) - { - unlink $dst; - MakeAlias($src, $dst); # don't check errors, otherwise we fail on replacement - } - else - { - if (-e $dst) - { - #compare dates here - my($dst_moddate) = GetFileModDate($dst); - my($file_moddate) = GetFileModDate($src); - - if ($file_moddate > $dst_moddate) - { - print "Updating older file $rel_path in $dir_name\n"; - unlink $dst; - MakeAlias($src, $dst); - } - else - { - print "File $file_jar_path in $jar_id is more recent. Not updating.\n"; - } - - } - else - { - MakeAlias($src, $dst); - } - } - - } -} - - -#------------------------------------------------------------------------------- -# setupJarFile -# -# setup a zip for writing -#------------------------------------------------------------------------------- - -sub setupJarFile($$$) -{ - my($jar_id, $dest_path, $jar_hash) = @_; - - # print "Creating jar file $jar_id at $jar_path\n"; - - my($jar_file) = $jar_id; - $jar_file =~ s|/|:|g; # slash to colons - my($full_jar_path) = full_path_to($dest_path.":".$jar_file); - - if ($main::options{chrome_jars}) - { - my($zip) = $jar_hash->{$jar_id}; - if (!$zip) # if we haven't made it already, do so - { - my($zip) = Archive::Zip->new(); - $jar_hash->{$jar_id} = $zip; - - # does the jar file exist already? If so, read it in - if (-e $full_jar_path) - { - print "Reading in jar file $jar_id\n"; - if ($zip->read($full_jar_path) != Archive::Zip::AZ_OK) { die "Error: Failed to re-read $full_jar_path\n"; } - - # printZipContents($zip); - } - - } - } - else - { - # installing files. - # nothing to do. MakeAlias creates dirs as needed. - - # add this jar to the list - $jar_hash->{$jar_id} = 1; - } -} - - -#------------------------------------------------------------------------------- -# closeJarFile -# -# We're done with this jar file _for this jar.mn_. We may add more entries -# to it later, so keep it open in the hash. -#------------------------------------------------------------------------------- -sub closeJarFile($$) -{ - my($jar_path, $jar_hash) = @_; - - # print "Closing jar file $jar_path\n"; - - if ($main::options{chrome_jars}) - { - - } - else - { - # installing files. - # nothing to do - } -} - - -#------------------------------------------------------------------------------- -# WriteOutJarFiles -# -# Now we dump out the jars -#------------------------------------------------------------------------------- -sub WriteOutJarFiles($$) -{ - my($chrome_dir, $jars) = @_; - - unless ($main::options{chrome_jars}) { return; } - - my($full_chrome_path) = full_path_to($chrome_dir); - - my($key); - foreach $key (keys %$jars) - { - my($zip) = $jars->{$key}; - - my($rel_path) = $key; - $rel_path =~ s/\//:/g; - - my($output_path) = $full_chrome_path.":".$rel_path; - - print "Writing zip file $key to $output_path\n"; - - # ensure the target dirs exist - my($path) = $output_path; - $path =~ s/[^:]+$//; - mkpath($path); - - # unlink $output_path; # remove any existing jar - safeSaveJarFile($zip, $output_path); - # $zip is invalid after this operation, so nuke it here - $jars->{$key} = 0; - } -} - - -#------------------------------------------------------------------------------- -# registerChromePackage -# -# Enter a chrome package into the installed-chrome.txt file -#------------------------------------------------------------------------------- -sub registerChromePackage($$$$$$) -{ - my($jar_file, $file_path, $chrome_dir, $jar_hash, $chrome_type, $pkg_name) = @_; - - my($manifest_subdir) = $jar_file; - $manifest_subdir =~ s/:/\//g; - - if (index($manifest_subdir, "-unix") == -1 && index($manifest_subdir, "-win") == -1) { - - my($chrome_entry); - - if ($main::options{use_jars}) { - $chrome_entry = "$chrome_type,install,url,jar:resource:/chrome/$manifest_subdir!/$chrome_type/$pkg_name"; - } else { - $manifest_subdir =~ s/\.jar$//; - $chrome_entry = "$chrome_type,install,url,resource:/chrome/$manifest_subdir/$chrome_type/$pkg_name"; - } - - # print "Entering $chrome_entry in installed-chrome.txt\n"; - - # ensure chrome_dir exists - mkpath($chrome_dir); - - my($inst_chrome) = ${chrome_dir}.":installed-chrome.txt"; - - if (open(CHROMEFILE, "<$inst_chrome")) { - while () { - chomp; - if ($_ eq $chrome_entry) { - # $chrome_entry already appears in installed-chrome.txt file - # just update the mod date - my $now = time; - utime($now, $now, $inst_chrome) || die "Error: Couldn't touch $inst_chrome"; - print "+++ updating chrome $inst_chrome\n+++\t\t$chrome_entry\n"; - close(CHROMEFILE) || die "Error: can't close $inst_chrome: $!"; - return 0; - } - } - close(CHROMEFILE) || die "Error: can't close $inst_chrome: $!"; - } - open(CHROMEFILE, ">>${inst_chrome}") || die "Error: Failed to open $inst_chrome\n"; - print(CHROMEFILE "${chrome_entry}\n"); - close(CHROMEFILE) || die "Error: Failed to close $inst_chrome\n"; - print "+++ adding chrome $inst_chrome\n+++\t\t$chrome_entry\n"; - } -} - -#------------------------------------------------------------------------------- -# Create or add to a jar file from a jar.mn file. -# Both arguments are relative to the mozilla root dir. -# -# -#------------------------------------------------------------------------------- -sub CreateJarFromManifest($$$) -{ - my($jar_man_path, $dest_path, $jars) = @_; - - if ($main::options{chrome_jars}) { - print "Jarring from $jar_man_path\n"; - } - if ($main::options{chrome_files}) { - print "Installing files from $jar_man_path\n"; - } - - $jar_man_path = full_path_to($jar_man_path); - $dest_path = full_path_to($dest_path); - - # if the jars hash is empty, nuke installed-chrome.txt - if (! scalar(%$jars)) - { - print "Nuking installed-chrome.txt\n"; - my($installed_chrome) = $dest_path.":installed-chrome.txt"; - # unlink $installed_chrome; - } - - my $jar_man_dir = ""; - my $jar_man_file = ""; - - if ($jar_man_path =~ /(.+):([^:]+)$/) - { - $jar_man_dir = $1; # no trailing : - $jar_man_file = $2; - } - - # Keep a hash of jar files, keyed on relative jar path (e.g. "packages/core.jar") - # Entries are open Archive::Zips (if zipping), and installed-chrome entries. - - my($jar_id) = ""; # Current foo/bar.jar from jar.mn file - my($jar_file) = ""; # relative path to jar file (from $dest_path), with mac separators - my($full_jar_path); - - open(FILE, "<$jar_man_path") || die "Error: could not open \"$jar_man_path\": $!"; - while () - { - my($line) = $_; - chomp($line); - - # print "$line\n"; - - if ($line =~ /^\s*\#.*$/) { # skip comments - next; - } - - if ($line =~/^([\w\d.\-\_\\\/]+)\:\s*$/) # line start jar file entries - { - $jar_id = $1; - $jar_file = $jar_id; - $jar_file =~ s|/|:|g; # slash to colons - $full_jar_path = $dest_path.":".$jar_file; - - setupJarFile($jar_id, $dest_path, $jars); - - } - elsif ($line =~ /^(\+?)\s+([\w\d.\-\_\\\/]+)\s*(\([\w\d.\-\_\\\/]+\))?$\s*/) # jar file entry - { - my($override) = ($1 eq "+"); - my($file_dest) = $2; - my($file_src) = $3; - - if ($file_src) { - $file_src = substr($file_src, 1, -1); #strip the () - } else { - $file_src = $file_dest; - } - - $file_src =~ s|/|:|g; - - if ($jar_file ne "") # if jar is open, add to jar - { - if ($file_dest =~ /([\w\d.\-\_]+)\/([\w\d.\-\_\\\/]+)contents.rdf/) - { - my $chrome_type = $1; - my $pkg_name = $2; - registerChromePackage($jar_file, $file_dest, $dest_path, $jars, $chrome_type, $pkg_name); - } - - addToJarFile($jar_id, $jar_man_dir, $file_src, $full_jar_path, $file_dest, $override, $jars); - } - else - { - die "Error: bad jar.mn format at $line\n"; - } - } - elsif ($line =~ /^\s*$/ ) # blank line - { - if ($jar_file ne "") #if a jar file is open, close it - { - closeJarFile($full_jar_path, $jars); - - $jar_file = ""; - $full_jar_path = ""; - } - } - } - - close(FILE); - - if ($jar_file ne "") #if a jar file is open, close it - { - closeJarFile($full_jar_path, $jars); - } - -} - -1; diff --git a/build/mac/build_scripts/Moz/Milestone.pm b/build/mac/build_scripts/Moz/Milestone.pm deleted file mode 100755 index ce8aebb96616..000000000000 --- a/build/mac/build_scripts/Moz/Milestone.pm +++ /dev/null @@ -1,230 +0,0 @@ -#!/usr/bin/perl -w -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is the Win32 Version System. -# -# The Initial Developer of the Original Code is Netscape Communications Corporation -# Portions created by the Initial Developer are Copyright (C) 2002 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -package Moz::Milestone; -use strict; - -use vars qw($officialMilestone - $milestone); - -local $Moz::Milestone::milestone; -local $Moz::Milestone::officialMilestone; - -# -# Usage: getOfficialMilestone($milestoneFile) -# Returns full milestone (x.x.x.x[ab12pre+]) -# -sub getOfficialMilestone($) { - my $mfile = $_[0]; - open(FILE,"$mfile") || - die ("Can't open $mfile for reading!"); - - my $num = ; - while($num =~ /^\s*#/ || $num !~ /^\d/) { - $num = ; - } - - close(FILE); - if ($num !~ /^\d/) { return; } - chomp($num); - $Moz::Milestone::officialMilestone = $num; - $Moz::Milestone::milestone = &getMilestoneNum; - return $num; -} - -# -# Usage: getMilestoneNum($num) -# Returns: milestone without a + if it exists. -# -sub getMilestoneNum { - if (defined($Moz::Milestone::milestone)) { - return $Moz::Milestone::milestone; - } - - if (defined($Moz::Milestone::officialMilestone)) { - $Moz::Milestone::milestone = $Moz::Milestone::officialMilestone; - } else { - $Moz::Milestone::milestone = $_[0]; - } - - if ($Moz::Milestone::milestone =~ /\+$/) { # for x.x.x+, strip off the + - $Moz::Milestone::milestone =~ s/\+$//; - } - - return $Moz::Milestone::milestone; -} - -# -# Usage: getMilestoneQualifier($num) -# Returns: + if it exists. -# -sub getMilestoneQualifier { - my $milestoneQualifier; - if (defined($Moz::Milestone::officialMilestone)) { - $milestoneQualifier = $Moz::Milestone::officialMilestone; - } else { - $milestoneQualifier = $_[0]; - } - - if ($milestoneQualifier =~ /\+$/) { - return "+"; - } -} - -sub getMilestoneMajor { - my $milestoneMajor; - if (defined($Moz::Milestone::milestone)) { - $milestoneMajor = $Moz::Milestone::milestone; - } else { - $milestoneMajor = $_[0]; - } - my @parts = split(/\./,$milestoneMajor); - return $parts[0]; -} - -sub getMilestoneMinor { - my $milestoneMinor; - if (defined($Moz::Milestone::milestone)) { - $milestoneMinor = $Moz::Milestone::milestone; - } else { - $milestoneMinor = $_[0]; - } - my @parts = split(/\./,$milestoneMinor); - - if ($#parts < 1 ) { return 0; } - return $parts[1]; -} - -sub getMilestoneMini { - my $milestoneMini; - if (defined($Moz::Milestone::milestone)) { - $milestoneMini = $Moz::Milestone::milestone; - } else { - $milestoneMini = $_[0]; - } - my @parts = split(/\./,$milestoneMini); - - if ($#parts < 2 ) { return 0; } - return $parts[2]; -} - -sub getMilestoneMicro { - my $milestoneMicro; - if (defined($Moz::Milestone::milestone)) { - $milestoneMicro = $Moz::Milestone::milestone; - } else { - $milestoneMicro = $_[0]; - } - my @parts = split(/\./,$milestoneMicro); - - if ($#parts < 3 ) { return 0; } - return $parts[3]; -} - -sub getMilestoneAB { - my $milestoneAB; - if (defined($Moz::Milestone::milestone)) { - $milestoneAB = $Moz::Milestone::milestone; - } else { - $milestoneAB = $_[0]; - } - - if ($milestoneAB =~ /a/) { return "alpha"; } - if ($milestoneAB =~ /b/) { return "beta"; } - return "final"; -} - -# -# build_file($template_file,$output_file) -# -sub build_file($$) { - my @FILE; - my @MILESTONE_PARTS; - my $MINI_VERSION = 0; - my $MICRO_VERSION = 0; - my $OFFICIAL = 0; - my $QUALIFIER = ""; - - if (!defined($Moz::Milestone::milestone)) { die("$0: no milestone file set!\n"); } - @MILESTONE_PARTS = split(/\./, &getMilestoneNum); - if ($#MILESTONE_PARTS >= 2) { - $MINI_VERSION = 1; - } else { - $MILESTONE_PARTS[2] = 0; - } - if ($#MILESTONE_PARTS >= 3) { - $MICRO_VERSION = 1; - } else { - $MILESTONE_PARTS[3] = 0; - } - if (! &getMilestoneQualifier) { - $OFFICIAL = 1; - } else { - $QUALIFIER = "+"; - } - - if (-e $_[0]) { - open(FILE, "$_[0]") || die("$0: Can't open $_[0] for reading!\n"); - @FILE = ; - close(FILE); - - open(FILE, ">$_[1]") || die("$0: Can't open $_[1] for writing!\n"); - - # - # There will be more of these based on what we need for files. - # - foreach(@FILE) { - s/__MOZ_MAJOR_VERSION__/$MILESTONE_PARTS[0]/g; - s/__MOZ_MINOR_VERSION__/$MILESTONE_PARTS[1]/g; - s/__MOZ_MINI_VERSION__/$MILESTONE_PARTS[2]/g; - s/__MOZ_MICRO_VERSION__/$MILESTONE_PARTS[3]/g; - if ($MINI_VERSION) { - s/__MOZ_OPTIONAL_MINI_VERSION__/.$MILESTONE_PARTS[2]/g; - } - if ($MICRO_VERSION) { - s/__MOZ_OPTIONAL_MICRO_VERSION__/.$MILESTONE_PARTS[3]/g; - } - - print FILE $_; - } - close(FILE); - } else { - die("$0: $_[0] doesn't exist for autoversioning!\n"); - } - -} - -1; diff --git a/build/mac/build_scripts/Moz/Moz.pm b/build/mac/build_scripts/Moz/Moz.pm deleted file mode 100644 index fd888084cfb1..000000000000 --- a/build/mac/build_scripts/Moz/Moz.pm +++ /dev/null @@ -1,603 +0,0 @@ -=head1 NAME - -B - routines for automating CodeWarrior builds, and some extra-curricular -activities related to building Mozilla - -=head1 SYNOPSIS - - use Moz; - - OpenErrorLog(":::BuildLog"); - StopForErrors(); - - $Moz::QUIET = 1; - InstallFromManifest(":projects:MANIFEST", $dist_dir); - - BuildProjectClean(":projects:SomeProject.mcp", "SomeTarget"); - MakeAlias(":projects:SomeProject.shlb", $dist_dir); - - DontStopForErrors(); - - BuildProject(":projects:SomeOtherProject.mcp", "SomeTarget"); - -=head1 DESCRIPTION - -B comprises the routines needed to slap CodeWarrior around, force it -to build a sequence of projects, report the results, and a few other things. -This module should only contain functions that are generic to any build, -not just the Mozilla build. - -=cut - - -package Moz::Moz; -require Exporter; - -use Cwd; - -use File::Copy; -use File::Path; -use File::Basename; - -use Mac::Types; -use Mac::Events; -use Mac::Processes; - -use ExtUtils::Manifest 'maniread'; - -use Moz::CodeWarriorLib; - -@ISA = qw(Exporter); - -@EXPORT = qw( LaunchCodeWarrior - GetCodeWarriorRelativePath - current_directory - full_path_to - DoBuildProject - ImportXMLProject - ExportProjectToXML - OpenErrorLog - MakeAlias - GetFileModDate - StopForErrors - DontStopForErrors - InstallFromManifest - InstallResources - RedirectOutputToFile - Delay - ActivateApplication - IsProcessRunning); - -@EXPORT_OK = qw(CloseErrorLog QUIET); - - -sub current_directory() - { - my $current_directory = cwd(); - chop($current_directory) if ( $current_directory =~ m/:$/ ); - return $current_directory; - } - -sub full_path_to($) - { - my ($path) = @_; - if ( $path =~ m/^[^:]+$/ ) - { - $path = ":" . $path; - } - - if ( $path =~ m/^:/ ) - { - $path = current_directory() . $path; - } - - return $path; - } - -$logging = 0; -$recent_errors_file = ""; -$stop_on_1st_error = 1; -$QUIET = 0; - - - -=head2 Logging all the errors and warnings - C, C - -The warnings and errors generated in the course of building projects can be logged to a file. -Tinderbox uses this facility to show why a remote build failed. - -Logging is off by default. - Start logging at any point in your build process with C. - Stop with C. - You never need to close the log explicitly, unless you want to just log a couple of projects in the middle of a big list. - C is not exported by default. - -=cut - -sub CloseErrorLog() - { - if ( $logging ) - { - close(ERROR_LOG); - $logging = 0; - StopForErrors() if $stop_on_1st_error; - } - } - - - -sub OpenErrorLog($) - { - my ($log_file) = @_; - - CloseErrorLog(); - if ( $log_file ) - { - $log_file = full_path_to($log_file); - - open(ERROR_LOG, ">$log_file") || die "Error: Can't open $log_file\n"; - MacPerl::SetFileInfo("CWIE", "TEXT", $log_file); - - $log_file =~ m/.+:(.+)/; - $recent_errors_file = full_path_to("$1.part"); - $logging = 1; - } - } - - -=head2 Stopping before it's too late - C, C - -When building a long list of projects, you decide whether to continue building subsequent projects when one fails. - By default, your build script will C after the first project that generates an error while building. - Change this behavior with C. - Re-enable it with C. - -=cut - -sub StopForErrors() - { - $stop_on_1st_error = 1; - - # Can't stop for errors unless we notice them. - # Can't notice them unless we are logging. - # If the user didn't explicitly request logging, log to a temporary file. - - if ( ! $recent_errors_file ) - { - OpenErrorLog("${TMPDIR}BuildResults"); - } - } - -sub DontStopForErrors() - { - $stop_on_1st_error = 0; - } - -sub log_message($) - { - if ( $logging ) - { - my ($message) = @_; - print ERROR_LOG $message; - } - } - -sub log_message_with_time($) - { - if ( $logging ) - { - my ($message) = @_; - my $time_stamp = localtime(); - log_message("$message ($time_stamp)\n"); - } - } - -sub log_recent_errors($) - { - my ($project_name) = @_; - my $found_errors = 0; - - if ( $logging ) - { - open(RECENT_ERRORS, "<$recent_errors_file"); - - while( ) - { - if ( /^Error/ || /^CouldnÕt find project file/ || /^Link Error/ ) - { -# if (!$found_errors) -# print $_; - $found_errors = 1; - } - print ERROR_LOG $_; - } - - close(RECENT_ERRORS); - unlink("$recent_errors_file"); - } - - if ( $stop_on_1st_error && $found_errors ) - { - print ERROR_LOG "### Build failed.\n"; - die "### Errors encountered building \"$project_name\".\n"; - } - } - -sub DoBuildProject($$$) - { - my ($project_path, $target_name, $clean_build) = @_; - $project_path = full_path_to($project_path); - -# $project_path =~ m/.+:(.+)/; -# my $project_name = $1; - - log_message_with_time("### Building \"$project_path\""); - - # Check that the given project exists - if (! -e $project_path) - { - print ERROR_LOG "### Build failed.\n"; - die "### Can't find project file \"$project_path\".\n"; - } - - print "Building \"$project_path\[$target_name\]\"\n"; - - $had_errors = Moz::CodeWarriorLib::build_project( - $project_path, $target_name, $recent_errors_file, $clean_build - ); - WaitNextEvent(); - -# $had_errors = -#MacPerl::DoAppleScript(< functions like C, except with better argument defaulting and more explicit error messages. - -=cut - -sub MakeAlias($$) - { - my ($old_file, $new_file) = @_; - - # if the directory to hold $new_file doesn't exist, create it - if ( ($new_file =~ m/(.+:)/) && !-d $1 ) - { - mkpath($1); - } - - # if a leaf name wasn't specified for $new_file, use the leaf from $old_file - if ( ($new_file =~ m/:$/) && ($old_file =~ m/.+:(.+)/) ) - { - $new_file .= $1; - } - - my $message = "Can't create a Finder alias (at \"$new_file\")\n for \"$old_file\"; because "; - - die "Error: $message \"$old_file\" doesn't exist.\n" unless -e $old_file; - die "Error: $message I won't replace an existing (non-alias) file with an alias.\n" if ( -e $new_file && ! -l $new_file ); - - # now: $old_file exists; $new_file doesn't (or else, is an alias already) - - if ( -l $new_file ) - { - # ...then see if it already points to $old_file - my $current_target = full_path_to(readlink($new_file)); - my $new_target = full_path_to($old_file); - - return if ( $current_target eq $new_target ); - # if the desired alias already exists and points to the right thing, then we're done - - unlink $new_file; - } - - symlink($old_file, $new_file) || die "Error: $message symlink returned an unexpected error.\n"; - } - - -=pod - -C - -=cut - -sub InstallFromManifest($;$$) - { - my ($manifest_file, $dest_dir, $flat) = @_; - - $flat = 0 unless defined($flat); # if $flat, all rel. paths in MANIFEST get aliased to the root of $dest_dir - - $dest_dir ||= ":"; - - $manifest_file =~ m/(.+):/; - my $source_dir = $1; - - chop($dest_dir) if $dest_dir =~ m/:$/; - - #Mac::Events->import(); - WaitNextEvent(); - if ($flat) - { - print "Doing manifest on \"$manifest_file\" FLAT\n" unless $QUIET; - } - else - { - print "Doing manifest on \"$manifest_file\"\n" unless $QUIET; - } - - my $read = maniread(full_path_to($manifest_file)); - foreach $file (keys %$read) - { - next unless $file; - - $subdir = ":"; - if (!$flat && ($file =~ /:.+:/ )) - { - $subdir = $&; - } - - $file = ":$file" unless $file =~ m/^:/; - MakeAlias("$source_dir$file", "$dest_dir$subdir"); - } - } - - -=pod - -C - -=cut - -# parameters are path to MANIFEST file, destination dir, true (to make copies) or false (to make aliases) -sub InstallResources($;$;$) - { - my ($manifest_file, $dest_dir, $copy_files) = @_; - - $dest_dir ||= ":"; - mkpath($dest_dir) if !-d $dest_dir; - - $manifest_file =~ m/(.+):/; - my $source_dir = $1; - - chop($dest_dir) if $dest_dir =~ m/:$/; - - WaitNextEvent(); - print "Installing resources from \"$manifest_file\"\n" unless $QUIET; - - my $read = maniread(full_path_to($manifest_file)); - foreach $file (keys %$read) - { - next unless $file; - - if ($copy_files) - { - copy("$source_dir:$file", "$dest_dir:$file"); - } - else - { - MakeAlias("$source_dir:$file", "$dest_dir:$file"); - } - } - } - - -#//-------------------------------------------------------------------------------------------------- -#// Delay -#//-------------------------------------------------------------------------------------------------- -sub Delay($) -{ - my ($delay_seconds) = @_; - - $now = time; - - $exit_time = $now + $delay_seconds; - - while ($exit_time > $now) { - $now = time; - } - -} - -#//-------------------------------------------------------------------------------------------------- -#// GetFileModDate -#//-------------------------------------------------------------------------------------------------- -sub GetFileModDate($) -{ - my($filePath)=@_; - my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, - $atime,$mtime,$ctime,$blksize,$blocks) = stat($filePath); - return $mtime; -} - - -#//-------------------------------------------------------------------------------------------------- -#// LaunchCodeWarrior -#//-------------------------------------------------------------------------------------------------- -sub LaunchCodeWarrior($) -{ - my($idepath_file) = @_; # full path to IDE location file - my($cur_dir) = cwd(); - - # this both launches and writes the IDE path file - Moz::CodeWarriorLib::activate($idepath_file); - - chdir($cur_dir); -} - -#//-------------------------------------------------------------------------------------------------- -#// GetCodeWarriorRelativePath -#//-------------------------------------------------------------------------------------------------- -sub GetCodeWarriorRelativePath($) -{ - my($rel_path) = @_; - return Moz::CodeWarriorLib::getCodeWarriorPath($rel_path); -} - - -#//-------------------------------------------------------------------------------------------------- -#// RedirectOutputToFile -#//-------------------------------------------------------------------------------------------------- -sub RedirectOutputToFile($) -{ - my($log_file) = @_; - - # ensure that folders in the path exist - my($logdir) = ""; - my($logfile) = $log_file; - - if ($log_file =~ /(.+?:)([^:]+)$/) # ? for non-greedy match - { - $logdir = $1; - $logfile = $2; - - mkpath($logdir); - } - - print "Output is now being redirected to the file '$log_file'\n"; - - open(STDOUT, "> $log_file") || die "Can't redirect stdout"; - open(STDERR, ">&STDOUT") || die "Can't dup stdout"; - select(STDERR); $| = 1; # make unbuffered - select(STDOUT); $| = 1; # make unbuffered - - MacPerl::SetFileInfo("CWIE", "TEXT", $log_file); -} - -#//-------------------------------------------------------------------------------------------------- -#// ActivateApplication -#//-------------------------------------------------------------------------------------------------- - -sub ActivateApplication($) -{ - my ($appSignature) = @_; - my ($psi, $found); - my ($appPSN); - - $found = 0; - - foreach $psi (values(%Process)) - { - if ($psi->processSignature() eq $appSignature) - { - $appPSN = $psi->processNumber(); - $found = 1; - last; - } - } - - if ($found == 0 || SameProcess($appPSN, GetFrontProcess())) - { - return; - } - - SetFrontProcess($appPSN); - - while (GetFrontProcess() != $appPSN) - { - WaitNextEvent(); - } -} - -#//-------------------------------------------------------------------------------------------------- -#// IsProcessRunning -#//-------------------------------------------------------------------------------------------------- - -sub IsProcessRunning($) -{ - my($processName, $psn, $psi) = @_; - while ( ($psn, $psi) = each(%Process) ) { - if ($psi->processName eq $processName) { return 1; } - } - return 0; -} - - -1; - -=head1 AUTHORS - -Scott Collins , Simon Fraser , Chris Yeh - -=head1 SEE ALSO - -BuildMozillaDebug.pl (et al), BuildList.pm, CodeWarriorLib (an AppleScript library) - -=head1 COPYRIGHT - -The contents of this file are subject to the Netscape Public -License Version 1.1 (the "License"); you may not use this file -except in compliance with the License. You may obtain a copy of -the License at http://www.mozilla.org/NPL/ - -Software distributed under the License is distributed on an "AS -IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -implied. See the License for the specific language governing -rights and limitations under the License. - -The Original Code is Mozilla Communicator client code, released -March 31, 1998. - -The Initial Developer of the Original Code is Netscape -Communications Corporation. Portions created by Netscape are -Copyright (C) 1998-1999 Netscape Communications Corporation. All -Rights Reserved. - -Contributor(s): - -=cut diff --git a/build/mac/build_scripts/Moz/Prefs.pm b/build/mac/build_scripts/Moz/Prefs.pm deleted file mode 100644 index 3e008415dd8d..000000000000 --- a/build/mac/build_scripts/Moz/Prefs.pm +++ /dev/null @@ -1,272 +0,0 @@ - -package Moz::Prefs; - -require 5.004; -require Exporter; - -# Package that attempts to read a file from the Preferences folder, -# and get build settings out of it - -use strict; - -use Exporter; -use File::Path; - -use Mac::Files; - -use vars qw(@ISA @EXPORT); - -@ISA = qw(Exporter); -@EXPORT = qw(ReadMozUserPrefs); - - -#------------------------------------------------------------------------------- -# -# GetPrefsFolder -# -#------------------------------------------------------------------------------- - -sub GetPrefsFolder() -{ - my($prefs_folder) = FindFolder(kOnSystemDisk, kPreferencesFolderType, 1); - return $prefs_folder.":Mozilla build prefs"; -} - - -#------------------------------------------------------------------------------- -# -# SetArrayValue -# -#------------------------------------------------------------------------------- -sub SetArrayValue($$$) -{ - my($array_ref, $index1, $index2) = @_; - - my($index); - foreach $index (@$array_ref) - { - if ($index->[0] eq $index1) - { - $index->[1] = $index2; - return 1; - } - } - - return 0; -} - - -#------------------------------------------------------------------------------- -# -# WriteDefaultPrefsFile -# -#------------------------------------------------------------------------------- - -sub WriteDefaultPrefsFile($) -{ - my($file_path) = @_; - - my($file_contents); - $file_contents = <<'EOS'; -% You can use this file to customize the Mozilla build system. -% The following kinds of lines are allowable: -% Comment lines, which start with a '%' in the first column -% Lines which modify the default build settings. For the list of flags, -% see MozBuildFlags.pm. Examples are: -% -% build pull 0 % don't pull -% options mng 1 % turn mng on -% -% Line containing the special 'buildfrom' flag, which specifies -% where to start the build. Example: -% -% buildfrom nglayout % where to start the build -% -% Lines which specify the location of the files used to store paths -% to the CodeWarrior IDE, and the MacCVS Pro session file. Note quoting -% of paths containing whitespace. Examples: -% -% filepath idepath ::codewarrior.txt -% filepath sessionpath ":Some folder:MacCVS session path.txt" -% -% Lines which modify the build settings like %main::DEBUG. -% Any lines which do not match either of the above are assumed -% to set variables on $main::. Examples: -% -% MOZILLA_OFFICIAL 1 -% -EOS - - $file_contents =~ s/%/#/g; - - local(*PREFS_FILE); - - open(PREFS_FILE, "> $file_path") || die "Could not write default prefs file\n"; - print PREFS_FILE ($file_contents); - close(PREFS_FILE); - - MacPerl::SetFileInfo("McPL", "TEXT", $file_path); -} - - -#------------------------------------------------------------------------------- -# -# HandlePrefSet -# -#------------------------------------------------------------------------------- -sub HandlePrefSet($$$$) -{ - my($flags, $name, $value, $desc) = @_; - - if (SetArrayValue($flags, $name, $value)) { - print "Prefs set $desc flag '$name' to '$value'\n"; - } else { - die "$desc setting '$name' is not a valid option\n"; - } - -} - - -#------------------------------------------------------------------------------- -# -# HandleBuildFromPref -# -#------------------------------------------------------------------------------- -sub HandleBuildFromPref($$) -{ - my($build_array, $name) = @_; - - my($setting) = 0; - my($index); - foreach $index (@$build_array) - { - if ($index->[0] eq $name) { - $setting = 1; - } - - $index->[1] = $setting; - } - - if ($setting == 1) { - print "Building from $name onwards, as specified by prefs\n"; - } else { - printf "Failed to find buildfrom setting '$name'\n"; - } -} - - -#------------------------------------------------------------------------------- -# -# ReadPrefsFile -# -#------------------------------------------------------------------------------- - -sub ReadPrefsFile($$$$$) -{ - my($file_path, $build_flags, $options_flags, $filepath_flags, $create_if_missing) = @_; - - local(*PREFS_FILE); - - if (open(PREFS_FILE, "< $file_path")) - { - print "Reading build prefs from '$file_path'\n"; - - while () - { - my($line) = $_; - chomp($line); - - if ($line =~ /^\#/ || $line =~ /^\s*$/) { # ignore comments and empty lines - next; - } - - if (($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+\"(.+)\"(\s+#.+)?/) || - ($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+\'(.+)\'(\s+#.+)?/) || - ($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+([^#\s]+)(\s+#.+)?/)) - { - my($array_name) = $1; - my($option_name) = $2; - my($option_value) = $3; - - # print "Read '$array_name' '$option_name' '$option_value'\n"; - - if ($array_name eq "build") - { - HandlePrefSet($build_flags, $option_name, $option_value, "Build"); - } - elsif ($array_name eq "options") - { - HandlePrefSet($options_flags, $option_name, $option_value, "Options"); - } - elsif ($array_name eq "filepath" && $option_name && $option_value) - { - HandlePrefSet($filepath_flags, $option_name, $option_value, "Filepath"); - } - else - { - print "Unknown pref option at $line\n"; - } - } - elsif ($line =~ /^\s*buildfrom\s+([^#\s]+)(\s+#.+)?/) - { - my($build_start) = $1; - HandleBuildFromPref($build_flags, $build_start); - } - elsif ($line =~ /^\s*([^#\s]+)\s+([^#\s]+)(\s+#.+)?/) - { - my($build_var) = $1; - my($var_setting) = $2; - - print "Setting \$main::$build_var to $var_setting\n"; - eval "\$main::$build_var = \"$var_setting\""; - } - else - { - print "Unrecognized input line at $line\n"; - } - - } - - close(PREFS_FILE); - } - elsif ($create_if_missing) - { - print "No prefs file found at $file_path; using defaults\n"; - - my($folder_path) = $file_path; - $folder_path =~ s/[^:]+$//; - mkpath($folder_path); - WriteDefaultPrefsFile($file_path); - } -} - - -#------------------------------------------------------------------------------- -# -# ReadMozUserPrefs -# -#------------------------------------------------------------------------------- - -sub ReadMozUserPrefs($$$$) -{ - my($prefs_file_name, $build_flags, $options_flags, $filepath_flags) = @_; - - if ($prefs_file_name eq "") { return; } - - # if local prefs exist, just use those. Othewise, look in the prefs folder - if (-e $prefs_file_name) - { - # read local prefs - ReadPrefsFile($prefs_file_name, $build_flags, $options_flags, $filepath_flags, 0); - } - else - { - # first read prefs folder prefs - my($prefs_path) = GetPrefsFolder(); - $prefs_path .= ":$prefs_file_name"; - - ReadPrefsFile($prefs_path, $build_flags, $options_flags, $filepath_flags, 1); - } -} - -1; diff --git a/build/mac/build_scripts/Moz/ProjectXML.pm b/build/mac/build_scripts/Moz/ProjectXML.pm deleted file mode 100644 index 629800325fcf..000000000000 --- a/build/mac/build_scripts/Moz/ProjectXML.pm +++ /dev/null @@ -1,932 +0,0 @@ -#!/usr/bin/perl - -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# Simon Fraser -# - -package Moz::ProjectXML; - -require 5.004; -require Exporter; - -use strict; -use Exporter; - -use Cwd; -use XML::DOM; - -use vars qw(@ISA @EXPORT); - -@ISA = qw(Exporter); -@EXPORT = qw( - ParseXMLDocument - DisposeXMLDocument - WriteXMLDocument - CleanupPro5XML - GetTargetsList - CloneTarget - SetAsSharedLibraryTarget - SetAsStaticLibraryTarget - AddTarget - RemoveTarget - GetTargetSetting - SetTargetSetting - getChildElementTextContents - ); - - -#-------------------------------------------------------------------------------------------------- -# A module for reading, manipulating, and writing XML-format CodeWarrior project files. -# -# Sample usage: -# -# use ProjectXML; -# -# my $doc = ProjectXML::ParseXMLDocument("Test.mcp.xml"); -# ProjectXML::CloneTarget($doc, "Test.shlb", "Test.lib"); -# ProjectXML::SetAsStaticLibraryTarget($doc, "Test.lib", "TestOutput.lib"); -# ProjectXML::WriteXMLDocument($doc, "Test_out.xml"); -# ProjectXML::DisposeXMLDocument($doc); -# -#-------------------------------------------------------------------------------------------------- - - -#//-------------------------------------------------------------------------------------------------- -#// ParseXMLDocument -#// Note that the caller must call DisposeXMLDocument on the returned doc -#//-------------------------------------------------------------------------------------------------- -sub ParseXMLDocument($) -{ - my($doc_path) = @_; - - my $parser = new XML::DOM::Parser(ErrorContext => 2); - my $doc = $parser->parsefile($doc_path); - - return $doc; -} - -#//-------------------------------------------------------------------------------------------------- -#// DisposeXMLDocument -#// Needed to avoid memory leaks - cleanup circular references for garbage collection -#//-------------------------------------------------------------------------------------------------- -sub DisposeXMLDocument($) -{ - my($doc) = @_; - - $doc->dispose(); -} - - -#//-------------------------------------------------------------------------------------------------- -#// WriteXMLDocument -#//-------------------------------------------------------------------------------------------------- - -sub _pro5_tag_compression($$) -{ - return 1; # Pro 5 is broken and can't import XML with style tags -} - -sub _pro6plus_tag_compression($$) -{ - return 0; # Pro 6 can deal with empty XML tags like -} - -sub WriteXMLDocument($$$) -{ - my($doc, $file_path, $ide_version) = @_; - - if ($ide_version eq "4.0") - { - XML::DOM::setTagCompression(\&_pro5_tag_compression); - } - else - { - XML::DOM::setTagCompression(\&_pro6plus_tag_compression); - } - - $doc->printToFile($file_path); -} - - -#//-------------------------------------------------------------------------------------------------- -#// CleanupPro5XML -#// XML Projects exported by Pro 5 contain garbage data under the MWMerge_MacOS_skipResources -#// setting. This routine cleans this up, saving the result to a new file -#//-------------------------------------------------------------------------------------------------- -sub CleanupPro5XML($$) -{ - my($xml_path, $out_path) = @_; - - local(*XML_FILE); - open(XML_FILE, "< $xml_path") || die "Error: failed to open file $xml_path\n"; - - local(*CLEANED_FILE); - open(CLEANED_FILE, "> $out_path") || die "Error: failed to open file $out_path for writing\n"; - - my $in_skip_resources_settings = 0; - - while() - { - my($line) = $_; - - if ($line =~ /^<\?codewarrior/) # is processing inst line - { - my $test_line = $line; - chomp($test_line); - - my $out_line = $test_line; - if ($test_line =~ /^<\?codewarrior\s+exportversion=\"(.+)\"\s+ideversion=\"(.+)\"\s*\?>$/) - { - my $export_version = $1; - my $ide_version = $2; - - $ide_version = "4.0_mozilla"; # pseudo IDE version so we know we touched it - $out_line = ""; - } - - print CLEANED_FILE "$out_line\n"; - next; - } - - if ($line =~ /MWMerge_MacOS_skipResources/) - { - $in_skip_resources_settings = 1; - print CLEANED_FILE "$line"; - } - elsif($in_skip_resources_settings && $line =~ /\n"; - print CLEANED_FILE " \n\n"; - - print CLEANED_FILE "$line"; - - $in_skip_resources_settings = 0; - } - elsif (!$in_skip_resources_settings) - { - print CLEANED_FILE "$line"; - } - } - - close(XML_FILE); - close(CLEANED_FILE); - -} - -#-------------------------------------------------------------------------------------------------- -# SniffProjectXMLIDEVersion -# -#-------------------------------------------------------------------------------------------------- -sub SniffProjectXMLIDEVersion($) -{ - my($xml_path) = @_; - - my $found_version = ""; - - local(*XML_FILE); - open(XML_FILE, "< $xml_path") || die "Error: failed to open file $xml_path\n"; - - while() - { - my($line) = $_; - chomp($line); - - if ($line =~ /^<\?codewarrior/) # is processing inst line - { - unless ($line =~ /^<\?codewarrior\s+exportversion=\"(.+)\"\s+ideversion=\"(.+)\"\s*\?>$/) - { - die "Error: Failed to find ideversion in $xml_path in line $line\n"; - } - - my $export_version = $1; - my $ide_version = $2; - - $found_version = $ide_version; - last; - } - } - - close(XML_FILE); - - return $found_version; -} - -#//-------------------------------------------------------------------------------------------------- -#// GetTargetsList -#// Returns an array of target names -#//-------------------------------------------------------------------------------------------------- -sub GetTargetsList($) -{ - my($doc) = @_; - - my $nodes = $doc->getElementsByTagName("TARGET"); - my $n = $nodes->getLength; - - my @target_names; - - for (my $i = 0; $i < $n; $i++) - { - my ($node) = $nodes->item($i); - - my($target_name) = getChildElementTextContents($node, "NAME"); - push(@target_names, $target_name); - } - - return @target_names; -} - - -#//-------------------------------------------------------------------------------------------------- -#// CloneTarget -#// Clone the named target, renaming it to 'new_name' -#//-------------------------------------------------------------------------------------------------- -sub CloneTarget($$$) -{ - my($doc, $target_name, $new_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - - # clone here - my $target_clone = $target_node->cloneNode(1); # deep clone - - # -- munge target settings -- - - # set the target name field - setChildElementTextContents($doc, $target_clone, "NAME", $new_name); - - # set the targetname pref - setTargetNodeSetting($doc, $target_clone, "Targetname", $new_name); - - # -- insert new target subtree -- - - my $target_list = $target_node->getParentNode(); - $target_list->appendChild($target_clone); - - # -- now add to targetorder -- - my (@target_order_nodes) = getChildOfDocument($doc, "TARGETORDER"); - - my $target_order = @target_order_nodes[0]; - - my $new_order = $doc->createElement("ORDEREDTARGET"); - my $order_name = $doc->createElement("NAME"); - - $new_order->appendChild($order_name); - - setChildElementTextContents($doc, $new_order, "NAME", $new_name); - $target_order->appendChild($new_order); -} - - -#//-------------------------------------------------------------------------------------------------- -#// SetAsSharedLibraryTarget -#// -#//-------------------------------------------------------------------------------------------------- -sub SetAsSharedLibraryTarget($$$) -{ - my($doc, $target_name, $output_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_type", "SharedLibrary"); - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_filetype", "1936223330"); #'shlb' - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_outfile", $output_name); -} - - -#//-------------------------------------------------------------------------------------------------- -#// AddFileToTarget -#// -#// Add a file to the specified target(s). -#// -#//-------------------------------------------------------------------------------------------------- -sub AddFileToTarget($$$) -{ - my($doc, $target_list, $file_name) = @_; - - # the file must be added in 3 places: - # 1. in (with linkage flags if necessary) - # 2. in - # 3. in - die "Write me\n"; -} - -#//-------------------------------------------------------------------------------------------------- -#// RemoveFileFromTarget -#// -#// Remove a file from the specified target, removing it from the entire project -#// if no other targets reference it. -#// -#//-------------------------------------------------------------------------------------------------- -sub RemoveFileFromTarget($$$) -{ - my($doc, $target_node, $file_name) = @_; - - # the file must be removed in 3 places: - # 1. in - # 2. in - # 3. in - - # first, remove from - my $filelist_node = getFirstChildElement($target_node, "FILELIST"); - unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; } - - my $file_node = getChildNodeByGrandchildContents($doc, $filelist_node, "FILE", "PATH", $file_name); - unless ($file_node) { return; } - - $filelist_node->removeChild($file_node); - - # next, remove from - my $linkorder_node = getFirstChildElement($target_node, "LINKORDER"); - unless ($linkorder_node) { die "Error: failed to find LINKORDER node\n"; } - - my $fileref_node = getChildNodeByGrandchildContents($doc, $linkorder_node, "FILEREF", "PATH", $file_name); - unless ($fileref_node) { die "Error: link order node for file $file_name not found\n"; } - - $linkorder_node->removeChild($fileref_node); - - # last, remove from - # is cross-target, so we have to be careful here. - my $grouplist_node = getChildOfDocument($doc, "GROUPLIST"); - unless ($grouplist_node) { die "Error: failed to find GROUPLIST node\n"; } - - # if the file isn't in any other targets, remove it from the groups - if (!GetFileInUse($doc, $file_name)) - { - print "File $file_name is in no other targest. Removing from project\n"; - - my @group_nodes; - getChildElementsOfType($doc, $grouplist_node, "GROUP", \@group_nodes); - my $group_node; - foreach $group_node (@group_nodes) - { - my @fileref_nodes; - getChildElementsOfType($doc, $group_node, "FILEREF", \@fileref_nodes); - - my $fileref_node; - foreach $fileref_node (@fileref_nodes) - { - my $path_name = getChildElementTextContents($fileref_node, "PATH"); - if ($path_name eq $file_name) - { - print "Removing $file_name from project group list\n"; - $group_node->removeChild($fileref_node); - last; - } - } - - # can a file appear in more than one group? - } - } -} - -#//-------------------------------------------------------------------------------------------------- -#// SetAsStaticLibraryTarget -#// -#//-------------------------------------------------------------------------------------------------- -sub SetAsStaticLibraryTarget($$$) -{ - my($doc, $target_name, $output_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_type", "Library"); - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_filetype", "1061109567"); #'????' - setTargetNodeSetting($doc, $target_node, "MWProject_PPC_outfile", $output_name); - - # static targets don't need any library linkage, so we can remove linkage - # with all .shlb and .Lib files. - - my(@obsolete_files) = ("NSStdLibStubs", "InterfacesStubs", "InterfaceLib", "InternetConfigLib"); - - print " Removing libraries etc. from target\n"; - - # get all files in target - my @target_files = GetTargetFilesList($doc, $target_name); - my $target_file; - foreach $target_file (@target_files) - { - if ($target_file =~ /(\.shlb|\.lib|\.Lib|\.o|\.exp)$/) - { - RemoveFileFromTarget($doc, $target_node, $target_file); - } - } - - print " Removing stub libraries from target\n"; - - # then remove files with known names - my $obs_file; - foreach $obs_file (@obsolete_files) - { - RemoveFileFromTarget($doc, $target_node, $obs_file); - } - -} - - -#//-------------------------------------------------------------------------------------------------- -#// AddTarget -#// -#//-------------------------------------------------------------------------------------------------- -sub AddTarget($$) -{ - my($doc, $target_name) = @_; - - die "Write me\n"; -} - -#//-------------------------------------------------------------------------------------------------- -#// RemoveTarget -#// -#//-------------------------------------------------------------------------------------------------- -sub RemoveTarget($$) -{ - my($doc, $target_name) = @_; - - die "Write me\n"; -} - - -#//-------------------------------------------------------------------------------------------------- -#// GetTargetSetting -#// Get the value for the specified setting in the specified target -#//-------------------------------------------------------------------------------------------------- -sub GetTargetSetting($$$) -{ - my($doc, $target_name, $setting_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - return getTargetNodeSetting($target_node, "VALUE"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// SetTargetSetting -#// Set the value for the specified setting in the specified target -#//-------------------------------------------------------------------------------------------------- -sub SetTargetSetting($$$$) -{ - my($doc, $target_name, $setting_name, $new_value) = @_; - - my $target_node = getTargetNode($doc, $target_name); - setTargetNodeSetting($doc, $target_node, "VALUE", $new_value); -} - - -#//-------------------------------------------------------------------------------------------------- -#// GetTargetFilesList -#// Return an array of the files in the target (in filelist order) -#//-------------------------------------------------------------------------------------------------- -sub GetTargetFilesList($$) -{ - my($doc, $target_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - - my @files_list; - - my $filelist_node = getFirstChildElement($target_node, "FILELIST"); - unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; } - - my @file_nodes; - getChildElementsOfType($doc, $filelist_node, "FILE", \@file_nodes); - - my $node; - foreach $node (@file_nodes) - { - my $file_name = getChildElementTextContents($node, "PATH"); - push(@files_list, $file_name); - } - - return @files_list; -} - - -#//-------------------------------------------------------------------------------------------------- -#// FileIsInTarget -#// -#//-------------------------------------------------------------------------------------------------- -sub FileIsInTarget($$$) -{ - my($doc, $file_name, $target_name) = @_; - - my $target_node = getTargetNode($doc, $target_name); - unless ($target_node) { die "Error: no target found called $target_name\n"; } - - my $file_node = GetTargetFileNode($doc, $target_node, $file_name); - if ($file_node) { - return 1; - } - - return 0; -} - - -#//-------------------------------------------------------------------------------------------------- -#// GetFileTargetsList -#// Return an array of the targets that a file is in (expensive) -#//-------------------------------------------------------------------------------------------------- -sub GetFileTargetsList($$) -{ - my ($doc, $file_name) = @_; - - my @target_list; - - my @targets = GetTargetsList($doc); - my $target; - - foreach $target (@targets) - { - if (FileIsInTarget($doc, $file_name, $target)) - { - push(@target_list, $target); - } - } - - return @target_list; -} - - -#//-------------------------------------------------------------------------------------------------- -#// GetTargetFileNode -#// -#//-------------------------------------------------------------------------------------------------- -sub GetTargetFileNode($$$) -{ - my($doc, $target_node, $file_name) = @_; - - my $filelist_node = getFirstChildElement($target_node, "FILELIST"); - unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; } - - my $file_node = getChildNodeByGrandchildContents($doc, $filelist_node, "FILE", "PATH", $file_name); - - return $file_node; -} - - -#//-------------------------------------------------------------------------------------------------- -#// GetFileInUse -#// Return true if the file is used by any target -#//-------------------------------------------------------------------------------------------------- -sub GetFileInUse($$) -{ - my($doc, $file_name) = @_; - - my $targetlist_node = getChildOfDocument($doc, "TARGETLIST"); - - my $target_node = $targetlist_node->getFirstChild(); - - while ($target_node) - { - if ($target_node->getNodeTypeName eq "ELEMENT_NODE" && - $target_node->getTagName() eq "TARGET") - { - # if this is a target node - my $file_node = GetTargetFileNode($doc, $target_node, $file_name); - if ($file_node) { - return 1; # found it - } - } - - $target_node = $target_node->getNextSibling(); - } - - # not found - return 0; -} - -#//-------------------------------------------------------------------------------------------------- -#// getChildOfDocument -#//-------------------------------------------------------------------------------------------------- -sub getChildOfDocument($$) -{ - my($doc, $child_type) = @_; - - return getFirstChildElement($doc->getDocumentElement(), $child_type); -} - - -#//-------------------------------------------------------------------------------------------------- -#// getFirstChildElement -#//-------------------------------------------------------------------------------------------------- -sub getFirstChildElement($$) -{ - my($node, $element_name) = @_; - - my $found_node; - - unless ($node) { die "getFirstChildElement called with empty node\n"; } - - #look for the first "element_name" child - - my $child_node = $node->getFirstChild(); - - while ($child_node) - { - if ($child_node->getNodeTypeName eq "ELEMENT_NODE" && - $child_node->getTagName() eq $element_name) - { - $found_node = $child_node; - last; - } - - $child_node = $child_node->getNextSibling(); - } - - return $found_node; -} - - -#//-------------------------------------------------------------------------------------------------- -#// getChildElementsOfType -#// -#// Return an array of refs to child nodes of the given type -#//-------------------------------------------------------------------------------------------------- -sub getChildElementsOfType($$$$) -{ - my($doc, $node, $child_type, $array_ref) = @_; - - my $child_node = $node->getFirstChild(); - - while ($child_node) - { - if ($child_node->getNodeTypeName eq "ELEMENT_NODE" && - $child_node->getTagName() eq $child_type) - { - push(@$array_ref, $child_node); - } - - $child_node = $child_node->getNextSibling(); - } - -} - -#//-------------------------------------------------------------------------------------------------- -#// getChildElementTextContents -#//-------------------------------------------------------------------------------------------------- -# -# Given Hi!, where $node is , -# returns "Hi!". If > 1 node, returns the contents of the first. -# -sub getChildElementTextContents($$) -{ - my($node, $tag_name) = @_; - - my $first_element = getFirstChildElement($node, $tag_name); - my $text_node = $first_element->getFirstChild(); - - my $text_contents = ""; - - # concat adjacent text nodes - while ($text_node) - { - if ($text_node->getNodeTypeName() ne "TEXT_NODE") - { - last; - } - - $text_contents = $text_contents.$text_node->getData(); - $text_node = $text_node->getNextSibling(); - } - - return $text_contents; -} - -#//-------------------------------------------------------------------------------------------------- -#// setChildElementTextContents -#//-------------------------------------------------------------------------------------------------- -sub setChildElementTextContents($$$$) -{ - my($doc, $node, $tag_name, $contents_text) = @_; - - my $first_element = getFirstChildElement($node, $tag_name); - my $new_text_node = $doc->createTextNode($contents_text); - - # replace all child elements with a text element - removeAllChildren($first_element); - - $first_element->appendChild($new_text_node); -} - - -#//-------------------------------------------------------------------------------------------------- -#// getChildNodeByContents -#// -#// Consider FoopyLoopy -#// This function, when called with getChildNodeByContents($foonode, "bar", "baz", "Loopy") -#// returns the second node. -#//-------------------------------------------------------------------------------------------------- -sub getChildNodeByGrandchildContents($$$$$) -{ - my($doc, $node, $child_type, $gc_type, $gc_contents) = @_; # gc = grandchild - - my $found_node; - my $child_node = $node->getFirstChild(); - while ($child_node) - { - if ($child_node->getNodeTypeName eq "ELEMENT_NODE" && - $child_node->getTagName() eq $child_type) - { - # check for a child of this node of type - my $child_contents = getChildElementTextContents($child_node, $gc_type); - - if ($child_contents eq $gc_contents) - { - $found_node = $child_node; - last; - } - } - - $child_node = $child_node->getNextSibling(); - } - - return $found_node; -} - - -#//-------------------------------------------------------------------------------------------------- -#// getTargetNode -#//-------------------------------------------------------------------------------------------------- -sub getTargetNode($$) -{ - my($doc, $target_name) = @_; - - my $targetlist_node = getChildOfDocument($doc, "TARGETLIST"); - return getChildNodeByGrandchildContents($doc, $targetlist_node, "TARGET", "NAME", $target_name); -} - - -#//-------------------------------------------------------------------------------------------------- -#// getTargetNamedSettingNode -#//-------------------------------------------------------------------------------------------------- -sub getTargetNamedSettingNode($$) -{ - my($target_node, $setting_name) = @_; - - my $setting_node; - - my $settinglist_node = getFirstChildElement($target_node, "SETTINGLIST"); - my $child_node = $settinglist_node->getFirstChild(); - - while ($child_node) - { - if ($child_node->getNodeTypeName ne "ELEMENT_NODE") - { - $child_node = $child_node->getNextSibling(); - next; - } - - if ($child_node->getTagName() eq "SETTING") - { - my $set_name = getChildElementTextContents($child_node, "NAME"); - - if ($set_name eq $setting_name) - { - $setting_node = $child_node; - last; - } - } - - $child_node = $child_node->getNextSibling(); - } - - return $setting_node; -} - - -#//-------------------------------------------------------------------------------------------------- -#// getTargetNodeSetting -#//-------------------------------------------------------------------------------------------------- -sub getTargetNodeSetting($$) -{ - my($target_node, $setting_name) = @_; - - my $setting_node = getTargetNamedSettingNode($target_node, $setting_name); - return getChildElementTextContents($setting_node, "VALUE"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// setTargetNodeSetting -#//-------------------------------------------------------------------------------------------------- -sub setTargetNodeSetting($$$$) -{ - my($doc, $target_node, $setting_name, $new_value) = @_; - - my $setting_node = getTargetNamedSettingNode($target_node, $setting_name); - - setChildElementTextContents($doc, $setting_node, "VALUE", $new_value); -} - - -#//-------------------------------------------------------------------------------------------------- -#// elementInArray -#//-------------------------------------------------------------------------------------------------- -sub elementInArray($$) -{ - my($element, $array) = @_; - my $test; - foreach $test (@$array) - { - if ($test eq $element) { - return 1; - } - } - return 0; -} - - -#//-------------------------------------------------------------------------------------------------- -#// removeAllChildren -#//-------------------------------------------------------------------------------------------------- -sub removeAllChildren($) -{ - my($node) = @_; - - my $child_node = $node->getFirstChild(); - - while ($child_node) - { - $node->removeChild($child_node); - $child_node = $node->getFirstChild(); - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// dumpNodeData -#//-------------------------------------------------------------------------------------------------- -sub dumpNodeData($) -{ - my($node) = @_; - - unless ($node) { die "Null node passed to dumpNodeData\n"; } - - print "Dumping node $node\n"; - - my($node_type) = $node->getNodeTypeName(); - - if ($node_type eq "ELEMENT_NODE") - { - my($node_name) = $node->getTagName(); - print "Element $node_name\n"; - } - elsif ($node_type eq "TEXT_NODE") - { - my($node_data) = $node->getData; - # my(@node_vals) = unpack("C*", $node_data); - print "Text '$node_data'\n"; # may contain LF chars - } - else - { - print "Node $node_type\n"; - } - -} - -#//-------------------------------------------------------------------------------------------------- -#// dumpNodeTree -#//-------------------------------------------------------------------------------------------------- -sub dumpNodeTree($) -{ - my($node) = @_; - - my($child_node) = $node->getFirstChild(); - - unless ($child_node) { return; } - - # recurse - dumpNodeData($child_node); - - # then go through child nodes - while ($child_node) - { - dumpNodeTree($child_node); - - $child_node = $child_node->getNextSibling(); - } -} - - - - -1; - diff --git a/build/mac/build_scripts/MozillaBuildFlags.txt b/build/mac/build_scripts/MozillaBuildFlags.txt deleted file mode 100644 index 31acbcb05d3e..000000000000 --- a/build/mac/build_scripts/MozillaBuildFlags.txt +++ /dev/null @@ -1,97 +0,0 @@ -#------------------------------------------------------------------------------- -# These 3 lists are the 'master lists' to control what gets built. -# -# Ordering in these arrays is important; it has to reflect the order in -# which the build occurs. -# -# Setting containing spaces must be quoted with double quotes. -#------------------------------------------------------------------------------- - -build_flags -all 1 -pull 0 -dist 0 -config 0 -xpidl 0 -idl 0 -stubs 0 -runtime 0 -common 0 -imglib 0 -libimg2 0 -necko 0 -security 0 -browserutils 0 -intl 0 -nglayout 0 -accessiblity 0 -editor 0 -embedding 0 -viewer 0 -xpapp 0 -extensions 0 -plugins 0 -mailnews 0 -apprunner 0 -resources 0 - -options_flags -pull_by_date 0 -chrome_jars 1 -chrome_files 0 -use_jars 1 -transformiix 1 -typeaheadfind 1 -mathml 1 MOZ_MATHML -svg 0 MOZ_SVG -# svg requires libart, which is an lgpl library. You need to pull it -# explicitly. -libart_lgpl 0 -mng 1 -ldap 1 MOZ_LDAP_XPCOM -ldap_experimental 0 MOZ_LDAP_XPCOM_EXPERIMENTAL -xmlextras 1 -webservices 1 -iiextras 0 -inspector 1 -mailextras 1 -xptlink 0 -psm 0 MOZ_PSM -embedding_test 1 -embedding_chrome 0 -embedding_xulprefs 0 -embedding_xulsecurity 0 -carbon 0 TARGET_CARBON -lowmem 0 MOZ_MAC_LOWMEM -accessible 1 ACCESSIBILITY -bidi 1 IBMBIDI -p3p 0 -jsd 1 -venkman 1 -moz_logging 1 MOZ_LOGGING -chatzilla 1 -content_packs 1 -xml_rpc 1 -cview 1 -help 1 -timeline 0 MOZ_TIMELINE -static_build 0 MOZ_STATIC_COMPONENT_LIBS -string_debug 0 DEBUG_STRING -string_stats 0 DEBUG_STRING_STATS -xpctools 0 XPC_TOOLS_SUPPORT -smime 1 -mdn 1 -print_preview 1 NS_PRINT_PREVIEW -printing 1 NS_PRINTING -moz_xul 1 MOZ_XUL -layout_debug 0 -# You need to pull calendar and libical explicitly. -calendar 0 -# calendar requires libical. -libical 0 - -filepath_flags -idepath ":CodeWarrior IDE Path.txt" -sessionpath ":Mozilla session path.txt" -buildlogfilepath ":Build Logs:Mozilla build log.txt" # this is a path -scriptlogfilepath ":Build Logs:Mozilla script log.txt" diff --git a/build/mac/build_scripts/MozillaBuildList.pm b/build/mac/build_scripts/MozillaBuildList.pm deleted file mode 100644 index 0cc70c52ee77..000000000000 --- a/build/mac/build_scripts/MozillaBuildList.pm +++ /dev/null @@ -1,2630 +0,0 @@ -#!perl -w -package MozillaBuildList; - -require 5.004; -require Exporter; - -use strict; -use vars qw( @ISA @EXPORT ); - -# perl includes -use Mac::Processes; -use Mac::Events; -use Mac::Files; -use Cwd; -use Mac::MoreFiles; -use FileHandle; -use File::Path; -use File::Copy; -use File::Basename; - -# homegrown -use Moz::Moz; -use Moz::BuildUtils; -use Moz::Jar; -use Moz::MacCVS; - -@ISA = qw(Exporter); -@EXPORT = qw( - BuildDist - BuildProjects - ); - - -#//-------------------------------------------------------------------------------------------------- -#// assert that we are in the correct directory for the build -#//-------------------------------------------------------------------------------------------------- -sub assertRightDirectory() -{ - unless (-e ":mozilla") - { - my($dir) = cwd(); - print STDERR "MozillaBuildList called from incorrect directory: $dir"; - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// UpdateBuildNumberFiles -#//-------------------------------------------------------------------------------------------------- -sub UpdateBuildNumberFiles() -{ - my(@gen_files) = ( - ":mozilla:config:nsBuildID.h", - ":mozilla:xpfe:global:build.dtd" - ); - SetBuildNumber(":mozilla:config:build_number", \@gen_files); -} - -#//-------------------------------------------------------------------------------------------------- -#// UpdateGeneratedChromeFiles -#//-------------------------------------------------------------------------------------------------- -sub UpdateGeneratedChromeFiles() -{ - UpdateBuildNumberFiles(); - my ($file) = (":mozilla:xpfe:global:buildconfig.html"); - my $tmp; - open (IN, "${file}.in") || die("${file}.in: $!\n"); - open (OUT, ">$file") || die ("$file: $!\n"); - while ($tmp=) { - $tmp =~ s/\@target\@/Mac CFM/; - $tmp =~ s/\@CC\@/CodeWarrior/; - $tmp =~ s/\@CXX\@/CodeWarrior/; - $tmp =~ s/\@\S+\@//; - print OUT "$tmp"; - } - close(OUT); - close(IN); -} - -#//-------------------------------------------------------------------------------------------------- -#// Select a default skin -#//-------------------------------------------------------------------------------------------------- - -sub SetDefaultSkin($) -{ - my($skin) = @_; - - assertRightDirectory(); - - my($dist_dir) = GetBinDirectory(); - my($chrome_subdir) = $dist_dir."Chrome"; - - print "Setting default skin to $skin\n"; - - local(*CHROMEFILE); - open(CHROMEFILE, ">>${chrome_subdir}:installed-chrome.txt") || die "Failed to open installed_chrome.txt\n"; - print(CHROMEFILE "skin,install,select,$skin\n"); - close(CHROMEFILE); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Select a default locale -#//-------------------------------------------------------------------------------------------------- - -sub SetDefaultLocale($$) -{ - my($locale, $chrome_dir) = @_; - - print "Setting default locale to $locale\n"; - - local(*CHROMEFILE); - open(CHROMEFILE, ">>${chrome_dir}:installed-chrome.txt") || die "Failed to open installed_chrome.txt\n"; - print(CHROMEFILE "locale,install,select,$locale\n"); - close(CHROMEFILE); -} - - -#//-------------------------------------------------------------------------------------------------- -#// InstallDefaultsFiles -#//-------------------------------------------------------------------------------------------------- - -sub InstallDefaultsFiles() -{ - unless( $main::build{resources} ) { return; } - 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) = GetBinDirectory(); - - print("--- Starting Defaults copying ----\n"); - - # default folder - my($defaults_dir) = "$dist_dir" . "Defaults:"; - mkdir($defaults_dir, 0); - - { - my($default_wallet_dir) = "$defaults_dir"."wallet:"; - mkdir($default_wallet_dir, 0); - InstallResources(":mozilla:extensions:wallet:src:MANIFEST", "$default_wallet_dir"); - } - - # Default _profile_ directory stuff - { - my($default_profile_dir) = "$defaults_dir"."Profile:"; - mkdir($default_profile_dir, 0); - - InstallResources(":mozilla:profile:defaults:MANIFEST", "$default_profile_dir", 1); - - my($default_profile_chrome_dir) = "$default_profile_dir"."chrome:"; - mkdir($default_profile_chrome_dir, 0); - - InstallResources(":mozilla:profile:defaults:chrome:MANIFEST", "$default_profile_chrome_dir", 1); - - # make a dup in US - my($default_profile_dir_US) = "$default_profile_dir"."US:"; - mkdir($default_profile_dir_US, 0); - - InstallResources(":mozilla:profile:defaults:MANIFEST", "$default_profile_dir_US", 1); - - my($default_profile_chrome_dir_US) = "$default_profile_dir_US"."chrome:"; - mkdir($default_profile_chrome_dir_US, 0); - - InstallResources(":mozilla:profile:defaults:chrome:MANIFEST", "$default_profile_chrome_dir_US", 1); - - } - - # Default _messenger_ directory stuff - my($default_messenger_dir) = "$defaults_dir"."messenger:"; - mkdir($default_messenger_dir, 0); - InstallResources(":mozilla:mailnews:extensions:mailviews:resources:content:MANIFEST", "$default_messenger_dir", 1); - - # make a dup in US dir - my($default_messenger_dir_US) = "$default_messenger_dir"."US:"; - mkdir($default_messenger_dir_US, 0); - InstallResources(":mozilla:mailnews:extensions:mailviews:resources:content:MANIFEST", "$default_messenger_dir_US", 1); - - # Default _pref_ directory stuff - { - my($default_pref_dir) = "$defaults_dir"."Pref:"; - mkdir($default_pref_dir, 0); - InstallResources(":mozilla:xpinstall:public:MANIFEST_PREFS", "$default_pref_dir", 0); - InstallResources(":mozilla:modules:libpref:src:init:MANIFEST", "$default_pref_dir", 0); - InstallResources(":mozilla:modules:libpref:src:mac:MANIFEST", "$default_pref_dir", 0); - InstallResources(":mozilla:netwerk:base:public:MANIFEST_PREFS", "$default_pref_dir", 0); - - if ($main::options{inspector}) - { - InstallResources(":mozilla:extensions:inspector:resources:content:prefs:MANIFEST", "$default_pref_dir", 0); - } - - if ($main::options{typeaheadfind}) - { - InstallResources(":mozilla:extensions:typeaheadfind:resources:content:prefs:MANIFEST", "$default_pref_dir", 0); - } - - - if ($main::options{mdn}) { - InstallResources(":mozilla:mailnews:extensions:mdn:resources:content:MANIFEST_PREFS", "$default_pref_dir", 0); - } - } - - { - my($default_autoconfig_dir) = "$defaults_dir"."autoconfig:"; - mkdir($default_autoconfig_dir, 0); - InstallResources(":mozilla:extensions:pref:autoconfig:src:MANIFEST", "$default_autoconfig_dir"); - InstallResources(":mozilla:extensions:pref:autoconfig:src:mac:MANIFEST", "$default_autoconfig_dir"); - } - - print("--- Defaults copying complete ----\n"); -} - -#//-------------------------------------------------------------------------------------------------- -#// InstallNonChromeResources -#//-------------------------------------------------------------------------------------------------- - -sub InstallNonChromeResources() -{ - unless( $main::build{resources} ) { return; } - 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) = GetBinDirectory(); - - print("--- Starting Resource copying ----\n"); - - #// - #// Most resources should all go into the chrome dir eventually - #// - my($resource_dir) = "$dist_dir" . "res:"; - my($samples_dir) = "$resource_dir" . "samples:"; - my($builtin_dir) = "$resource_dir" . "builtin:"; - - #// - #// Make aliases of resource files - #// - - MakeAlias(":mozilla:content:xml:content:src:xhtml11.dtd", "$resource_dir"."dtd:"); - - if ($main::options{svg}) - { - MakeAlias(":mozilla:layout:svg:base:src:svg.dtd", "$resource_dir"."dtd:"); - } - - if ($main::options{mathml}) - { - MakeAlias(":mozilla:layout:mathml:content:src:mathml.dtd", "$resource_dir"."dtd:"); - MakeAlias(":mozilla:layout:mathml:content:src:mathml.css", "$resource_dir"); - InstallResources(":mozilla:layout:mathml:base:src:MANIFEST", "$resource_dir"."fonts:"); - } - - MakeAlias(":mozilla:layout:html:document:src:ua.css", "$resource_dir"); - MakeAlias(":mozilla:layout:html:document:src:html.css", "$resource_dir"); - MakeAlias(":mozilla:layout:html:document:src:forms.css", "$resource_dir"); - MakeAlias(":mozilla:layout:html:document:src:quirk.css", "$resource_dir"); - MakeAlias(":mozilla:layout:html:document:src:viewsource.css", "$resource_dir"); - MakeAlias(":mozilla:layout:html:document:src:arrow.gif", "$resource_dir"); - MakeAlias(":mozilla:layout:html:base:src:loading-image.gif", "$resource_dir"); - MakeAlias(":mozilla:layout:html:base:src:broken-image.gif", "$resource_dir"); - MakeAlias(":mozilla:webshell:tests:viewer:resources:viewer.properties", "$resource_dir"); - MakeAlias(":mozilla:intl:uconv:src:charsetalias.properties", "$resource_dir"); - MakeAlias(":mozilla:intl:uconv:src:maccharset.properties", "$resource_dir"); - MakeAlias(":mozilla:intl:uconv:src:charsetData.properties", "$resource_dir"); - MakeAlias(":mozilla:intl:locale:src:langGroups.properties", "$resource_dir"); - MakeAlias(":mozilla:intl:locale:src:language.properties", "$resource_dir"); - - MakeAlias(":mozilla:gfx:src:mac:fontEncoding.properties", "$resource_dir"."fonts:"); - - my($entitytab_dir) = "$resource_dir" . "entityTables"; - InstallResources(":mozilla:intl:unicharutil:tables:MANIFEST", "$entitytab_dir"); - - my($html_dir) = "$resource_dir" . "html:"; - InstallResources(":mozilla:layout:html:base:src:MANIFEST_RES", "$html_dir"); - - my($throbber_dir) = "$resource_dir" . "throbber:"; - BuildFolderResourceAliases(":mozilla:webshell:tests:viewer:throbber:", "$throbber_dir"); - - BuildFolderResourceAliases(":mozilla:webshell:tests:viewer:samples:", "$samples_dir"); - BuildFolderResourceAliases(":mozilla:webshell:tests:viewer:resources:", "$samples_dir"); - BuildFolderResourceAliases(":mozilla:xpfe:browser:samples:", "$samples_dir"); - - InstallResources(":mozilla:xpfe:browser:src:MANIFEST", "$samples_dir"); - MakeAlias(":mozilla:xpfe:browser:samples:sampleimages:", "$samples_dir"); - - my($rdf_dir) = "$resource_dir" . "rdf:"; - BuildFolderResourceAliases(":mozilla:rdf:resources:", "$rdf_dir"); - - # Search - make copies (not aliases) of the various search files - my($searchPlugins) = "${dist_dir}Search Plugins"; - print("--- Starting Search Plugins copying: $searchPlugins\n"); - InstallResources(":mozilla:xpfe:components:search:datasets:MANIFEST", "$searchPlugins", 1); - - # QA Menu - InstallResources(":mozilla:intl:strres:tests:MANIFEST", "$resource_dir"); - - # install builtin XBL bindings - MakeAlias(":mozilla:content:xbl:builtin:htmlbindings.xml", "$builtin_dir"); - MakeAlias(":mozilla:content:xbl:builtin:mac:platformHTMLBindings.xml", "$builtin_dir"); - - if ($main::options{inspector}) - { - InstallResources(":mozilla:extensions:inspector:resources:content:res:MANIFEST", "$resource_dir" . "inspector:"); - } - - if ($main::options{typeaheadfind}) - { - MakeAlias(":mozilla:extensions:typeaheadfind:resources:locale:en-US:typeaheadfind.properties", "$resource_dir"); - } - - print("--- End Resource copying ----\n"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// InstallComponentFiles -#//-------------------------------------------------------------------------------------------------- - -sub InstallComponentFiles() -{ - unless( $main::build{resources} ) { return; } - 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) = GetBinDirectory(); - - print("--- Starting Text Components copying ----\n"); - - my($components_dir) = "$dist_dir" . "Components:"; - - # console - InstallResources(":mozilla:xpfe:components:console:MANIFEST", "$components_dir", 0); - - # sidebar - InstallResources(":mozilla:xpfe:components:sidebar:src:MANIFEST", "$components_dir"); - - # update notifications - InstallResources(":mozilla:xpfe:components:updates:src:MANIFEST", "$components_dir"); - - # download manager - InstallResources(":mozilla:xpfe:components:download-manager:src:MANIFEST_COMPONENTS", "$components_dir"); - - # embedding UI - InstallResources(":mozilla:embedding:components:ui:helperAppDlg:MANIFEST", "$components_dir"); - InstallResources(":mozilla:embedding:components:ui:progressDlg:MANIFEST", "$components_dir"); - - # resetPref - InstallResources(":mozilla:xpfe:components:resetPref:MANIFEST", "$components_dir"); - - print("--- Done Text Components copying ----\n"); -} - -#//-------------------------------------------------------------------------------------------------- -#// MakeNonChromeAliases -#//-------------------------------------------------------------------------------------------------- -sub MakeNonChromeAliases() -{ - unless( $main::build{resources} ) { return; } - assertRightDirectory(); - - InstallNonChromeResources(); - InstallDefaultsFiles(); - InstallComponentFiles(); -} - - -#//-------------------------------------------------------------------------------------------------- -#// DumpChromeToTemp -#// -#// Iterates over all the .jar files in $chrome_dir and unzips them into a temp -#// directory organized by the name of the jar file. This matches the expected -#// format in the embedding jar manifest. -#//-------------------------------------------------------------------------------------------------- - -sub DumpChromeToTemp($$$$) -{ - my($dist_dir, $chrome_dir, $temp_chrome_dir, $verbose) = @_; - use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); - - opendir(CHROMEDIR, $chrome_dir); - my(@jarList) = readdir(CHROMEDIR); - closedir(CHROMEDIR); - - # the jar manifest generator expects the dumped files to be in - # a certain hierarchy: - # /<...path within jar...> - - mkpath($temp_chrome_dir, $verbose, 0777); - my($file); - foreach $file ( @jarList ) { - if ( $file =~ /\.jar/ ) { - print "-- unzipping $file\n" if $verbose; - - # pull everything from the jar's name (eg: classic.jar) up to the - # last "." and make that the foldername that everything in this - # jar file goes into - my($foldername) = substr($file, 0, rindex($file,".")) . ":"; - - my($zip) = Archive::Zip->new("$chrome_dir:$file"); - my(@members) = $zip->members(); - my($item); - foreach $item ( @members ) { - my($name) = $item->fileName(); - $name =~ s/\//:/g; -# print("+ extracting $name\n") if $verbose; - die "extract error" if $item->extractToFileNamed($temp_chrome_dir . $foldername . $name) != AZ_OK; - } - } - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// ProcessEmbedJarManifest -#// -#// Pick up an embedding manifest specified by $jar_file. We first need to do some extra processing on -#// it to get the correct locale. -#//-------------------------------------------------------------------------------------------------- -sub ProcessEmbedJarManifest ( $$$$$$$ ) -{ - my($top_path, $inc_path, $temp_chrome_dir, $jar_file, $locale, $platform, $jars) = @_; - - # copy over our manifest so that it's also at the root - # of our chrome tree then run it through the jar machine. We need to - # use GenerateManifest to get the locales correct. - copy("$inc_path$jar_file", "$temp_chrome_dir:$jar_file") || die "can't copy $jar_file manifest"; - my($temp_manifest) = "$temp_chrome_dir:$jar_file.tmp.mn"; - local(*TMPMANIFEST); - open(TMPMANIFEST, ">$temp_manifest") || die "couldn't create embed jar manifest"; - GenerateManifest::GenerateManifest($top_path, "$inc_path$jar_file", $temp_chrome_dir, - $locale, $platform, *TMPMANIFEST, ":", 1); - close(TMPMANIFEST); - - CreateJarFromManifest($temp_manifest, "$temp_chrome_dir:", $jars); - - # clean up our temp files - unlink("$temp_chrome_dir:$jar_file"); - unlink($temp_manifest); -} - - -#//-------------------------------------------------------------------------------------------------- -#// PackageEmbeddingChrome -#// -#// Make use of mozilla/embedding/config's jar packaging scripts to build embed.jar -#// with the bare-minimum chrome required for embedding. This process is unpleasant and -#// suboptimal, but it allows us to reuse scripts and manifests so as to not get -#// out of sync when changes are made for win/unix. -#// -#// Basically, this takes all the jar files in mozilla/viewer/Chrome, unzips them, -#// runs a script to generate a manifest file with some substiutions, then rejars -#// based on the new, minimal manifest. -#//-------------------------------------------------------------------------------------------------- - -sub PackageEmbeddingChrome($$) -{ - my($dist_dir, $chrome_dir) = @_; - - # we prefer not to use the jars when packaging, since it adds a lot of time and - # effort to the build process. use the raw files if they're at all available. - my($must_use_jars) = !$main::options{chrome_files}; - - my($embed_dir) = $dist_dir . ":Embed"; - mkdir($embed_dir, 0); - - # unzip the existing jar files and dump them in a tempdir or point our - # tempdir at the existing chrome files. - my($temp_chrome_dir) = "$embed_dir:tempchrome"; - if ( $must_use_jars ) { - DumpChromeToTemp($dist_dir, $chrome_dir, "$temp_chrome_dir:", 1); - } - else { - $temp_chrome_dir = $chrome_dir; - } - - # Make sure we add the config dir to search, to pick up GenerateManifest.pm - # Need to do this dynamically, because this module can be used before - # mozilla/config has been checked out. - my ($top_path) = $0; # $0 is the path to the parent script - $top_path =~ s/:build:mac:build_scripts:.+$//; - my($inc_path) = $top_path . ":embedding:config:"; - push(@INC, $inc_path); - require GenerateManifest; - - # generate the embedding manifest from the template in embedding/config. The - # resulting manifest must go at the root of the tree it describes. The paths - # in the manifest are local to that location. As a result, we dump it - # in our temp chrome dir. - my($temp_manifest) = "$temp_chrome_dir:embed-jar.tmp.mn"; - local(*MANIFEST); - open(MANIFEST, ">$temp_manifest") || die "couldn't create embed jar manifest"; - GenerateManifest::GenerateManifest($top_path, $inc_path . "embed-jar.mn", $temp_chrome_dir, - "en-US", "en-mac", *MANIFEST, ":", 1); - close(MANIFEST); - - # make embed.jar from the above manifest, adding in any other manifests if the - # right options are set. - my(%jars); - CreateJarFromManifest($temp_manifest, "$temp_chrome_dir:", \%jars); - if ($main::options{embedding_xulprefs}) { - ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulprefs.mn", "en-US", "en-mac", \%jars); - } - if ($main::options{embedding_xulsecurity}) { - ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulsecurity.mn", "en-US", "en-mac", \%jars); - } - WriteOutJarFiles("$temp_chrome_dir:", \%jars); - - # clean up after ourselves and move everything to the right locations. The embed.jar - # and resulting installed-chrome need to end up in dist/Embed in either case. - if ( $must_use_jars ) { - print("deleting temp chrome dir $temp_chrome_dir\n"); - rmtree($temp_chrome_dir, 0, 0); - } - else { - # since we used chrome files from $dist_dir, our new jar needs to be moved and - # we need to clean up the copied chrome files - move($dist_dir . "Embed.jar", $embed_dir); - move($dist_dir . "installed-chrome.txt", $embed_dir); - rmtree($dist_dir . "embed"); - unlink($temp_manifest); - } - - # we have to select a default locale, otherwise we won't know about a bunch - # of files in embed.jar if the app doesn't call the code to auto-detect the locale. - SetDefaultLocale("en-US", $embed_dir); -} - -#//-------------------------------------------------------------------------------------------------- -#// BuildEmbeddingPackage -#// -#// Run through the basebrowser manifest file and copy all the files into dist/Embed -#//-------------------------------------------------------------------------------------------------- -sub BuildEmbeddingPackage -{ - unless ($main::options{embedding_chrome}) { return; } - my($D) = $main::DEBUG ? "Debug" : ""; - - my($dist_dir) = GetBinDirectory(); - - # Make sure we add the config dir to search, to pick up Packager.pm - # Need to do this dynamically, because this module can be used before - # mozilla/xpinstall has been checked out. - my($top_path) = $0; # $0 is the path to the parent script - $top_path =~ s/:build:mac:build_scripts:.+$//; - my($inc_path) = "$top_path:xpinstall:packager:"; - push(@INC, $inc_path); - require Packager; - - # final destination will be a sibling of $dist_dir in dist - my($destination) = "$top_path:dist"; - my($manifest) = "$top_path:embedding:config:basebrowser-mac-cfm$D"; - chop $dist_dir; # Copy() expects the src/dest dirs not to have a ':' at the end - Packager::Copy($dist_dir, $destination, $manifest, "mac", 0, 0, 0, () ); - - # the Embed.jar is in the wrong place, move it into the chrome dir - mkdir("$destination:Embed:Chrome", 0); - move("$destination:Embed:embed.jar", "$destination:Embed:Chrome:embed.jar"); - move("$destination:Embed:installed-chrome.txt", "$destination:Embed:Chrome:installed-chrome.txt"); - - # copy PPEmbed into our new package - print("-- copying PPEmbed to embed package\n"); - copy("$dist_dir:PPEmbed$D", "$destination:Embed:PPEmbed$D"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// ProcessJarManifests -#//-------------------------------------------------------------------------------------------------- - -sub ProcessJarManifests() -{ - my($dist_dir) = GetBinDirectory(); - my($chrome_dir) = "$dist_dir"."Chrome"; - my($resource_dir) = "$dist_dir" . "res:"; - - # a hash of jars passed as context to the following calls - my(%jars); - - if ($main::options{chatzilla}) - { - CreateJarFromManifest(":mozilla:extensions:irc:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{content_packs}) - { - CreateJarFromManifest(":mozilla:extensions:content-packs:resources:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{cview}) - { - CreateJarFromManifest(":mozilla:extensions:cview:resources:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{ldap}) - { - CreateJarFromManifest(":mozilla:directory:xpcom:base:resources:jar.mn", $chrome_dir, \%jars); - if ($main::options{ldap_experimental}) - { - CreateJarFromManifest(":mozilla:directory:xpcom:tests:jar.mn", $chrome_dir, \%jars); - } - } - if ($main::options{help}) - { - CreateJarFromManifest(":mozilla:extensions:help:resources:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{inspector}) - { - CreateJarFromManifest(":mozilla:extensions:inspector:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{jsd} && $main::options{venkman}) - { - CreateJarFromManifest(":mozilla:extensions:venkman:resources:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{typeaheadfind}) - { - CreateJarFromManifest(":mozilla:extensions:typeaheadfind:resources:jar.mn", $chrome_dir, \%jars); - } - - CreateJarFromManifest(":mozilla:accessible:src:base:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:caps:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:content:html:style:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:docshell:resources:content:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:docshell:resources:locale:en-US:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:editor:ui:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:embedding:browser:chrome:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:embedding:browser:chrome:locale:en-US:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:extensions:cookie:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:extensions:pref:autoconfig:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:extensions:irc:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:extensions:wallet:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:intl:uconv:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:htmlparser:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:layout:html:document:src:xbl-marquee:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:layout:html:forms:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:layout:html:base:src:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:mailnews:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:mailnews:base:resources:content:mac:jar.mn", $chrome_dir, \%jars); - if ($main::options{smime} && $main::options{psm}) { - CreateJarFromManifest(":mozilla:mailnews:extensions:smime:jar.mn", $chrome_dir, \%jars); - } - if ($main::options{mdn}) { - CreateJarFromManifest(":mozilla:mailnews:extensions:mdn:jar.mn", $chrome_dir, \%jars); - } - CreateJarFromManifest(":mozilla:mailnews:extensions:mailviews:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:netwerk:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:profile:pref-migrator:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:profile:resources:jar.mn", $chrome_dir, \%jars); - - # use different css files for scrollbars on OSX and OS9 in classic skin. On OSX, use - # ones that specify native scrollbars via xbl. OS9 can't use these because of - # mousewheel driver problems that would be exacerbated by using native scrollbars - # everywhere - if ($main::options{carbon}) { - MakeAlias(":mozilla:themes:classic:global:mac:nativescrollbars.css", ":mozilla:themes:classic:global:mac:scrollbars.css"); - } - else { - MakeAlias(":mozilla:themes:classic:global:mac:xulscrollbars.css", ":mozilla:themes:classic:global:mac:scrollbars.css"); - } - CreateJarFromManifest(":mozilla:content:xml:document:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:themes:classic:global:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:themes:classic:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:themes:modern:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpcom:base:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:browser:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:browser:resources:content:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:browser:resources:locale:en-US:unix:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:browser:resources:locale:en-US:win:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:browser:resources:locale:en-US:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:communicator:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:communicator:resources:content:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:bookmarks:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:download-manager:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:download-manager:resources:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:prefwindow:resources:content:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:prefwindow:resources:locale:en-US:unix:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:prefwindow:resources:locale:en-US:win:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:components:prefwindow:resources:locale:en-US:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:global:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpfe:global:resources:content:mac:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:xpinstall:res:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:embedding:components:webbrowserpersist:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:embedding:components:ui:jar.mn", $chrome_dir, \%jars); - - if ($main::options{psm}) { - CreateJarFromManifest(":mozilla:security:manager:ssl:resources:jar.mn", $chrome_dir, \%jars); - CreateJarFromManifest(":mozilla:security:manager:pki:resources:jar.mn", $chrome_dir, \%jars); - } - - if ($main::options{calendar}) - { - CreateJarFromManifest(":mozilla:calendar:resources:jar.mn", $chrome_dir, \%jars); - } - - # bad jar.mn files -# CreateJarFromManifest(":mozilla:extensions:xmlterm:jar.mn", $chrome_dir, \%jars); - - WriteOutJarFiles($chrome_dir, \%jars); - - # generate a jar manifest for embedding and package it. This needs to be done _after_ - # all of the other jar files are created. - if ($main::options{embedding_chrome}) { - PackageEmbeddingChrome($dist_dir, $chrome_dir); - } -} - - -#//-------------------------------------------------------------------------------------------------- -#// BuildJarFiles -#//-------------------------------------------------------------------------------------------------- - -sub BuildJarFiles() -{ - unless( $main::build{resources} ) { return; } - assertRightDirectory(); - - print("--- Starting JAR building ----\n"); - - ProcessJarManifests(); - - print("--- JAR building done ----\n"); -} - -#//-------------------------------------------------------------------------------------------------- -#// BuildResources -#//-------------------------------------------------------------------------------------------------- -sub BuildResources() -{ - unless( $main::build{resources} ) { return; } - assertRightDirectory(); - - StartBuildModule("resources"); - - #just copy this plugin to this directory.. temporary solution until the plug in is part of the build - my($dist_dir) = GetBinDirectory(); - my($essentials_dir) = "$dist_dir" . "Essential Files:"; - my($existing_plugin) = $essentials_dir."PrintDialogPDE.plugin"; - - if (-e $existing_plugin) - { - my $deadPlugin = full_path_to($existing_plugin); - my $ascript = < $header_modtime) { - # Make sure we add the config dir to search, to pick up GenerateManifest.pm - # Need to do this dynamically, because this module can be used before - # mozilla/directory/c-sdk has been checked out. - my($top_path) = $0; # $0 is the path to the parent script - $top_path =~ s/:build:mac:build_scripts:.+$//; - my($inc_path) = $top_path . ":directory:c-sdk:ldap:build:"; - push(@INC, $inc_path); - require replace; - - local(*TEMPLATE); - open(TEMPLATE, "<$template") || die "couldn't open ldap header template"; - local(*HEADER); - open(HEADER, ">$header") || die "couldn't create ldap header"; - replace::GenerateHeader(*TEMPLATE, *HEADER, {"LDAP_VENDOR_NAME" => "mozilla.org", "LDAP_VENDOR_VERSION" => "500"}); - close(TEMPLATE); - close(HEADER); - } - - InstallFromManifest(":mozilla:directory:c-sdk:ldap:include:MANIFEST", "$distdirectory:directory:"); - InstallFromManifest(":mozilla:directory:xpcom:base:public:MANIFEST", "$distdirectory:directory:"); - InstallFromManifest(":mozilla:directory:xpcom:base:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:xpfe:components:autocomplete:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - - # MAILNEWS - InstallFromManifest(":mozilla:mailnews:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:base:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:base:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:base:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:base:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:base:util:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:base:search:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:base:search:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:compose:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:compose:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:compose:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:db:msgdb:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:db:msgdb:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:local:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:local:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:local:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:imap:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:imap:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:imap:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:mime:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:mime:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:mime:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:mime:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:mime:emitters:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:news:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:news:build:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:addrbook:public:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:addrbook:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:mailnews:addrbook:src:MANIFEST", "$distdirectory:mailnews:"); - InstallFromManifest(":mozilla:mailnews:addrbook:build:MANIFEST", "$distdirectory:mailnews:"); - if ($main::options{smime} && $main::options{psm}) { - InstallFromManifest(":mozilla:mailnews:extensions:smime:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - - - #IIEXTRAS - if ($main::options{iiextras}) - { - InstallFromManifest(":mozilla:extensions:interfaceinfo:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - - #XMLEXTRAS - if ($main::options{xmlextras}) - { - InstallFromManifest(":mozilla:extensions:xmlextras:base:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:extensions:xmlextras:schema:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:extensions:xmlextras:soap:public:MANIFEST_IDL", "$distdirectory:idl:"); - if ($main::options{wsp}) - { - InstallFromManifest(":mozilla:extensions:xmlextras:proxy:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:extensions:xmlextras:wsdl:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - } - - #DOCUMENT INSPECTOR - if ($main::options{inspector}) - { - InstallFromManifest(":mozilla:extensions:inspector:base:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - - #TYPE AHEAD FIND - if ($main::options{typeaheadfind}) - { - InstallFromManifest(":mozilla:extensions:typeaheadfind:public:MANIFEST_IDL", "$distdirectory:idl:"); - } - - #P3P - if ($main::options{p3p}) - { - InstallFromManifest(":mozilla:extensions:p3p:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:extensions:p3p:public:MANIFEST", "$distdirectory:p3p:"); - } - - #JS DEBUGGER - if ($main::options{jsd}) - { - InstallFromManifest(":mozilla:js:jsd:idl:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:js:jsd:MANIFEST", "$distdirectory:jsdebug:"); - } - - #LIBICAL - if ($main::options{libical}) - { - InstallFromManifest(":mozilla:other-licenses:libical:src:libical:autogenex:MANIFEST", "$distdirectory:libical:"); - InstallFromManifest(":mozilla:other-licenses:libical:src:libicalss:MANIFEST", "$distdirectory:libical:"); - } - - #CALENDAR - if ($main::options{calendar}) - { - InstallFromManifest(":mozilla:calendar:libxpical:MANIFEST_IDL", "$distdirectory:idl:"); - } - - #WEBSERVICES - if ($main::options{webservices}) - { - InstallFromManifest(":mozilla:extensions:webservices:public:MANIFEST_IDL", "$distdirectory:idl:"); - InstallFromManifest(":mozilla:extensions:webservices:public:MANIFEST", "$distdirectory:websrvcs:"); - } - - print("--- Client Dist export complete ----\n"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build the 'dist' directory -#//-------------------------------------------------------------------------------------------------- - -sub BuildDist() -{ - unless ( $main::build{dist} ) { return;} - assertRightDirectory(); - - # activate MacPerl - ActivateApplication('McPL'); - - StartBuildModule("dist"); - - my $distdirectory = ":mozilla:dist"; # the parent directory in dist, including all the headers - my $dist_dir = GetBinDirectory(); # the subdirectory with the libs and executable. - if ($main::CLOBBER_DIST_ALL) - { - print "Clobbering dist in 5 seconds. Press command-. to stop\n"; - - DelayFor(5); - - print "Clobbering all files inside :mozilla:dist:\n"; - EmptyTree($distdirectory.":"); - } - else - { - if ($main::CLOBBER_DIST_LIBS) - { - print "Clobbering library aliases and executables inside ".$dist_dir."\n"; - EmptyTree($dist_dir); - } - } - - # we really do not need all these paths, but many client projects include them - mkpath([ ":mozilla:dist:", ":mozilla:dist:client_stubs:" ]); - mkpath([ ":mozilla:dist:static_libs:", ":mozilla:dist:static_libs_debug:" ]); - mkpath([ ":mozilla:dist:viewer:", ":mozilla:dist:viewer_debug:" ]); - - #make default plugins folder so that apprunner won't go looking for 3.0 and 4.0 plugins. - mkpath([ ":mozilla:dist:viewer:Plug-ins", ":mozilla:dist:viewer_debug:Plug-ins"]); - #mkpath([ ":mozilla:dist:client:Plugins", ":mozilla:dist:client_debug:Plugins"]); - - UpdateGeneratedChromeFiles(); - - BuildRuntimeDist(); - - if (!$main::RUNTIME) { - BuildClientDist(); - } - - EndBuildModule("dist"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Do some stuff between exporting dist and compilation -#//-------------------------------------------------------------------------------------------------- - -sub PrepareBuild() -{ - unless( $main::build{config} ) { return; } - assertRightDirectory(); - - StartBuildModule("config"); - - UpdateConfigHeader($main::DEFINESOPTIONS_FILE); - - my($file_name) = basename($main::DEFINESOPTIONS_FILE); - MakeAlias($main::DEFINESOPTIONS_FILE, ":mozilla:dist:config:$file_name"); - - EndBuildModule("config"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build stub projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildStubs() -{ - unless( $main::build{stubs} ) { return; } - assertRightDirectory(); - - my($distdirectory) = ":mozilla:dist"; - - StartBuildModule("stubs"); - - #// - #// Clean projects - #// - BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.xml", "Stubs"); - - EndBuildModule("stubs"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build the CodeWarrior XPIDL plugins -#//-------------------------------------------------------------------------------------------------- -sub BuildXPIDLCompiler() -{ - unless( $main::build{xpidl} ) { return; } - assertRightDirectory(); - - StartBuildModule("xpidl"); - - #// see if the xpidl compiler/linker has been rebuilt by comparing modification dates. - my($codewarrior_plugins) = GetCodeWarriorRelativePath("CodeWarrior Plugins:"); - my($compiler_path) = $codewarrior_plugins . "Compilers:xpidl"; - my($linker_path) = $codewarrior_plugins . "Linkers:xpt Linker"; - my($compiler_modtime) = (-e $compiler_path ? GetFileModDate($compiler_path) : 0); - my($linker_modtime) = (-e $linker_path ? GetFileModDate($linker_path) : 0); - - #// build the IDL compiler itself. - BuildProject(":mozilla:xpcom:typelib:xpidl:macbuild:xpidl.xml", "build all"); - - #// was the compiler/linker rebuilt? if so, then clobber IDL projects as we go. - if (GetFileModDate($compiler_path) > $compiler_modtime || GetFileModDate($linker_path) > $linker_modtime) - { - $main::CLOBBER_IDL_PROJECTS = 1; - print("XPIDL tools have been updated, will clobber all IDL data folders.\n"); - } - - # xpt_link MPW tool, needed for merging xpt files (release build) - if ($main::options{xptlink}) - { - my($codewarrior_msl) = GetCodeWarriorRelativePath("MSL:MSL_C:MSL_MacOS:"); - if ( ! -e $codewarrior_msl . "Lib:PPC:MSL_C_PPC_MPW.Lib") { - print("MSL_C_PPC_MPW.Lib not found... Let's build it.\n"); - BuildProject($codewarrior_msl . "Project:PPC:MSL C.PPC.MTrgt.mcp", "MSL C PPC MPW (NL)"); - } - BuildOneProject(":mozilla:xpcom:typelib:xpidl:macbuild:xpidl.xml", "xpt_link", 0, 0, 0); - } - - EndBuildModule("xpidl"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build IDL projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildIDLProjects() -{ - unless( $main::build{idl} ) { return; } - assertRightDirectory(); - - StartBuildModule("idl"); - - # XPCOM - BuildIDLProject(":mozilla:xpcom:macbuild:XPCOMIDL.xml", "xpcom"); - - # necko - BuildIDLProject(":mozilla:netwerk:macbuild:netwerkIDL.xml","necko"); - BuildIDLProject(":mozilla:uriloader:macbuild:uriLoaderIDL.xml", "uriLoader"); - BuildIDLProject(":mozilla:netwerk:macbuild:cacheIDL.xml", "cache"); - - if ($main::options{psm}) { - BuildIDLProject(":mozilla:security:manager:ssl:macbuild:pipnssIDL.xml", "pipnss"); - BuildIDLProject(":mozilla:security:manager:pki:macbuild:pippkiIDL.xml", "pippki"); - BuildIDLProject(":mozilla:security:manager:boot:macbuild:pipbootIDL.xml", "pipboot"); - } - - BuildIDLProject(":mozilla:modules:libreg:xpcom:macbuild:mozregIDL.xml", "mozreg"); - BuildIDLProject(":mozilla:modules:libpref:macbuild:libprefIDL.xml", "libpref"); - BuildIDLProject(":mozilla:modules:libutil:macbuild:libutilIDL.xml", "libutil"); - BuildIDLProject(":mozilla:modules:libjar:macbuild:libjarIDL.xml", "libjar"); - - BuildIDLProject(":mozilla:modules:libpr0n:macbuild:libimg2IDL.xml", "libimg2"); - BuildIDLProject(":mozilla:modules:libpr0n:macbuild:icondecoderIDL.xml", "icondecoder"); - - BuildIDLProject(":mozilla:modules:plugin:base:macbuild:pluginIDL.xml", "plugin"); - BuildIDLProject(":mozilla:modules:oji:macbuild:ojiIDL.xml", "oji"); - BuildIDLProject(":mozilla:js:macbuild:XPConnectIDL.xml", "xpconnect"); - if ($main::options{xpctools}) { - BuildIDLProject(":mozilla:js:macbuild:XPCToolsIDL.xml", "xpctools"); - } - BuildIDLProject(":mozilla:dom:macbuild:domIDL.xml", "dom"); - BuildIDLProject(":mozilla:dom:macbuild:dom_baseIDL.xml", "dom_base"); - BuildIDLProject(":mozilla:dom:macbuild:dom_coreIDL.xml", "dom_core"); - BuildIDLProject(":mozilla:dom:macbuild:dom_cssIDL.xml", "dom_css"); - BuildIDLProject(":mozilla:dom:macbuild:dom_eventsIDL.xml", "dom_events"); - BuildIDLProject(":mozilla:dom:macbuild:dom_htmlIDL.xml", "dom_html"); - BuildIDLProject(":mozilla:dom:macbuild:dom_rangeIDL.xml", "dom_range"); - BuildIDLProject(":mozilla:dom:macbuild:dom_traversalIDL.xml", "dom_traversal"); - BuildIDLProject(":mozilla:dom:macbuild:dom_stylesheetsIDL.xml", "dom_stylesheets"); - BuildIDLProject(":mozilla:dom:macbuild:dom_viewsIDL.xml", "dom_views"); - BuildIDLProject(":mozilla:dom:macbuild:dom_xblIDL.xml", "dom_xbl"); - BuildIDLProject(":mozilla:dom:macbuild:dom_xpathIDL.xml", "dom_xpath"); - BuildIDLProject(":mozilla:dom:macbuild:dom_xulIDL.xml", "dom_xul"); - - if ($main::options{svg}) { - BuildIDLProject(":mozilla:dom:macbuild:dom_svgIDL.xml", "dom_svg"); - } - - BuildIDLProject(":mozilla:dom:src:jsurl:macbuild:JSUrlDL.xml", "jsurl"); - - BuildIDLProject(":mozilla:gfx:macbuild:gfxIDL.xml", "gfx"); - BuildIDLProject(":mozilla:widget:macbuild:widgetIDL.xml", "widget"); - BuildIDLProject(":mozilla:editor:macbuild:EditorIDL.xml", "editor"); - BuildIDLProject(":mozilla:editor:txmgr:macbuild:txmgrIDL.xml", "txmgr"); - BuildIDLProject(":mozilla:editor:txtsvc:macbuild:txtsvcIDL.xml", "txtsvc"); - BuildIDLProject(":mozilla:profile:macbuild:ProfileServicesIDL.xml", "profileservices"); - BuildIDLProject(":mozilla:profile:pref-migrator:macbuild:prefmigratorIDL.xml", "prefm"); - - - BuildIDLProject(":mozilla:htmlparser:macbuild:htmlparserIDL.xml", "htmlparser"); - BuildIDLProject(":mozilla:content:macbuild:contentIDL.xml", "content"); - - BuildIDLProject(":mozilla:layout:macbuild:layoutIDL.xml", "layout"); - - if ($main::options{accessible}) - { - BuildIDLProject(":mozilla:accessible:macbuild:accessibleIDL.xml", "accessible"); - } - - BuildIDLProject(":mozilla:rdf:macbuild:RDFIDL.xml", "rdf"); - - BuildIDLProject(":mozilla:rdf:chrome:build:chromeIDL.xml", "chrome"); - - BuildIDLProject(":mozilla:webshell:macbuild:webshellIDL.xml", "webshell"); - BuildIDLProject(":mozilla:docshell:macbuild:docshellIDL.xml", "docshell"); - BuildIDLProject(":mozilla:embedding:base:macbuild:EmbedIDL.xml", "EmbedBase"); - BuildIDLProject(":mozilla:embedding:browser:macbuild:browserIDL.xml", "embeddingbrowser"); - BuildIDLProject(":mozilla:embedding:components:build:macbuild:EmbedComponentsIDL.xml", "EmbedComponents"); - - BuildIDLProject(":mozilla:extensions:cookie:macbuild:cookieIDL.xml", "cookie"); - BuildIDLProject(":mozilla:extensions:pref:macbuild:prefextrasIDL.xml", "prefextras"); - BuildIDLProject(":mozilla:extensions:wallet:macbuild:walletIDL.xml","wallet"); - BuildIDLProject(":mozilla:extensions:xml-rpc:macbuild:xml-rpcIDL.xml","xml-rpc"); - BuildIDLProject(":mozilla:xpfe:components:bookmarks:macbuild:BookmarksIDL.xml", "bookmarks"); - BuildIDLProject(":mozilla:xpfe:components:directory:DirectoryIDL.xml", "Directory"); - BuildIDLProject(":mozilla:xpfe:components:history:macbuild:historyIDL.xml", "history"); - BuildIDLProject(":mozilla:xpfe:components:shistory:macbuild:shistoryIDL.xml", "shistory"); - BuildIDLProject(":mozilla:xpfe:components:related:macbuild:RelatedIDL.xml", "related"); - BuildIDLProject(":mozilla:xpfe:components:search:macbuild:SearchIDL.xml", "search"); - BuildIDLProject(":mozilla:xpfe:components:macbuild:mozcompsIDL.xml", "mozcomps"); - BuildIDLProject(":mozilla:xpfe:components:timebomb:macbuild:timebombIDL.xml", "tmbm"); - BuildIDLProject(":mozilla:xpfe:components:urlbarhistory:macbuild:urlbarhistoryIDL.xml", "urlbarhistory"); - BuildIDLProject(":mozilla:xpfe:components:autocomplete:macbuild:AutoCompleteIDL.xml", "autocomplete"); - BuildIDLProject(":mozilla:xpfe:components:download-manager:macbuild:DownloadManagerIDL.xml", "downloadmanager"); - - BuildIDLProject(":mozilla:xpfe:appshell:macbuild:appshellIDL.xml", "appshell"); - - BuildIDLProject(":mozilla:xpfe:browser:macbuild:mozBrowserIDL.xml", "mozBrowser"); - - BuildIDLProject(":mozilla:xpinstall:macbuild:xpinstallIDL.xml", "xpinstall"); - - if ($main::options{ldap}) - { - BuildIDLProject(":mozilla:directory:xpcom:macbuild:mozldapIDL.xml", "mozldap"); - BuildIDLProject(":mozilla:xpfe:components:autocomplete:macbuild:ldapAutoCompleteIDL.xml", "ldapAutoComplete"); - } - - BuildIDLProject(":mozilla:mailnews:base:macbuild:msgCoreIDL.xml", "mailnews"); - BuildIDLProject(":mozilla:mailnews:compose:macbuild:msgComposeIDL.xml", "MsgCompose"); - BuildIDLProject(":mozilla:mailnews:local:macbuild:msglocalIDL.xml", "MsgLocal"); - BuildIDLProject(":mozilla:mailnews:news:macbuild:msgnewsIDL.xml", "MsgNews"); - BuildIDLProject(":mozilla:mailnews:addrbook:macbuild:msgAddrbookIDL.xml", "MsgAddrbook"); - BuildIDLProject(":mozilla:mailnews:db:macbuild:msgDBIDL.xml", "MsgDB"); - BuildIDLProject(":mozilla:mailnews:imap:macbuild:msgimapIDL.xml", "MsgImap"); - BuildIDLProject(":mozilla:mailnews:mime:macbuild:mimeIDL.xml", "Mime"); - BuildIDLProject(":mozilla:mailnews:import:macbuild:msgImportIDL.xml", "msgImport"); - BuildIDLProject(":mozilla:mailnews:import:comm4x:macbuild:msgImportComm4xMIDL.xml", "msgImportComm4xM"); - if ($main::options{smime} && $main::options{psm}) { - BuildIDLProject(":mozilla:mailnews:extensions:smime:macbuild:msgsmimeIDL.xml", "msgsmime"); - } - BuildIDLProject(":mozilla:mailnews:extensions:mailviews:macbuild:mailviewsIDL.xml", "mailviews"); - - BuildIDLProject(":mozilla:caps:macbuild:CapsIDL.xml", "caps"); - - BuildIDLProject(":mozilla:intl:locale:macbuild:nsLocaleIDL.xml", "nsLocale"); - BuildIDLProject(":mozilla:intl:strres:macbuild:strresIDL.xml", "nsIStringBundle"); - BuildIDLProject(":mozilla:intl:unicharutil:macbuild:unicharutilIDL.xml", "unicharutil"); - BuildIDLProject(":mozilla:intl:uconv:macbuild:uconvIDL.xml", "uconv"); - BuildIDLProject(":mozilla:intl:chardet:macbuild:chardetIDL.xml", "chardet"); - BuildIDLProject(":mozilla:intl:lwbrk:macbuild:lwbrkIDL.xml", "lwbrk"); - - if ($main::options{iiextras}) - { - BuildIDLProject(":mozilla:extensions:interfaceinfo:macbuild:iiextrasIDL.xml", "iiextras"); - } - - if ($main::options{xmlextras}) - { - BuildIDLProject(":mozilla:extensions:xmlextras:macbuild:xmlextrasIDL.xml", "xmlextras"); - BuildIDLProject(":mozilla:extensions:xmlextras:macbuild:xmlschemaIDL.xml", "xmlschema"); - BuildIDLProject(":mozilla:extensions:xmlextras:macbuild:xmlsoapIDL.xml", "xmlsoap"); - if ($main::options{wsp}) - { - BuildIDLProject(":mozilla:extensions:xmlextras:macbuild:xmlwsproxyIDL.xml", "wsproxy"); - BuildIDLProject(":mozilla:extensions:xmlextras:macbuild:xmlwsdlIDL.xml", "wsdl"); - } - } - - if ($main::options{inspector}) - { - BuildIDLProject(":mozilla:extensions:inspector:macbuild:inspectorIDL.xml", "inspector"); - } - - if ($main::options{typeaheadfind}) - { - BuildIDLProject(":mozilla:extensions:typeaheadfind:macbuild:typeaheadfindIDL.xml", "typeaheadfind"); - } - - if ($main::options{p3p}) - { - BuildIDLProject(":mozilla:extensions:p3p:macbuild:p3pIDL.xml", "p3p"); - } - - if ($main::options{jsd}) - { - BuildIDLProject(":mozilla:js:jsd:macbuild:jsdIDL.xml", "jsdservice"); - } - - if ($main::options{layout_debug}) - { - # layout-debug component headers/xpt - my($layout_debug_path) = ":mozilla:extensions:layout-debug:mac:"; - BuildIDLProject($layout_debug_path . "lytDbgCmpIDL.xml", "layoutDebugComponent"); - - # layout-debug plugin headers/xpt - # BuildIDLProject() won't do the right thing with plugins, so we roll our own - if ($main::CLOBBER_IDL_PROJECTS) - { - print STDERR "Deleting IDL data folder: mozilla:extensions:layout-debug:mac:_lytDbgCmpIDL Data\n"; - EmptyTree($layout_debug_path . "_lytDbgCmpIDL Data:"); - } - my($plugin_dist) = GetBinDirectory() . "Plug-ins:"; - BuildOneProject($layout_debug_path . "lytDbgPlgIDL.xml", "headers", 0, 0, 0); - BuildOneProject($layout_debug_path . "lytDbgPlgIDL.xml", "layoutDebugPlugin.xpt", 0, 0, 0); - MakeAlias($layout_debug_path . "LayoutDebugPlugin.xpt", $plugin_dist); - } - - if ($main::options{calendar}) - { - BuildIDLProject(":mozilla:calendar:macbuild:calendarIDL.xml", "calendar"); - } - - if ($main::options{webservices}) - { - BuildIDLProject(":mozilla:extensions:webservices:macbuild:websrvcsIDL.xml", "websrvcs"); - } - - EndBuildModule("idl"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build runtime projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildRuntimeProjects() -{ - unless( $main::build{runtime} ) { return; } - assertRightDirectory(); - - StartBuildModule("runtime"); - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - my($P) = $main::PROFILE ? "Profil" : ""; - - #// - #// Shared libraries - #// - if ( $main::options{carbon} ) - { - BuildProject(":mozilla:lib:mac:InterfaceLib:Interface.xml", "Carbon Interfaces"); - BuildProject(":mozilla:lib:mac:InterfaceLib:InterfaceOSX.xml", "MacOS X Interfaces"); - } - else - { - BuildProject(":mozilla:lib:mac:InterfaceLib:Interface.xml", "MacOS Interfaces"); - BuildProject(":mozilla:lib:mac:InterfaceLib:InterfaceOSX.xml", "MacOS Interfaces"); - } - - #// Build all of the startup libraries, for Application, Component, and Shared Libraries. These are - #// required for all subsequent libraries in the system. - BuildProject(":mozilla:lib:mac:NSStartup:NSStartup.xml", "NSStartup.all"); - - BuildOneProjectWithOutput(":mozilla:lib:mac:NSRuntime:NSRuntime.xml", "NSRuntime$C$P$D.shlb", "NSRuntime$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - - BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.xml", "MoreFiles$D.o"); - - if ($main::GC_LEAK_DETECTOR && !$main::options{carbon}) { - BuildProject(":mozilla:gc:boehm:macbuild:gc.xml", "gc.ppc.lib"); - MakeAlias(":mozilla:gc:boehm:macbuild:gc.PPC.lib", ":mozilla:dist:gc:gc.PPC.lib"); - BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.xml", "MemAllocatorGC.o"); - } else { - BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.xml", "MemAllocator$C$D.o"); - } - - BuildOneProjectWithOutput(":mozilla:lib:mac:NSStdLib:NSStdLib.xml", "NSStdLib$D.shlb", "NSStdLib$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - - if ($main::DEBUG) { - BuildOneProject(":mozilla:lib:mac:NSStdLib:NSConsole.xml", "NSConsoleDebug.shlb", 1, $main::ALIAS_SYM_FILES, 0); - } - - BuildOneProjectWithOutput(":mozilla:nsprpub:macbuild:NSPR20PPC.xml", "NSPR20$C$D.shlb", "NSPR20$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - - EndBuildModule("runtime"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build common projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildCommonProjects() -{ - unless( $main::build{common} ) { return; } - 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 = GetBinDirectory(); - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - StartBuildModule("common"); - - #// - #// Static libraries - #// - - BuildProject(":mozilla:string:macbuild:string.xml", "string$D.o"); - MakeAlias(":mozilla:string:macbuild:string$D.o", ":mozilla:dist:string:"); - - BuildProject(":mozilla:intl:unicharutil:macbuild:UnicharUtilsStaticLib.xml", "UnicharUtilsStatic$D.o"); - MakeAlias(":mozilla:intl:unicharutil:macbuild:UnicharUtilsStatic$D.o", ":mozilla:dist:unicharutil:"); - - #// - #// Shared libraries - #// - - BuildOneProject(":mozilla:modules:libreg:macbuild:libreg.xml", "libreg$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProject(":mozilla:xpcom:macbuild:xpcomPPC.xml", "xpcom$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProject(":mozilla:modules:libreg:xpcom:macbuild:mozreg.xml", "mozreg$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:js:macbuild:JavaScript.xml", "JavaScript$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProject(":mozilla:js:macbuild:LiveConnect.xml", "LiveConnect$D.$S", 1, $main::ALIAS_SYM_FILES, 0); - - BuildOneProject(":mozilla:modules:zlib:macbuild:zlib.xml", "zlib$D.$S", 1, $main::ALIAS_SYM_FILES, 0); - BuildProject(":mozilla:modules:zlib:macbuild:zlib.xml", "zlib$D.Lib"); - BuildOneProject(":mozilla:modules:libjar:macbuild:libjar.xml", "libjar$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildProject(":mozilla:modules:libjar:macbuild:libjar.xml", "libjar$D.Lib"); - - BuildOneProject(":mozilla:modules:oji:macbuild:oji.xml", "oji$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:caps:macbuild:Caps.xml", "Caps$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpref:macbuild:libpref.xml", "libpref$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:js:macbuild:XPConnect.xml", "XPConnect$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - if ($main::options{xpctools}) { - BuildOneProject(":mozilla:js:macbuild:XPCTools.xml", "XPCTools$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - } - BuildOneProject(":mozilla:modules:libutil:macbuild:libutil.xml", "libutil$D.$S", 1, $main::ALIAS_SYM_FILES, 0); - - BuildOneProject(":mozilla:db:mork:macbuild:mork.xml", "Mork$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildProject(":mozilla:dbm:macbuild:DBM.xml", "DBM$D.o"); - MakeAlias(":mozilla:dbm:macbuild:DBM$D.o", ":mozilla:dist:dbm:"); - - InstallFromManifest(":mozilla:xpcom:components:MANIFEST_COMPONENTS", "${dist_dir}Components:"); - - BuildOneProject(":mozilla:gfx:macbuild:gfx.xml", "gfx$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - - EndBuildModule("common"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build imglib projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildImglibProjects() -{ - unless( $main::build{imglib} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - - StartBuildModule("imglib"); - - BuildProject(":mozilla:jpeg:macbuild:JPEG.xml", "JPEG$D.o"); - MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.o", ":mozilla:dist:libimg:"); - BuildProject(":mozilla:modules:libimg:macbuild:png.xml", "png$D.o"); - MakeAlias(":mozilla:modules:libimg:macbuild:png$D.o", ":mozilla:dist:libimg:"); - - EndBuildModule("imglib"); -} # imglib - -#//-------------------------------------------------------------------------------------------------- -#// Build libimg2 projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildImglib2Projects() -{ - unless( $main::build{libimg2} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - StartBuildModule("libimg2"); - - BuildOneProject(":mozilla:modules:libpr0n:macbuild:libimg2.xml", "libimg2$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpr0n:macbuild:icondecoder.xml", "icondecoder$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - EndBuildModule("libimg2"); -} # imglib2 - -#//-------------------------------------------------------------------------------------------------- -#// Build international projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildInternationalProjects() -{ - unless( $main::build{intl} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - StartBuildModule("intl"); - - BuildOneProject(":mozilla:intl:macbuild:i18n.xml", "i18n$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:intl:uconv:macbuild:uconv.xml", "uconv$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - if ($main::options{mathml}) - { - BuildOneProject(":mozilla:intl:uconv:macbuild:ucvmath.xml", "ucvmath$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - EndBuildModule("intl"); -} # intl - - -#//-------------------------------------------------------------------------------------------------- -#// Build Necko projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildNeckoProjects() -{ - unless( $main::build{necko} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - my $dist_dir = GetBinDirectory(); - - StartBuildModule("necko"); - - BuildOneProjectWithOutput(":mozilla:netwerk:macbuild:netwerk.xml", "Necko$C$D.$S", "Necko$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:netwerk:macbuild:netwerk2.xml", "Necko2$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:dom:src:jsurl:macbuild:JSUrl.xml", "JSUrl$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - InstallFromManifest(":mozilla:netwerk:base:src:MANIFEST_COMPONENTS", "${dist_dir}Components:"); - - EndBuildModule("necko"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build Security projects -#//-------------------------------------------------------------------------------------------------- - - -sub CreateNSSExportList($$) -{ - my ($source_def_file, $final_exp_file) = @_; - - if (! -e $source_def_file) { - die "NSS file $source_def_file does not exist"; - } - - my($def_mod_time) = GetFileModDate($source_def_file); - my($exp_mod_time) = (-e $final_exp_file ? GetFileModDate($final_exp_file) : 0); - - if ($exp_mod_time > $def_mod_time) { - return; - } - - open (DEF_FILE, "< $source_def_file") || die "can't open NSS def file $!"; - open (EXP_FILE, "> $final_exp_file"); - - print("Creating $final_exp_file from $source_def_file\n"); - while () { - my ($line) = $_; - if ($line =~ /^;\+./) { - next; - } - if ($line =~ /^LIBRARY/) { - next; - } - if ($line =~ /^EXPORTS/) { - next; - } - if ($line =~ s/^;;(.*) DATA ;//) { - print EXP_FILE "$1\n"; - } - if ($line =~ s/^(.*) DATA ;//) { - print EXP_FILE "$1\n"; - } - if ($line =~ s/^(.*);//) { - print EXP_FILE "$1\n"; - } - } - close DEF_FILE; - close EXP_FILE; -} - -sub BuildSecurityProjects() -{ - unless( $main::build{security} && $main::options{psm}) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - my $dist_dir = GetBinDirectory(); # the subdirectory with the libs and executable. - - StartBuildModule("security"); - - #First we need to build all of the NSS shared libraries now. - #The order is important because they link against each other. - BuildProject(":mozilla:security:nss:macbuild:util.xml","util$D.o"); - BuildProject(":mozilla:security:nss:macbuild:crmf.xml","crmf$D.o"); - - CreateNSSExportList(":mozilla:security:nss:lib:softoken:softokn.def", - ":mozilla:security:nss:macbuild:softoken.mcp.exp"); - BuildOneProjectWithOutput(":mozilla:security:nss:macbuild:softoken.xml","Softoken3$D.shlb","Softoken3$D.shlb",1, $main::ALIAS_SYM_FILES, 0); - - CreateNSSExportList(":mozilla:security:nss:lib:nss:nss.def", - ":mozilla:security:nss:macbuild:NSS.mcp.exp"); - BuildOneProjectWithOutput(":mozilla:security:nss:macbuild:NSS.xml","NSS3$D.shlb","NSS3$D.shlb",1, $main::ALIAS_SYM_FILES, 0); - - CreateNSSExportList(":mozilla:security:nss:lib:ssl:ssl.def", - ":mozilla:security:nss:macbuild:ssl.mcp.exp"); - BuildOneProjectWithOutput(":mozilla:security:nss:macbuild:ssl.xml","SSL3$D.shlb","SSL3$D.shlb",1, $main::ALIAS_SYM_FILES, 0); - - CreateNSSExportList(":mozilla:security:nss:lib:smime:smime.def", - ":mozilla:security:nss:macbuild:smime.mcp.exp"); - BuildOneProjectWithOutput(":mozilla:security:nss:macbuild:smime.xml","SMIME3$D.shlb","SMIME3$D.shlb",1, $main::ALIAS_SYM_FILES, 0); - - - BuildOneProject(":mozilla:security:manager:boot:macbuild:pipboot.xml", "pipboot$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:security:manager:ssl:macbuild:PIPNSS.xml", "PIPNSS$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:security:manager:pki:macbuild:PIPPKI.xml", "PIPPKI$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - if ($main::options{static_build}) { - BuildOneProject(":mozilla:modules:staticmod:macbuild:cryptoComponent.xml", "MetaCrypto$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - } - - #Build the loadable module that contains the root certs. This is always built as a shared lib, even in the static build. - BuildProject(":mozilla:security:nss:macbuild:NSSckfw.xml", "NSSckfw$D.o"); - BuildProject(":mozilla:security:nss:macbuild:LoadableRoots.xml", "NSSckbi$D.shlb"); - # NSS doesn't properly load the shared library created above if it's an alias, so we'll just copy it so that - # all builds will just work. It's 140K optimized and 164K debug so it's not too much disk space. - copy(":mozilla:security:nss:macbuild:NSSckbi$D.shlb",$dist_dir."Essential Files:NSSckbi$D.shlb"); - - EndBuildModule("security"); -} # Security - - -#//-------------------------------------------------------------------------------------------------- -#// Build Browser utils projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildBrowserUtilsProjects() -{ - unless( $main::build{browserutils} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - StartBuildModule("browserutils"); - - BuildOneProject(":mozilla:uriloader:macbuild:uriLoader.xml", "uriLoader$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildProject(":mozilla:profile:dirserviceprovider:macbuild:dirServiceProvider.xml", "profDirServiceProvider$D.o"); - MakeAlias(":mozilla:profile:dirserviceprovider:macbuild:profDirServiceProvider$D.o", ":mozilla:dist:profdirserviceprovider:"); - BuildOneProject(":mozilla:profile:macbuild:profile.xml", "profile$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:profile:pref-migrator:macbuild:prefmigrator.xml", "prefm$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:extensions:cookie:macbuild:cookie.xml", "Cookie$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:extensions:pref:macbuild:prefextras.xml", "prefExtras$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:extensions:wallet:macbuild:wallet.xml", "Wallet$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:extensions:wallet:macbuild:walletviewers.xml", "WalletViewers$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:extensions:universalchardet:macbuild:Universalchardet.xml", "Universalchardet$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:rdf:chrome:build:chrome.xml", "ChomeRegistry$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - EndBuildModule("browserutils"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build NGLayout -#//-------------------------------------------------------------------------------------------------- - -sub BuildLayoutProjects() -{ - unless( $main::build{nglayout} ) { return; } - 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" : ""; - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - my($dist_dir) = GetBinDirectory(); - my($resource_dir) = "$dist_dir" . "res:"; - - - StartBuildModule("nglayout"); - - open(OUTPUT, ">:mozilla:content:build:gbdate.h") || die "could not open gbdate.h"; - my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; - # localtime returns year minus 1900 - $year = $year + 1900; - printf(OUTPUT "#define PRODUCT_VERSION \"%04d%02d%02d\"\n", $year, 1+$mon, $mday); - close(OUTPUT); - - #// - #// Build Layout projects - #// - - BuildProject(":mozilla:expat:macbuild:expat.xml", "expat$D.o"); - BuildOneProject(":mozilla:htmlparser:macbuild:htmlparser.xml", "htmlparser$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - my($dbg) = $main::DEBUG ? "Dbg" : ""; - BuildOneProjectWithOutput(":mozilla:gfx:macbuild:gfxComponent.xml", "gfxComponent$C$dbg.$S", "gfxComponent$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:dom:macbuild:dom.xml", "dom$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:plugin:base:macbuild:plugin.xml", "plugin$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:plugin:base:macbuild:pluginClassic.xml", "pluginClassic$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - # Static library shared between different content- and layout-related libraries - BuildProject(":mozilla:content:macbuild:contentshared.xml", "contentshared$D.o"); - MakeAlias(":mozilla:content:macbuild:contentshared$D.o", ":mozilla:dist:content:"); - - if ($main::options{svg}) - { - BuildOneProject(":mozilla:content:macbuild:contentSVG.xml", "contentSVG$D.o", 0, 0, 0); - } - else - { - BuildOneProject(":mozilla:content:macbuild:contentSVG.xml", "contentSVG$D.o stub", 0, 0, 0); - } - - BuildOneProject(":mozilla:content:macbuild:content.xml", "content$D.o", 0, 0, 0); - if ($main::options{mathml}) - { - BuildProject(":mozilla:layout:macbuild:layoutmathml.xml", "layoutmathml$D.o"); - } - else - { - BuildProject(":mozilla:layout:macbuild:layoutmathml.xml", "layoutmathml$D.o stub"); - } - if ($main::options{libart_lgpl}) - { - BuildOneProject(":mozilla:other-licenses:libart_lgpl:macbuild:libart.xml", "libart$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - } - if ($main::options{svg}) - { - BuildProject(":mozilla:layout:macbuild:layoutsvg.xml", "layoutsvg$D.o"); - } - else - { - BuildProject(":mozilla:layout:macbuild:layoutsvg.xml", "layoutsvg$D.o stub"); - } - BuildOneProject(":mozilla:layout:macbuild:layout.xml", "layout$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:view:macbuild:view.xml", "view$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:widget:macbuild:WidgetSupport.xml", "WidgetSupport$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProjectWithOutput(":mozilla:widget:macbuild:widget.xml", "widget$C$D.$S", "widget$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:docshell:macbuild:docshell.xml", "docshell$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:rdf:macbuild:rdf.xml", "RDFLibrary$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:xpinstall:macbuild:xpinstall.xml", "xpinstall$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProjectWithOutput(":mozilla:xpinstall:cleanup:macbuild:XPICleanup.xml", "XPICleanup$D$C", "XPICleanup$D", 1, $main::ALIAS_SYM_FILES, 0); - InstallFromManifest(":mozilla:xpinstall:cleanup:MANIFEST_CMESSAGE", "$resource_dir"); - - BuildOneProject(":mozilla:xpinstall:macbuild:xpistub.xml", "xpistub$D.$S", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProject(":mozilla:xpinstall:wizard:libxpnet:macbuild:xpnet.xml", "xpnet$D.Lib", 0, 0, 0); - if (!($main::PROFILE)) { - BuildOneProject(":mozilla:xpinstall:wizard:mac:macbuild:MIW.xml", "Mozilla Installer$D", 0, 0, 0); - } - - if ($main::options{layout_debug}) - { - # make the component. - my($layout_debug_path) = ":mozilla:extensions:layout-debug:mac:"; - BuildOneProject($layout_debug_path . "lytDbgComp.xml", "LayoutDebugComponent.shlb", 1, 0, 1); - - # make the plugin. BuildOneProject isn't smart about plugins, so roll our own. - my($plugin_dist) = GetBinDirectory() . "Plug-ins:"; - BuildProject($layout_debug_path . "lytDbgPlugin.xml", "LayoutDebugPlugin$C"); - MakeAlias($layout_debug_path . "LayoutDebugPlugin", $plugin_dist); - } - - EndBuildModule("nglayout"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build Accessiblity Projects -#//-------------------------------------------------------------------------------------------------- -sub BuildAccessiblityProjects() -{ - unless( $main::build{accessiblity} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - - StartBuildModule("accessiblity"); - - if ($main::options{accessible}) - { - if ($main::options{moz_xul}) - { - BuildProject(":mozilla:accessible:macbuild:accessible_xul.xml", "accessible_xul$D.o"); - } - else - { - BuildProject(":mozilla:accessible:macbuild:accessible_xul.xml", "accessible_xul$D.o stub"); - } - BuildOneProject(":mozilla:accessible:macbuild:accessible.xml", "accessible$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - EndBuildModule("accessiblity"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build Editor Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildEditorProjects() -{ - unless( $main::build{editor} ) { return; } - 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" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("editor"); - - BuildOneProject(":mozilla:editor:txmgr:macbuild:txmgr.xml", "EditorTxmgr$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - # note: only build one of the following targets - BuildOneProject(":mozilla:editor:macbuild:editor.xml", "htmleditor$D.$S", 1, $main::ALIAS_SYM_FILES, 1); -# BuildOneProject(":mozilla:editor:macbuild:editor.mcp", "texteditor$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildOneProject(":mozilla:editor:macbuild:composer.xml", "Composer$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - EndBuildModule("editor"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build Viewer Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildViewerProjects() -{ - unless( $main::build{viewer} ) { return; } - 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" : ""; - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("viewer"); - - if (! $main::options{"static_build"}) - { - BuildProject(":mozilla:webshell:tests:viewer:mac:viewer.xml", "viewer$C$D"); - } - - EndBuildModule("viewer"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build Embedding Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildEmbeddingProjects() -{ - unless( $main::build{embedding} ) { return; } - 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" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("embedding"); - - # Since there are separate Carbon targets, but the name is the same. - unlink ":mozilla:embedding:components:printingui:macbuild:printingUI$D.o"; - BuildProject(":mozilla:embedding:components:printingui:macbuild:printingUI.xml", "printingUI$C$D.o"); - MakeAlias(":mozilla:embedding:components:printingui:macbuild:printingUI$D.o", ":mozilla:dist:embedding:components:"); - - BuildOneProject(":mozilla:embedding:components:build:macbuild:EmbedComponents.xml", "EmbedComponents$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:embedding:browser:macbuild:webBrowser.xml", "webBrowser$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - BuildProject(":mozilla:embedding:base:macbuild:EmbedAPI.xml", "EmbedAPI$D.o"); - MakeAlias(":mozilla:embedding:base:macbuild:EmbedAPI$D.o", ":mozilla:dist:embedding:"); - - if ($main::options{embedding_test}) - { - my($PowerPlantPath) = "MacOS Support:PowerPlant"; - if (-e GetCodeWarriorRelativePath($PowerPlantPath)) - { - if (! $main::options{"static_build"}) - { - # Build PowerPlant and export the lib and the precompiled header - BuildOneProject(":mozilla:lib:mac:PowerPlant:PowerPlant.xml", "PowerPlant$D.o", 0, 0, 0); - MakeAlias(":mozilla:lib:mac:PowerPlant:PowerPlant$D.o", ":mozilla:dist:mac:powerplant:"); - MakeAlias(":mozilla:lib:mac:PowerPlant:pch:PPHeaders$D" . "_pch", ":mozilla:dist:mac:powerplant:"); - - BuildOneProject(":mozilla:embedding:browser:powerplant:PPBrowser.xml", "PPEmbed$C$D", 0, 0, 0); - } - } - else - { - print("$PowerPlantPath does not exist - embedding sample will not be built\n"); - } - } - - EndBuildModule("embedding"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build XPApp Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildXPAppProjects() -{ - unless( $main::build{xpapp} ) { return; } - 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" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("xpapp"); - - # Components - BuildOneProject(":mozilla:xpfe:components:find:macbuild:FindComponent.xml", "FindComponent$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:xpfe:components:shistory:macbuild:shistory.xml", "shistory$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:xpfe:components:macbuild:appcomps.xml", "appcomps$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - InstallFromManifest(":mozilla:xpfe:appshell:src:MANIFEST_COMPONENTS", "${dist_dir}Components:"); - - # Applications - BuildOneProject(":mozilla:xpfe:appshell:macbuild:AppShell.xml", "AppShell$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - EndBuildModule("xpapp"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build Extensions Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildExtensionsProjects() -{ - unless( $main::build{extensions} ) { return; } - assertRightDirectory(); - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("extensions"); - - my($components_dir) = "$dist_dir" . "Components:"; - my($chrome_subdir) = "Chrome:"; - my($chrome_dir) = "$dist_dir"."$chrome_subdir"; - my($packages_chrome_dir) = "$chrome_dir" . "packages:"; - - # Chatzilla - if ($main::options{chatzilla}) - { - InstallResources(":mozilla:extensions:irc:js:lib:MANIFEST_COMPONENTS", "$components_dir"); - } - - # XML-RPC - if ($main::options{xml_rpc}) - { - InstallFromManifest(":mozilla:extensions:xml-rpc:src:MANIFEST_COMPONENTS", "$components_dir"); - } - - # Transformiix - if ($main::options{transformiix}) - { - BuildOneProject(":mozilla:extensions:transformiix:macbuild:transformiix.xml", "transformiix$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - # LDAP Client - if ($main::options{ldap}) - { - my($experi) = $main::options{ldap_experimental} ? " experi" : ""; - - BuildOneProjectWithOutput(":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient.xml", "LDAPClient$C$D.shlb", "LDAPClient$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProjectWithOutput(":mozilla:directory:xpcom:macbuild:mozldap.xml", "mozldap$D.$S$experi", "mozldap$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - if ($main::options{ldap_experimental}) - { - InstallResources(":mozilla:directory:xpcom:datasource:MANIFEST_COMPONENTS", "$components_dir"); - } - } - else - { - # build a project that outputs a dummy LDAPClient lib so that later projects (e.g. apprunner) have something - # to link against. This is really only needed for the static build, but there is no harm in building it anyway. - BuildOneProject(":mozilla:directory:xpcom:macbuild:LDAPClientDummyLib.xml", "LDAPClient$D.shlb", 1, 0, 0); - } - - # InterfaceInfo Extras - if ($main::options{iiextras}) - { - BuildOneProject(":mozilla:extensions:interfaceinfo:macbuild:iiextras.xml", "iiextras$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - InstallResources(":mozilla:extensions:interfaceinfo:src:MANIFEST_COMPONENTS", "$components_dir"); - } - - # XML Extras - if ($main::options{xmlextras}) - { - if ($main::options{wsp}) { - BuildProject(":mozilla:extensions:xmlextras:macbuild:xmlwsp.xml", "xmlwsp$D.o"); - } - else { - BuildProject(":mozilla:extensions:xmlextras:macbuild:xmlwsp.xml", "xmlwsp$D.o stub"); - } - BuildOneProject(":mozilla:extensions:xmlextras:macbuild:xmlextras.xml", "xmlextras$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - # Document Inspector - if ($main::options{inspector}) - { - BuildOneProject(":mozilla:extensions:inspector:macbuild:inspector.xml", "inspector$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - # Type Ahead Find - if ($main::options{typeaheadfind}) - { - BuildOneProject(":mozilla:extensions:typeaheadfind:macbuild:typeaheadfind.xml", "typeaheadfind$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - # P3P - if ($main::options{p3p}) - { - BuildOneProject(":mozilla:extensions:p3p:macbuild:p3p.xml", "p3p$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - # JS Debugger - if ($main::options{jsd}) - { - BuildOneProject(":mozilla:js:jsd:macbuild:JSD.xml", "jsdService$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - if ($main::options{venkman}) - { - InstallResources(":mozilla:extensions:venkman:js:MANIFEST_COMPONENTS", "$components_dir"); - } - } - - if ($main::options{libical}) - { - BuildProject(":mozilla:other-licenses:libical:macbuild:libical.xml", "libical$D.o"); - MakeAlias(":mozilla:other-licenses:libical:macbuild:libical$D.o", ":mozilla:dist:libical:"); - } - if ($main::options{calendar}) - { - BuildOneProject(":mozilla:calendar:macbuild:calendar.xml", "xpical$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - - EndBuildModule("extensions"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build Plugins Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildPluginsProjects() -{ - unless( $main::build{plugins} ) { return; } - - StartBuildModule("plugins"); - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - # as a temporary measure, make sure that the folder "MacOS Support:JNIHeaders" exists, - # before we attempt to build the MRJ plugin. This will allow a gradual transition. - if ($main::options{carbon} || -e GetCodeWarriorRelativePath("Java_Support:VM_Support:MRJ_Support")) - { - my($plugin_path) = ":mozilla:plugin:oji:MRJ$C:plugin:"; - - # Build MRJPlugin - BuildProject($plugin_path . "MRJPlugin$C.xml", "MRJPlugin$C"); - # Build MRJPlugin.jar (if Java tools exist) - my($linker_path) = GetCodeWarriorRelativePath("CodeWarrior Plugins:Linkers:Java Linker"); - if (-e $linker_path) { - print("CodeWarrior Java tools detected, building MRJPlugin.jar.\n"); - BuildProject($plugin_path . "MRJPlugin$C.xml", "MRJPlugin.jar"); - } - # Copy MRJPlugin, MRJPlugin.jar to appropriate plugins folder. - my($plugin_dist) = GetBinDirectory() . "Plug-ins:"; - MakeAlias($plugin_path . "MRJPlugin$C", $plugin_dist); - MakeAlias($plugin_path . "MRJPlugin.jar", $plugin_dist); - if ($main::options{carbon}) { - MakeAlias($plugin_path . "MRJPlugin.policy", $plugin_dist); - MakeAlias($plugin_path . "MRJPlugin.properties", $plugin_dist); - } - } - - # Build the Default Plug-in and place an alias in the appropriate plugins folder. - my($plugin_path) = ":mozilla:modules:plugin:samples:default:mac:"; - my($plugin_dist) = GetBinDirectory() . "Plug-ins:"; - - BuildProject($plugin_path . "DefaultPlugin.xml", "DefaultPlugin$C"); - MakeAlias($plugin_path . "Default Plug-in", $plugin_dist); - - EndBuildModule("plugins"); -} - -#//-------------------------------------------------------------------------------------------------- -#// Build MailNews Projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildMailNewsProjects() -{ - unless( $main::build{mailnews} ) { return; } - 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" : ""; - # $S becomes the target suffix for the shared lib or static build. - my($S) = $main::options{static_build} ? "o" : "shlb"; - my($dist_dir) = GetBinDirectory(); - - StartBuildModule("mailnews"); - - BuildOneProject(":mozilla:mailnews:base:util:macbuild:msgUtil.xml", "MsgUtil$D.lib", 0, 0, 0); - BuildOneProject(":mozilla:mailnews:base:macbuild:msgCore.xml", "mailnews$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:compose:macbuild:msgCompose.xml", "MsgCompose$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:db:macbuild:msgDB.xml", "MsgDB$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:local:macbuild:msglocal.xml", "MsgLocal$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:imap:macbuild:msgimap.xml", "MsgImap$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:news:macbuild:msgnews.xml", "MsgNews$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:addrbook:macbuild:msgAddrbook.xml", "MsgAddrbook$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:mime:macbuild:mime.xml", "Mime$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:mime:emitters:macbuild:mimeEmitter.xml", "mimeEmitter$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:mime:cthandlers:vcard:macbuild:vcard.xml", "vcard$D.$S", 1, $main::ALIAS_SYM_FILES, 1); -# BuildOneProject(":mozilla:mailnews:mime:cthandlers:calendar:macbuild:calendar.mcp", "calendar$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:import:macbuild:msgImport.xml", "msgImport$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:import:text:macbuild:msgImportText.xml", "msgImportText$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:import:eudora:macbuild:msgImportEudora.xml", "msgImportEudora$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:import:comm4x:macbuild:msgImportComm4xM.xml", "msgImportComm4xM$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - - if ($main::options{static_build}) { - BuildOneProject(":mozilla:modules:staticmod:macbuild:mailnewsComponent.xml", "MetaMailNews$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - } - - InstallResources(":mozilla:mailnews:addrbook:src:MANIFEST_COMPONENTS", "${dist_dir}Components"); - if ($main::options{smime} && $main::options{psm}) { - BuildOneProject(":mozilla:mailnews:extensions:smime:macbuild:smime.xml", "msgsmime$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - InstallResources(":mozilla:mailnews:extensions:smime:src:MANIFEST", "${dist_dir}Components"); - } else { - BuildOneProject(":mozilla:mailnews:mime:cthandlers:smimestub:macbuild:smime.xml", "smime$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - if ($main::options{mdn}) { - BuildOneProject(":mozilla:mailnews:extensions:mdn:macbuild:msgmdn.xml", "msgmdn$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - } - BuildOneProject(":mozilla:mailnews:extensions:mailviews:macbuild:mailviews.xml", "mailviews$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:mailnews:extensions:bayesian-spam-filter:macbuild:BayesianFilter.xml", "bayesianFilter$D.$S", 1, $main::ALIAS_SYM_FILES, 1); - - if ($main::options{mdn}) { - InstallResources(":mozilla:mailnews:extensions:mdn:src:MANIFEST", "${dist_dir}Components"); - } - - EndBuildModule("mailnews"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build Mozilla -#//-------------------------------------------------------------------------------------------------- - -sub BuildMozilla() -{ - unless( $main::build{apprunner} ) { return; } - 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" : ""; - - # $C becomes a component of target names for selecting either the Carbon or non-Carbon target of a project - my($C) = $main::options{carbon} ? "Carbon" : ""; - - StartBuildModule("apprunner"); - - if ($main::options{static_build}) { - BuildProject(":mozilla:xpfe:bootstrap:macbuild:StaticMerge.xml", "StaticMerge$D.o"); - } else { - BuildProject(":mozilla:xpfe:bootstrap:macbuild:StaticMerge.xml", "StaticMergeDummy$D.o"); - } - - BuildProject(":mozilla:xpfe:bootstrap:macbuild:apprunner.xml", "apprunner$C$D"); - - # build tool to create Component Registry in release builds only. - if (!($main::DEBUG)) { - BuildProject(":mozilla:xpcom:tools:registry:macbuild:RegXPCOM.xml", "RegXPCOM"); - } - - # build XPCShell to test the cache in debugging builds only. - if ($main::DEBUG) { - BuildProject(":mozilla:js:macbuild:XPCShell.xml", "XPCShellDebug"); - } - - # copy command line documents into the Apprunner folder and set correctly the signature - my($dist_dir) = GetBinDirectory(); - my($cmd_file_path) = ":mozilla:xpfe:bootstrap:"; - my($cmd_file) = ""; - - $cmd_file = "Mozilla Select Profile"; - copy( $cmd_file_path . "Mozilla_Select_Profile", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Profile Wizard"; - copy( $cmd_file_path . "Mozilla_Profile_Wizard", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Profile Manager"; - copy( $cmd_file_path . "Mozilla_Profile_Manager", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Profile Migration"; - copy( $cmd_file_path . "Mozilla_Installer", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Addressbook"; - copy( $cmd_file_path . "Mozilla_Addressbook", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Editor"; - copy( $cmd_file_path . "Mozilla_Editor", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Message Compose"; - copy( $cmd_file_path . "Mozilla_Message_Compose", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Messenger"; - copy( $cmd_file_path . "Mozilla_Messenger", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Preferences"; - copy( $cmd_file_path . "Mozilla_Preference", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "NSPR Logging"; - copy( $cmd_file_path . "Mozilla_NSPR_Log", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla JavaScript Console"; - copy( $cmd_file_path . "Mozilla_JavaScript_Console", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - - $cmd_file = "Mozilla Bloat URLs"; - copy( $cmd_file_path . "Mozilla_Bloat_URLs", $dist_dir . $cmd_file ); - MacPerl::SetFileInfo("MOZZ", "CMDL", $dist_dir . $cmd_file); - copy( ":mozilla:build:bloaturls.txt", $dist_dir . "bloaturls.txt" ); - - EndBuildModule("apprunner"); -} - - -#//-------------------------------------------------------------------------------------------------- -#// Build everything -#//-------------------------------------------------------------------------------------------------- - -sub BuildProjects() -{ - # activate CodeWarrior - ActivateApplication('CWIE'); - - PrepareBuild(); - - if ($main::RUNTIME) - { - BuildStubs(); - BuildRuntimeProjects(); - return; - } - - BuildXPIDLCompiler(); - BuildIDLProjects(); - BuildStubs(); - BuildRuntimeProjects(); - BuildCommonProjects(); - BuildImglibProjects(); - BuildImglib2Projects(); - BuildNeckoProjects(); - BuildSecurityProjects(); - BuildBrowserUtilsProjects(); - BuildInternationalProjects(); - BuildLayoutProjects(); - BuildAccessiblityProjects(); - BuildEditorProjects(); - BuildEmbeddingProjects(); - BuildViewerProjects(); - BuildXPAppProjects(); - BuildExtensionsProjects(); - BuildPluginsProjects(); - BuildMailNewsProjects(); - BuildMozilla(); - # do this last so as not to pollute dist with - # non-include files before building projects. - BuildResources(); -} - - -1; diff --git a/build/mac/build_scripts/MozillaCheckoutList.txt b/build/mac/build_scripts/MozillaCheckoutList.txt deleted file mode 100644 index b73f3a581d83..000000000000 --- a/build/mac/build_scripts/MozillaCheckoutList.txt +++ /dev/null @@ -1,23 +0,0 @@ -# List of modules to check out. Format is -# module, (tag), (date) -# where tag and date are optional (non-trailing commas are required) -# -# Examples: -# mozilla/nsprpub, NSPRPUB_CLIENT_TAG -# mozilla/gc, , 10/25/2000 12:00:00 -# - -mozilla/nsprpub, NSPRPUB_PRE_4_2_CLIENT_BRANCH -mozilla/security/nss, NSS_CLIENT_TAG -mozilla/security/manager, -mozilla/accessible, -mozilla/directory/c-sdk, ldapcsdk_50_client_branch -mozilla/lib/mac/Instrumentation -mozilla/modules/libpr0n -SeaMonkeyAll -## You need this if you want to be able to use SVG -## Note that this library is under the LGPL, not the MPL -#mozilla/other-licenses/libart_lgpl -## You need the following two if you want to use calendar. -mozilla/calendar -mozilla/other-licenses/libical diff --git a/build/mac/build_scripts/PullMozilla.pl b/build/mac/build_scripts/PullMozilla.pl deleted file mode 100644 index 112d1be9255d..000000000000 --- a/build/mac/build_scripts/PullMozilla.pl +++ /dev/null @@ -1,79 +0,0 @@ -#!perl - -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# Simon Fraser -# - -require 5.004; - -use strict; - -use Cwd; -use Moz::BuildUtils; -use Moz::BuildCore; - -#------------------------------------------------------------- -# Where have the build options gone? -# -# The various build flags have been centralized into one place. -# The master list of options is in MozBuildFlags.txt. However, -# you should never need to edit that file, or this one. -# -# To customize what gets built, or where to start the build, -# edit the $prefs_file_name file in -# System Folder:Preferences:Mozilla build prefs: -# Documentation is provided in that file. -#------------------------------------------------------------- - -my($prefs_file_name) = "Mozilla pull prefs"; - -#------------------------------------------------------------- -# hashes to hold build options -#------------------------------------------------------------- -my(%build); -my(%options); -my(%filepaths); -my(%optiondefines); - -# Hash of input files for this build. Eventually, there will be -# input files for manifests, and projects too. -my(%inputfiles) = ( - "buildflags", "MozillaBuildFlags.txt", - "checkoutdata", "MozillaCheckoutList.txt", - "buildprogress", "", - "buildmodule", "MozillaBuildList.pm", - "checkouttime", "Mozilla last checkout" -); -#------------------------------------------------------------- -# end build hashes -#------------------------------------------------------------- - -# set the build root directory, which is the the dir above mozilla -SetupBuildRootDir(":mozilla:build:mac:build_scripts"); - -# Set up all the flags on $main::, like DEBUG, CARBON etc. -# Override the defaults using the preferences files. -SetupDefaultBuildOptions(0, ":mozilla:dist:viewer:", ""); - -my($do_checkout) = 1; -my($do_build) = 0; - -RunBuild($do_checkout, $do_build, \%inputfiles, $prefs_file_name); diff --git a/build/mac/test/README b/build/mac/test/README deleted file mode 100644 index 231f69b246a3..000000000000 --- a/build/mac/test/README +++ /dev/null @@ -1,4 +0,0 @@ -This directory is merely here to test the project editor server. It will go away after -it is validated. For more information, see http://camelot. - -Testing watchers. diff --git a/build/mac/test/scriptmenu b/build/mac/test/scriptmenu deleted file mode 100644 index 3cba2977687f..000000000000 Binary files a/build/mac/test/scriptmenu and /dev/null differ diff --git a/build/mac/test/test.mcp b/build/mac/test/test.mcp deleted file mode 100644 index 9de13925bdf9..000000000000 Binary files a/build/mac/test/test.mcp and /dev/null differ diff --git a/build/mac/test/test1.cpp b/build/mac/test/test1.cpp deleted file mode 100644 index a7adae74b009..000000000000 --- a/build/mac/test/test1.cpp +++ /dev/null @@ -1 +0,0 @@ -// test1.cpp diff --git a/build/mac/test/test2.cpp b/build/mac/test/test2.cpp deleted file mode 100644 index f44d4276a425..000000000000 --- a/build/mac/test/test2.cpp +++ /dev/null @@ -1 +0,0 @@ -// test2.cpp diff --git a/build/mac/test/test2.mcp b/build/mac/test/test2.mcp deleted file mode 100644 index a8880c9d4b84..000000000000 Binary files a/build/mac/test/test2.mcp and /dev/null differ diff --git a/build/mac/test/test3.cpp b/build/mac/test/test3.cpp deleted file mode 100644 index f44d4276a425..000000000000 --- a/build/mac/test/test3.cpp +++ /dev/null @@ -1 +0,0 @@ -// test2.cpp diff --git a/build/mac/test/test3.mcp b/build/mac/test/test3.mcp deleted file mode 100644 index 3579488493d2..000000000000 Binary files a/build/mac/test/test3.mcp and /dev/null differ diff --git a/build/mac/test/test4.mcp b/build/mac/test/test4.mcp deleted file mode 100644 index 10c46b3a8199..000000000000 Binary files a/build/mac/test/test4.mcp and /dev/null differ diff --git a/build/mac/test/test5.cpp b/build/mac/test/test5.cpp deleted file mode 100644 index 578a1946f838..000000000000 --- a/build/mac/test/test5.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// test2.cpp - -as -dfasdf \ No newline at end of file diff --git a/build/mac/tools/BuildSystemInfo/BuildSystemInfo.cpp b/build/mac/tools/BuildSystemInfo/BuildSystemInfo.cpp deleted file mode 100644 index e7514199f7fc..000000000000 --- a/build/mac/tools/BuildSystemInfo/BuildSystemInfo.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include - -#include - -int main(int argc, char* argv[]) -{ - FILE* file = fopen("BuildSystemInfo.pm", "w"); - if (file != NULL) { - fprintf(file, "$UNIVERSAL_INTERFACES_VERSION=0x%04X;\n", UNIVERSAL_INTERFACES_VERSION); - fclose(file); - } -} diff --git a/build/mac/tools/BuildSystemInfo/BuildSystemInfo.mcp b/build/mac/tools/BuildSystemInfo/BuildSystemInfo.mcp deleted file mode 100644 index 72818353398c..000000000000 Binary files a/build/mac/tools/BuildSystemInfo/BuildSystemInfo.mcp and /dev/null differ diff --git a/config/mac/DefinesMac.h b/config/mac/DefinesMac.h deleted file mode 100644 index cd72bde5cd48..000000000000 --- a/config/mac/DefinesMac.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef DefinesMac_h_ -#define DefinesMac_h_ - -/* - This is a common prefix file, included for both projects like - NSStdLib and Mozilla. -*/ - -/* enable to start building for Carbon */ -#if TARGET_CARBON -#define PP_Target_Carbon 1 -#define OLDP2C 1 -#endif - -/* Some build-wide Mac-related defines */ -#define macintosh /* macintosh is defined for GUSI */ -#define XP_MAC 1 - -/* We have to do this here because ConditionalMacros.h will be included from - * within OpenTptInternet.h and will stupidly define these to 1 if they - * have not been previously defined. The new PowerPlant (CWPro1) requires that - * this be set to 0. (pinkerton) - */ -#define OLDROUTINENAMES 0 -#ifndef OLDROUTINELOCATIONS -#define OLDROUTINELOCATIONS 0 -#endif - -/* We used to define OTUNIXERRORS so that OpenTransport.h would define these errors - * We can't do this with CW 7 because it causes conflict with definitions in - * errno.h. - */ -//#define OTUNIXERRORS 1 - -#ifdef DEBUG -#define DEVELOPER_DEBUG 1 -#else -#define NDEBUG -#endif - -/* Some other random defines */ -#define _NO_FAST_STRING_INLINES_ 1 -#define _PR_NO_PREEMPT 1 -///#define HAVE_BOOLEAN 1 // used by JPEG lib -#define CPP_THROW_NEW throw() -#define NEW_H - -#endif /* DefinesMac_h_ */ diff --git a/config/mac/DefinesMozilla.h b/config/mac/DefinesMozilla.h deleted file mode 100644 index 55008b458825..000000000000 --- a/config/mac/DefinesMozilla.h +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef DefinesMozilla_h_ -#define DefinesMozilla_h_ - -// *** Security -//#define NADA_VERSION -//#define EXPORT_VERSION -#define US_VERSION - -// Cookies/SingleSignon/Wallet -#define CookieManagement 1 -#define SingleSignon 1 -#define ClientWallet 1 - -// 98-09-25 mlm - turn on javascript thread safety -#define JS_THREADSAFE 1 - -// External DTD support for XML -#define XML_DTD - -//#define MOZ_PERF_METRICS 1 // Uncomment to get metrics in layout, parser and webshell. - // You also need to define __TIMESIZE_DOUBLE__ in - -// reflow counters, enabled in debug builds and visible via a pref -#ifdef DEBUG -#define MOZ_REFLOW_PERF 1 -#define MOZ_REFLOW_PERF_DSP 1 -#endif - -// *************************************************************************** -// • You typically will not need to change things below here -// *************************************************************************** - -#define MOCHA -#define MOZILLA_CLIENT 1 -#ifndef NETSCAPE -#define NETSCAPE 1 -#endif - -#define OJI 1 - -#ifdef JAVA - #define UNICODE_FONTLIST 1 -#endif - -#define NECKO 1 - -#define MOZILLA_VERSION "1.3b" - -#endif /* DefinesMozilla_h_ */ diff --git a/config/mac/JavaDefines.h b/config/mac/JavaDefines.h deleted file mode 100644 index 31e737c7edda..000000000000 --- a/config/mac/JavaDefines.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* This file is included from the nav-java and sun-java projects */ - -#define MOCHAFILE 1 -#define COMPILER 0 - -#define VERSION_NUMBER "40" -#define JAR_NAME "java"##VERSION_NUMBER##".jar" diff --git a/config/mac/MANIFEST b/config/mac/MANIFEST deleted file mode 100644 index 27273f3609b7..000000000000 --- a/config/mac/MANIFEST +++ /dev/null @@ -1,18 +0,0 @@ -# -# This is a list of local files which get copied to the mozilla:dist directory -# - -DefinesMac.h -DefinesMozilla.h - -JavaDefines.h - -MacConfigInclude.h - -MacPrefix.h -MacPrefix_debug.h - -MacStaticPrefix.h -MacStaticPrefix_debug.h -MacSharedPrefix.h -MacSharedPrefix_debug.h diff --git a/config/mac/MacConfigInclude.h b/config/mac/MacConfigInclude.h deleted file mode 100644 index b771ad305056..000000000000 --- a/config/mac/MacConfigInclude.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#pragma once - -/* - This is included as a prefix file in all Mac projects. It ensures that - the correct #defines are set up for this build. - - Since this is included from C files, comments should be C-style. - - Order below does matter. -*/ - -/* Read generated build options (written at build time). */ -#ifdef DEBUG -#include "DefinesOptionsDebug.h" -#else -#include "DefinesOptions.h" -#endif - -/* Read compiler options */ -#include "IDE_Options.h" - -/* Read file of defines global to the Mac build */ -#include "DefinesMac.h" - -/* Read build-wide defines (e.g. MOZILLA_CLIENT) */ -#include "DefinesMozilla.h" diff --git a/config/mac/MacPrefix.h b/config/mac/MacPrefix.h deleted file mode 100644 index dd03313359a1..000000000000 --- a/config/mac/MacPrefix.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#undef DEBUG -#undef Debug_Throw -#undef Debug_Signal -#undef txtnDebug - -/* Read the common configuration file */ -#ifndef MacConfigInclude_h_ -#include "MacConfigInclude.h" -#endif diff --git a/config/mac/MacPrefix_debug.h b/config/mac/MacPrefix_debug.h deleted file mode 100644 index 7ed1a4c5ce3a..000000000000 --- a/config/mac/MacPrefix_debug.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#define DEBUG 1 -#define Debug_Throw -#define Debug_Signal -#define txtnDebug - -/* Read the common configuration file */ -#ifndef MacConfigInclude_h_ -#include "MacConfigInclude.h" -#endif diff --git a/config/mac/MacSharedPrefix.h b/config/mac/MacSharedPrefix.h deleted file mode 100644 index a05502bd5d2d..000000000000 --- a/config/mac/MacSharedPrefix.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#define MAC_SHARED 1 - -#include "MacPrefix.h" \ No newline at end of file diff --git a/config/mac/MacSharedPrefix_debug.h b/config/mac/MacSharedPrefix_debug.h deleted file mode 100644 index aa8e6128ff28..000000000000 --- a/config/mac/MacSharedPrefix_debug.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#define MAC_SHARED 1 - -#include "MacPrefix_debug.h" diff --git a/config/mac/MacStaticPrefix.h b/config/mac/MacStaticPrefix.h deleted file mode 100644 index a996f98b10c5..000000000000 --- a/config/mac/MacStaticPrefix.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#define MAC_STATIC 1 - -#include "MacPrefix.h" \ No newline at end of file diff --git a/config/mac/MacStaticPrefix_debug.h b/config/mac/MacStaticPrefix_debug.h deleted file mode 100644 index a6b750099108..000000000000 --- a/config/mac/MacStaticPrefix_debug.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#define MAC_STATIC 1 - -#include "MacPrefix_debug.h" \ No newline at end of file diff --git a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.mcp b/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.mcp deleted file mode 100644 index 807f9d90fab3..000000000000 Binary files a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.mcp and /dev/null differ diff --git a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.xml b/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.xml deleted file mode 100644 index 026101459e27..000000000000 --- a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple Plugin.xml +++ /dev/null @@ -1,2136 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - SimplePluginCarbon - - - - UserSourceTrees - - - AlwaysSearchUserPathsfalse - InterpretDOSAndUnixPathsfalse - RequireFrameworkStyleIncludesfalse - UserSearchPaths - - SearchPath - Path:: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:::include: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:::common: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path::::include: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SystemSearchPaths - - SearchPath - Path:MSL: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:MacOS Support: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsMacOS - - - - - MWRuntimeSettings_WorkingDirectory - MWRuntimeSettings_CommandLine - MWRuntimeSettings_HostApplication - Path - PathFormatGeneric - PathRootAbsolute - - MWRuntimeSettings_EnvVars - - - LinkerMacOS PPC Linker - PreLinker - PostLinker - TargetnameSimplePluginCarbon - OutputDirectory - Path: - PathFormatMacOS - PathRootProject - - SaveEntriesUsingRelativePathsfalse - - - FileMappings - - FileTypeAPPL - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeAppl - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeMMLB - FileExtension - CompilerLib Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeMPLF - FileExtension - CompilerLib Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeMWCD - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeRSRC - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.bh - CompilerBalloon Help - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c++ - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cc - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cp - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cpp - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.exp - Compiler - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.h - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMaketrue - - - FileTypeTEXT - FileExtension.p - CompilerMW Pascal PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pas - CompilerMW Pascal PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pch - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompiletrue - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pch++ - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompiletrue - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.r - CompilerRez - EditLanguageRez - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.s - CompilerPPCAsm - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeXCOF - FileExtension - CompilerXCOFF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypedocu - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypersrc - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeshlb - FileExtension - CompilerPEF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypestub - FileExtension - CompilerPEF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileExtension.doc - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFilefalse - IgnoredByMaketrue - - - - - CacheModDatesfalse - ActivateBrowserfalse - DumpBrowserInfofalse - CacheSubprojectsfalse - UseThirdPartyDebuggerfalse - DebuggerAppPath - Path - PathFormatGeneric - PathRootAbsolute - - DebuggerCmdLineArgs - DebuggerWorkingDir - Path - PathFormatGeneric - PathRootAbsolute - - - - LogSystemMessagestrue - AutoTargetDLLstrue - StopAtWatchpointstrue - PauseWhileRunningfalse - PauseInterval5 - PauseUIFlags0 - AltExePath - Path - PathFormatGeneric - PathRootAbsolute - - StopAtTempBPOnLaunchtrue - CacheSymbolicstrue - TempBPFunctionNamemain - TempBPType0 - - - Enabledfalse - ConnectionName - DownloadPath - LaunchRemoteAppfalse - RemoteAppPath - - - OtherExecutables - - - CustomColor1 - Red0 - Green39321 - Blue0 - - CustomColor2 - Red0 - Green32767 - Blue0 - - CustomColor3 - Red0 - Green32767 - Blue0 - - CustomColor4 - Red0 - Green32767 - Blue0 - - - - MWFrontEnd_C_cplusplus0 - MWFrontEnd_C_checkprotos1 - MWFrontEnd_C_arm0 - MWFrontEnd_C_trigraphs0 - MWFrontEnd_C_onlystdkeywords0 - MWFrontEnd_C_enumsalwaysint1 - MWFrontEnd_C_mpwpointerstyle0 - MWFrontEnd_C_prefixnamepluginCarbonPrefix.h - MWFrontEnd_C_ansistrict0 - MWFrontEnd_C_mpwcnewline0 - MWFrontEnd_C_wchar_type1 - MWFrontEnd_C_enableexceptions0 - MWFrontEnd_C_dontreusestrings0 - MWFrontEnd_C_poolstrings0 - MWFrontEnd_C_dontinline0 - MWFrontEnd_C_useRTTI0 - MWFrontEnd_C_multibyteaware0 - MWFrontEnd_C_unsignedchars0 - MWFrontEnd_C_autoinline0 - MWFrontEnd_C_booltruefalse1 - MWFrontEnd_C_direct_to_som0 - MWFrontEnd_C_som_env_check0 - MWFrontEnd_C_alwaysinline0 - MWFrontEnd_C_inlinelevel0 - MWFrontEnd_C_ecplusplus0 - MWFrontEnd_C_objective_c0 - MWFrontEnd_C_defer_codegen0 - - - MWWarning_C_warn_illpragma1 - MWWarning_C_warn_emptydecl1 - MWWarning_C_warn_possunwant1 - MWWarning_C_warn_unusedvar1 - MWWarning_C_warn_unusedarg0 - MWWarning_C_warn_extracomma1 - MWWarning_C_pedantic1 - MWWarning_C_warningerrors0 - MWWarning_C_warn_hidevirtual1 - MWWarning_C_warn_implicitconv0 - MWWarning_C_warn_notinlined0 - MWWarning_C_warn_structclass0 - - - MWFTP_Post_hostName - MWFTP_Post_username - MWFTP_Post_password0 - MWFTP_Post_remoteDir - MWFTP_Post_ftp_PathVersion0 - MWFTP_Post_ftp_PathType0 - MWFTP_Post_ftp_PathFormat0 - MWFTP_Post_ftp_tree - MWFTP_Post_uploadDir - MWFTP_Post_ftp_port21 - MWFTP_Post_SendBin1 - MWFTP_Post_ShouldLog1 - - - MWCommandLine_Java_clsName - MWCommandLine_Java_args - - - MWVJavaDebugging_Protocol1 - MWVJavaDebugging_JDKVersion1 - MWVJavaDebugging_TimeOut10 - MWVJavaDebugging_SupportSlowDevicesfalse - - - MWJava_Language_optimizefalse - MWJava_Language_warnDeprecatedfalse - MWJava_Language_emitMapfalse - MWJava_Language_strictFileNamesfalse - MWJava_Language_strictFileHierarchyfalse - MWJava_Language_1_1_Compatiblefalse - MWJava_Language_emitHeaders0 - MWJava_Language_headerTypeJNINativeHeaders - MWJava_Language_packageFilter - MWJava_Language_genCommentstrue - MWJava_Language_genHeadersfalse - - - MWJava_MRJAppBuilder_outFileMRJApplication - MWJava_MRJAppBuilder_mergefalse - MWJava_MRJAppBuilder_quitMenutrue - MWJava_MRJAppBuilder_growfalse - MWJava_MRJAppBuilder_stdoutTypeConsole - MWJava_MRJAppBuilder_stderrTypeConsole - MWJava_MRJAppBuilder_stdinTypeConsole - MWJava_MRJAppBuilder_appIconPVersion0 - MWJava_MRJAppBuilder_appIconPType0 - MWJava_MRJAppBuilder_appIconPFormat0 - MWJava_MRJAppBuilder_appIconPTree - MWJava_MRJAppBuilder_appIconFile - MWJava_MRJAppBuilder_splashScreenPVersion0 - MWJava_MRJAppBuilder_splashScreenPType0 - MWJava_MRJAppBuilder_splashScreenPFormat0 - MWJava_MRJAppBuilder_splashScreenPTree - MWJava_MRJAppBuilder_splashScreenPICTFile - MWJava_MRJAppBuilder_aboutName - MWJava_MRJAppBuilder_stdoutPVersion0 - MWJava_MRJAppBuilder_stdoutPType0 - MWJava_MRJAppBuilder_stdoutPFormat0 - MWJava_MRJAppBuilder_stdoutPTree - MWJava_MRJAppBuilder_stdoutFile - MWJava_MRJAppBuilder_stdoutAppendfalse - MWJava_MRJAppBuilder_stderrPType0 - MWJava_MRJAppBuilder_stderrPFormat0 - MWJava_MRJAppBuilder_stderrPTree - MWJava_MRJAppBuilder_stderrFile - MWJava_MRJAppBuilder_stderrAppendfalse - MWJava_MRJAppBuilder_stdinPType0 - MWJava_MRJAppBuilder_stdinPFormat0 - MWJava_MRJAppBuilder_stdinPTree - MWJava_MRJAppBuilder_stdinFile - - - MWJava_Output_outputtypeJarFile - MWJava_Output_outfileJavaClasses.jar - MWJava_Output_ftype1514754080 - MWJava_Output_fcreator1297570384 - MWJava_Output_compress0 - MWJava_Output_genManifest0 - MWJava_Output_trunctypeFront - MWJava_Output_deleteClasses0 - MWJava_Output_consoleApp1 - - - MWJava_Proj_projtypeApplet - MWJava_Proj_mainClassName - MWJava_Proj_HTMLAppCreator1463898714 - MWJava_Proj_HTMLAppName - MWJava_Proj_PathVersion0 - MWJava_Proj_PathType0 - MWJava_Proj_PathFormat0 - MWJava_Proj_tree - MWJava_Proj_HTMLAppWin32Name - MWJava_Proj_compress0 - MWJava_Proj_useVM1 - MWJava_Proj_vmarguments - MWJava_Proj_vmName - MWJava_Proj_simPropFile - - - MWJavaDoc_Proj_Version1 - MWJavaDoc_Proj_Depricated1 - MWJavaDoc_Proj_Author1 - MWJavaDoc_Proj_Index1 - MWJavaDoc_Proj_Tree1 - MWJavaDoc_Proj_SunResolveToSame0 - MWJavaDoc_Proj_Shortnames1 - MWJavaDoc_Proj_Folder0 - MWJavaDoc_Proj_GenerateAPILinks0 - MWJavaDoc_Proj_scopePublic - MWJavaDoc_Proj_fcreator1297303877 - MWJavaDoc_Proj_encodingName - MWJavaDoc_Proj_decodingName - MWJavaDoc_Proj_javaPackagePathhttp://java.sun.com/products/jdk/1.1/docs/api/ - - - MWMerge_MacOS_projectTypeApplication - MWMerge_MacOS_outputNameMerge Out - MWMerge_MacOS_outputCreator???? - MWMerge_MacOS_outputTypeAPPL - MWMerge_MacOS_suppressWarning0 - MWMerge_MacOS_copyFragments1 - MWMerge_MacOS_copyResources1 - MWMerge_MacOS_flattenResource0 - MWMerge_MacOS_flatFileNamea.rsrc - MWMerge_MacOS_flatFileOutputPath - Path: - PathFormatMacOS - PathRootProject - - MWMerge_MacOS_skipResources - DLGX - ckid - Proj - WSPC - - - - FileLockedfalse - ResourcesMapIsReadOnlyfalse - PrinterDriverIsMultiFinderCompatiblefalse - Invisiblefalse - HasBundlefalse - NameLockedfalse - Stationeryfalse - HasCustomIconfalse - Sharedfalse - HasBeenInitedfalse - Label0 - Comments - - - MWMacOSPackager_UsePackager0 - MWMacOSPackager_FolderToPackage - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreateClassicAlias0 - MWMacOSPackager_ClassicAliasMethodUseTargetOutput - MWMacOSPackager_ClassicAliasPath - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreatePkgInfo0 - MWMacOSPackager_PkgCreatorType???? - MWMacOSPackager_PkgFileTypeAPPL - - - MWCodeGen_PPC_structalignmentMC68K - MWCodeGen_PPC_tracebacktablesNone - MWCodeGen_PPC_processorGeneric - MWCodeGen_PPC_readonlystrings0 - MWCodeGen_PPC_tocdata1 - MWCodeGen_PPC_profiler0 - MWCodeGen_PPC_fpcontract1 - MWCodeGen_PPC_schedule0 - MWCodeGen_PPC_peephole0 - MWCodeGen_PPC_processorspecific0 - MWCodeGen_PPC_altivec0 - MWCodeGen_PPC_vectortocdata1 - MWCodeGen_PPC_vrsave0 - - - MWCodeGen_MachO_structalignmentPPC - MWCodeGen_MachO_tracebacktablesNone - MWCodeGen_MachO_processorGeneric - MWCodeGen_MachO_readonlystrings0 - MWCodeGen_MachO_profiler0 - MWCodeGen_MachO_fpcontract1 - MWCodeGen_MachO_schedule0 - MWCodeGen_MachO_peephole1 - MWCodeGen_MachO_processorspecific0 - MWCodeGen_MachO_altivec0 - MWCodeGen_MachO_vrsave1 - MWCodeGen_MachO_common0 - MWCodeGen_MachO_implicit_templates1 - - - MWDisassembler_PPC_showcode1 - MWDisassembler_PPC_extended1 - MWDisassembler_PPC_mix0 - MWDisassembler_PPC_nohex0 - MWDisassembler_PPC_showdata1 - MWDisassembler_PPC_showexceptions1 - MWDisassembler_PPC_showsym0 - MWDisassembler_PPC_shownames1 - - - GlobalOptimizer_PPC_optimizationlevelLevel0 - GlobalOptimizer_PPC_optforSpeed - - - MWLinker_PPC_linksym1 - MWLinker_PPC_symfullpath1 - MWLinker_PPC_linkmap0 - MWLinker_PPC_nolinkwarnings0 - MWLinker_PPC_dontdeadstripinitcode0 - MWLinker_PPC_permitmultdefs0 - MWLinker_PPC_linkmodeFast - MWLinker_PPC_initname - MWLinker_PPC_mainnamemain - MWLinker_PPC_termname - - - MWLinker_MachO_exportsNone - MWLinker_MachO_mainnamestart - MWLinker_MachO_currentversion0 - MWLinker_MachO_compatibleversion0 - MWLinker_MachO_symfullpath0 - MWLinker_MachO_supresswarnings0 - MWLinker_MachO_multisymerror0 - MWLinker_MachO_prebind1 - MWLinker_MachO_deadstrip1 - MWLinker_MachO_objectivecsemantics0 - MWLinker_MachO_whichfileloaded0 - MWLinker_MachO_whyfileloaded0 - MWLinker_MachO_readonlyrelocsErrors - MWLinker_MachO_undefinedsymbolsErrors - MWLinker_MachO_twolevelnamespace1 - MWLinker_MachO_stripdebugsymbols0 - - - MWProject_MachO_typeExecutable - MWProject_MachO_outfilea.exe - MWProject_MachO_filecreator???? - MWProject_MachO_filetypeMEXE - MWProject_MachO_stacksize64 - MWProject_MachO_stackaddress0 - MWProject_MachO_flatrsrc1 - MWProject_MachO_flatrsrcfilenamea.rsrc - MWProject_MachO_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_MachO_installpath./ - - - MWPEF_exportsPragma - MWPEF_libfolder0 - MWPEF_sortcodeNone - MWPEF_expandbss1 - MWPEF_sharedata0 - MWPEF_olddefversion0 - MWPEF_oldimpversion0 - MWPEF_currentversion0 - MWPEF_fragmentnamenpSimplePlugin - MWPEF_collapsereloads0 - - - MWProject_PPC_typeSharedLibrary - MWProject_PPC_outfileSimple Scriptable Plugin - MWProject_PPC_filecreatorMOSS - MWProject_PPC_filetypeNSPL - MWProject_PPC_size0 - MWProject_PPC_minsize0 - MWProject_PPC_stacksize0 - MWProject_PPC_flags0 - MWProject_PPC_symfilename - MWProject_PPC_rsrcname - MWProject_PPC_rsrcheaderNative - MWProject_PPC_rsrctype???? - MWProject_PPC_rsrcid0 - MWProject_PPC_rsrcflags0 - MWProject_PPC_rsrcstore0 - MWProject_PPC_rsrcmerge0 - MWProject_PPC_flatrsrc0 - MWProject_PPC_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_PPC_flatrsrcfilename - - - MWAssembler_PPC_auxheader0 - MWAssembler_PPC_symmodeMac - MWAssembler_PPC_dialectPPC - MWAssembler_PPC_prefixfile - MWAssembler_PPC_typecheck0 - MWAssembler_PPC_warnings0 - MWAssembler_PPC_casesensitive0 - - - MWRez_Language_maxwidth80 - MWRez_Language_scriptRoman - MWRez_Language_alignmentAlign1 - MWRez_Language_filtermodeFilterSkip - MWRez_Language_suppresswarnings0 - MWRez_Language_escapecontrolchars1 - MWRez_Language_prefixname - MWRez_Language_filteredtypes'CODE' 'DATA' 'PICT' - - - MWWinRC_prefixname - - - MWCodeGen_X86_processorGeneric - MWCodeGen_X86_alignmentbytes8 - MWCodeGen_X86_exceptionsZeroOverhead - MWCodeGen_X86_extinst_mmx0 - MWCodeGen_X86_extinst_3dnow0 - MWCodeGen_X86_use_mmx_3dnow_convention0 - MWCodeGen_X86_machinecodelisting0 - MWCodeGen_X86_intrinsics0 - MWCodeGen_X86_syminfo0 - MWCodeGen_X86_codeviewinfo1 - MWCodeGen_X86_extinst_cmov_fcomi0 - MWCodeGen_X86_extinst_sse0 - - - PDisasmX86_showHeaderstrue - PDisasmX86_showSymTabtrue - PDisasmX86_showCodetrue - PDisasmX86_showSourcefalse - PDisasmX86_showHextrue - PDisasmX86_showRelocationtrue - PDisasmX86_showCommentsfalse - PDisasmX86_showDebugfalse - PDisasmX86_showExceptionsfalse - PDisasmX86_showDatatrue - PDisasmX86_showRawfalse - PDisasmX86_verbosefalse - - - MWDebugger_X86_Exceptions - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - GlobalOptimizer_X86_optimizationlevelLevel0 - GlobalOptimizer_X86_optforSpeed - - - MWLinker_X86_entrypointusageDefault - MWLinker_X86_entrypoint - MWLinker_X86_subsystemWinGUI - MWLinker_X86_subsysmajorid4 - MWLinker_X86_subsysminorid0 - MWLinker_X86_usrmajorid0 - MWLinker_X86_usrminorid0 - MWLinker_X86_commandfile - MWLinker_X86_generatemap0 - MWLinker_X86_linksym0 - MWLinker_X86_linkCV1 - - - MWProject_X86_typeApplication - MWProject_X86_outfilenoname.exe - MWProject_X86_baseaddress4194304 - MWProject_X86_maxstacksize1024 - MWProject_X86_minstacksize4 - MWProject_X86_size1024 - MWProject_X86_minsize4 - MWProject_X86_importlib - xpidl Settings - 0001000101000000000000000000000000000000000000000000000000000000 - 0000000000000000 - - - - - Name - MSL_Runtime_PPC.Lib - MacOS - Library - - - - Name - npp_gate.cpp - MacOS - Text - Debug - - - Name - Simple.rsrc - MacOS - Resource - Debug - - - Name - npn_gate.cpp - MacOS - Text - Debug - - - Name - np_entry.cpp - MacOS - Text - Debug - - - Name - CarbonLib - MacOS - Library - Debug - - - Name - MSL_C_Carbon.Lib - MacOS - Library - Debug - - - Name - console.stubs.c - MacOS - Text - Debug - - - Name - plugin.cpp - MacOS - Text - Debug - - - Name - nsScriptablePeer.cpp - MacOS - Text - Debug - - - - - Name - npp_gate.cpp - MacOS - - - Name - npn_gate.cpp - MacOS - - - Name - np_entry.cpp - MacOS - - - Name - Simple.rsrc - MacOS - - - Name - MSL_Runtime_PPC.Lib - MacOS - - - Name - CarbonLib - MacOS - - - Name - MSL_C_Carbon.Lib - MacOS - - - Name - console.stubs.c - MacOS - - - Name - plugin.cpp - MacOS - - - Name - nsScriptablePeer.cpp - MacOS - - - - - SimplePlugin - - - - UserSourceTrees - - - AlwaysSearchUserPathsfalse - InterpretDOSAndUnixPathsfalse - RequireFrameworkStyleIncludesfalse - UserSearchPaths - - SearchPath - Path:: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:::include: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:::common: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path::::include: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SystemSearchPaths - - SearchPath - Path:MSL: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:MacOS Support: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsMacOS - - - - - MWRuntimeSettings_WorkingDirectory - MWRuntimeSettings_CommandLine - MWRuntimeSettings_HostApplication - Path - PathFormatGeneric - PathRootAbsolute - - MWRuntimeSettings_EnvVars - - - LinkerMacOS PPC Linker - PreLinker - PostLinker - TargetnameSimplePlugin - OutputDirectory - Path: - PathFormatMacOS - PathRootProject - - SaveEntriesUsingRelativePathsfalse - - - FileMappings - - FileTypeAPPL - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeAppl - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeMMLB - FileExtension - CompilerLib Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeMPLF - FileExtension - CompilerLib Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeMWCD - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeRSRC - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.bh - CompilerBalloon Help - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c++ - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cc - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cp - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.cpp - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.exp - Compiler - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.h - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMaketrue - - - FileTypeTEXT - FileExtension.p - CompilerMW Pascal PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pas - CompilerMW Pascal PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pch - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompiletrue - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.pch++ - CompilerMW C/C++ PPC - EditLanguageC/C++ - Precompiletrue - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.r - CompilerRez - EditLanguageRez - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.s - CompilerPPCAsm - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeXCOF - FileExtension - CompilerXCOFF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypedocu - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypersrc - FileExtension - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeshlb - FileExtension - CompilerPEF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypestub - FileExtension - CompilerPEF Import PPC - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileExtension.doc - Compiler - EditLanguage - Precompilefalse - Launchabletrue - ResourceFilefalse - IgnoredByMaketrue - - - - - CacheModDatesfalse - ActivateBrowsertrue - DumpBrowserInfofalse - CacheSubprojectstrue - UseThirdPartyDebuggerfalse - DebuggerAppPath - Path - PathFormatGeneric - PathRootAbsolute - - DebuggerCmdLineArgs - DebuggerWorkingDir - Path - PathFormatGeneric - PathRootAbsolute - - - - LogSystemMessagestrue - AutoTargetDLLsfalse - StopAtWatchpointstrue - PauseWhileRunningfalse - PauseInterval5 - PauseUIFlags0 - AltExePath - Path - PathFormatGeneric - PathRootAbsolute - - StopAtTempBPOnLaunchtrue - CacheSymbolicstrue - TempBPFunctionNamemain - TempBPType0 - - - Enabledfalse - ConnectionName - DownloadPath - LaunchRemoteAppfalse - RemoteAppPath - - - OtherExecutables - - - CustomColor1 - Red0 - Green39321 - Blue0 - - CustomColor2 - Red0 - Green32767 - Blue0 - - CustomColor3 - Red0 - Green32767 - Blue0 - - CustomColor4 - Red0 - Green32767 - Blue0 - - - - MWFrontEnd_C_cplusplus0 - MWFrontEnd_C_checkprotos1 - MWFrontEnd_C_arm0 - MWFrontEnd_C_trigraphs0 - MWFrontEnd_C_onlystdkeywords0 - MWFrontEnd_C_enumsalwaysint1 - MWFrontEnd_C_mpwpointerstyle0 - MWFrontEnd_C_prefixnamepluginPrefix.h - MWFrontEnd_C_ansistrict0 - MWFrontEnd_C_mpwcnewline0 - MWFrontEnd_C_wchar_type1 - MWFrontEnd_C_enableexceptions0 - MWFrontEnd_C_dontreusestrings0 - MWFrontEnd_C_poolstrings0 - MWFrontEnd_C_dontinline0 - MWFrontEnd_C_useRTTI0 - MWFrontEnd_C_multibyteaware0 - MWFrontEnd_C_unsignedchars0 - MWFrontEnd_C_autoinline0 - MWFrontEnd_C_booltruefalse1 - MWFrontEnd_C_direct_to_som0 - MWFrontEnd_C_som_env_check0 - MWFrontEnd_C_alwaysinline0 - MWFrontEnd_C_inlinelevel0 - MWFrontEnd_C_ecplusplus0 - MWFrontEnd_C_objective_c0 - MWFrontEnd_C_defer_codegen0 - - - MWWarning_C_warn_illpragma1 - MWWarning_C_warn_emptydecl1 - MWWarning_C_warn_possunwant1 - MWWarning_C_warn_unusedvar1 - MWWarning_C_warn_unusedarg0 - MWWarning_C_warn_extracomma1 - MWWarning_C_pedantic1 - MWWarning_C_warningerrors0 - MWWarning_C_warn_hidevirtual1 - MWWarning_C_warn_implicitconv0 - MWWarning_C_warn_notinlined0 - MWWarning_C_warn_structclass0 - - - MWFTP_Post_hostName - MWFTP_Post_username - MWFTP_Post_password0 - MWFTP_Post_remoteDir - MWFTP_Post_ftp_PathVersion0 - MWFTP_Post_ftp_PathType0 - MWFTP_Post_ftp_PathFormat0 - MWFTP_Post_ftp_tree - MWFTP_Post_uploadDir - MWFTP_Post_ftp_port21 - MWFTP_Post_SendBin1 - MWFTP_Post_ShouldLog1 - - - MWCommandLine_Java_clsName - MWCommandLine_Java_args - - - MWVJavaDebugging_Protocol1 - MWVJavaDebugging_JDKVersion1 - MWVJavaDebugging_TimeOut10 - MWVJavaDebugging_SupportSlowDevicesfalse - - - MWJava_Language_optimizefalse - MWJava_Language_warnDeprecatedfalse - MWJava_Language_emitMapfalse - MWJava_Language_strictFileNamesfalse - MWJava_Language_strictFileHierarchyfalse - MWJava_Language_1_1_Compatiblefalse - MWJava_Language_emitHeaders0 - MWJava_Language_headerTypeJNINativeHeaders - MWJava_Language_packageFilter - MWJava_Language_genCommentstrue - MWJava_Language_genHeadersfalse - - - MWJava_MRJAppBuilder_outFileMRJApplication - MWJava_MRJAppBuilder_mergefalse - MWJava_MRJAppBuilder_quitMenutrue - MWJava_MRJAppBuilder_growfalse - MWJava_MRJAppBuilder_stdoutTypeConsole - MWJava_MRJAppBuilder_stderrTypeConsole - MWJava_MRJAppBuilder_stdinTypeConsole - MWJava_MRJAppBuilder_appIconPVersion0 - MWJava_MRJAppBuilder_appIconPType0 - MWJava_MRJAppBuilder_appIconPFormat0 - MWJava_MRJAppBuilder_appIconPTree - MWJava_MRJAppBuilder_appIconFile - MWJava_MRJAppBuilder_splashScreenPVersion0 - MWJava_MRJAppBuilder_splashScreenPType0 - MWJava_MRJAppBuilder_splashScreenPFormat0 - MWJava_MRJAppBuilder_splashScreenPTree - MWJava_MRJAppBuilder_splashScreenPICTFile - MWJava_MRJAppBuilder_aboutName - MWJava_MRJAppBuilder_stdoutPVersion0 - MWJava_MRJAppBuilder_stdoutPType0 - MWJava_MRJAppBuilder_stdoutPFormat0 - MWJava_MRJAppBuilder_stdoutPTree - MWJava_MRJAppBuilder_stdoutFile - MWJava_MRJAppBuilder_stdoutAppendfalse - MWJava_MRJAppBuilder_stderrPType0 - MWJava_MRJAppBuilder_stderrPFormat0 - MWJava_MRJAppBuilder_stderrPTree - MWJava_MRJAppBuilder_stderrFile - MWJava_MRJAppBuilder_stderrAppendfalse - MWJava_MRJAppBuilder_stdinPType0 - MWJava_MRJAppBuilder_stdinPFormat0 - MWJava_MRJAppBuilder_stdinPTree - MWJava_MRJAppBuilder_stdinFile - - - MWJava_Output_outputtypeJarFile - MWJava_Output_outfileJavaClasses.jar - MWJava_Output_ftype1514754080 - MWJava_Output_fcreator1297570384 - MWJava_Output_compress0 - MWJava_Output_genManifest0 - MWJava_Output_trunctypeFront - MWJava_Output_deleteClasses0 - MWJava_Output_consoleApp1 - - - MWJava_Proj_projtypeApplet - MWJava_Proj_mainClassName - MWJava_Proj_HTMLAppCreator1463898714 - MWJava_Proj_HTMLAppName - MWJava_Proj_PathVersion0 - MWJava_Proj_PathType0 - MWJava_Proj_PathFormat0 - MWJava_Proj_tree - MWJava_Proj_HTMLAppWin32Name - MWJava_Proj_compress0 - MWJava_Proj_useVM1 - MWJava_Proj_vmarguments - MWJava_Proj_vmName - MWJava_Proj_simPropFile - - - MWJavaDoc_Proj_Version1 - MWJavaDoc_Proj_Depricated1 - MWJavaDoc_Proj_Author1 - MWJavaDoc_Proj_Index1 - MWJavaDoc_Proj_Tree1 - MWJavaDoc_Proj_SunResolveToSame0 - MWJavaDoc_Proj_Shortnames1 - MWJavaDoc_Proj_Folder0 - MWJavaDoc_Proj_GenerateAPILinks0 - MWJavaDoc_Proj_scopePublic - MWJavaDoc_Proj_fcreator1297303877 - MWJavaDoc_Proj_encodingName - MWJavaDoc_Proj_decodingName - MWJavaDoc_Proj_javaPackagePathhttp://java.sun.com/products/jdk/1.1/docs/api/ - - - MWMerge_MacOS_projectTypeApplication - MWMerge_MacOS_outputNameMerge Out - MWMerge_MacOS_outputCreator???? - MWMerge_MacOS_outputTypeAPPL - MWMerge_MacOS_suppressWarning0 - MWMerge_MacOS_copyFragments1 - MWMerge_MacOS_copyResources1 - MWMerge_MacOS_flattenResource0 - MWMerge_MacOS_flatFileNamea.rsrc - MWMerge_MacOS_flatFileOutputPath - Path: - PathFormatMacOS - PathRootProject - - MWMerge_MacOS_skipResources - DLGX - ckid - Proj - WSPC - - - - FileLockedfalse - ResourcesMapIsReadOnlyfalse - PrinterDriverIsMultiFinderCompatiblefalse - Invisiblefalse - HasBundlefalse - NameLockedfalse - Stationeryfalse - HasCustomIconfalse - Sharedfalse - HasBeenInitedfalse - Label0 - Comments - - - MWMacOSPackager_UsePackager0 - MWMacOSPackager_FolderToPackage - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreateClassicAlias0 - MWMacOSPackager_ClassicAliasMethodUseTargetOutput - MWMacOSPackager_ClassicAliasPath - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreatePkgInfo0 - MWMacOSPackager_PkgCreatorType???? - MWMacOSPackager_PkgFileTypeAPPL - - - MWCodeGen_PPC_structalignmentPPC - MWCodeGen_PPC_tracebacktablesInline - MWCodeGen_PPC_processorGeneric - MWCodeGen_PPC_readonlystrings1 - MWCodeGen_PPC_tocdata1 - MWCodeGen_PPC_profiler0 - MWCodeGen_PPC_fpcontract1 - MWCodeGen_PPC_schedule1 - MWCodeGen_PPC_peephole1 - MWCodeGen_PPC_processorspecific0 - MWCodeGen_PPC_altivec0 - MWCodeGen_PPC_vectortocdata0 - MWCodeGen_PPC_vrsave0 - - - MWCodeGen_MachO_structalignmentPPC - MWCodeGen_MachO_tracebacktablesNone - MWCodeGen_MachO_processorGeneric - MWCodeGen_MachO_readonlystrings0 - MWCodeGen_MachO_profiler0 - MWCodeGen_MachO_fpcontract1 - MWCodeGen_MachO_schedule0 - MWCodeGen_MachO_peephole1 - MWCodeGen_MachO_processorspecific0 - MWCodeGen_MachO_altivec0 - MWCodeGen_MachO_vrsave1 - MWCodeGen_MachO_common0 - MWCodeGen_MachO_implicit_templates1 - - - MWDisassembler_PPC_showcode1 - MWDisassembler_PPC_extended1 - MWDisassembler_PPC_mix0 - MWDisassembler_PPC_nohex0 - MWDisassembler_PPC_showdata1 - MWDisassembler_PPC_showexceptions1 - MWDisassembler_PPC_showsym0 - MWDisassembler_PPC_shownames1 - - - GlobalOptimizer_PPC_optimizationlevelLevel0 - GlobalOptimizer_PPC_optforSpeed - - - MWLinker_PPC_linksym1 - MWLinker_PPC_symfullpath1 - MWLinker_PPC_linkmap0 - MWLinker_PPC_nolinkwarnings0 - MWLinker_PPC_dontdeadstripinitcode0 - MWLinker_PPC_permitmultdefs0 - MWLinker_PPC_linkmodeFast - MWLinker_PPC_initname - MWLinker_PPC_mainnamemain - MWLinker_PPC_termname - - - MWLinker_MachO_exportsNone - MWLinker_MachO_mainnamestart - MWLinker_MachO_currentversion0 - MWLinker_MachO_compatibleversion0 - MWLinker_MachO_symfullpath0 - MWLinker_MachO_supresswarnings0 - MWLinker_MachO_multisymerror0 - MWLinker_MachO_prebind1 - MWLinker_MachO_deadstrip1 - MWLinker_MachO_objectivecsemantics0 - MWLinker_MachO_whichfileloaded0 - MWLinker_MachO_whyfileloaded0 - MWLinker_MachO_readonlyrelocsErrors - MWLinker_MachO_undefinedsymbolsErrors - MWLinker_MachO_twolevelnamespace1 - MWLinker_MachO_stripdebugsymbols0 - - - MWProject_MachO_typeExecutable - MWProject_MachO_outfilea.exe - MWProject_MachO_filecreator???? - MWProject_MachO_filetypeMEXE - MWProject_MachO_stacksize64 - MWProject_MachO_stackaddress0 - MWProject_MachO_flatrsrc1 - MWProject_MachO_flatrsrcfilenamea.rsrc - MWProject_MachO_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_MachO_installpath./ - - - MWPEF_exportsPragma - MWPEF_libfolder0 - MWPEF_sortcodeNone - MWPEF_expandbss0 - MWPEF_sharedata0 - MWPEF_olddefversion0 - MWPEF_oldimpversion0 - MWPEF_currentversion0 - MWPEF_fragmentnamenpSimplePlugin - MWPEF_collapsereloads0 - - - MWProject_PPC_typeSharedLibrary - MWProject_PPC_outfileSimple Scriptable Plugin - MWProject_PPC_filecreatorMOSS - MWProject_PPC_filetypeNSPL - MWProject_PPC_size0 - MWProject_PPC_minsize0 - MWProject_PPC_stacksize0 - MWProject_PPC_flags0 - MWProject_PPC_symfilename - MWProject_PPC_rsrcname - MWProject_PPC_rsrcheaderNative - MWProject_PPC_rsrctype???? - MWProject_PPC_rsrcid0 - MWProject_PPC_rsrcflags0 - MWProject_PPC_rsrcstore0 - MWProject_PPC_rsrcmerge0 - MWProject_PPC_flatrsrc0 - MWProject_PPC_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_PPC_flatrsrcfilename - - - MWAssembler_PPC_auxheader0 - MWAssembler_PPC_symmodeMac - MWAssembler_PPC_dialectPPC - MWAssembler_PPC_prefixfile - MWAssembler_PPC_typecheck0 - MWAssembler_PPC_warnings0 - MWAssembler_PPC_casesensitive0 - - - MWRez_Language_maxwidth80 - MWRez_Language_scriptRoman - MWRez_Language_alignmentAlign1 - MWRez_Language_filtermodeFilterSkip - MWRez_Language_suppresswarnings0 - MWRez_Language_escapecontrolchars1 - MWRez_Language_prefixname - MWRez_Language_filteredtypes'CODE' 'DATA' 'PICT' - - - MWWinRC_prefixname - - - MWCodeGen_X86_processorGeneric - MWCodeGen_X86_alignmentbytes8 - MWCodeGen_X86_exceptionsZeroOverhead - MWCodeGen_X86_extinst_mmx0 - MWCodeGen_X86_extinst_3dnow0 - MWCodeGen_X86_use_mmx_3dnow_convention0 - MWCodeGen_X86_machinecodelisting0 - MWCodeGen_X86_intrinsics0 - MWCodeGen_X86_syminfo0 - MWCodeGen_X86_codeviewinfo1 - MWCodeGen_X86_extinst_cmov_fcomi0 - MWCodeGen_X86_extinst_sse0 - - - PDisasmX86_showHeaderstrue - PDisasmX86_showSymTabtrue - PDisasmX86_showCodetrue - PDisasmX86_showSourcefalse - PDisasmX86_showHextrue - PDisasmX86_showRelocationtrue - PDisasmX86_showCommentsfalse - PDisasmX86_showDebugfalse - PDisasmX86_showExceptionsfalse - PDisasmX86_showDatatrue - PDisasmX86_showRawfalse - PDisasmX86_verbosefalse - - - MWDebugger_X86_Exceptions - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - GlobalOptimizer_X86_optimizationlevelLevel0 - GlobalOptimizer_X86_optforSpeed - - - MWLinker_X86_entrypointusageDefault - MWLinker_X86_entrypoint - MWLinker_X86_subsystemWinGUI - MWLinker_X86_subsysmajorid4 - MWLinker_X86_subsysminorid0 - MWLinker_X86_usrmajorid0 - MWLinker_X86_usrminorid0 - MWLinker_X86_commandfile - MWLinker_X86_generatemap0 - MWLinker_X86_linksym0 - MWLinker_X86_linkCV1 - - - MWProject_X86_typeApplication - MWProject_X86_outfilenoname.exe - MWProject_X86_baseaddress4194304 - MWProject_X86_maxstacksize1024 - MWProject_X86_minstacksize4 - MWProject_X86_size1024 - MWProject_X86_minsize4 - MWProject_X86_importlib - xpidl Settings - 0001000101000000000000000000000000000000000000000000000000000000 - 0000000000000000 - - - - - Name - MSL_Runtime_PPC.Lib - MacOS - Library - - - - Name - InterfaceLib - MacOS - Library - - - - Name - npp_gate.cpp - MacOS - Text - - - - Name - Simple.rsrc - MacOS - Resource - - - - Name - npn_gate.cpp - MacOS - Text - - - - Name - np_entry.cpp - MacOS - Text - - - - Name - plugin.cpp - MacOS - Text - - - - Name - nsScriptablePeer.cpp - MacOS - Text - - - - Name - MSL_C_PPC.Lib - MacOS - Library - - - - - - Name - MSL_Runtime_PPC.Lib - MacOS - - - Name - InterfaceLib - MacOS - - - Name - npp_gate.cpp - MacOS - - - Name - Simple.rsrc - MacOS - - - Name - npn_gate.cpp - MacOS - - - Name - np_entry.cpp - MacOS - - - Name - plugin.cpp - MacOS - - - Name - nsScriptablePeer.cpp - MacOS - - - Name - MSL_C_PPC.Lib - MacOS - - - - - - - SimplePluginCarbon - SimplePlugin - - - - Plugin Src - - SimplePluginCarbon - Name - plugin.cpp - MacOS - - - SimplePluginCarbon - Name - nsScriptablePeer.cpp - MacOS - - - Resources - - SimplePluginCarbon - Name - Simple.rsrc - MacOS - - - Common - - SimplePluginCarbon - Name - npn_gate.cpp - MacOS - - - SimplePluginCarbon - Name - npp_gate.cpp - MacOS - - - SimplePluginCarbon - Name - np_entry.cpp - MacOS - - - SimplePluginCarbon - Name - console.stubs.c - MacOS - - - System Libraries - - SimplePluginCarbon - Name - MSL_Runtime_PPC.Lib - MacOS - - - SimplePlugin - Name - MSL_C_PPC.Lib - MacOS - - - SimplePlugin - Name - InterfaceLib - MacOS - - - SimplePluginCarbon - Name - CarbonLib - MacOS - - - SimplePluginCarbon - Name - MSL_C_Carbon.Lib - MacOS - - - - - diff --git a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.mcp b/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.mcp deleted file mode 100644 index 940d5a2fd8ef..000000000000 Binary files a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.mcp and /dev/null differ diff --git a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.xml b/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.xml deleted file mode 100644 index 880735f6926d..000000000000 --- a/modules/plugin/tools/sdk/samples/simple/macbuild/Simple PluginIDL.xml +++ /dev/null @@ -1,1438 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - SimplePlugin.headers - - - - UserSourceTrees - - - AlwaysSearchUserPathsfalse - InterpretDOSAndUnixPathsfalse - RequireFrameworkStyleIncludesfalse - UserSearchPaths - - SearchPath - Path: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path::::IDL: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SystemSearchPaths - - SearchPath - Path: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - - - MWRuntimeSettings_WorkingDirectory - MWRuntimeSettings_CommandLine - MWRuntimeSettings_HostApplication - Path - PathFormatGeneric - PathRootAbsolute - - MWRuntimeSettings_EnvVars - - - Linkerxpt Linker - PreLinker - PostLinker - TargetnameSimplePlugin.headers - OutputDirectory - Path:: - PathFormatMacOS - PathRootProject - - SaveEntriesUsingRelativePathsfalse - - - FileMappings - - FileTypeRSRC - FileExtension - CompilerRez - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.bh - CompilerBalloon Help - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c - CompilerRunTSScript - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.idl - Compilerxpidl - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.r - CompilerRez - EditLanguageRez - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypersrc - FileExtension - CompilerRez - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileExtension.xpt - Compiler - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - - - CacheModDatestrue - ActivateBrowsertrue - DumpBrowserInfofalse - CacheSubprojectstrue - UseThirdPartyDebuggerfalse - DebuggerAppPath - Path - PathFormatGeneric - PathRootAbsolute - - DebuggerCmdLineArgs - DebuggerWorkingDir - Path - PathFormatGeneric - PathRootAbsolute - - - - LogSystemMessagestrue - AutoTargetDLLsfalse - StopAtWatchpointstrue - PauseWhileRunningfalse - PauseInterval5 - PauseUIFlags0 - AltExePath - Path - PathFormatGeneric - PathRootAbsolute - - StopAtTempBPOnLaunchtrue - CacheSymbolicstrue - TempBPFunctionNamemain - TempBPType0 - - - Enabledfalse - ConnectionName - DownloadPath - LaunchRemoteAppfalse - RemoteAppPath - - - OtherExecutables - - - CustomColor1 - Red0 - Green32767 - Blue0 - - CustomColor2 - Red0 - Green32767 - Blue0 - - CustomColor3 - Red0 - Green32767 - Blue0 - - CustomColor4 - Red0 - Green32767 - Blue0 - - - - MWFrontEnd_C_cplusplus0 - MWFrontEnd_C_checkprotos0 - MWFrontEnd_C_arm0 - MWFrontEnd_C_trigraphs0 - MWFrontEnd_C_onlystdkeywords0 - MWFrontEnd_C_enumsalwaysint0 - MWFrontEnd_C_mpwpointerstyle0 - MWFrontEnd_C_prefixname - MWFrontEnd_C_ansistrict0 - MWFrontEnd_C_mpwcnewline0 - MWFrontEnd_C_wchar_type1 - MWFrontEnd_C_enableexceptions1 - MWFrontEnd_C_dontreusestrings0 - MWFrontEnd_C_poolstrings0 - MWFrontEnd_C_dontinline0 - MWFrontEnd_C_useRTTI1 - MWFrontEnd_C_multibyteaware0 - MWFrontEnd_C_unsignedchars0 - MWFrontEnd_C_autoinline0 - MWFrontEnd_C_booltruefalse1 - MWFrontEnd_C_direct_to_som0 - MWFrontEnd_C_som_env_check0 - MWFrontEnd_C_alwaysinline0 - MWFrontEnd_C_inlinelevel0 - MWFrontEnd_C_ecplusplus0 - MWFrontEnd_C_objective_c0 - MWFrontEnd_C_defer_codegen0 - - - MWWarning_C_warn_illpragma0 - MWWarning_C_warn_emptydecl0 - MWWarning_C_warn_possunwant0 - MWWarning_C_warn_unusedvar0 - MWWarning_C_warn_unusedarg0 - MWWarning_C_warn_extracomma0 - MWWarning_C_pedantic0 - MWWarning_C_warningerrors0 - MWWarning_C_warn_hidevirtual0 - MWWarning_C_warn_implicitconv0 - MWWarning_C_warn_notinlined0 - MWWarning_C_warn_structclass0 - - - MWFTP_Post_hostName - MWFTP_Post_username - MWFTP_Post_password0 - MWFTP_Post_remoteDir - MWFTP_Post_ftp_PathVersion0 - MWFTP_Post_ftp_PathType0 - MWFTP_Post_ftp_PathFormat0 - MWFTP_Post_ftp_tree - MWFTP_Post_uploadDir - MWFTP_Post_ftp_port21 - MWFTP_Post_SendBin1 - MWFTP_Post_ShouldLog1 - - - MWCommandLine_Java_clsName - MWCommandLine_Java_args - - - MWVJavaDebugging_Protocol1 - MWVJavaDebugging_JDKVersion1 - MWVJavaDebugging_TimeOut10 - MWVJavaDebugging_SupportSlowDevicesfalse - - - MWJava_Language_optimizefalse - MWJava_Language_warnDeprecatedfalse - MWJava_Language_emitMapfalse - MWJava_Language_strictFileNamesfalse - MWJava_Language_strictFileHierarchyfalse - MWJava_Language_1_1_Compatiblefalse - MWJava_Language_emitHeaders0 - MWJava_Language_headerTypeJNINativeHeaders - MWJava_Language_packageFilter - MWJava_Language_genCommentstrue - MWJava_Language_genHeadersfalse - - - MWJava_MRJAppBuilder_outFileMRJApplication - MWJava_MRJAppBuilder_mergefalse - MWJava_MRJAppBuilder_quitMenutrue - MWJava_MRJAppBuilder_growfalse - MWJava_MRJAppBuilder_stdoutTypeConsole - MWJava_MRJAppBuilder_stderrTypeConsole - MWJava_MRJAppBuilder_stdinTypeConsole - MWJava_MRJAppBuilder_appIconPVersion0 - MWJava_MRJAppBuilder_appIconPType0 - MWJava_MRJAppBuilder_appIconPFormat0 - MWJava_MRJAppBuilder_appIconPTree - MWJava_MRJAppBuilder_appIconFile - MWJava_MRJAppBuilder_splashScreenPVersion0 - MWJava_MRJAppBuilder_splashScreenPType0 - MWJava_MRJAppBuilder_splashScreenPFormat0 - MWJava_MRJAppBuilder_splashScreenPTree - MWJava_MRJAppBuilder_splashScreenPICTFile - MWJava_MRJAppBuilder_aboutName - MWJava_MRJAppBuilder_stdoutPVersion0 - MWJava_MRJAppBuilder_stdoutPType0 - MWJava_MRJAppBuilder_stdoutPFormat0 - MWJava_MRJAppBuilder_stdoutPTree - MWJava_MRJAppBuilder_stdoutFile - MWJava_MRJAppBuilder_stdoutAppendfalse - MWJava_MRJAppBuilder_stderrPType0 - MWJava_MRJAppBuilder_stderrPFormat0 - MWJava_MRJAppBuilder_stderrPTree - MWJava_MRJAppBuilder_stderrFile - MWJava_MRJAppBuilder_stderrAppendfalse - MWJava_MRJAppBuilder_stdinPType0 - MWJava_MRJAppBuilder_stdinPFormat0 - MWJava_MRJAppBuilder_stdinPTree - MWJava_MRJAppBuilder_stdinFile - - - MWJava_Output_outputtypeJarFile - MWJava_Output_outfileJavaClasses.jar - MWJava_Output_ftype1514754080 - MWJava_Output_fcreator1297570384 - MWJava_Output_compress0 - MWJava_Output_genManifest0 - MWJava_Output_trunctypeFront - MWJava_Output_deleteClasses0 - MWJava_Output_consoleApp1 - - - MWJava_Proj_projtypeApplet - MWJava_Proj_mainClassName - MWJava_Proj_HTMLAppCreator1463898714 - MWJava_Proj_HTMLAppName - MWJava_Proj_PathVersion0 - MWJava_Proj_PathType0 - MWJava_Proj_PathFormat0 - MWJava_Proj_tree - MWJava_Proj_HTMLAppWin32Name - MWJava_Proj_compress0 - MWJava_Proj_useVM1 - MWJava_Proj_vmarguments - MWJava_Proj_vmName - MWJava_Proj_simPropFile - - - MWJavaDoc_Proj_Version1 - MWJavaDoc_Proj_Depricated1 - MWJavaDoc_Proj_Author1 - MWJavaDoc_Proj_Index1 - MWJavaDoc_Proj_Tree1 - MWJavaDoc_Proj_SunResolveToSame0 - MWJavaDoc_Proj_Shortnames1 - MWJavaDoc_Proj_Folder0 - MWJavaDoc_Proj_GenerateAPILinks0 - MWJavaDoc_Proj_scopePublic - MWJavaDoc_Proj_fcreator1297303877 - MWJavaDoc_Proj_encodingName - MWJavaDoc_Proj_decodingName - MWJavaDoc_Proj_javaPackagePathhttp://java.sun.com/products/jdk/1.1/docs/api/ - - - MWMerge_MacOS_projectTypeApplication - MWMerge_MacOS_outputNameMerge Out - MWMerge_MacOS_outputCreator???? - MWMerge_MacOS_outputTypeAPPL - MWMerge_MacOS_suppressWarning0 - MWMerge_MacOS_copyFragments1 - MWMerge_MacOS_copyResources1 - MWMerge_MacOS_flattenResource0 - MWMerge_MacOS_flatFileNamea.rsrc - MWMerge_MacOS_flatFileOutputPath - Path: - PathFormatMacOS - PathRootProject - - MWMerge_MacOS_skipResources - DLGX - ckid - Proj - WSPC - - - - FileLockedfalse - ResourcesMapIsReadOnlyfalse - PrinterDriverIsMultiFinderCompatiblefalse - Invisiblefalse - HasBundlefalse - NameLockedfalse - Stationeryfalse - HasCustomIconfalse - Sharedfalse - HasBeenInitedfalse - Label0 - Comments - - - MWMacOSPackager_UsePackager0 - MWMacOSPackager_FolderToPackage - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreateClassicAlias0 - MWMacOSPackager_ClassicAliasMethodUseTargetOutput - MWMacOSPackager_ClassicAliasPath - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreatePkgInfo0 - MWMacOSPackager_PkgCreatorType???? - MWMacOSPackager_PkgFileTypeAPPL - - - MWCodeGen_PPC_structalignmentMC68K - MWCodeGen_PPC_tracebacktablesNone - MWCodeGen_PPC_processorGeneric - MWCodeGen_PPC_readonlystrings0 - MWCodeGen_PPC_tocdata1 - MWCodeGen_PPC_profiler0 - MWCodeGen_PPC_fpcontract1 - MWCodeGen_PPC_schedule0 - MWCodeGen_PPC_peephole1 - MWCodeGen_PPC_processorspecific0 - MWCodeGen_PPC_altivec0 - MWCodeGen_PPC_vectortocdata0 - MWCodeGen_PPC_vrsave0 - - - MWCodeGen_MachO_structalignmentPPC - MWCodeGen_MachO_tracebacktablesNone - MWCodeGen_MachO_processorGeneric - MWCodeGen_MachO_readonlystrings0 - MWCodeGen_MachO_profiler0 - MWCodeGen_MachO_fpcontract1 - MWCodeGen_MachO_schedule0 - MWCodeGen_MachO_peephole1 - MWCodeGen_MachO_processorspecific0 - MWCodeGen_MachO_altivec0 - MWCodeGen_MachO_vrsave1 - MWCodeGen_MachO_common0 - MWCodeGen_MachO_implicit_templates1 - - - MWDisassembler_PPC_showcode1 - MWDisassembler_PPC_extended1 - MWDisassembler_PPC_mix0 - MWDisassembler_PPC_nohex0 - MWDisassembler_PPC_showdata1 - MWDisassembler_PPC_showexceptions1 - MWDisassembler_PPC_showsym0 - MWDisassembler_PPC_shownames1 - - - GlobalOptimizer_PPC_optimizationlevelLevel0 - GlobalOptimizer_PPC_optforSpeed - - - MWLinker_PPC_linksym1 - MWLinker_PPC_symfullpath1 - MWLinker_PPC_linkmap0 - MWLinker_PPC_nolinkwarnings0 - MWLinker_PPC_dontdeadstripinitcode0 - MWLinker_PPC_permitmultdefs0 - MWLinker_PPC_linkmodeFast - MWLinker_PPC_initname - MWLinker_PPC_mainname__start - MWLinker_PPC_termname - - - MWLinker_MachO_exportsNone - MWLinker_MachO_mainnamestart - MWLinker_MachO_currentversion0 - MWLinker_MachO_compatibleversion0 - MWLinker_MachO_symfullpath0 - MWLinker_MachO_supresswarnings0 - MWLinker_MachO_multisymerror0 - MWLinker_MachO_prebind1 - MWLinker_MachO_deadstrip1 - MWLinker_MachO_objectivecsemantics0 - MWLinker_MachO_whichfileloaded0 - MWLinker_MachO_whyfileloaded0 - MWLinker_MachO_readonlyrelocsErrors - MWLinker_MachO_undefinedsymbolsErrors - MWLinker_MachO_twolevelnamespace1 - MWLinker_MachO_stripdebugsymbols0 - - - MWProject_MachO_typeExecutable - MWProject_MachO_outfilea.exe - MWProject_MachO_filecreator???? - MWProject_MachO_filetypeMEXE - MWProject_MachO_stacksize64 - MWProject_MachO_stackaddress0 - MWProject_MachO_flatrsrc1 - MWProject_MachO_flatrsrcfilenamea.rsrc - MWProject_MachO_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_MachO_installpath./ - - - MWPEF_exportsNone - MWPEF_libfolder0 - MWPEF_sortcodeNone - MWPEF_expandbss0 - MWPEF_sharedata0 - MWPEF_olddefversion0 - MWPEF_oldimpversion0 - MWPEF_currentversion0 - MWPEF_fragmentname - MWPEF_collapsereloads0 - - - MWProject_PPC_typeApplication - MWProject_PPC_outfilea.out - MWProject_PPC_filecreator???? - MWProject_PPC_filetypeAPPL - MWProject_PPC_size384 - MWProject_PPC_minsize384 - MWProject_PPC_stacksize64 - MWProject_PPC_flags22720 - MWProject_PPC_symfilename - MWProject_PPC_rsrcname - MWProject_PPC_rsrcheaderNative - MWProject_PPC_rsrctype???? - MWProject_PPC_rsrcid0 - MWProject_PPC_rsrcflags0 - MWProject_PPC_rsrcstore0 - MWProject_PPC_rsrcmerge0 - MWProject_PPC_flatrsrc0 - MWProject_PPC_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_PPC_flatrsrcfilename - - - MWAssembler_PPC_auxheader0 - MWAssembler_PPC_symmodeMac - MWAssembler_PPC_dialectPPC - MWAssembler_PPC_prefixfile - MWAssembler_PPC_typecheck0 - MWAssembler_PPC_warnings0 - MWAssembler_PPC_casesensitive0 - - - MWRez_Language_maxwidth80 - MWRez_Language_scriptRoman - MWRez_Language_alignmentAlign1 - MWRez_Language_filtermodeFilterSkip - MWRez_Language_suppresswarnings0 - MWRez_Language_escapecontrolchars1 - MWRez_Language_prefixname - MWRez_Language_filteredtypes'CODE' 'DATA' 'PICT' - - - MWWinRC_prefixname - - - MWCodeGen_X86_processorGeneric - MWCodeGen_X86_alignmentbytes8 - MWCodeGen_X86_exceptionsZeroOverhead - MWCodeGen_X86_extinst_mmx0 - MWCodeGen_X86_extinst_3dnow0 - MWCodeGen_X86_use_mmx_3dnow_convention0 - MWCodeGen_X86_machinecodelisting0 - MWCodeGen_X86_intrinsics0 - MWCodeGen_X86_syminfo0 - MWCodeGen_X86_codeviewinfo1 - MWCodeGen_X86_extinst_cmov_fcomi0 - MWCodeGen_X86_extinst_sse0 - - - PDisasmX86_showHeaderstrue - PDisasmX86_showSymTabtrue - PDisasmX86_showCodetrue - PDisasmX86_showSourcefalse - PDisasmX86_showHextrue - PDisasmX86_showRelocationtrue - PDisasmX86_showCommentsfalse - PDisasmX86_showDebugfalse - PDisasmX86_showExceptionsfalse - PDisasmX86_showDatatrue - PDisasmX86_showRawfalse - PDisasmX86_verbosefalse - - - MWDebugger_X86_Exceptions - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - GlobalOptimizer_X86_optimizationlevelLevel0 - GlobalOptimizer_X86_optforSpeed - - - MWLinker_X86_entrypointusageDefault - MWLinker_X86_entrypoint - MWLinker_X86_subsystemWinGUI - MWLinker_X86_subsysmajorid4 - MWLinker_X86_subsysminorid0 - MWLinker_X86_usrmajorid0 - MWLinker_X86_usrminorid0 - MWLinker_X86_commandfile - MWLinker_X86_generatemap0 - MWLinker_X86_linksym0 - MWLinker_X86_linkCV1 - - - MWProject_X86_typeApplication - MWProject_X86_outfilenoname.exe - MWProject_X86_baseaddress4194304 - MWProject_X86_maxstacksize1024 - MWProject_X86_minstacksize4 - MWProject_X86_size1024 - MWProject_X86_minsize4 - MWProject_X86_importlib - xpidl Settings - 000100010100166E7353696D706C65506C7567696E2E68656164657273646572 - 7300000000000000 - - - - - Name - nsISimplePlugin.idl - MacOS - Text - - - - - - Name - nsISimplePlugin.idl - MacOS - - - - - SimplePlugin.xpt - - - - UserSourceTrees - - - AlwaysSearchUserPathsfalse - InterpretDOSAndUnixPathsfalse - RequireFrameworkStyleIncludesfalse - UserSearchPaths - - SearchPath - Path: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path::::IDL: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SearchPath - Path:: - PathFormatMacOS - PathRootProject - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - SystemSearchPaths - - SearchPath - Path: - PathFormatMacOS - PathRootCodeWarrior - - Recursivetrue - FrameworkPathfalse - HostFlagsAll - - - - - MWRuntimeSettings_WorkingDirectory - MWRuntimeSettings_CommandLine - MWRuntimeSettings_HostApplication - Path - PathFormatGeneric - PathRootAbsolute - - MWRuntimeSettings_EnvVars - - - Linkerxpt Linker - PreLinker - PostLinker - TargetnameSimplePlugin.xpt - OutputDirectory - Path: - PathFormatMacOS - PathRootProject - - SaveEntriesUsingRelativePathsfalse - - - FileMappings - - FileTypeRSRC - FileExtension - CompilerRez - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.bh - CompilerBalloon Help - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.c - CompilerRunTSScript - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.idl - Compilerxpidl - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypeTEXT - FileExtension.r - CompilerRez - EditLanguageRez - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - FileTypersrc - FileExtension - CompilerRez - EditLanguage - Precompilefalse - Launchabletrue - ResourceFiletrue - IgnoredByMakefalse - - - FileExtension.xpt - Compiler - EditLanguage - Precompilefalse - Launchablefalse - ResourceFilefalse - IgnoredByMakefalse - - - - - CacheModDatestrue - ActivateBrowsertrue - DumpBrowserInfofalse - CacheSubprojectstrue - UseThirdPartyDebuggerfalse - DebuggerAppPath - Path - PathFormatGeneric - PathRootAbsolute - - DebuggerCmdLineArgs - DebuggerWorkingDir - Path - PathFormatGeneric - PathRootAbsolute - - - - LogSystemMessagestrue - AutoTargetDLLsfalse - StopAtWatchpointstrue - PauseWhileRunningfalse - PauseInterval5 - PauseUIFlags0 - AltExePath - Path - PathFormatGeneric - PathRootAbsolute - - StopAtTempBPOnLaunchtrue - CacheSymbolicstrue - TempBPFunctionNamemain - TempBPType0 - - - Enabledfalse - ConnectionName - DownloadPath - LaunchRemoteAppfalse - RemoteAppPath - - - OtherExecutables - - - CustomColor1 - Red0 - Green32767 - Blue0 - - CustomColor2 - Red0 - Green32767 - Blue0 - - CustomColor3 - Red0 - Green32767 - Blue0 - - CustomColor4 - Red0 - Green32767 - Blue0 - - - - MWFrontEnd_C_cplusplus0 - MWFrontEnd_C_checkprotos0 - MWFrontEnd_C_arm0 - MWFrontEnd_C_trigraphs0 - MWFrontEnd_C_onlystdkeywords0 - MWFrontEnd_C_enumsalwaysint0 - MWFrontEnd_C_mpwpointerstyle0 - MWFrontEnd_C_prefixname - MWFrontEnd_C_ansistrict0 - MWFrontEnd_C_mpwcnewline0 - MWFrontEnd_C_wchar_type1 - MWFrontEnd_C_enableexceptions1 - MWFrontEnd_C_dontreusestrings0 - MWFrontEnd_C_poolstrings0 - MWFrontEnd_C_dontinline0 - MWFrontEnd_C_useRTTI1 - MWFrontEnd_C_multibyteaware0 - MWFrontEnd_C_unsignedchars0 - MWFrontEnd_C_autoinline0 - MWFrontEnd_C_booltruefalse1 - MWFrontEnd_C_direct_to_som0 - MWFrontEnd_C_som_env_check0 - MWFrontEnd_C_alwaysinline0 - MWFrontEnd_C_inlinelevel0 - MWFrontEnd_C_ecplusplus0 - MWFrontEnd_C_objective_c0 - MWFrontEnd_C_defer_codegen0 - - - MWWarning_C_warn_illpragma0 - MWWarning_C_warn_emptydecl0 - MWWarning_C_warn_possunwant0 - MWWarning_C_warn_unusedvar0 - MWWarning_C_warn_unusedarg0 - MWWarning_C_warn_extracomma0 - MWWarning_C_pedantic0 - MWWarning_C_warningerrors0 - MWWarning_C_warn_hidevirtual0 - MWWarning_C_warn_implicitconv0 - MWWarning_C_warn_notinlined0 - MWWarning_C_warn_structclass0 - - - MWFTP_Post_hostName - MWFTP_Post_username - MWFTP_Post_password0 - MWFTP_Post_remoteDir - MWFTP_Post_ftp_PathVersion0 - MWFTP_Post_ftp_PathType0 - MWFTP_Post_ftp_PathFormat0 - MWFTP_Post_ftp_tree - MWFTP_Post_uploadDir - MWFTP_Post_ftp_port21 - MWFTP_Post_SendBin1 - MWFTP_Post_ShouldLog1 - - - MWCommandLine_Java_clsName - MWCommandLine_Java_args - - - MWVJavaDebugging_Protocol1 - MWVJavaDebugging_JDKVersion1 - MWVJavaDebugging_TimeOut10 - MWVJavaDebugging_SupportSlowDevicesfalse - - - MWJava_Language_optimizefalse - MWJava_Language_warnDeprecatedfalse - MWJava_Language_emitMapfalse - MWJava_Language_strictFileNamesfalse - MWJava_Language_strictFileHierarchyfalse - MWJava_Language_1_1_Compatiblefalse - MWJava_Language_emitHeaders0 - MWJava_Language_headerTypeJNINativeHeaders - MWJava_Language_packageFilter - MWJava_Language_genCommentstrue - MWJava_Language_genHeadersfalse - - - MWJava_MRJAppBuilder_outFileMRJApplication - MWJava_MRJAppBuilder_mergefalse - MWJava_MRJAppBuilder_quitMenutrue - MWJava_MRJAppBuilder_growfalse - MWJava_MRJAppBuilder_stdoutTypeConsole - MWJava_MRJAppBuilder_stderrTypeConsole - MWJava_MRJAppBuilder_stdinTypeConsole - MWJava_MRJAppBuilder_appIconPVersion0 - MWJava_MRJAppBuilder_appIconPType0 - MWJava_MRJAppBuilder_appIconPFormat0 - MWJava_MRJAppBuilder_appIconPTree - MWJava_MRJAppBuilder_appIconFile - MWJava_MRJAppBuilder_splashScreenPVersion0 - MWJava_MRJAppBuilder_splashScreenPType0 - MWJava_MRJAppBuilder_splashScreenPFormat0 - MWJava_MRJAppBuilder_splashScreenPTree - MWJava_MRJAppBuilder_splashScreenPICTFile - MWJava_MRJAppBuilder_aboutName - MWJava_MRJAppBuilder_stdoutPVersion0 - MWJava_MRJAppBuilder_stdoutPType0 - MWJava_MRJAppBuilder_stdoutPFormat0 - MWJava_MRJAppBuilder_stdoutPTree - MWJava_MRJAppBuilder_stdoutFile - MWJava_MRJAppBuilder_stdoutAppendfalse - MWJava_MRJAppBuilder_stderrPType0 - MWJava_MRJAppBuilder_stderrPFormat0 - MWJava_MRJAppBuilder_stderrPTree - MWJava_MRJAppBuilder_stderrFile - MWJava_MRJAppBuilder_stderrAppendfalse - MWJava_MRJAppBuilder_stdinPType0 - MWJava_MRJAppBuilder_stdinPFormat0 - MWJava_MRJAppBuilder_stdinPTree - MWJava_MRJAppBuilder_stdinFile - - - MWJava_Output_outputtypeJarFile - MWJava_Output_outfileJavaClasses.jar - MWJava_Output_ftype1514754080 - MWJava_Output_fcreator1297570384 - MWJava_Output_compress0 - MWJava_Output_genManifest0 - MWJava_Output_trunctypeFront - MWJava_Output_deleteClasses0 - MWJava_Output_consoleApp1 - - - MWJava_Proj_projtypeApplet - MWJava_Proj_mainClassName - MWJava_Proj_HTMLAppCreator1463898714 - MWJava_Proj_HTMLAppName - MWJava_Proj_PathVersion0 - MWJava_Proj_PathType0 - MWJava_Proj_PathFormat0 - MWJava_Proj_tree - MWJava_Proj_HTMLAppWin32Name - MWJava_Proj_compress0 - MWJava_Proj_useVM1 - MWJava_Proj_vmarguments - MWJava_Proj_vmName - MWJava_Proj_simPropFile - - - MWJavaDoc_Proj_Version1 - MWJavaDoc_Proj_Depricated1 - MWJavaDoc_Proj_Author1 - MWJavaDoc_Proj_Index1 - MWJavaDoc_Proj_Tree1 - MWJavaDoc_Proj_SunResolveToSame0 - MWJavaDoc_Proj_Shortnames1 - MWJavaDoc_Proj_Folder0 - MWJavaDoc_Proj_GenerateAPILinks0 - MWJavaDoc_Proj_scopePublic - MWJavaDoc_Proj_fcreator1297303877 - MWJavaDoc_Proj_encodingName - MWJavaDoc_Proj_decodingName - MWJavaDoc_Proj_javaPackagePathhttp://java.sun.com/products/jdk/1.1/docs/api/ - - - MWMerge_MacOS_projectTypeApplication - MWMerge_MacOS_outputNameMerge Out - MWMerge_MacOS_outputCreator???? - MWMerge_MacOS_outputTypeAPPL - MWMerge_MacOS_suppressWarning0 - MWMerge_MacOS_copyFragments1 - MWMerge_MacOS_copyResources1 - MWMerge_MacOS_flattenResource0 - MWMerge_MacOS_flatFileNamea.rsrc - MWMerge_MacOS_flatFileOutputPath - Path: - PathFormatMacOS - PathRootProject - - MWMerge_MacOS_skipResources - DLGX - ckid - Proj - WSPC - - - - FileLockedfalse - ResourcesMapIsReadOnlyfalse - PrinterDriverIsMultiFinderCompatiblefalse - Invisiblefalse - HasBundlefalse - NameLockedfalse - Stationeryfalse - HasCustomIconfalse - Sharedfalse - HasBeenInitedfalse - Label0 - Comments - - - MWMacOSPackager_UsePackager0 - MWMacOSPackager_FolderToPackage - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreateClassicAlias0 - MWMacOSPackager_ClassicAliasMethodUseTargetOutput - MWMacOSPackager_ClassicAliasPath - Path: - PathFormatMacOS - PathRootProject - - MWMacOSPackager_CreatePkgInfo0 - MWMacOSPackager_PkgCreatorType???? - MWMacOSPackager_PkgFileTypeAPPL - - - MWCodeGen_PPC_structalignmentMC68K - MWCodeGen_PPC_tracebacktablesNone - MWCodeGen_PPC_processorGeneric - MWCodeGen_PPC_readonlystrings0 - MWCodeGen_PPC_tocdata1 - MWCodeGen_PPC_profiler0 - MWCodeGen_PPC_fpcontract1 - MWCodeGen_PPC_schedule0 - MWCodeGen_PPC_peephole1 - MWCodeGen_PPC_processorspecific0 - MWCodeGen_PPC_altivec0 - MWCodeGen_PPC_vectortocdata0 - MWCodeGen_PPC_vrsave0 - - - MWCodeGen_MachO_structalignmentPPC - MWCodeGen_MachO_tracebacktablesNone - MWCodeGen_MachO_processorGeneric - MWCodeGen_MachO_readonlystrings0 - MWCodeGen_MachO_profiler0 - MWCodeGen_MachO_fpcontract1 - MWCodeGen_MachO_schedule0 - MWCodeGen_MachO_peephole1 - MWCodeGen_MachO_processorspecific0 - MWCodeGen_MachO_altivec0 - MWCodeGen_MachO_vrsave1 - MWCodeGen_MachO_common0 - MWCodeGen_MachO_implicit_templates1 - - - MWDisassembler_PPC_showcode1 - MWDisassembler_PPC_extended1 - MWDisassembler_PPC_mix0 - MWDisassembler_PPC_nohex0 - MWDisassembler_PPC_showdata1 - MWDisassembler_PPC_showexceptions1 - MWDisassembler_PPC_showsym0 - MWDisassembler_PPC_shownames1 - - - GlobalOptimizer_PPC_optimizationlevelLevel0 - GlobalOptimizer_PPC_optforSpeed - - - MWLinker_PPC_linksym1 - MWLinker_PPC_symfullpath1 - MWLinker_PPC_linkmap0 - MWLinker_PPC_nolinkwarnings0 - MWLinker_PPC_dontdeadstripinitcode0 - MWLinker_PPC_permitmultdefs0 - MWLinker_PPC_linkmodeFast - MWLinker_PPC_initname - MWLinker_PPC_mainname__start - MWLinker_PPC_termname - - - MWLinker_MachO_exportsNone - MWLinker_MachO_mainnamestart - MWLinker_MachO_currentversion0 - MWLinker_MachO_compatibleversion0 - MWLinker_MachO_symfullpath0 - MWLinker_MachO_supresswarnings0 - MWLinker_MachO_multisymerror0 - MWLinker_MachO_prebind1 - MWLinker_MachO_deadstrip1 - MWLinker_MachO_objectivecsemantics0 - MWLinker_MachO_whichfileloaded0 - MWLinker_MachO_whyfileloaded0 - MWLinker_MachO_readonlyrelocsErrors - MWLinker_MachO_undefinedsymbolsErrors - MWLinker_MachO_twolevelnamespace1 - MWLinker_MachO_stripdebugsymbols0 - - - MWProject_MachO_typeExecutable - MWProject_MachO_outfilea.exe - MWProject_MachO_filecreator???? - MWProject_MachO_filetypeMEXE - MWProject_MachO_stacksize64 - MWProject_MachO_stackaddress0 - MWProject_MachO_flatrsrc1 - MWProject_MachO_flatrsrcfilenamea.rsrc - MWProject_MachO_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_MachO_installpath./ - - - MWPEF_exportsNone - MWPEF_libfolder0 - MWPEF_sortcodeNone - MWPEF_expandbss0 - MWPEF_sharedata0 - MWPEF_olddefversion0 - MWPEF_oldimpversion0 - MWPEF_currentversion0 - MWPEF_fragmentname - MWPEF_collapsereloads0 - - - MWProject_PPC_typeApplication - MWProject_PPC_outfilea.out - MWProject_PPC_filecreator???? - MWProject_PPC_filetypeAPPL - MWProject_PPC_size384 - MWProject_PPC_minsize384 - MWProject_PPC_stacksize64 - MWProject_PPC_flags22720 - MWProject_PPC_symfilename - MWProject_PPC_rsrcname - MWProject_PPC_rsrcheaderNative - MWProject_PPC_rsrctype???? - MWProject_PPC_rsrcid0 - MWProject_PPC_rsrcflags0 - MWProject_PPC_rsrcstore0 - MWProject_PPC_rsrcmerge0 - MWProject_PPC_flatrsrc0 - MWProject_PPC_flatrsrcoutputdir - Path: - PathFormatMacOS - PathRootProject - - MWProject_PPC_flatrsrcfilename - - - MWAssembler_PPC_auxheader0 - MWAssembler_PPC_symmodeMac - MWAssembler_PPC_dialectPPC - MWAssembler_PPC_prefixfile - MWAssembler_PPC_typecheck0 - MWAssembler_PPC_warnings0 - MWAssembler_PPC_casesensitive0 - - - MWRez_Language_maxwidth80 - MWRez_Language_scriptRoman - MWRez_Language_alignmentAlign1 - MWRez_Language_filtermodeFilterSkip - MWRez_Language_suppresswarnings0 - MWRez_Language_escapecontrolchars1 - MWRez_Language_prefixname - MWRez_Language_filteredtypes'CODE' 'DATA' 'PICT' - - - MWWinRC_prefixname - - - MWCodeGen_X86_processorGeneric - MWCodeGen_X86_alignmentbytes8 - MWCodeGen_X86_exceptionsZeroOverhead - MWCodeGen_X86_extinst_mmx0 - MWCodeGen_X86_extinst_3dnow0 - MWCodeGen_X86_use_mmx_3dnow_convention0 - MWCodeGen_X86_machinecodelisting0 - MWCodeGen_X86_intrinsics0 - MWCodeGen_X86_syminfo0 - MWCodeGen_X86_codeviewinfo1 - MWCodeGen_X86_extinst_cmov_fcomi0 - MWCodeGen_X86_extinst_sse0 - - - PDisasmX86_showHeaderstrue - PDisasmX86_showSymTabtrue - PDisasmX86_showCodetrue - PDisasmX86_showSourcefalse - PDisasmX86_showHextrue - PDisasmX86_showRelocationtrue - PDisasmX86_showCommentsfalse - PDisasmX86_showDebugfalse - PDisasmX86_showExceptionsfalse - PDisasmX86_showDatatrue - PDisasmX86_showRawfalse - PDisasmX86_verbosefalse - - - MWDebugger_X86_Exceptions - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - GlobalOptimizer_X86_optimizationlevelLevel0 - GlobalOptimizer_X86_optforSpeed - - - MWLinker_X86_entrypointusageDefault - MWLinker_X86_entrypoint - MWLinker_X86_subsystemWinGUI - MWLinker_X86_subsysmajorid4 - MWLinker_X86_subsysminorid0 - MWLinker_X86_usrmajorid0 - MWLinker_X86_usrminorid0 - MWLinker_X86_commandfile - MWLinker_X86_generatemap0 - MWLinker_X86_linksym0 - MWLinker_X86_linkCV1 - - - MWProject_X86_typeApplication - MWProject_X86_outfilenoname.exe - MWProject_X86_baseaddress4194304 - MWProject_X86_maxstacksize1024 - MWProject_X86_minstacksize4 - MWProject_X86_size1024 - MWProject_X86_minsize4 - MWProject_X86_importlib - xpidl Settings - 0001000301001053696D706C65506C7567696E2E78707474742E787074707474 - 0000000000000000 - - - - - Name - nsISimplePlugin.idl - MacOS - Text - - - - - - Name - nsISimplePlugin.idl - MacOS - - - - - - - SimplePlugin.headers - SimplePlugin.xpt - - - - - SimplePlugin.headers - Name - nsISimplePlugin.idl - MacOS - - - -