Compare commits

..

2 Commits

Author SHA1 Message Date
montulli
271a26b658 merge montulli1 branch with tip
git-svn-id: svn://10.0.0.236/branches/montulli@4889 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 02:41:04 +00:00
(no author)
f318652e4c This commit was manufactured by cvs2svn to create branch 'montulli'.
git-svn-id: svn://10.0.0.236/branches/montulli@4880 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 01:20:40 +00:00
7920 changed files with 2482176 additions and 43271 deletions

36279
mozilla/CHANGES.html Normal file

File diff suppressed because it is too large Load Diff

40
mozilla/LEGAL Normal file
View File

@@ -0,0 +1,40 @@
Please be apprised of the following Legal Notices:
A) The U.S. District Court for the Eastern District of Virginia has
ruled that the Netscape Navigator code does not infringe Wang's U.S.
Patent No. 4,751,669 ("the '669 Patent") because: 1) HTML is not
Videotex as defined by the '669 patent; 2) web servers are not central
suppliers; and 3) Navigator does not "connect," as defined by the '669
Patent, to web servers on the Internet. Wang may appeal this decision to
the Federal Circuit. Wang contended that its Patent disclosing a
"Videotext" system, is infringed by the following functionality in the
Netscape Navigator code: 1) the animated logo and status line indicators
--See Claims 1,8 and 9; 2) the "File Save As" function --See Claims
23-27; 3) Bookmarks and Rename Bookmarks in the Properties window --See
Claims 20-22; 4) storing HTML, GIF, and JPEG files and adding filename
extensions --See Claim 38
B) Intermind owns pending U.S. patent applications on communications
systems which employ metadata ("channel objects") to define a control
structure for information transfer. The Netscape code does not infringe
as released; however, modifications which utilize channel objects as
described by Intermind should be considered carefully. The following is
a statement from Intermind: "Intermind's claims fundamentally involve
the use of a control structure to automate communications. ...The
essence of Intermind's top claim is that two devices sender and
receiver have persistent storage, communicate over a network,
and exchange a control structure including metadata which describes: 1)
what information is to be updated, 2) when to update this information,
and 3) how to transfer the updated information. In addition, at least
the receiving device must be able to process the metadata in order to
perform the update determination and transfer. Any digital
communications system which incorporates all of these elements will be
covered by Intermind's patents." See Intermind.com.
C) Stac, Inc., and its licensing agent Hi/fn, own several patents which
disclose data compression methods implementing an LZS compression
algorithm, including U.S. Patent Nos. 4,701,745 and 5,016, 009 ("the
Stac Patents"). The Netscape Communicator code does not perform
compression. If you modify the Netscape source code to perform
compression, please take notice of the Stac Patents.

421
mozilla/LICENSE Normal file
View File

@@ -0,0 +1,421 @@
NETSCAPE PUBLIC LICENSE
Version 1.0
----------------
1. Definitions.
1.1. ``Contributor'' means each entity that creates or contributes to
the creation of Modifications.
1.2. ``Contributor Version'' means the combination of the Original
Code, prior Modifications used by a Contributor, and the Modifications
made by that particular Contributor.
1.3. ``Covered Code'' means the Original Code or Modifications or the
combination of the Original Code and Modifications, in each case
including portions thereof.
1.4. ``Electronic Distribution Mechanism'' means a mechanism generally
accepted in the software development community for the electronic
transfer of data.
1.5. ``Executable'' means Covered Code in any form other than Source
Code.
1.6. ``Initial Developer'' means the individual or entity identified as
the Initial Developer in the Source Code notice required by Exhibit A.
1.7. ``Larger Work'' means a work which combines Covered Code or
portions thereof with code not governed by the terms of this License.
1.8. ``License'' means this document.
1.9. ``Modifications'' means any addition to or deletion from the
substance or structure of either the Original Code or any previous
Modifications. When Covered Code is released as a series of files, a
Modification is:
A. Any addition to or deletion from the contents of a file
containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or
previous Modifications.
1.10. ``Original Code'' means Source Code of computer software code
which is described in the Source Code notice required by Exhibit A as
Original Code, and which, at the time of its release under this License
is not already Covered Code governed by this License.
1.11. ``Source Code'' means the preferred form of the Covered Code for
making modifications to it, including all modules it contains, plus any
associated interface definition files, scripts used to control
compilation and installation of an Executable, or a list of source code
differential comparisons against either the Original Code or another
well known, available Covered Code of the Contributor's choice. The
Source Code can be in a compressed or archival form, provided the
appropriate decompression or de-archiving software is widely available
for no charge.
1.12. ``You'' means an individual or a legal entity exercising rights
under, and complying with all of the terms of, this License or a future
version of this License issued under Section 6.1. For legal entities,
``You'' includes any entity which controls, is controlled by, or is
under common control with You. For purposes of this definition,
``control'' means (a) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (b) ownership of fifty percent (50%) or more of the
outstanding shares or beneficial ownership of such entity.
2. Source Code License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Original Code (or portions thereof) with or without
Modifications, or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by Initial
Developer, to make, have made, use and sell (``Utilize'') the
Original Code (or portions thereof), but solely to the extent that
any such patent is reasonably necessary to enable You to Utilize
the Original Code (or portions thereof) and not to any greater
extent that may be necessary to Utilize further Modifications or
combinations.
2.2. Contributor Grant.
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Modifications created by such Contributor (or
portions thereof) either on an unmodified basis, with other
Modifications, as Covered Code or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by
Contributor, to Utilize the Contributor Version (or portions
thereof), but solely to the extent that any such patent is
reasonably necessary to enable You to Utilize the Contributor
Version (or portions thereof), and not to any greater extent that
may be necessary to Utilize further Modifications or combinations.
3. Distribution Obligations.
3.1. Application of License.
The Modifications which You create or to which You contribute are
governed by the terms of this License, including without limitation
Section 2.2. The Source Code version of Covered Code may be distributed
only under the terms of this License or a future version of this
License released under Section 6.1, and You must include a copy of this
License with every copy of the Source Code You distribute. You may not
offer or impose any terms on any Source Code version that alters or
restricts the applicable version of this License or the recipients'
rights hereunder. However, You may include an additional document
offering the additional rights described in Section 3.5.
3.2. Availability of Source Code.
Any Modification which You create or to which You contribute must be
made available in Source Code form under the terms of this License
either on the same media as an Executable version or via an accepted
Electronic Distribution Mechanism to anyone to whom you made an
Executable version available; and if made available via Electronic
Distribution Mechanism, must remain available for at least twelve (12)
months after the date it initially became available, or at least six
(6) months after a subsequent version of that particular Modification
has been made available to such recipients. You are responsible for
ensuring that the Source Code version remains available even if the
Electronic Distribution Mechanism is maintained by a third party.
3.3. Description of Modifications.
You must cause all Covered Code to which you contribute to contain a
file documenting the changes You made to create that Covered Code and
the date of any change. You must include a prominent statement that the
Modification is derived, directly or indirectly, from Original Code
provided by the Initial Developer and including the name of the Initial
Developer in (a) the Source Code, and (b) in any notice in an
Executable version or related documentation in which You describe the
origin or ownership of the Covered Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If You have knowledge that a party claims an intellectual property
right in particular functionality or code (or its utilization
under this License), you must include a text file with the source
code distribution titled ``LEGAL'' which describes the claim and
the party making the claim in sufficient detail that a recipient
will know whom to contact. If you obtain such knowledge after You
make Your Modification available as described in Section 3.2, You
shall promptly modify the LEGAL file in all copies You make
available thereafter and shall take other steps (such as notifying
appropriate mailing lists or newsgroups) reasonably calculated to
inform those who received the Covered Code that new knowledge has
been obtained.
(b) Contributor APIs.
If Your Modification is an application programming interface and
You own or control patents which are reasonably necessary to
implement that API, you must also include this information in the
LEGAL file.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source
Code, and this License in any documentation for the Source Code, where
You describe recipients' rights relating to Covered Code. If You
created one or more Modification(s), You may add your name as a
Contributor to the notice described in Exhibit A. If it is not possible
to put such notice in a particular Source Code file due to its
structure, then you must include such notice in a location (such as a
relevant directory file) where a user would be likely to look for such
a notice. You may choose to offer, and to charge a fee for, warranty,
support, indemnity or liability obligations to one or more recipients
of Covered Code. However, You may do so only on Your own behalf, and
not on behalf of the Initial Developer or any Contributor. You must
make it absolutely clear than any such warranty, support, indemnity or
liability obligation is offered by You alone, and You hereby agree to
indemnify the Initial Developer and every Contributor for any liability
incurred by the Initial Developer or such Contributor as a result of
warranty, support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the
requirements of Section 3.1-3.5 have been met for that Covered Code,
and if You include a notice stating that the Source Code version of the
Covered Code is available under the terms of this License, including a
description of how and where You have fulfilled the obligations of
Section 3.2. The notice must be conspicuously included in any notice in
an Executable version, related documentation or collateral in which You
describe recipients' rights relating to the Covered Code. You may
distribute the Executable version of Covered Code under a license of
Your choice, which may contain terms different from this License,
provided that You are in compliance with the terms of this License and
that the license for the Executable version does not attempt to limit
or alter the recipient's rights in the Source Code version from the
rights set forth in this License. If You distribute the Executable
version under a different license You must make it absolutely clear
that any terms which differ from this License are offered by You alone,
not by the Initial Developer or any Contributor. You hereby agree to
indemnify the Initial Developer and every Contributor for any liability
incurred by the Initial Developer or such Contributor as a result of
any such terms You offer.
3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code
not governed by the terms of this License and distribute the Larger
Work as a single product. In such a case, You must make sure the
requirements of this License are fulfilled for the Covered Code.
4. Inability to Comply Due to Statute or Regulation.
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Code due to statute
or regulation then You must: (a) comply with the terms of this License
to the maximum extent possible; and (b) describe the limitations and
the code they affect. Such description must be included in the LEGAL
file described in Section 3.4 and must be included with all
distributions of the Source Code. Except to the extent prohibited by
statute or regulation, such description must be sufficiently detailed
for a recipient of ordinary skill to be able to understand it.
5. Application of this License.
This License applies to code to which the Initial Developer has
attached the notice in Exhibit A, and to related Covered Code.
6. Versions of the License.
6.1. New Versions.
Netscape Communications Corporation (``Netscape'') may publish revised
and/or new versions of the License from time to time. Each version will
be given a distinguishing version number.
6.2. Effect of New Versions.
Once Covered Code has been published under a particular version of the
License, You may always continue to use it under the terms of that
version. You may also choose to use such Covered Code under the terms
of any subsequent version of the License published by Netscape. No one
other than Netscape has the right to modify the terms applicable to
Covered Code created under this License.
6.3. Derivative Works.
If you create or use a modified version of this License (which you may
only do in order to apply it to code which is not already Covered Code
governed by this License), you must (a) rename Your license so that the
phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or
any confusingly similar phrase do not appear anywhere in your license
and (b) otherwise make it clear that your version of the license
contains terms which differ from the Mozilla Public License and
Netscape Public License. (Filling in the name of the Initial Developer,
Original Code or Contributor in the notice described in Exhibit A shall
not of themselves be deemed to be modifications of this License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS,
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8. TERMINATION.
This License and the rights granted hereunder will terminate
automatically if You fail to comply with terms herein and fail to cure
such breach within 30 days of becoming aware of the breach. All
sublicenses to the Covered Code which are properly granted shall
survive any termination of this License. Provisions which, by their
nature, must remain in effect beyond the termination of this License
shall survive.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER
PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT
EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a ``commercial item,'' as that term is defined in
48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer
software'' and ``commercial computer software documentation,'' as such
terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
all U.S. Government End Users acquire Covered Code with only those
rights set forth herein.
11. MISCELLANEOUS.
This License represents the complete agreement concerning subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. This License shall be governed by
California law provisions (except to the extent applicable law, if any,
provides otherwise), excluding its conflict-of-law provisions. With
respect to disputes in which at least one party is a citizen of, or an
entity chartered or registered to do business in, the United States of
America: (a) unless otherwise agreed in writing, all disputes relating
to this License (excepting any dispute relating to intellectual
property rights) shall be subject to final and binding arbitration,
with the losing party paying all costs of arbitration; (b) any
arbitration relating to this Agreement shall be held in Santa Clara
County, California, under the auspices of JAMS/EndDispute; and (c) any
litigation relating to this Agreement shall be subject to the
jurisdiction of the Federal Courts of the Northern District of
California, with venue lying in Santa Clara County, California, with
the losing party responsible for costs, including without limitation,
court costs and reasonable attorneys fees and expenses. The application
of the United Nations Convention on Contracts for the International
Sale of Goods is expressly excluded. Any law or regulation which
provides that the language of a contract shall be construed against the
drafter shall not apply to this License.
12. RESPONSIBILITY FOR CLAIMS.
Except in cases where another Contributor has failed to comply with
Section 3.4, You are responsible for damages arising, directly or
indirectly, out of Your utilization of rights under this License, based
on the number of copies of Covered Code you made available, the
revenues you received from utilizing such rights, and other relevant
factors. You agree to work with affected parties to distribute
responsibility on an equitable basis.
AMENDMENTS
Additional Terms applicable to the Netscape Public License.
I. Effect.
These additional terms described in this Netscape Public License --
Amendments shall apply to the Mozilla Communicator client code and to
all Covered Code under this License.
II. ``Netscape's Branded Code'' means Covered Code that Netscape
distributes and/or permits others to distribute under one or more
trademark(s) which are controlled by Netscape but which are not
licensed for use under this License.
III. Netscape and logo.
This License does not grant any rights to use the trademark
``Netscape'', the ``Netscape N and horizon'' logo or the Netscape
lighthouse logo, even if such marks are included in the Original Code.
IV. Inability to Comply Due to Contractual Obligation.
Prior to licensing the Original Code under this License, Netscape has
licensed third party code for use in Netscape's Branded Code. To the
extent that Netscape is limited contractually from making such third
party code available under this License, Netscape may choose to
reintegrate such code into Covered Code without being required to
distribute such code in Source Code form, even if such code would
otherwise be considered ``Modifications'' under this License.
V. Use of Modifications and Covered Code by Initial Developer.
V.1. In General.
The obligations of Section 3 apply to Netscape, except to the
extent specified in this Amendment, Section V.2 and V.3.
V.2. Other Products.
Netscape may include Covered Code in products other than the
Netscape's Branded Code which are released by Netscape during the
two (2) years following the release date of the Original Code,
without such additional products becoming subject to the terms of
this License, and may license such additional products on
different terms from those contained in this License.
V.3. Alternative Licensing.
Netscape may license the Source Code of Netscape's Branded Code,
including Modifications incorporated therein, without such
additional products becoming subject to the terms of this License,
and may license such additional products on different terms from
those contained in this License.
VI. Arbitration and Litigation.
Notwithstanding the limitations of Section 11 above, the provisions
regarding arbitration and litigation in Section 11(a), (b) and (c) of
the License shall apply to all disputes relating to this License.
EXHIBIT A.
``The contents of this file are subject to the Netscape Public License
Version 1.0 (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
Netscape Communications Corporation. All Rights Reserved.
Contributor(s): ______________________________________.''
[NOTE: The text of this Exhibit A may differ slightly from the text of
the notices in the Source Code files of the Original Code. This is due
to time constraints encountered in simultaneously finalizing the
License and in preparing the Original Code for release. You should use
the text of this Exhibit A rather than the text found in the Original
Code Source Code for Your Modifications.]

83
mozilla/Makefile Normal file
View File

@@ -0,0 +1,83 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = .
NSPRDIR = nsprpub
NSPR20 = 1
MOZILLA_CLIENT = 1
ifndef NO_MOCHA
DIRS_JS = js
endif
DIRS = config coreconf $(NSPRDIR) jpeg dbm xpcom network
ifdef MOZ_NETCAST
DIRS += netcast
endif
ifdef MOZ_JAVA
DIRS += sun-java ldap ifc $(DIRS_JS) nav-java ifc/tools js/jsd
else
DIRS += sun-java nav-java $(DIRS_JS)
endif
ifndef NO_SECURITY
DIRS += security
endif
DIRS += modules lib l10n cmd
ifeq ($(STAND_ALONE_JAVA),1)
DIRS = config lib/xp $(NSPRDIR) jpeg modules/zlib sun-java ifc js ifc/tools sun-java/java
endif
include $(DEPTH)/config/rules.mk
export:: $(OBJS)
# Running this rule assembles all the SDK source pieces into dist/sdk.
# You'll need to run this rule on every platform to get all the
# binaries (e.g. javah) copied there. You'll also have to do special
# magic on a Mac.
sdk-src::
$(SDKINSTALL) include/npapi.h $(SDK)/include/
$(SDKINSTALL) include/jri_md.h $(SDK)/include/
$(SDKINSTALL) include/jritypes.h $(SDK)/include/
$(SDKINSTALL) include/jri.h $(SDK)/include/
$(SDKINSTALL) lib/plugin/npupp.h $(SDK)/include/
$(SDKINSTALL) sdk/common/*.c* $(SDK)/common/
$(SDKINSTALL) sun-java/classsrc/$(ZIP_NAME).x $(SDK)/classes/$(ZIP_NAME)
$(SDKINSTALL) sdk/examples/simple/Source/*.c $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.java $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.class $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/_gen/*.h $(SDK)/examples/simple/Source/_gen/
$(SDKINSTALL) sdk/examples/simple/Source/_stubs/*.c $(SDK)/examples/simple/Source/_stubs/
$(SDKINSTALL) sdk/examples/simple/Unix/makefile.* $(SDK)/examples/simple/Unix/
$(SDKINSTALL) sdk/examples/simple/Testing/SimpleExample.html $(SDK)/examples/simple/Testing/
$(SDKINSTALL) sdk/examples/simple/readme.html $(SDK)/examples/simple/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/*.c $(SDK)/examples/UnixTemplate/Source/
$(SDKINSTALL) sdk/examples/UnixTemplate/Testing/Test.html $(SDK)/examples/UnixTemplate/Testing/
$(SDKINSTALL) sdk/examples/UnixTemplate/Unix/makefile.* $(SDK)/examples/UnixTemplate/Unix/
$(SDKINSTALL) sdk/examples/UnixTemplate/readme.html $(SDK)/examples/UnixTemplate/
sdk-bin::
cd sdk; $(MAKE); cd ..
$(SDKINSTALL) $(DIST)/bin/javah$(BIN_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/simple/Source/$(OBJDIR)/npsimple.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/$(OBJDIR)/nptemplate.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,400 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on the Macintosh PPC platform</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on the Macintosh PPC platform</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
</H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Macintosh PPC System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<H2>4. <A HREF="#s4"> Credits </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the most current code for building, but is
slower than ftp (takes longer to download).
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
The following need to be installed:
<UL>
<LI>CodeWarrior (CW) 2 - obtainable from
<A HREF="http://www.metrowerks.com">Metrowerks</A>.
See <A HREF="#s3">Common Sticking Points</A> if you have a different
version.
</LI>
<LI>PowerPlant 1.8 - obtainable from the CodeWarrior CD.</LI>
<LI>MSL - the Metrowerks Standard Library, obtainable from the
CodeWarrior CD</LI>
<LI><A HREF="ftp://ftp.boingo.com//dan/WASTE/waste-13.hqx">WASTE
1.3</A></LI>
<LI><A HREF="http://www.bact.wisc.edu/CWASTEEdit/CWASTEEdit.sit.hqx">CWASTE
1.6.2</A></LI>
<LI>
<A HREF="ftp://ftp.scripting.com/userland/menuSharingToolkit4.1.sit.hqx">
Menu Sharing Toolkit</A> (from UserLand)</LI>
<LI>
<A HREF="ftp://ftp.digitalalchemy.com/pub/digitalalchemy/mercutio-SDK.sit.bin">
Mercutio 1.5 SDK</A> (only download the SDK, not the entire package, else
the access paths will be wrong)</LI>
<LI>
<A HREF="ftp://ftp.share.com/pub/internet-configuration/ICProgKit1.4.sit">
Internet Config 1.4 SDK</A></LI>
<LI><A HREF="http://www.mooseyard.com/Jens/Software/">AEGizmos
1.4.2</A></LI>
<LI><A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_tool.bin">
MacPerl 5 MPW Tool</A></LI>
<LI>
<A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_appl.bin">MacPerl 5 Application</A></LI>
<LI>MakeStub - MPW (installed with CodeWarrior Heaven option). If
you choose not to install MPW, it is located on the MacOS Tools CD
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
<LI>RunTSScript - in Mozilla source distribution
(mozilla:build:mac:RunTSScript), needs to be installed by hand</LI>
<LI><A HREF="ftp://dev.apple.com/devworld/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/ToolServer.sit.hqx">ToolServer</A>
- or in the CW distribution (CW Pro 2 Tools:Apple Development
Tools:ToolServer 3.4.1.sit). <B>We recommend pulling it off the
CD</B> because it comes with configuration files for CodeWarrior
which you would have to create manually were you to pull it off
the net.</LI>
<LI>
<A HREF="http://people.netscape.com/sfraser/software/NewAlias_tool.sit.hqx">
New Alias MPW Tool</A> An MPW tool that creates Finder aliases for files.
</LI>
<LI>StreamEdit MPW Tool - MPW (installed with CodeWarrior Heaven option). If
you choose not to install MPW, it is located on the MacOS Tools CD
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
</LI>
<LI>
<A HREF="ftp://dev.apple.com/devworld/Periodicals/develop/develop25/develop_Issue_25_code/ToolFrontEnd.sit.hqx">ToolFrontEnd</A></LI>
<LI>
<A HREF="http://sunsite.cnlab-switch.ch/ftp/software/platform/macos/src/HTML/MPW_C.html">
patch 2.1</A></LI>
</UL>
<P>
Hardware/OS
<UL>
<LI>To build Navigator, you need a fast PPC Mac. The faster the
better. You can't build with a 68K machine because we have too many
resources, and the build process will crash when trying to generate
resources out of our cross-platform strings. See the discussion below
for a way around this.
</LI>
<LI>You will need about 96 MB of physical RAM to "fast link" the app.
You can still fast link if you give your machine 96 MB of virtual
memory, but then the VM hit is large enough to counteract any
improvement. One of our beta testers had a machine with only 64MB of
physical RAM (VM was off) and it ran out of memory trying to link.
Turning VM on got it to link, but build time increased greatly.
</LI>
<LI>Reports from the net indicate that the optimized version
(MozillaPPC) take much less RAM to build than the 96MB we suggest. If
you are running out of memory, try building that instead of the debug
version (the debug symbols require a lot of RAM come link time).
</LI>
<LI>You should be ok with a 400MB disk partition, even when fully
built. This does not include tools like the IDE, just source.
</LI>
<LI>On an HFS+ volume, a full build takes about 110MB. HFS+ is good,
but utilities are sparse.
</LI>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<OL>
<LI>Install CodeWarrior from the CD. While it is large, installing
the "CodeWarrior Heaven" option will guarantee that you have
everything you need. This will give you PowerPlant, MSL, and MPW.
If you choose to install less, proceed at your own risk.</LI>
<LI>In the Finder, increase the memory partition of the IDE to
15MB (you can get by with 12, if need be).</LI>
<LI>Download ToolFrontEnd. After expanding it, in "ToolFrontEnd
Folder:Drop-Ins" there are three items:
<UL>
<LI><I>#include</I></LI>
<LI><I>ToolFrontEnd</I></LI>
<LI><I>ToolFrontEnd Panel</I></LI>
</UL>
<P>Create a folder named "Include Scanners". Place the file
"#include" into the Include Scanners folder. Move the Include
Scanners folder to the CodeWarrior Plugins folder. Create a folder
named "ToolFrontEnd". Place the files "ToolFrontEnd" and
"ToolFrontEnd Panel" into the ToolFrontEnd folder. Place this
folder in the CodeWarrior Plugins folder.</P></LI>
<LI>Open "ToolFrontEnd Panel" with ResEdit. Change the file type
from <B>'Panl'</B> to <B>'PanL'</B>. Save.</LI>
<LI>Uncompress the StuffIt Archive for ToolServer. The goal is to
let ToolServer and MPW share the same Tools directory so you don't
need to have multiple versions of tools. Do the following:
<OL>
<LI>Open ToolServer's Tools folder. There is one file called
"RMetrowerks". </LI>
<LI>Move RMetrowerks to Tools folder of MPW. MPW folder must be
at "Metrowerks:Codewarrior MPW:MPW" if you installed
Codewarrior Heaven. </LI>
<LI>Remove ToolServer's Tools folder.</LI>
<LI>Now create an alias of Tools folder in "CodeWarrior MPW"
and move it to your ToolServer folder. Rename the alias
(probably called "Tools alias") to "Tools"</LI>
<LI><FONT COLOR="#FF0000"><B>IMPORTANT</B></FONT>: Make sure
you only have one instance of ToolServer on your machine. If
the build script finds the wrong one, the correct tools will
not be found and strange things will happen.</LI>
</OL>
</LI>
<LI>After installing the MacPerl MPW Tool distribution (run the
InstallerVISE application), in the "MacPerl &#131;" folder, there
will be an MPW tool named "perl". Install this in MPW's tools
folder.</LI>
<LI>Install the MacPerl Application (run the
InstallerVISE application). You can install this anywhere, but it is
recommended that you install it inside of your CodeWarrior folder for
easy reference. After installation, you will need to set a preference
to enable double-click launch of the perl scripts. This preference is set
by going under the Edit Menu to Preferences. Click on the "Script" button
and hit the radio button "Run Scripts opened from Finder"</LI>
<LI>Install the "patch", "MakeStub", "NewAlias" and "StreamEdit" Tools in the
tools
folder. Note that "MakeStub" and "StreamEdit" are automatically installed by the
"CodeWarrior Heaven" install option.</LI>
<LI>Install RunTSScript (found in the Mozilla source distribution)
in the compilers folder in your build environment
("Metrowerks:Metrowerks Codewarrior:Codewarrior
Plugins:Compilers")</LI>
<LI>Next, after downloading all the 3rd party software components,
drag WASTE, CWASTE, Menu Sharing, Mercutio, Internet Config, and
the AEGizmo folders (just as they are) into the "MacOS Support"
folder in your build environment.</LI>
<LI>Start ToolServer from within CodeWarrior (or use MPW if you
are brave enough). We're about to patch some files. Make sure the
ToolServer menu is in the CodeWarrior menu bar by turning on the
<A HREF="IDEPrefs.gif">preference</A> under the "Extras" panel in
the IDE Preferences (not the project preferences!). The menu bar
should look like this:
<P><IMG SRC="IDEMenuBar.gif" WIDTH=359 HEIGHT=20 X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
<P>Choose "Start ToolServer" from the ToolServer menu (this is the
icon menu between "Window" and "Help" in the menubar above). You
will now see a window with no close box. This is your ToolServer
Worksheet where you will type (or cut &amp; paste) the commands
for the following steps.</P>
<P>In case you have never used MPW/ToolServer before, the
following is <B>very important</B>. Pressing "return" does not
execute commands like you might think. It just inserts a newline
into the worksheet like a normal text editor. <B>To actually get
ToolServer to execute the command, you must press "Enter" (lower
right of numeric keypad).</B> This executes the line that the
cursor is on, and only that line. If you want to execute multiple
lines at once, select them all and hit Enter.</P></LI>
<LI>Set the shell variables {IDE} and {Source} to the correct
paths for your build environment. {IDE} is where your CodeWarrior
IDE is located. {Source} is the folder containing the toplevel
"ns" folder of the Mozilla source. Mine look like this (don't
forget to keep the quotes if your path includes spaces), yours
will almost certainly be different (<FONT COLOR="#FF0000">to
punctuate this, the things you need to change are in red</FONT>).
<PRE>Set IDE "<FONT COLOR="#FF0000">Develop:Source331 Build Environment:CW Pro 2:Metrowerks CodeWarrior:</FONT>"
Set Source "<FONT COLOR="#FF0000">Source:FreeSource:</FONT>"</PRE>
</LI>
<LI>If you are using CWPro2, execute the following lines to patch
LDropFlag to draw correcly over non-white backgrounds.
<PRE>directory "{IDE}MacOS Support:PowerPlant:_In Progress:_Table Classes:"
patch LDropFlag.cp "{Source}mozilla:lib:mac:patches:LDropFlag.patch"
duplicate -y "{Source}mozilla:lib:mac:patches:DropFlag Icons.rsrc" "{IDE}MacOS Support:PowerPlant:PowerPlant Resources:"</PRE></LI>
<LI>Execute the following lines to patch menusharing.c to allow it
to compile with the new Universal Headers. It references an
obsolete header file (GestaltEqu.h).
<PRE>directory "{IDE}MacOS Support:Menu Sharing Toolkit 4.1:"
patch menusharing.c "{Source}mozilla:lib:mac:patches:menusharing.patch"</PRE></LI>
<LI>If you are using CWPro2 straight off the CD, you need to patch
AppleEvents.r to fix a problem with the Universal Headers (the
definition of the 'aedt' resource was omitted). <B>You do not have
to do this if you have applied the netborne patch to Pro2e
</B> because it has been fixed.
<PRE>directory "{IDE}MacOS Support:Headers:Rez Headers:"
patch AppleEvents.r "{Source}mozilla:lib:mac:patches:AppleEvents.r.patch"</PRE></LI>
<LI>You need to patch stat.mac.h to fix a problem in MSL where
lines were omitted.
<PRE>directory "{IDE}Metrowerks Standard Library:MSL C:MSL Mac:Public Includes"
patch stat.mac.h "{Source}mozilla:lib:mac:patches:stat.mac.h.patch"</PRE></LI>
<LI>Congratulations! Now you are ready to build. Once these steps
are done, you don't have to repeat these setups the next
time!</LI>
</OL>
<P>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
<P>In the folder mozilla:build:mac:, there are several Perl scripts with
names of the form BuildMozillaXXX.pl, where XXX is "Optimized",
"Debug", "Tinderbox", et al. Each script builds the corresponding
version of Mozilla. If you configured the MacPerl application to
execute scripts that are opened from the finder, all you have to do is
double click on the appropriate one; otherwise, launch MacPerl, and
run the appropriate script from the "Run Script..." menu item.</P>
<P>These `configured build' scripts are simple, and you might want to
make your own to force your build to StopForErrors(), or alternatively
DontStopForErrors(), et al. You can set up certain build-script
variables and (soon) compile-time flags. Compare the supplied scripts
to figure out what you might want. Note that CodeWarriorLib, Moz.pm,
and BuildList.pm, are AppleScript libraries and Perl modules meant to
be used by a `configured build'. Use your favorite POD viewer (Shuck
comes with MacPerl) to view the documentation in the Perl scripts.</P>
<P>If there were any errors in any of the projects along the way, the
script will stop at that point and the IDE will tell you the errors.
You can fix them and make sure they current project builds, but to
continue the automation, you have to start from the beginning by
double-clicking the script again. This isn't quite as bad as it
sounds because the previous projects are already built (unless you
changed some major header file). Please note that stopping the script
once it has started is difficult. We are working to address
this issue.</P>
<P>After the build is complete, you can find aliases to the built libraries
and the final Mozilla application. Debug builds are built to
Mozilla:dist:client_debug, while optimized builds are built to Mozilla:dist:client.
</P>
<P>Don't worry too much about the numerous warnings generated during
the build. We try our best to get the XP teams to use real compilers,
but alas, they continue to write warning-laden code. There is also
some generated code (Java is one example) that has a lot of warnings
that we can't help either. If you write any new code, please help us
in our quest to get zero warnings.</P>
</UL>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<UL>
<LI><B>I have CodeWarrior3, how do i build with it?</B>
<UL> Currently, the answer is, "You don't." Eventually, the distribution
will be modified to allow building using CodeWarrior3, but for now
CodeWarrior2 is the only IDE that is supported.
</UL>
</LI>
</UL>
<HR>
<H2><A NAME="s4">4. Credits</A></H2>
<UL>
The majority of this document is taken from the build document included
in the Mozilla source distribution at README:mozilla:macbuild.htm written
by Mike Pinkerton, <A HREF="mailto:pinkerton@netscape.com">
pinkerton@netscape.com</A>.
</BODY>
</HTML>

View File

@@ -0,0 +1,137 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on unix platforms</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on Unix platforms</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT></H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Unix System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
<BR>
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
</UL>
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the least outdated code for building, but is
slower than ftp.
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
<UL>
The following need to be installed:
<UL>
<LI>Motif 1.2 (2.1 recommended for RedHat Linux)
<LI>GNU C/C++ compiler 2.7.2
<LI>GNU make 3.74 or better
<LI>Perl (or, if you have no Perl, then set <CODE>PERL=/bin/echo</CODE>)
</UL>
<P>
Your hardware should be equal to, or better than:
<UL>
32 MB RAM, 128 MB swap (64 MB RAM recommended)
</UL>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<UL>
The following environment variables need to be set:
<CODE>
<PRE>
MOZILLA_CLIENT=1
MOZ_MEDIUM=1
NO_SECURITY=1
NO_MDUPDATE=1
</PRE>
</CODE>
Optionally, you can set <CODE>BUILD_OPT=1</CODE> if you don't want a debug
build.
<BR>
Environment variables are set by the shell, and each shell may or may not have
its own way of setting them. Type <CODE>man setenv</CODE> to find out how your
shell sets variables, if you don't know already.
<P>
</UL>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
Change to the directory you copied the source into (for example,
<CODE>cd /builds</CODE>). If this directory was empty before you
installed the source, there should be two directories here:
<CODE>README</CODE> and <CODE>mozilla</CODE>.
<CODE>
<PRE>
cd mozilla
gmake
</PRE>
</CODE>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<LI>My linker dies with this error: undefined reference to `_Xsetlocale'
<UL>If this error occurs, you might have to recompile libX11.so
with the -DX_LOCALE flag (thanks to Scott Lampert,
<A HREF="mailto:fortunato@heavymetal.org">fortunato@heavymetal.org</A>).
This problem stems from use of an older version of RedHat Motif.
Moving to Motif 2.1 should resolve this. There are probably other problems
with using the older versions of Motif, but i haven't encountered them.
</UL>
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,209 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on Microsoft Windows 32-bit platforms</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on Microsoft Windows 32-bit platforms</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
</H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Microsoft Windows 32-bit System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
<BR>
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the least outdated code for building, but is
slower than ftp.
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
<UL>
The following need to be installed:
<UL>
<LI>Microsoft Visual C++ version 4.2 or later
<LI>GNU Tools for Microsoft Windows, located:
<UL>
<LI><A HREF="http://www.cygnus.com/misc/gnu-win32">Cygnus</A></LI>
<LI><A HREF="http://www.gnu.org/order/ftp.html">GNU home page</A></LI>
<LI><A HREF="ftp://prep.ai.mit.edu/pub/gnu">MIT</A></LI>
</UL>
Specifically, you'll need:
<UL><CODE>
cp.exe<BR>
rm.exe<BR>
uname.exe<BR>
</CODE>
</UL>
Netscape has internally modified version of gmake, shmsdos and win32gnu
that we use to get around some problems we were having keeping in sync
with the Unix version of gmake. This version of gmake can be found in the
Windows Build Tools package, which can be ftp'd from
<A HREF="http://www.mozilla.org/download-mozilla.html"> the Mozilla
Download page</A>.
The three files you will need are:
<UL><CODE>
gmake.exe<BR>
shmsdos.exe<BR>
uname.exe<BR>
</CODE>
</UL>
</UL>
<P>
Hardware/OS
<UL>
<LI>Pentium 133 MHz or better</LI>
<LI>64 MB RAM, 128 MB recommended</LI>
<LI>250 MB NTFS or 500 MB FAT disk space</LI>
<LI>NT 4.0 is preferred; NT 3.51 will also work.
</LI>
</UL>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<UL>
The following environment variables need to be set:
<UL>
<CODE>
set MOZ_BITS=32
<BR>
set MOZ_DEBUG=1 (set this only if you want to build a debug build)
<BR>
set MOZ_GOLD=1
<BR>
set MOZ_MEDIUM=1
<BR>
set MOZ_NT=351 (if running NT3.51)
<BR>
set MOZ_OUT=(optional: specifies location of resultant executable)
<BR>
set MOZ_SRC=(top of your tree, for example: set MOZ_SRC=d:\mozilla_source
if this is the directory where you checked or unzipped the source into)
<BR>
set MOZ_TOOLS=(location of the bin directory of your GNU tools. The build
looks for MOZ_TOOLS\bin\gmake.exe, so make sure that the gmake.exe from
the Windows Build Tools package resides there.)
<BR>
set NO_SECURITY=1
<BR>
set NSPR20=1
<BR>
set _MSC_VER=1100 (if you are running VC++ 5.0 or higher)
<BR>
</CODE>
</UL>
<BR>
<P>
</UL>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
Change to the directory you copied the source into (for example,
<CODE>cd d:\mozilla_source</CODE>). If this directory was empty before you
installed the source, there should be two directories here:
<CODE>README</CODE> and <CODE>mozilla</CODE>.
<CODE>
<PRE>
cd mozilla\config
nmake /f makefile.win
cd ..
nmake /f client.mak
</PRE>
</CODE>
</UL>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<UL>
<LI><B>nmake has a 'fatal error', listing one of the GNU commands and a
hexadecimal return code.</B>
<UL>
This will happen as a result of not having the GNU tools and Windows Build
tools in your path. Add the directories with the appropriate binaries to your
path.
</UL>
</LI>
<LI>
<B>It fails with the message "'.\WIN32' unexpected": </B>
<UL>
You didn't properly
set the environment variables -- you must not include a space at the end
of the set statements (be careful if you are cut'n'pasting).
</UL>
</LI>
<LI>
<B>It fails to build, with directory-related errors: </B>
<UL>
The full path
to the source must not include any spaces. Additionally, the source must
be extracted with an intact directory structure by a utility that understands
long filenames. If in doubt, grab Info-Zip at
<A HREF="ftp://ftp.cdrom.com/pub/infozip">ftp://ftp.cdrom.com/pub/infozip</A>
</UL>
</LI>
<LI>
<B>I'm not running a 32-bit windows system, how do i build?</B>
<UL>
Currently, the build process depends on a 32-bit operating system.
Windows NT 4.0 is the recommended windows operating system.
</UL>
</UL>
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,53 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Chris Yeh">
<META NAME="GENERATOR" CONTENT="Mozilla/4.05 [en]C-NSCP (WinNT; U) [Netscape]">
<TITLE>Running Mozilla...</TITLE>
</HEAD>
<BODY>
<H2>
<FONT FACE="Arial,Helvetica">Running Mozilla Without Trashing Netscape
Installation</FONT></H2>
This document explains how to run <TT>mozilla.exe</TT> separately from
<TT>netscape.exe</TT> without trashing your regular installation of Netscape
Communicator. This is necessary if, for example, you want to use Communicator's
mail client while you work on Mozilla development.
<BR>
<HR WIDTH="100%">
<OL>
<LI>
Before running <TT>mozilla.exe</TT>, create a new user profile either from
a Netscape 4.0x installation using the "User Profile Manager" shortcut
in the Utilities folder (on Windows) or by using&nbsp; the <TT>-new_account</TT>
option on the command line of either <TT>netscape.exe</TT> or <TT>mozilla.exe</TT>.&nbsp;
We suggest calling the profile "<TT>mozilla</TT>."</LI>
<LI>
Always use that new account when running <TT>mozilla.exe</TT>, and never
run <TT>netscape.exe</TT> using that same account profile.</LI>
</OL>
To make things easier, you can start the application with the user account
on the command line, for example:
<UL><TT>mozilla.exe -P"mozilla"</TT></UL>
This assures that prefs and the cache will not interfere between the two
versions. This will be especially
<BR>important as new prefs are added to the Mozilla product. Note that
you must use quotes around the name and there can be no space between the
"P" and the profile name. Otherwise, the application won't catch the profile
switch, and it will try to load the profile name as the initial URL.
<P>
<HR WIDTH="100%">
<BR>You can copy your <TT>bookmark.htm</TT> file from an existing profile
to your new profile directory if you want to share bookmarks.
<P>After the initial 3/31 release, we will add some code to Mozilla to
prevent running with a profile that is already being used by <TT>netscape.exe</TT>.
<BR>&nbsp;
<HR WIDTH="100%">
<BR><FONT SIZE=-1>Copyright &copy; 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
Communications Corporation</A></FONT>
</BODY>
</HTML>

View File

@@ -0,0 +1,184 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-mac-roman">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
<META NAME="KeyWords" CONTENT="client, source, documentation">
<META NAME="Author" CONTENT="Kipp E.B. Hickman">
<TITLE>NGLayout Windows Build Instructions</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H2>
<FONT FACE="Arial,Helvetica">NGLayout Windows Build Instructions</FONT></H2>
This document explains how to build NGLayout for the Windows platform.&nbsp;
<HR><B><FONT SIZE=+1>Required Tools:</FONT></B>
<UL>
<LI>
<B>Microsoft Visual C++ version 4.2 or later</B></LI>
<LI>
<B>The same set of tools for building <A HREF="http://www.mozilla.org/docs/tplist/catBuild/winbuild.htm">Mozilla</A></B></LI>
</UL>
<B><FONT SIZE=+1>Setting up:</FONT></B>
<UL>
<LI>
You need a Pentium with at least a 133 MHz processor and at least 250 megs
(NTFS partition) or 500 megs (FAT partition) of hard drive space. You need
to have a minimum of 64 megs of memory in order to build this tree. These
numbers are approximations.</LI>
<LI>
The preferred platform is NT 4.0. NT 3.51 will also work, and Win95 might
work if you're lucky. Maybe.</LI>
<LI>
Install MSVC. If you don't choose to have the MSVC install modify your
environment variables for PATH, INCLUDE, and LIB information, be sure to
run VCVARS32.BAT out of the MSVC bin directory prior to attempting to build.</LI>
<LI>
Download and install GNU tools. Put them in your path.</LI>
<LI>
Install NGLayout source.</LI>
<UL>
<LI>
cd &lt;your-source-area></LI>
<LI>
unzip -o -q win-19980415.zip</LI>
</UL>
<LI>
There are several environment variables you will need to set, either manually
or via a script within a command session, or by setting them in your system
environment located through the Control Panel | System icon.</LI>
<P>&nbsp;<B>Note: There is an additional variable for building NGLayout!
Use this list carefully!</B>
<P>&nbsp;The variables are:
<UL>
<LI>
set MOZ_BITS=32</LI>
<LI>
set MOZ_DEBUG=1 (don't set this if you want to build an optimized release
build)</LI>
<LI>
set MOZ_GOLD=1</LI>
<LI>
set MOZ_MEDIUM=1</LI>
<LI>
set MOZ_NT=351 (if running NT 3.51, don't set otherwise)</LI>
<LI>
set MOZ_OUT=(location of resulting executable and totally optional, see
Notes for more details)</LI>
<LI>
set MOZ_SRC=(top of your tree, drive letter and path, i.e. set MOZ_SRC=d:\mozilla_src.
The topmost directory under this should be mozilla)</LI>
<LI>
set MOZ_TOOLS=(location of the bin directory containing your GNU tools.
The build looks for MOZ_TOOLS\bin\gmake.exe, so make sure your MOZ_TOOLS
is figured appropriately)</LI>
<LI>
set NO_SECURITY=1</LI>
<LI>
set NSPR20=1</LI>
<LI>
if you are running VC++ 5.0 or higher: set _MSC_VER=1100; if you are running
VC++ 4.2 then set MOZ_VCVER=42</LI>
<LI>
<B>set STANDALONE_IMAGE_LIB=1</B></LI>
<LI>
<B>set MODULAR_NETLIB=1</B></LI>
</UL>
</UL>
<B><FONT SIZE=+1>Building:</FONT></B>
<UL>
<LI>
You need to be running a vanilla command prompt. Other shells may work,
but you might have to tweak makefiles.</LI>
<LI>
<B>Build the tools:</B> This generates several tools that handle things
like dependency generation</LI>
<UL>
<LI>
cd mozilla\config</LI>
<LI>
nmake /f makefile.win</LI>
</UL>
<LI>
<B>Build the NGLayout:</B> This will do a complete build of the source
tree. You will end up with a viewer.exe at the end. The viewer.exe will
be in your dist\win32_[OD].obj\bin directory (O will be used when you don't
set MOZ_DEBUG; D will be used when you set MOZ_DEBUG).</LI>
<UL>
<LI>
cd mozilla</LI>
<LI>
nmake /f nglayout.mak</LI>
</UL>
</UL>
<B><FONT SIZE=+1>Running:</FONT></B>
<UL>
<LI>
Once you have built the system, do this to run the viewer program (the
viewer program is a simple test program that uses the nsIWebWidget API
to embed a web widget object). The viewer program has a few basic menu
items, include "Samples" which load sample tests.</LI>
<UL>
<LI>
cd mozilla\dist\win32_[OD].obj\bin</LI>
<LI>
.\viewer.exe</LI>
</UL>
</UL>
<B><FONT SIZE=+1>Notes:</FONT></B>
<UL>
<LI>
This build process does not use Visual C++ generated project files for
several reasons having to do with (among other things) size, maintainability,
and the long term desire to start using more of tools like gmake, or plug
and play developer tools. This does not preclude you from using the Visual
C++ IDE, or it's debugger. Once you have built a viewer.exe do this to
run it under the debugger:</LI>
</UL>
<UL>
<UL>
<LI>
cd mozilla\dist\win32_[OD].obj\bin</LI>
<LI>
msdev viewer.exe</LI>
</UL>
</UL>
<HR WIDTH="100%">
<CENTER><FONT SIZE=-1>Copyright &copy; 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
Communications Corporation</A></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -0,0 +1 @@
5009808600

25
mozilla/build/genrc.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DATATYPE="$1"
INFILE="$2"
echo "${DATATYPE} RCDATA"
sed 's/"/""/g' ${INFILE} | awk 'BEGIN { printf("BEGIN\n") } { printf("\"%s\\r\\n\",\n", $0) } END { printf("\"\\0\"\nEND\n") }'
exit 0

45
mozilla/build/hcc Executable file
View File

@@ -0,0 +1,45 @@
#!/bin/sh
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
#
# Fix brain-damaged compilers that don't understand -o and -c together
#
DASH_C=0
DASH_O=0
for i in $*
do
case $i in
-c) DASH_C=1;;
-o) DASH_O=1;;
*.c) C_SRC=$i;;
*.s) S_SRC=$i;;
*.o) OBJECT=$i;;
esac
done
cc $* || exit $?
# if there was no -c and -o we're done
[ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0
# cc always creates the .o from the .c name
[ $C_SRC ] && OBJ=`basename $C_SRC .c`.o
# or the .o from the .s name
[ $S_SRC ] && OBJ=`basename $S_SRC .s`.o
[ -f $OBJECT ] || [ -f $OBJ ] && mv -f $OBJ $OBJECT

86
mozilla/build/hcpp Executable file
View File

@@ -0,0 +1,86 @@
#!/bin/sh
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
#
# Wrapper for brain-damaged compilers that don't understand -o and -c together.
#
DUMMY="XxxXxxX"
DASH_C=0
DASH_O=0
GET_OBJECT=0
C_SRC="${DUMMY}"
CC_SRC="${DUMMY}"
CPP_SRC="${DUMMY}"
S_SRC="${DUMMY}"
OBJECT="${DUMMY}"
for i in $*
do
if [ ${GET_OBJECT} -eq 1 ]; then
OBJECT="$i"
GET_OBJECT=0
fi
case $i in
-c)
DASH_C=1
;;
-o)
DASH_O=1
GET_OBJECT=1
;;
*.c)
C_SRC="$i"
;;
+.*)
;;
*.cpp)
CPP_SRC="$i"
;;
*.cc)
CC_SRC="$i"
;;
*.s)
S_SRC="$i"
;;
esac
done
CC $* || exit $?
# LAME!!!
if [ -f -O ]; then
mv -f -- -O ${OBJECT}
fi
# if there was no -c and -o we're done
[ ${DASH_C} -eq 1 -a ${DASH_O} -eq 1 ] || exit 0
# cc always creates the .o from the .c name
if [ "${C_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${C_SRC} .c`.o
elif [ "${CPP_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${CPP_SRC} .cpp`.o
elif [ "${CC_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${CC_SRC} .cc`.o
# or the .o from the .s name
elif [ "${S_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${S_SRC} .s`.o
fi
[ -f ${OBJECT} ] || [ -f ${OBJ} ] && mv -f ${OBJ} ${OBJECT}

View File

@@ -0,0 +1,302 @@
#!perl
package BuildList;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla DistMozilla);
=head1 NAME
BuildList - build the [ordered] set of projects needed to construct Mozilla
=head1 SYNOPSIS
...
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public License
Version 1.0 (the "NPL"); you may not use this file except in
compliance with the NPL. You may obtain a copy of the NPL at
http://www.mozilla.org/NPL/
Software distributed under the NPL is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
for the specific language governing rights and limitations under the
NPL.
The Initial Developer of this code under the NPL is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All Rights
Reserved.
=cut
use Moz;
use File::Path;
sub BuildMozilla()
{
if ( $main::DEBUG )
{
$D = "Debug";
$dist_dir = ":mozilla:dist:client_debug:";
}
else
{
$D = "";
$dist_dir = ":mozilla:dist:client:";
}
#
# Build the appropriate target of each project
#
BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
BuildProjectClean(":mozilla:cmd:macfe:projects:client:NavigatorStubs.mcp", "Stubs");
BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "NSRuntime$D.shlb");
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
BuildProject(":mozilla:cmd:macfe:restext:StringLib.mcp", "Strings$D.shlb");
MakeAlias(":mozilla:cmd:macfe:restext:Strings$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp", "DBM$D.shlb");
MakeAlias(":mozilla:dbm:macbuild:DBM$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.shlb");
MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp", "PowerPlant$D.shlb");
MakeAlias(":mozilla:lib:mac:PowerPlant:PowerPlant$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "JavaRuntime$D.shlb");
MakeAlias(":mozilla:sun-java:stubs:macbuild:JavaRuntime$D.shlb", "$dist_dir");
BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPC.mcp", "JSJ$D.o");
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScript$D.shlb");
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "NavJava$D.shlb");
MakeAlias(":mozilla:nav-java:stubs:macbuild:NavJava$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "RDF$D.shlb");
MakeAlias(":mozilla:modules:rdf:macbuild:RDF$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "XML$D.shlb");
MakeAlias(":mozilla:modules:xml:macbuild:XML$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "Scheduler$D.shlb");
MakeAlias(":mozilla:modules:schedulr:macbuild:Scheduler$D.shlb", "$dist_dir");
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomLib$D.shlb");
MakeAlias(":mozilla:build:mac:CustomLib:CustomLib$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "FontBroker$D.o");
BuildProject(":mozilla:lib:libmocha:macbuild:LibMocha.mcp", "LibMocha$D.o");
BuildProject(":mozilla:network:macbuild:network.mcp", "Network$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomStaticLib$D.o");
if ( $main::MOZ_MEDIUM == 1 || $main::MOZ_DARK == 1 )
{
BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "Composer$D.o");
if ( $main::MOZ_DARK == 1 )
{
BuildProject(":mozilla:lib:libmsg:macbuild:MsgLib.mcp", "MsgLib$D.o");
BuildProject(":mozilla:cmd:macfe:MailNews:build:MailNews.mcp", "MailNews$D.o");
BuildProject(":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient.mcp","LDAPClient$D.o");
}
else
{
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MsgLib$D.o");
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MailNews$D.o");
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "LDAPClient$D.o");
}
# Build the appropriate resources target
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Moz_Resources");
}
else
{
# Build a project with dummy targets to make stub libraries
BuildProject("cmd:macfe:projects:dummies:MakeDummies.mcp", "Composer$D.o");
# Build the appropriate resources target
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Nav_Resources");
}
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Client$D");
}
sub DistMozilla()
{
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
#INCLUDE
InstallFromManifest(":mozilla:config:mac:MANIFEST", ":mozilla:dist:config:");
InstallFromManifest(":mozilla:include:MANIFEST", ":mozilla:dist:include:");
InstallFromManifest(":mozilla:cmd:macfe:pch:MANIFEST", ":mozilla:dist:include:");
#MAC_COMMON
InstallFromManifest(":mozilla:build:mac:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:NSStdLib:include:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:Misc:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:MoreFiles:MANIFEST", ":mozilla:dist:mac:common:morefiles:");
InstallFromManifest(":mozilla:cmd:macfe:MANIFEST", ":mozilla:dist:mac:macfe:");
#NSPR
InstallFromManifest(":mozilla:nsprpub:pr:include:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:pr:src:md:mac:MANIFEST", ":mozilla:dist:nspr:mac:");
InstallFromManifest(":mozilla:nsprpub:lib:ds:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:libc:include:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:msgc:include:MANIFEST", ":mozilla:dist:nspr:");
#DBM
InstallFromManifest(":mozilla:dbm:include:MANIFEST", ":mozilla:dist:dbm:");
#LIBIMAGE
InstallFromManifest(":mozilla:modules:libimg:png:MANIFEST", ":mozilla:dist:libimg:");
InstallFromManifest(":mozilla:modules:libimg:src:MANIFEST", ":mozilla:dist:libimg:");
InstallFromManifest(":mozilla:modules:libimg:public:MANIFEST", ":mozilla:dist:libimg:");
#SECURITY_freenav
InstallFromManifest(":mozilla:modules:security:freenav:MANIFEST", ":mozilla:dist:security:");
#XPCOM
InstallFromManifest(":mozilla:xpcom:src:MANIFEST", ":mozilla:dist:xpcom:");
#ZLIB
InstallFromManifest(":mozilla:modules:zlib:src:MANIFEST", ":mozilla:dist:zlib:");
#JPEG
InstallFromManifest(":mozilla:jpeg:MANIFEST", ":mozilla:dist:jpeg:");
#JSJ
InstallFromManifest(":mozilla:js:jsj:MANIFEST", ":mozilla:dist:jsj:");
#JSDEBUG
InstallFromManifest(":mozilla:js:jsd:MANIFEST", ":mozilla:dist:jsdebug:");
#JS
InstallFromManifest(":mozilla:js:src:MANIFEST", ":mozilla:dist:js:");
#RDF
InstallFromManifest(":mozilla:modules:rdf:include:MANIFEST", ":mozilla:dist:rdf:");
#XML
InstallFromManifest(":mozilla:modules:xml:glue:MANIFEST", ":mozilla:dist:xml:");
InstallFromManifest(":mozilla:modules:xml:expat:xmlparse:MANIFEST", ":mozilla:dist:xml:");
#LIBFONT
InstallFromManifest(":mozilla:modules:libfont:MANIFEST", ":mozilla:dist:libfont:");
InstallFromManifest(":mozilla:modules:libfont:src:MANIFEST", ":mozilla:dist:libfont:");
#LDAP
if ( $main::MOZ_LDAP || $main::MOZ_DARK )
{
InstallFromManifest(":mozilla:directory:c-sdk:ldap:include:MANIFEST", ":mozilla:dist:ldap:");
}
#SCHEDULER
InstallFromManifest(":mozilla:modules:schedulr:public:MANIFEST", ":mozilla:dist:schedulr:");
#NETWORK
InstallFromManifest(":mozilla:network:cache:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:client:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:cnvts:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:cstream:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:main:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:mimetype:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:util:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:about:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:certld:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:dataurl:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:file:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:ftp:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:gopher:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:http:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:js:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:mailbox:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:marimba:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:nntp:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:pop3:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:remote:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:smtp:MANIFEST", ":mozilla:dist:network:");
#HTML_DIALOGS
InstallFromManifest(":mozilla:lib:htmldlgs:MANIFEST", ":mozilla:dist:htmldlgs:");
#LAYOUT
InstallFromManifest(":mozilla:lib:layout:MANIFEST", ":mozilla:dist:layout:");
#LAYERS
InstallFromManifest(":mozilla:lib:liblayer:include:MANIFEST", ":mozilla:dist:layers:");
#PARSE
InstallFromManifest(":mozilla:lib:libparse:MANIFEST", ":mozilla:dist:libparse:");
#STYLE
InstallFromManifest(":mozilla:lib:libstyle:MANIFEST", ":mozilla:dist:libstyle:");
#PLUGIN
InstallFromManifest(":mozilla:lib:plugin:MANIFEST", ":mozilla:dist:plugin:");
#LIBHOOK
InstallFromManifest(":mozilla:modules:libhook:public:MANIFEST", ":mozilla:dist:libhook:");
#LIBPREF
InstallFromManifest(":mozilla:modules:libpref:public:MANIFEST", ":mozilla:dist:libpref:");
#LIBREG
InstallFromManifest(":mozilla:modules:libreg:include:MANIFEST", ":mozilla:dist:libreg:");
#LIBUTIL
InstallFromManifest(":mozilla:modules:libutil:public:MANIFEST", ":mozilla:dist:libutil:");
#PROGRESS
InstallFromManifest(":mozilla:modules:progress:public:MANIFEST", ":mozilla:dist:progress:");
#EDTPLUG
InstallFromManifest(":mozilla:modules:edtplug:include:MANIFEST", ":mozilla:dist:edtplug:");
#NAV_JAVA
InstallFromManifest(":mozilla:nav-java:stubs:include:MANIFEST", ":mozilla:dist:nav-java:");
InstallFromManifest(":mozilla:nav-java:stubs:macjri:MANIFEST", ":mozilla:dist:nav-java:");
#SUN_JAVA
InstallFromManifest(":mozilla:sun-java:stubs:include:MANIFEST", ":mozilla:dist:sun-java:");
InstallFromManifest(":mozilla:sun-java:stubs:macjri:MANIFEST", ":mozilla:dist:sun-java:");
}
1;

View File

@@ -0,0 +1,143 @@
#!perl
package BuildListObsolete;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla);
=head1 NAME
BuildList - build the [ordered] set of projects needed to construct Mozilla
=head1 SYNOPSIS
...
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public License
Version 1.0 (the "NPL"); you may not use this file except in
compliance with the NPL. You may obtain a copy of the NPL at
http://www.mozilla.org/NPL/
Software distributed under the NPL is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
for the specific language governing rights and limitations under the
NPL.
The Initial Developer of this code under the NPL is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All Rights
Reserved.
=cut
sub BuildMozilla()
{
use Moz;
chdir(":::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just inside "mozilla"
if ( $main::DEBUG )
{
$D = " (Debug)";
$LibD = "Debug";
$dist_dir = ":dist:client_debug:";
}
else
{
$D = "";
$LibD = "";
$dist_dir = ":dist:client:";
}
#
# Build the appropriate target of each project
#
BuildProjectClean(":lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
BuildProjectClean(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
BuildProjectClean(":cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
BuildProject(":lib:mac:NSRuntime:NSRuntime.mcp");
MakeAlias(":lib:mac:NSRuntime:NSRuntimePPCLib", "$dist_dir");
BuildProject(":cmd:macfe:restext:NavStringLibPPC.mcp");
MakeAlias(":cmd:macfe:restext:StringsPPCLib", "$dist_dir");
BuildProject(":lib:mac:MoreFiles:build:MoreFilesPPC.prj");
MakeAlias(":lib:mac:MoreFiles:build:MoreFilesPPC.lib", "$dist_dir");
BuildProject(":nsprpub:macbuild:NSPR20PPC".$LibD.".mcp");
MakeAlias(":nsprpub:macbuild:NSPR20PPC".$LibD."Lib", "$dist_dir");
BuildProject(":dbm:macbuild:DBMPPC".$LibD.".mcp");
MakeAlias(":dbm:macbuild:DBMPPC".$LibD."Lib", "${dist_dir}");
BuildProject(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
MakeAlias(":lib:mac:MacMemoryAllocator:MemAllocatorPPC".$LibD."Lib", "$dist_dir");
BuildProject(":lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
MakeAlias(":lib:mac:NSStdLib:NSStdLibPPCLib", "$dist_dir");
BuildProject(":modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
MakeAlias(":modules:security:freenav:macbuild:NoSecurity".$LibD."Lib", "$dist_dir");
BuildProject(":xpcom:macbuild:xpcomPPC".$LibD.".mcp");
MakeAlias(":xpcom:macbuild:xpcomPPC".$LibD."Lib", "$dist_dir");
BuildProject(":lib:mac:PowerPlant:PowerPlant.mcp");
MakeAlias(":lib:mac:PowerPlant:PowerPlantPPC".$LibD."Lib", "$dist_dir");
BuildProject(":modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
MakeAlias(":modules:zlib:macbuild:zlibPPC".$LibD."Lib", "$dist_dir");
BuildProject(":jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
MakeAlias(":jpeg:macbuild:JPEGPPC".$LibD."Lib", "$dist_dir");
BuildProject(":sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
MakeAlias(":sun-java:stubs:macbuild:JavaRuntimePPC".$LibD."Lib", "$dist_dir");
BuildProject(":js:jsj:macbuild:JSJ_PPC".$LibD.".mcp");
BuildProject(":js:macbuild:JavaScriptPPC".$LibD.".mcp");
MakeAlias(":js:macbuild:JavaScriptPPC".$LibD."Lib", "$dist_dir");
BuildProject(":nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
MakeAlias(":nav-java:stubs:macbuild:NavJavaPPC".$LibD."Lib", "$dist_dir");
if ( $main::DEBUG )
{
BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
MakeAlias(":modules:rdf:macbuild:RDFPPCDebugLib", "${dist_dir}");
}
else
{
Moz::BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
MakeAlias(":modules:rdf:macbuild:RDFPPCLib", "${dist_dir}");
}
BuildProject(":modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
MakeAlias(":modules:xml:macbuild:XMLPPC".$LibD."Lib", "$dist_dir");
BuildProject(":modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
BuildProject(":modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
MakeAlias(":modules:schedulr:macbuild:Schedulr".$LibD."PPCLib", "$dist_dir");
BuildProject(":network:macbuild:network.mcp", "PPC Library (Debug Moz)");
if ( $main::MOZ_LITE == 0 )
{
BuildProject(":cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
}
BuildProject(":cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
}
1;

View File

@@ -0,0 +1,40 @@
#!perl
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
use Moz;
use BuildList;
$DEBUG = 0;
# One of them should be 1. This will come from a config file at some stage.
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
$MOZ_LITE = 0;
$MOZ_MEDIUM = 1;
$MOZ_DARK = 0;
Moz::OpenErrorLog(":::Mozilla.BuildLog");
Moz::StopForErrors();
chdir("::::");
# Make and popuplate the dist directory
DistMozilla();
# Now build the projects
BuildMozilla();

View File

@@ -0,0 +1,124 @@
#!perl
package BuildMozilla;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla);
=head1 NAME
BuildMozilla - build the [ordered] set of projects needed to construct Mozilla
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public License
Version 1.0 (the "NPL"); you may not use this file except in
compliance with the NPL. You may obtain a copy of the NPL at
http://www.mozilla.org/NPL/
Software distributed under the NPL is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
for the specific language governing rights and limitations under the
NPL.
The Initial Developer of this code under the NPL is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All Rights
Reserved.
=cut
sub BuildMozilla()
{
use Moz;
chdir("::::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just above "mozilla"
# Ideally, we would set the target name like so:
# $target = $main::DEBUG ? "debug" : "optimized";
# ...and all projects would have corresponding targets
$D = $main::DEBUG ? " (Debug)" : ""; # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
#
# Build the appropriate target of each project
#
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
Moz::BuildProject(":mozilla:cmd:macfe:restext:NavStringLibPPC.mcp");
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.prj");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPCDebug.mcp");
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp");
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp");
}
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
Moz::BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp");
}
Moz::BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp");
Moz::BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPCDebug.mcp");
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPC.mcp");
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp");
}
Moz::BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
# the following `if' can be fixed when we either rename the debug target of the RDF project, or of all the other projects
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
}
else
{
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
}
Moz::BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
Moz::BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:network:macbuild:network.mcp", "PPC Library (Debug Moz)");
Moz::BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
}
1;

View File

@@ -0,0 +1,40 @@
#!perl
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
use Moz;
use BuildList;
$DEBUG = 1;
# One of them should be 1. This will come from a config file at some stage.
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
$MOZ_LITE = 0;
$MOZ_MEDIUM = 1;
$MOZ_DARK = 0;
Moz::OpenErrorLog(":::Mozilla.BuildLog");
Moz::StopForErrors();
chdir("::::");
# Make and popuplate the dist directory
DistMozilla();
# Now build the projects
BuildMozilla();

View File

@@ -0,0 +1,128 @@
#!perl
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
#
# nglayout build script (debug)
#
use NGLayoutBuildList;
use Cwd;
use Moz;
# configuration variables
$DEBUG = 1;
$pull{all} = 0;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 0;
$build{dist} = 0;
$build{common}= 0;
$build{nglayout}= 0;
#
# UI
#
@choices = ("pull_and_build_all",
"pull_all",
"build_all",
"pull_nglayout",
"build_dist",
"build_projects");
#damn, this does not work on
if (0)
{
while (GetFrontProcess () != GetCurrentProcess())
{
SetFrontProcess( GetCurrentProcess() );
}
@pick = MacPerl::Pick("What would you like to do?", @choices);
$pull{all} = 0;
$build{all} = 1;
foreach $i (@pick)
{
if ($i eq "pull_and_build_all")
{
$pull{all} = 1;
$build{all} = 1;
}
elsif ($i eq "pull_all")
{
$pull{all} = 1;
}
elsif ($i eq "build_all")
{
$build{all} = 1;
}
elsif ($i eq "build_dist")
{
$build{dist} = 1;
}
elsif ($i eq "build_projects")
{
$build{projects} = 1;
}
}
}
else
{
$pull{all} = 1;
$build{all} = 1;
# $pull{netlib} = 1;
# $pull{nglayout} = 1;
# $build{common} = 1;
# $build{nglayout} = 1;
# $build{dist} = 1;
# $pull{nglayout} = 1;
}
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
# do the work
# you should not have to edit anything bellow
chdir("::::");
$MOZ_SRC = cwd();
Moz::StopForErrors();
#Moz::DontStopForErrors();
OpenErrorLog("::NGLayoutBuildLog");
Checkout();
chdir($MOZ_SRC);
BuildDist();
chdir($MOZ_SRC);
BuildProjects();
print "Build layout complete\n";

Binary file not shown.

View File

@@ -0,0 +1,78 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
if {#} != 1
echo "CopyExports requires 1 parameters:"
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
echo " the list of files to be copied, one per line. This path"
echo " may not begin with a colon"
echo
Exit 1
end if
Set SourceList "{SourceRootDir}{1}"
Set ScriptsDir "{SourceRootDir}mozilla:build:mac:"
#set sourceList "{SourceRootDir}mozilla:{1}"
if {verbose}
echo "Source list is in file ¶"{SourceList}¶""
echo "Scripts directory is ¶"{ScriptsDir}¶""
end if
# for each line in the source file, remove it if it starts with #, otherwise quote it
for curLine in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
echo "{curLine}"
# ignore empty lines
if `evaluate "{{curLine}}" != ""`
echo "{curLine}"
# strip out trailing comments
if `evaluate "{curLine}" =~ /(Å)¨1[ ¶t]+(#Å)¨2/`
set sourceLine "{¨1}"
# echo "Discarding comment {¨2}"
else
set sourceLine "{curLine}"
end if
if `evaluate "{sourceLine}" =~ /([Â ¶t]+)¨1[ ¶t]+[:]*(Å)¨2/`
if {verbose}
echo "Cur line is {sourceLine}"
end if
set exportFile "{¨1}"
set theTarget "{¨2}"
if {verbose}
echo "Export file name is {exportFile}"
echo "Target directory is {theTarget}"
end if
"{ScriptsDir}CopyList.script" "{exportFile}" "{theTarget}"
end if
end if
end for

View File

@@ -0,0 +1,81 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is the controlling script for a set of scripts that copy public
# header files in one or more source trees into a single, "dist" directory.
#
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
# ÒCopyExports.scriptÓ, which must be in the same directory.
#
# To execute this script, select everything from "# Get the..." to
# " the end" and hit the Enter key.
#
# Known bugs:
# Header files are always copied if the export.mac file contains
# non-local paths.
# Spurious output is produced even when verbose is off.
#
# Uncomment this to get some progress information
# set -e verbose 1
# Get the root of everything
set magicfilepath "{systempfolder}filepath" # Temporary items folder, "filepath"
if !`Exists "{{magicFilePath}}"`
Echo "No file path file seems to have been created in the temporary items folder."
Echo "Was this script executed from the perl script? That's the way it was designed."
Exit 1
end if
set myDirectory "`catenate "{{magicFilePath}}"`"
delete -i "{{magicFilePath}}"
Set SourceList "{myDirectory}{1}"
(Evaluate "{myDirectory}" =~ /(Å:)¨1[Â:]+:[Â:]+:[Â:]+/) #·· dev:null
Set -e mozillaDir "{¨1}"
if !`Exists "{{mozillaDir}}"`
Echo "A file path was passed, but it doesn't seem to be the mozilla directory."
Exit 1
end if
echo "Mozilla directory found at {mozillaDir}"
#Calculate the root directory by stripping off the leaf name.
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set -e SourceRootDir "{¨1}"
Set -e DestRootDir "{mozillaDir}dist:"
# Ensure the build and stubs folders exist
if !`exists -d "{mozillaDir}dist"`
newfolder "{mozillaDir}dist"
end if
if !`exists -d "{mozillaDir}dist:client"`
newfolder "{mozillaDir}dist:client"
end if
if !`exists -d "{mozillaDir}dist:client_debug"`
newfolder "{mozillaDir}dist:client_debug"
end if
if !`exists -d "{mozillaDir}dist:client_stubs"`
newfolder "{mozillaDir}dist:client_stubs"
end if
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
# the end

View File

@@ -0,0 +1,97 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
if {#} != 2
echo "CopyList requires 2 parameters:"
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
echo " the list of files to be copied, one per line. This path"
echo " may not begin with a colon"
echo
echo "Parameter 2: path relative to {DestRootDir} of the directory where all the"
echo " files are to be copied. No initial colons!"
echo
Exit 1
end if
set debugEcho "" # This setting will actually duplicate the files
#set debugEcho "echo" # This setting will merely print the "duplicate" commands.
set sourceList "{SourceRootDir}{1}"
set targetDir "{DestRootDir}{2}"
# targetDir may not end in a colon for this script to work.
if `Evaluate "{targetDir}" =~ /(Å)¨1:/`
#echo "Removed a colon"
set targetDir "{¨1}"
end if
#Ensure the target hierarchy exists
# Volume name
(Evaluate "{TargetDir}" =~ /([Â:]+)¨1:Å/) ·· dev:null
Set PartialPath "{¨1}"
Loop
(Evaluate "{TargetDir}" =~ /("{PartialPath}":[Â:]+)¨1([:]*)¨2Å/) ·· dev:null
Set PartialPath "{¨1}"
Set Exit 0
(NewFolder "{PartialPath}") ·· dev:null
Set Exit 1
break if "{¨2}" == ""
End Loop
#Calculate the source directory by stripping off the leaf name.
(Evaluate "{SourceList}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set SourceDir "{¨1}"
if {verbose}
echo "Source list is in file ¶"{sourceList}¶""
echo "Source directory is ¶"{SourceDir}¶""
echo "Target directory is ¶"{targetDir}¶""
end if
# Strip all comment lines, pipe the stripped lines into the "for" loop.
# We quote each whole line here so that we deal with a line at a time in the
# for loop. Don't ya just love MPW quoting rulesÉ
for f in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
if `evaluate "{{f}}" != ""`
# strip out trailing comments (in fact, anything following whitespace)
if `evaluate "{f}" =~ /([Â ¶t]+)¨1[ ¶t]+([#]*Å)¨2/`
set sourceFile "{¨1}"
# echo "Discarding comment {¨2}"
else
set sourceFile "{f}"
end if
# sourceFile can be a relative path, so need to get the file name for date comparisons
if `evaluate "{sourceFile}" =~ /Å:([Â:]+)¨1/`
set filename "{¨1}"
else
set filename "{sourceFile}"
end if
# now copy the file if newer
if "`Newer "{sourceDir}{sourceFile}" "{targetDir}:{filename}"`" #|| !`Exists "{targetDir}:{filename}"`
if {verbose} ; echo "{sourceDir}{sourceFile} is newer than {targetDir}:{filename}" ; end if
#{debugEcho} duplicate -y "{sourceDir}{sourceFile}" "{targetDir}"
{debugEcho} newalias "{sourceDir}{sourceFile}" "{targetDir}:{filename}"
end if
end if
end for

View File

@@ -0,0 +1,4 @@
/* This library only exists to provide a dummy library for the final project */
/* There is nothing to do here. */

Binary file not shown.

View File

@@ -0,0 +1,69 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is the controlling script for a set of scripts that copy public
# header files in one or more source trees into a single, "dist" directory.
#
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
# ÒCopyExports.scriptÓ, which must be in the same directory.
#
# To execute this script, select everything from "# Get the..." to
# " the end" and hit the Enter key.
#
# Known bugs:
# Spurious output is produced even when verbose is off.
#
# Uncomment this to get some progress information
# set -e verbose 1
# Get the root of everything
set moz ""
loop
set mozillaDir `GetFileName -d -m "Please select the ÒmozillaÓ directory"`
#set SourceRootDir
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2:/) #·· dev:null
set moz "{¨2}"
break if "{moz}" == "mozilla"
Alert "Sorry, this only works if you select the folder called ÒmozillaÓ."
end loop
#Calculate the root directory by stripping off the leaf name.
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set -e SourceRootDir "{¨1}"
Set -e DestRootDir "{mozillaDir}dist:"
# Ensure the build and stubs folders exist
if !`exists -d "{mozillaDir}dist"`
newfolder "{mozillaDir}dist"
end if
if !`exists -d "{mozillaDir}dist:client"`
newfolder "{mozillaDir}dist:client"
end if
if !`exists -d "{mozillaDir}dist:client_debug"`
newfolder "{mozillaDir}dist:client_debug"
end if
if !`exists -d "{mozillaDir}dist:client_stubs"`
newfolder "{mozillaDir}dist:client_stubs"
end if
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
# the end

View File

@@ -0,0 +1,94 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*
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
/* 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 traceback on
#pragma global_optimizer off
#pragma scheduling off
#pragma peephole off
#pragma optimize_for_size off
#else
#pragma traceback off
#pragma global_optimizer on
#pragma optimization_level 4
#pragma scheduling 604
#pragma peephole on
#pragma optimize_for_size 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

View File

@@ -0,0 +1,5 @@
#
# This is a list of local files which get copied to the mozilla:dist directory
#
IDE_Options.h

198
mozilla/build/mac/MacCVS.pm Normal file
View File

@@ -0,0 +1,198 @@
#!perl -w
package MacCVS;
# package Mac::Apps::MacCVS; this should really be the name of the package
# but due to our directory hierarchy in mozilla, I am not doing it
require 5.004;
require Exporter;
use strict;
use vars qw($VERSION @ISA @EXPORT $MacCVSLib);
use Mac::StandardFile;
use Moz;
use Cwd;
use Exporter;
use File::Basename;
@ISA = qw(Exporter);
@EXPORT = qw( new print checkout);
$VERSION = "1.00";
# Architecture:
# cvs session object:
# name - session name
# session_file - session file
#
# globals
# $MacCVSLib - location of MacCVS applescript library
#
#
#
# utility routines
#
# just like Mac::DoAppleScript, 1 is success, 0 is failure
sub _myDoAppleScript($)
{
my($script) = @_;
my $asresult = MacPerl::DoAppleScript($script);
if ($asresult eq "0")
{
return 1;
}
else
{
print STDERR "AppleScript error: $asresult\n";
print STDERR "AppleScript was: \n $script \n";
return 0;
}
}
# _useMacCVSLib
# returns 1 on success
# Search the include path for the file called MacCVSLib
sub _useMacCVSLib()
{
unless ( defined($MacCVSLib) )
{
my($libname) = "MacCVSLib";
# try the directory we were run from
my($c) = dirname($0) . ":" . $libname;
if ( -e $c)
{
$MacCVSLib = $c;
}
else
{
# now search the include directories
foreach (@INC)
{
unless ( m/^Dev:Pseudo/ ) # This is some bizarre MacPerl special-case directory
{
$c = $_ . $libname;
if (-e $c)
{
$MacCVSLib = $c;
last;
}
}
}
}
if (! (-e $MacCVSLib))
{
print STDERR "MacCVS lib could not be found! $MacCVSLib";
return 0;
}
}
return 1;
}
#
# Session object methods
#
sub new {
my ( $proto, $session_file) = @_;
my $class = ref($proto) || $proto;
my $self = {};
if ( defined($session_file) && ( -e $session_file) )
{
$self->{"name"} = basename( $session_file );
$self->{"session_file"} = $session_file;
bless $self, $class;
return $self;
}
else
{
print STDERR "MacCVS->new cvs file < $session_file > does not exist\n";
return;
}
}
# makes sure that the session is open
# assertSessionOpen()
# returns 1 on failure
sub assertSessionOpen() {
my ($self) = shift;
_useMacCVSLib() || die "Could not load MacCVSLib\n";
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to OpenSession("$self->{session_file}")
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
# prints the cvs object, used mostly for debugging
sub print {
my($self) = shift;
print "MacCVS:: name: ", $self->{name}, " session file: ", $self->{session_file}, "\n";
}
# checkout( self, module, revision, date)
# MacCVS checkout command
# returns 1 on failure
sub checkout {
my($self, $module, $revision, $date ) = @_;
unless( defined ($module) ) { $module = ""; } # get rid of the pesky undefined warnings
unless( defined ($revision) ) { $revision = ""; }
unless( defined ($date) ) { $date = ""; }
$self->assertSessionOpen() || return 1;
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to Checkout given sessionName:"$self->{name}", module:"$module", revision:"$revision", date:"$date"
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
1;
=pod
=head1 NAME
MacCVS - Interface to MacCVS
=head1 SYNOPSIS
use MacCVS;
$session = MacCVS->new( <session_file_path>) || die "cannot create session";
$session->checkout([module] [revision] [date]) || die "Could not check out";
=head1 DESCRIPTION
This is a MacCVS interface for talking to MacCVS Pro client.
MacCVSSession is the class used to manipulate the session
=item new
MacCVS->new( <cvs session file path>);
Creates a new session. Returns undef on failure.
=item checkout( <module> [revision] [date] )
cvs checkout command. Revision and date are optional
returns 0 on failure
=cut
=head1 SEE ALSO
=over
=item MacCVS Home Page
http://www.maccvs.org/
=back
=head1 AUTHORS
Aleks Totic atotic@netscape.com
=cut
__END__

BIN
mozilla/build/mac/MacCVSLib Normal file

Binary file not shown.

View File

@@ -0,0 +1,159 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is a list of paths to export.mac files, and destination
# directories for the copied headers. Destinations are relative
# to "mozilla:dist".
###################
# PUBLIC TREE
###################
# LDAP
mozilla:directory:c-sdk:ldap:include:MANIFEST :ldap
#INCLUDE
mozilla:config:mac:export.mac :config
mozilla:include:export.mac :include
mozilla:cmd:macfe:pch:export.mac :include
#MAC_COMMON
mozilla:build:mac:export.mac :mac:common
mozilla:lib:mac:NSStdLib:include:export.mac :mac:common
mozilla:lib:mac:MacMemoryAllocator:include:export.mac :mac:common
mozilla:lib:mac:Misc:export.mac :mac:common
mozilla:lib:mac:MoreFiles:export.mac :mac:common:morefiles
mozilla:cmd:macfe:export.mac :mac:macfe
#NSPR
mozilla:nsprpub:pr:include:export.mac :nspr
mozilla:nsprpub:pr:src:md:mac:export.mac :nspr:mac
mozilla:nsprpub:lib:ds:export.mac :nspr
mozilla:nsprpub:lib:libc:include:export.mac :nspr
mozilla:nsprpub:lib:msgc:include:export.mac :nspr
#DBM
mozilla:dbm:include:export.mac :dbm
#LIBIMAGE
mozilla:modules:libimg:png:export.mac :libimg
mozilla:modules:libimg:src:export.mac :libimg
mozilla:modules:libimg:public:export.mac :libimg
#SECURITY_freenav
mozilla:modules:security:freenav:export.mac :security
#XPCOM
mozilla:xpcom:src:export.mac :xpcom
#ZLIB
mozilla:modules:zlib:src:export.mac :zlib
#JPEG
mozilla:jpeg:export.mac :jpeg
#JSJ
mozilla:js:jsj:export.mac :jsj
#JSDEBUG
mozilla:js:jsd:export.mac :jsdebug
#JS
mozilla:js:src:export.mac :js
#RDF
mozilla:modules:rdf:include:export.mac :rdf
#XML
mozilla:modules:xml:glue:export.mac :xml
mozilla:modules:xml:expat:xmlparse:export.mac :xml
#LIBFONT
mozilla:modules:libfont:public:export.mac :libfont
mozilla:modules:libfont:src:export.mac :libfont
#SCHEDULER
mozilla:modules:schedulr:public:export.mac :schedulr
#NETWORK
#This stuff is all in libnet on the branch.
#mozilla:network:cache:export.mac :network
#mozilla:network:client:export.mac :network
#mozilla:network:cnvts:export.mac :network
#mozilla:network:cstream:export.mac :network
#mozilla:network:main:export.mac :network
#ozilla:network:protocol:about:export.mac :network
#mozilla:network:protocol:certld:export.mac :network
#mozilla:network:protocol:dataurl:export.mac :network
#mozilla:network:protocol:file:export.mac :network
#mozilla:network:protocol:ftp:export.mac :network
#mozilla:network:protocol:gopher:export.mac :network
#mozilla:network:protocol:http:export.mac :network
#mozilla:network:protocol:js:export.mac :network
#mozilla:network:protocol:mailbox:export.mac :network
#mozilla:network:protocol:marimba:export.mac :network
#mozilla:network:protocol:nntp:export.mac :network
#mozilla:network:protocol:pop3:export.mac :network
#mozilla:network:protocol:remote:export.mac :network
#mozilla:network:protocol:smtp:export.mac :network
#NORMANDY_BRANCH only
mozilla:lib:libnet:export.mac :libnet
#HTML_DIALOGS
mozilla:lib:htmldlgs:export.mac :htmldlgs
#LAYOUT
mozilla:lib:layout:export.mac :layout
#LAYERS
mozilla:lib:liblayer:include:export.mac :layers
#PARSE
mozilla:lib:libparse:export.mac :libparse
#STYLE
mozilla:lib:libstyle:export.mac :libstyle
#LIBHOOK
mozilla:modules:libhook:public:export.mac :libhook
#LIBPREF
mozilla:modules:libpref:public:export.mac :libpref
#LIBREG
mozilla:modules:libreg:include:export.mac :libreg
#LIBUTIL
mozilla:modules:libutil:public:export.mac :libutil
#OJI
mozilla:modules:oji:src:export.mac :oji
#PROGRESS
mozilla:modules:progress:public:export.mac :progress
#SOFTUPDATE
mozilla:modules:softupdt:include:export.mac :softupdate
#NAV_JAVA
mozilla:nav-java:stubs:macjri:export.mac :nav-java:macjri
mozilla:nav-java:stubs:include:export.mac :nav-java
#SUN_JAVA
mozilla:sun-java:stubs:include:export.mac :sun-java:include
mozilla:sun-java:stubs:macjri:export.mac :sun-java:macjri

Binary file not shown.

373
mozilla/build/mac/Moz.pm Normal file
View File

@@ -0,0 +1,373 @@
=head1 NAME
B<Moz> - 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<Moz> comprises the routines needed to slap CodeWarrior around, force it to build a sequence of projects, report the results, and a few other things.
=cut
package Moz;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildProject BuildProjectClean OpenErrorLog MakeAlias StopForErrors DontStopForErrors InstallFromManifest);
@EXPORT_OK = qw(CloseErrorLog UseCodeWarriorLib QUIET);
use Cwd;
use File::Path;
use ExtUtils::Manifest 'maniread';
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;
}
=head2 Setup
Pretty much, everything is taken care of for you.
However, B<Moz> does use a little compiled AppleScript library (the file CodeWarriorLib) for some of its communcication with CodeWarrior.
If this library isn't in the same directory as "Moz.pm", then you need to tell B<Moz> where to find it.
Call C<UseCodeWarriorLib($path_to_CodeWarriorLib)>.
This routine is not exported by default, nor are you likely to need it.
=cut
sub UseCodeWarriorLib($)
{
($CodeWarriorLib) = @_;
$CodeWarriorLib = full_path_to($CodeWarriorLib);
}
sub activate_CodeWarrior()
{
MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
tell (load script file "$CodeWarriorLib") to ActivateCodeWarrior()
END_OF_APPLESCRIPT
}
BEGIN
{
UseCodeWarriorLib(":CodeWarriorLib");
activate_CodeWarrior();
}
$logging = 0;
$recent_errors_file = "";
$stop_on_1st_error = 1;
$QUIET = 0;
=head2 Logging all the errors and warnings - C<OpenErrorLog($log_file)>, C<CloseErrorLog()>
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<OpenErrorLog($log_file)>.
Stop with C<CloseErrorLog()>.
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<CloseErrorLog()> 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");
$log_file =~ m/.+:(.+)/;
$recent_errors_file = full_path_to("$1.part");
$logging = 1;
}
}
=head2 Stopping before it's too late - C<StopForErrors()>, C<DontStopForErrors()>
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<die> after the first project that generates an error while building.
Change this behavior with C<DontStopForErrors()>.
Re-enable it with C<StopForErrors()>.
=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( <RECENT_ERRORS> )
{
if ( /^Error/ || /^CouldnÕt find project file/ )
{
$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 build_project($$$)
{
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\"\n";
$had_errors =
MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
tell (load script file "$CodeWarriorLib") to BuildProject("$project_path", "$project_name", "$target_name", "$recent_errors_file", $clean_build)
END_OF_APPLESCRIPT
# Append any errors to the globally accumulated log file
if ( $had_errors )
{
log_recent_errors($project_path);
}
}
=head2 Getting CodeWarrior to build projects - C<BuildProject($project, $opt_target)>, C<BuildProjectClean($project, $opt_target)>
C<BuildProject()> and C<BuildProjectClean()> are identical, except that the latter first removes object code.
In both, CodeWarrior opens the project if it wasn't already open; builds the given (or else current) target; and finally closes
the project, if it wasn't already open.
=cut
sub BuildProject($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, "false");
}
sub BuildProjectClean($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, "true");
}
=head2 Miscellaneous
C<MakeAlias($old_file, $new_file)> functions like C<symlink()>, 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\";";
# die "$message symlink doesn't work on directories.\n" if -d $old_file;
die "$message because \"$old_file\" doesn't exist.\n" unless -e $old_file;
#check if the alias is already pointing to the right direction
my ($aliasto) = readlink($new_file);
my ($full_old_file) = ( $old_file =~ m/^:/ ) ? cwd() . $old_file : $old_file;
unless ($aliasto && ($aliasto eq $full_old_file))
{
unlink $new_file;
# print "symlink(\"$old_file\", \"$new_file\");\n";
symlink($old_file, $new_file) || die "$message symlink returned an unexpected error.\n";
}
}
=pod
C<InstallFromManifest()>
=cut
sub InstallFromManifest($;$)
{
my ($manifest_file, $dest_dir) = @_;
$dest_dir ||= ":";
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
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 ( $file =~ /:.+:/ )
{
$subdir = $&;
}
$file = ":$file" unless $file =~ m/^:/;
MakeAlias("$source_dir$file", "$dest_dir$subdir");
}
}
1;
=head1 AUTHORS
Scott Collins <scc@netscape.com>, Simon Fraser <sfraser@netscape.com>
=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.0 (the "NPL"); you may not use this file except in
compliance with the NPL. You may obtain a copy of the NPL at
http://www.mozilla.org/NPL/
Software distributed under the NPL is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
for the specific language governing rights and limitations under the
NPL.
The Initial Developer of this code under the NPL is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All Rights
Reserved.
=cut

View File

@@ -0,0 +1,388 @@
#!perl -w
package NGLayoutBuildList;
require 5.004;
require Exporter;
use strict;
use vars qw( @ISA @EXPORT );
# perl includes
use Mac::StandardFile;
use Mac::Processes;
use Cwd;
use File::Path;
# homegrown
use Moz;
use MacCVS;
@ISA = qw(Exporter);
@EXPORT = qw( Checkout BuildDist BuildProjects BuildCommonProjects BuildLayoutProjects);
# NGLayoutBuildList builds the nglayout project
# it is configured by setting the following variables in the caller:
# Usage:
# caller variables that affect behaviour:
# DEBUG : 1 if we are building a debug version
# 3-part build process: checkout, dist, and build_projects
# Hack alert:
# NGLayout defines are located in :mozilla:config:mac:NGLayoutConfigInclude.h
# An alias "MacConfigInclude.h" to this file is created inside dist:config
# Note that the name of alias is different than the name of the file. This
# is to trick CW into including NGLayout defines
#
# Utility routines
#
# pickWithMemoryFile stores the information about the user pick inside
# the file $session_storage
sub _pickWithMemoryFile($)
{
my ($sessionStorage) = @_;
my $cvsfile;
if (( -e $sessionStorage) &&
open( SESSIONFILE, $sessionStorage ))
{
# Read in the path if available
$cvsfile = <SESSIONFILE>;
chomp $cvsfile;
close SESSIONFILE;
if ( ! -e $cvsfile )
{
print STDERR "$cvsfile has disappeared\n";
undef $cvsfile;
}
}
unless (defined ($cvsfile))
{
print "Choose a CVS session file in file dialog box:\n"; # no way to display a prompt?
# make sure that MacPerl is a front process
while (GetFrontProcess () != GetCurrentProcess())
{
SetFrontProcess( GetCurrentProcess() );
}
# 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\n";
}
}
}
return $cvsfile;
}
# assert that we are in the correct directory for the build
sub _assertRightDirectory()
{
unless (-e ":mozilla")
{
my($dir) = cwd();
print STDERR "NGLayoutBuildList called from incorrect directory: $dir";
}
}
sub _getDistDirectory()
{
return $main::DEBUG ? ":mozilla:dist:viewer_debug:" : ":mozilla:dist:viewer:";
}
#
# MAIN ROUTINES
#
sub Checkout()
{
_assertRightDirectory();
my($cvsfile) = _pickWithMemoryFile("::nglayout.cvsloc");
my($session) = MacCVS->new( $cvsfile );
unless (defined($session)) { die "Checkout aborted. Cannot create session file: $session" }
if ($main::pull{lizard})
{
$session->checkout("mozilla/LICENSE") || die "checkout failure";
$session->checkout("mozilla/LEGAL") || die "checkout failure";
$session->checkout("mozilla/config") || die "checkout failure";
$session->checkout("mozilla/lib/liblayer") || die "checkout failure";
$session->checkout("mozilla/modules/zlib") || die "checkout failure";
$session->checkout("mozilla/modules/libutil") || die "checkout failure";
$session->checkout("mozilla/nsprpub") || die "checkout failure";
$session->checkout("mozilla/sun-java") || die "checkout failure";
$session->checkout("mozilla/nav-java") || die "checkout failure";
$session->checkout("mozilla/js") || die "checkout failure";
$session->checkout("mozilla/modules/security/freenav") || die "checkout failure";
$session->checkout("mozilla/modules/libpref") || die "checkout failure";
$session->checkout("mozilla/lib/libparse") || die "checkout failure";
$session->checkout("mozilla/lib/layout") || die "checkout failure";
$session->checkout("mozilla/lib/libstyle") || die "checkout failure";
$session->checkout("mozilla/lib/libpwcac") || die "checkout failure";
}
if ($main::pull{xpcom})
{
$session->checkout("mozilla/modules/libreg ") || die "checkout failure";
$session->checkout("mozilla/xpcom") || die "checkout failure";
}
if ($main::pull{imglib})
{
my($IMGLIB_BRANCH) = "MODULAR_IMGLIB_BRANCH";
$session->checkout("mozilla/jpeg ", $IMGLIB_BRANCH) || die "checkout failure";
$session->checkout("mozilla/modules/libutil", $IMGLIB_BRANCH) || die "checkout failure";
$session->checkout("mozilla/modules/libimg", $IMGLIB_BRANCH) || die "checkout failure";
}
if ($main::pull{netlib})
{
$session->checkout("mozilla/lib/xp ") || die "checkout failure";
$session->checkout("mozilla/network") || die "checkout failure";
$session->checkout("mozilla/include") || die "checkout failure";
}
if ($main::pull{nglayout})
{
$session->checkout("mozilla/base ") || die "checkout failure";
$session->checkout("mozilla/dom") || die "checkout failure";
$session->checkout("mozilla/gfx") || die "checkout failure";
$session->checkout("mozilla/htmlparser") || die "checkout failure";
$session->checkout("mozilla/layout") || die "checkout failure";
$session->checkout("mozilla/view") || die "checkout failure";
$session->checkout("mozilla/webshell") || die "checkout failure";
$session->checkout("mozilla/widget") || die "checkout failure";
}
if ($main::pull{mac})
{
$session->checkout("mozilla/build/mac ") || die "checkout failure";
$session->checkout("mozilla/cmd/macfe") || die "checkout failure";
$session->checkout("mozilla/lib/mac/MacMemoryAllocator") || die "checkout failure";
$session->checkout("mozilla/lib/mac/NSStdLib") || die "checkout failure";
$session->checkout("mozilla/lib/mac/MoreFiles") || die "checkout failure";
$session->checkout("mozilla/lib/mac/NSRuntime") || die "checkout failure";
$session->checkout("mozilla/lib/mac/Misc") || die "checkout failure";
}
}
# builds the dist directory
sub BuildDist()
{
unless ( $main::build{dist} ) { return;}
_assertRightDirectory();
# we really do not need all these paths, but many client projects include them
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
mkpath([ ":mozilla:dist:viewer:", ":mozilla:dist:viewer_debug:" ]);
my($distdirectory) = ":mozilla:dist";
my($distlist) = [
#MAC_COMMON
[":mozilla:build:mac:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:NSStdLib:include:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:Misc:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:MoreFiles:MANIFEST", "$distdirectory:mac:common:morefiles:"],
#INCLUDE
[":mozilla:config:mac:MANIFEST", "$distdirectory:config:"],
[":mozilla:include:MANIFEST", "$distdirectory:include:"],
[":mozilla:cmd:macfe:pch:MANIFEST", "$distdirectory:include:"],
#NSPR
[":mozilla:nsprpub:pr:include:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:pr:src:md:mac:MANIFEST", "$distdirectory:nspr:mac:"],
[":mozilla:nsprpub:lib:ds:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:lib:libc:include:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:lib:msgc:include:MANIFEST", "$distdirectory:nspr:"],
#JPEG
[":mozilla:jpeg:MANIFEST", "$distdirectory:jpeg:"],
#LIBREG
[":mozilla:modules:libreg:include:MANIFEST", "$distdirectory:libreg:"],
#XPCOM
[":mozilla:xpcom:src:MANIFEST", "$distdirectory:xpcom:"],
#ZLIB
[":mozilla:modules:zlib:src:MANIFEST", "$distdirectory:zlib:"],
#LIBUTIL
[":mozilla:modules:libutil:public:MANIFEST", "$distdirectory:libutil:"],
#SUN_JAVA
[":mozilla:sun-java:stubs:include:MANIFEST", "$distdirectory:sun-java:"],
[":mozilla:sun-java:stubs:macjri:MANIFEST", "$distdirectory:sun-java:"],
#NAV_JAVA
[":mozilla:nav-java:stubs:include:MANIFEST", "$distdirectory:nav-java:"],
[":mozilla:nav-java:stubs:macjri:MANIFEST", "$distdirectory:nav-java:"],
#JS
[":mozilla:js:src:MANIFEST", "$distdirectory:js:"],
#SECURITY_freenav
[":mozilla:modules:security:freenav:MANIFEST", "$distdirectory:security:"],
#LIBPREF
[":mozilla:modules:libpref:public:MANIFEST", "$distdirectory:libpref:"],
#LIBIMAGE
[":mozilla:modules:libimg:png:MANIFEST", "$distdirectory:libimg:"],
[":mozilla:modules:libimg:src:MANIFEST", "$distdirectory:libimg:"],
[":mozilla:modules:libimg:public:MANIFEST", "$distdirectory:libimg:"],
#PARSE
[":mozilla:lib:libparse:MANIFEST", "$distdirectory:libparse:"],
#OLD LAYOUT
[":mozilla:lib:layout:MANIFEST", "$distdirectory:layout:"],
#STYLE
[":mozilla:lib:libstyle:MANIFEST", "$distdirectory:libstyle:"],
#LAYERS
[":mozilla:lib:liblayer:include:MANIFEST", "$distdirectory:layers:"],
#NETWORK
[":mozilla:network:cache:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:client:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:cnvts:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:cstream:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:main:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:mimetype:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:util:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:about:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:certld:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:dataurl:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:file:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:ftp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:gopher:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:http:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:js:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:mailbox:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:marimba:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:nntp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:pop3:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:remote:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:smtp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:module:MANIFEST","$distdirectory:network:module"],
#BASE
[":mozilla:base:src:MANIFEST", "$distdirectory:base:"],
[":mozilla:base:public:MANIFEST", "$distdirectory:base:"],
#WEBSHELL
[":mozilla:webshell:public:MANIFEST", "$distdirectory:webshell:"],
#LAYOUT
[":mozilla:layout:base:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:style:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:base:src:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:document:public:MANIFEST", "$distdirectory:layout:"],
#WIDGET
[":mozilla:widget:public:MANIFEST", "$distdirectory:widget:"],
#GFX
[":mozilla:gfx:src:MANIFEST", "$distdirectory:gfx:"],
#VIEW
[":mozilla:view:public:MANIFEST", "$distdirectory:view:"],
#DOM
[":mozilla:dom:public:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:coreDom:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:coreEvents:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:events:MANIFEST", "$distdirectory:dom:"],
#HTMLPARSER
[":mozilla:htmlparser:src:MANIFEST", "$distdirectory:htmlparser:"],
];
foreach $a (@$distlist)
{
InstallFromManifest( $a->[0], $a->[1]);
}
# To get out defines in all the project, dummy alias NGLayoutConfigInclude.h into MacConfigInclude.h
MakeAlias(":mozilla:config:mac:NGLayoutConfigInclude.h", ":mozilla:dist:config:MacConfigInclude.h");
}
# builds all projects
# different targets controlled by $main::build
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) = _getDistDirectory();
# clean projects
Moz::BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
# shared
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb.xSYM", "$dist_dir") : 0;
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.shlb");
MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScriptNoJSJ$D.shlb");
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb.xSYM", "$dist_dir") : 0;
# static
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
BuildProject(":mozilla:network:macbuild:network.mcp", "networkModular$D.o");
}
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" : "";
my($dist_dir) = _getDistDirectory();
BuildProject(":mozilla:base:macbuild:base.mcp", "base$D.o");
BuildProject(":mozilla:htmlparser:macbuild:htmlparser.mcp", "htmlparser$D.o");
BuildProject(":mozilla:dom:macbuild:dom.mcp", "dom$D.o");
BuildProject(":mozilla:gfx:macbuild:gfx.mcp", "gfx$D.o");
BuildProject(":mozilla:layout:macbuild:layout.mcp", "layout$D.o");
BuildProject(":mozilla:webshell:macbuild:webshell.mcp", "webshell$D.o");
BuildProject(":mozilla:webshell:tests:viewer:mac:viewer.mcp", "viewer$D");
}
sub BuildProjects()
{
BuildCommonProjects();
BuildLayoutProjects();
}

View File

@@ -0,0 +1,43 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#error "DonÕt use me!"
#define OLDROUTINELOCATIONS 0
#define XP_MAC 1
#ifndef NSPR20
#define NSPR20 1
#endif
#define _NSPR 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
#define MOCHA 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))

Binary file not shown.

View File

@@ -0,0 +1,40 @@
#!perl
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
use Moz;
use BuildList;
$DEBUG = 1;
# One of them should be 1. This will come from a config file at some stage.
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
$MOZ_LITE = 0;
$MOZ_MEDIUM = 1;
$MOZ_DARK = 0;
Moz::OpenErrorLog("::::Mozilla.BuildLog");
#Moz::StopForErrors();
chdir("::::");
# Make and popuplate the dist directory
DistMozilla();
# Now build the projects
BuildMozilla();

View File

@@ -0,0 +1,5 @@
#
# This is a list of local files which get copied to the mozilla:dist directory
#
IDE_Options.h

View File

@@ -0,0 +1,26 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*
The only job of this file is for make dependencies:
include files here that you want to cause MakeDist
to happen again when they change.
*/
#include "MacExportListPublic"

View File

@@ -0,0 +1,76 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is the controlling script for a set of scripts that copy public
# header files in one or more source trees into a single, "dist" directory.
#
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
# ÒCopyExports.scriptÓ, which must be in the same directory.
#
#
# Known bugs:
# Header files are always copied if the export.mac file contains
# non-local paths.
# Spurious output is produced even when verbose is off.
#
set echo 0
Evaluate % = ("{{SourceFile}}" =~ /(Å:)¨0Å/)
Directory "{{¨0}}"
set mozillaDir "{¨0}"
if `evaluate "{mozillaDir}" =~ /(Å:)¨1[Â:]+:[Â:]+:/`
set -e mozillaDir "{¨1}"
else
echo "Failed to find mozilla directory. Exitting"
exit 1;
end if
# Sanity check for mozilla
if !`exists -d "{mozillaDir}"`
echo "Failed to find mozilla directory. Exitting"
exit 1;
end if
# Calculate the root directory by stripping off the leaf name.
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2:/)
Set -e SourceRootDir "{¨1}"
Set -e DestRootDir "{mozillaDir}dist:"
# Ensure the build and stubs folders exist
if !`exists -d "{mozillaDir}dist"`
newfolder "{mozillaDir}dist"
end if
if !`exists -d "{mozillaDir}dist:client"`
newfolder "{mozillaDir}dist:client"
end if
if !`exists -d "{mozillaDir}dist:client_debug"`
newfolder "{mozillaDir}dist:client_debug"
end if
if !`exists -d "{mozillaDir}dist:client_stubs"`
newfolder "{mozillaDir}dist:client_stubs"
end if
# Now do the grunt work of copying headers. This can take some time
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"

View File

@@ -1,116 +0,0 @@
echo off
REM Check out, build and deliever the CCK stuff
REM 3/16/99 Frank Petitta Netscape Communications Corp.
REM
REM Basic operation outline:
REM _MSC_VER and MOZ_DEBUG are the only System Vars used(currently)
REM IF _MSC_VER doesnt equal 1200 then VC+ is not version 6.0,
REM 6.0 is the standard so the build will not happen if _MSC_VER is
REM any value other than 1200!
REM System var MOZ_DEBUG is used to detemine Debug or Non-Debug builds
REM
REM * I hate this Batch CRAP, I going to use this as a temp and write this again in PERL!!!*
REM
REM echo on
:SetUp
REM Set all of environ vars for the build process
set BuildGood=0
call C:\"Program Files"\"Microsoft Visual Studio"\VC98\Bin\vcvars32.bat
REM Set/get Sys vars to make sure you are doing the right thing.
REM Make sure we are building with the right version of VC+ (6.0)
if not "%_MSC_VER%"=="1200" set ErrorType=1
if not "%_MSC_VER%"=="1200" goto Errors
REM Set the BuildType
if "%MOZ_DEBUG%"=="1" set BuildType=debug
if "%MOZ_DEBUG%"=="0" set BuildType=release
D:
cd\builds
REM remove the mozilla directory
echo y | rd /s mozilla
REM check out mozilla/cck
cvs co mozilla/cck
REM Copy the build files to the build directory
C:
cd\cckscripts
copy WizardMachine.dep D:\builds\mozilla\cck\driver
copy WizardMachine.mak D:\builds\mozilla\cck\driver
D:
cd\builds\mozilla\cck\driver
REM Send Pull completion notification
echo.CCK source pull complete. >> tempfile.txt
blat tempfile.txt -t page-petitta@netscape.com -s "CCK Pull Notification" -i Undertaker
if exist tempfile.txt del tempfile.txt
REM build the damn thing, then send notification if the exe is there.
if "%MOZ_DEBUG%"=="1" NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Debug"
if "%MOZ_DEBUG%"=="0" NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Release"
REM See if the target is there
if exist D:\builds\mozilla\cck\driver\"%BuildType%"\wizardmachine.exe set BuildGood=1
REM If the target is there then do the right thing, Mail notification then upload it.
echo.CCK build complete and verified. >> tempfile.txt
if "%BuildGood%"=="1" blat tempfile.txt -t page-petitta@netscape.com -s "CCK Build Notification" -i Undertaker
if exist tempfile.txt del tempfile.txt
REM Houston we have a problem, abort, abort!!!!!
if "%BuildGood%" =="0" echo.CCK build died, casualty assesment. >> tempfile.txt
if "%BuildGood%" =="0" blat tempfile.txt -t page-petitta@netscape.com -s "CCK Build Notification" -i Undertaker
if exist tempfile.txt del tempfile.txt
if "%BuildGood%" =="0" set ErrorType=2
if "%BuildGood%" =="0" goto Errors
:BuildNumber
REM Get the build date to label the folder we create on upload.
C:
Perl C:\CCKScripts\date.pl
call C:\CCKScripts\bdate.bat
if "%BuildID%" == "" goto set ErrorType = 3
if "%BuildID%" == "" goto EndOfScript
REM Make the Main repository Folder using the BuildID var
O:
md \products\client\cck\cck50\"%BuildType%"\"%BuildID%"
REM Put it where we all can get it.
:UpLoad
REM Make the folder for the INI's then copy/move all of them.
O:
md \products\client\cck\cck50\"%BuildType%"\"%BuildID%"\iniFiles
D:
cd\builds\mozilla\cck\cckwiz\inifiles
copy *.ini O:\products\client\cck\cck50\"%BuildType%"\"%BuildID%"\iniFiles
REM Copy the wizardmachine.exe to sweetlou
D:
cd\builds\mozilla\cck\driver\"%BuildType%"
copy *.exe O:\products\client\cck\cck50\"%BuildType%"\"%BuildID%"
goto EndOfScript
REM Capture the errors, do something smart with them.
:Errors
if "%ErrorType%"=="1" echo. Incorrect version of VC+, not 6.0! Script halted!!
if "%ErrorType%"=="2" echo. The build blew up in your face, get to work laughing boy!!
if "%ErrorType%"=="3" echo. BuildNumber Generation Failed
if "%ErrorType%"=="4" echo. Busted4
if "%ErrorType%"=="5" echo. Busted5
REM Like , duh. Oh my gosh and all that stuff!
:EndOfScript
echo. This is the end, my friend. My only friend, the end......

View File

@@ -1,188 +0,0 @@
# 4/7/99 Frank Petitta
# 1999 Netscape Communications Corp.
# All rights reserved, must be over 18 to play.
#
# What is it?
# Build, deliver the CCK parts and pieces.
#
printf("Begin CCK Setup.\n");
$BuildType = "";
$GoodBuild = 1;
$ErrorType = 0;
$SourceRoot = "";
$ContinousBuild = 0;
# Use the ContinousBuild Var for Tinderboxen
# I will also set the mailing to tinderbox, based off the value of
# ContinousBuild Var.
#while (ContinousBuild = 0){
# Must have VC+ 6.0 or it's a no go.
if ($ENV{'_MSC_VER'}!=1200) {
# go to some subroutine that will handle errors
$ErrorType = 1;
CFHandler($ErrorType);
}
# Lets see what the Source path is.
$SourceRoot = $ENV{'MOZ_SRC'};
$len = length($SourceRoot);
if ($len < 2) {
# Can't start if you dont know the Src Root.
$ErrorType = 2;
CFHandler($ErrorType);
}
# Make sure MOZ_DEBUG is either 1 or 0
if ($ENV{'MOZ_DEBUG'} > 1 or $ENV{'MOZ_DEBUG'} < 0) {
$ErrorType = 3;
CFHandler($ErrorType);
}
# Now that we know MOZ_DEBUG is a 1 or 0, lets do something with it.
if ($ENV{'MOZ_DEBUG'}==0 && $ErrorType < 1) {
$BuildType = "release";
}
elsif ($ENV{'MOZ_DEBUG'}==1 && $ErrorType < 1) {
$BuildType = "debug";
}
# Email notification.
# I tried to use this file open/write method but,
# I kept getting "error reading tempfile.txt, aborting"
# So until I figuer it out I must use the .bat method......
#open (SENDFILE, ">c:\\CCKScripts\\tempfile.txt") || die "cannot open c:\\CCKScripts\\tempfile.txt: $!";
#print SENDFILE "CCK Build Starting\n";
#system("echo.CCK Build Starting. >> tempfile.txt");
#system("blat tempfile.txt -t page-petitta\@netscape.com -s \"CCK Build Notification\" -i Undertaker");
#system("if exist tempfile.txt del tempfile.txt");
printf("Begin CCK pull-build.\n");
# Get the Source Drive letter. And the Source Path.
@pieces = split(/\\/, $SourceRoot);
$SourceDrive = ("$pieces[0]");
@pieces = split(/:/, $SourceRoot);
$SourcePath = ("$pieces[$#pieces]");
# Now change the path to the build source.
chdir ("$SourceDrive");
chdir ("$SourcePath");
# Remove the old source, pull the new.
system ("echo y | rd /s mozilla");
system ("cvs co mozilla/cck");
# Lets build it
$TestPath = $SourcePath."\\mozilla\\cck\\driver";
chdir ($TestPath);
# Gonna need a batch file to build. This is because
# of the fact that the PERL system command opens a new
# session, thereby making the vcvars32.bat delaration
# invalid(different session)
#
system ("call C:\\CCKScripts\\PERLBuild.bat");
if ($ENV{'BuildGood'}==1) {
print ("Your mama");
}
print "$BuildType \n";
print "$SourceRoot \n";
print "$ErrorType \n";
print "$SourceDrive \n";
print "$SourcePath \n";
print "$TestPath \n";
#SetBuildDate();
#}
# Compute and format the date string for the folder and build label.
sub SetBuildDate
{
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
#print "time... $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst \n";
#$days = $yday + 1;
$mon = $mon + 1;
$len = length($mon);
if ($len < 2) {
$mon = 0 . $mon
}
$len = length($mday);
if ($len < 2) {
$mday = 0 . $mday
}
$len = length($hour);
if ($len < 2) {
$hour = 0 . $hour
}
$year = $year + 1900;
$Blddate = $year . "-" . $mon . "-" . $mday . "-" . $hour;
#open (BDATE, ">c:\\CCKScripts\\bdate.bat") || die "cannot open c:\\CCKScripts\\bdate.bat: $!");
#print BDATE "set BuildID=$Blddate\n";
printf($Blddate);
}
# Handles all the errors ((CharlieFoxtrotHandler) Charlie = cluster, Foxtrot = f$*k)
sub CFHandler
{
if ($ErrorType==1)
{
printf("Wrong ver. of Visual C+, must have Ver. 6.0 "|| die);
}
if ($ErrorType==2)
{
printf("Cannot get the path to the Source base "|| die);
}
if ($ErrorType==3)
{
printf("MOZ_DEBUG is not defined "|| die);
}
if ($ErrorType==4)
{
}
if ($ErrorType==5)
{
}
if ($ErrorType==6)
{
}
if ($ErrorType==7)
{
}
# END THIS THING!!!
quit;
die;
}

View File

@@ -1,18 +0,0 @@
@echo off
REM PERL issues 'system' calls to a different session with each 'system'
REM command, the commands below must happen within the same "session".
REM
REM Set the BuildType
if "%MOZ_DEBUG%"=="1" set BuildType=debug
if "%MOZ_DEBUG%"=="0" set BuildType=release
REM Set the environment vars.
@echo Setting System Vars.
call C:\"Program Files"\"Microsoft Visual Studio"\VC98\Bin\vcvars32.bat
REM build the damn thing, then send notification if the exe is there.
@echo Building Wizardmachine.
if "%MOZ_DEBUG%"=="1" NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Debug"
if "%MOZ_DEBUG%"=="0" NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Release"

View File

@@ -1,18 +0,0 @@
@echo off
REM Put it where we all can get it.
REM %1 = release 'or' debug %2 = builddate
REM Make the Main repository Folder using the BuildID var
P:
md \client\cck\new\win\5.0\domestic\"%1"\"%2"
REM Make the folder for the INI's then copy/move all of them.
md \client\cck\new\win\5.0\domestic\"%1"\"%2"\iniFiles
D:
cd\builds\mozilla\cck\cckwiz\inifiles
copy *.ini P:\client\cck\new\win\5.0\domestic\"%1"\"%2"\iniFiles
REM Copy the wizardmachine.exe to sweetlou
D:
cd\builds\mozilla\cck\driver\%1
copy *.exe P:\client\cck\new\win\5.0\domestic\%1\%2

View File

@@ -1,111 +0,0 @@
# Microsoft Developer Studio Generated Dependency File, included by WizardMachine.mak
.\ImageDialog.cpp : \
".\ImageDialog.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\NavText.cpp : \
".\NavText.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\NewConfigDialog.cpp : \
".\NewConfigDialog.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\NewDialog.cpp : \
".\NewDialog.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\ProgDlgThread.cpp : \
".\ProgDlgThread.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\ProgressDialog.cpp : \
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\PropSheet.cpp : \
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\StdAfx.cpp : \
".\StdAfx.h"\
.\WizardMachine.cpp : \
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\WizardMachine.rc : \
".\res\WizardMachine.ico"\
".\res\WizardMachine.rc2"\
.\WizardMachineDlg.cpp : \
".\ImageDialog.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\
.\WizardUI.cpp : \
".\ImageDialog.h"\
".\NavText.h"\
".\NewConfigDialog.h"\
".\NewDialog.h"\
".\ProgDlgThread.h"\
".\ProgressDialog.h"\
".\PropSheet.h"\
".\StdAfx.h"\
".\WizardMachine.h"\
".\WizardMachineDlg.h"\
".\WizardUI.h"\

View File

@@ -1,415 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on WizardMachine.dsp
!IF "$(CFG)" == ""
CFG=WizardMachine - Win32 Release
!MESSAGE No configuration specified. Defaulting to WizardMachine - Win32 Release.
!ENDIF
!IF "$(CFG)" != "WizardMachine - Win32 Release" && "$(CFG)" != "WizardMachine - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "WizardMachine - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "WizardMachine - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "WizardMachine - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
ALL : "$(OUTDIR)\WizardMachine.exe"
CLEAN :
-@erase "$(INTDIR)\ImageDialog.obj"
-@erase "$(INTDIR)\NavText.obj"
-@erase "$(INTDIR)\NewConfigDialog.obj"
-@erase "$(INTDIR)\NewDialog.obj"
-@erase "$(INTDIR)\ProgDlgThread.obj"
-@erase "$(INTDIR)\ProgressDialog.obj"
-@erase "$(INTDIR)\PropSheet.obj"
-@erase "$(INTDIR)\StdAfx.obj"
-@erase "$(INTDIR)\WizardMachine.obj"
-@erase "$(INTDIR)\WizardMachine.pch"
-@erase "$(INTDIR)\WizardMachine.res"
-@erase "$(INTDIR)\WizardMachineDlg.obj"
-@erase "$(INTDIR)\WizardUI.obj"
-@erase "$(OUTDIR)\WizardMachine.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"$(INTDIR)\WizardMachine.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WizardMachine.res" /d "NDEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\WizardMachine.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\WizardMachine.pdb" /machine:I386 /out:"$(OUTDIR)\WizardMachine.exe"
LINK32_OBJS= \
"$(INTDIR)\WizardMachine.obj" \
"$(INTDIR)\StdAfx.obj" \
"$(INTDIR)\NavText.obj" \
"$(INTDIR)\ImageDialog.obj" \
"$(INTDIR)\PropSheet.obj" \
"$(INTDIR)\WizardMachineDlg.obj" \
"$(INTDIR)\ProgressDialog.obj" \
"$(INTDIR)\ProgDlgThread.obj" \
"$(INTDIR)\NewConfigDialog.obj" \
"$(INTDIR)\NewDialog.obj" \
"$(INTDIR)\WizardUI.obj" \
"$(INTDIR)\WizardMachine.res"
"$(OUTDIR)\WizardMachine.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "$(OUTDIR)\WizardMachine.exe" "$(OUTDIR)\WizardMachine.bsc"
CLEAN :
-@erase "$(INTDIR)\ImageDialog.obj"
-@erase "$(INTDIR)\ImageDialog.sbr"
-@erase "$(INTDIR)\NavText.obj"
-@erase "$(INTDIR)\NavText.sbr"
-@erase "$(INTDIR)\NewConfigDialog.obj"
-@erase "$(INTDIR)\NewConfigDialog.sbr"
-@erase "$(INTDIR)\NewDialog.obj"
-@erase "$(INTDIR)\NewDialog.sbr"
-@erase "$(INTDIR)\ProgDlgThread.obj"
-@erase "$(INTDIR)\ProgDlgThread.sbr"
-@erase "$(INTDIR)\ProgressDialog.obj"
-@erase "$(INTDIR)\ProgressDialog.sbr"
-@erase "$(INTDIR)\PropSheet.obj"
-@erase "$(INTDIR)\PropSheet.sbr"
-@erase "$(INTDIR)\StdAfx.obj"
-@erase "$(INTDIR)\StdAfx.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(INTDIR)\WizardMachine.obj"
-@erase "$(INTDIR)\WizardMachine.pch"
-@erase "$(INTDIR)\WizardMachine.res"
-@erase "$(INTDIR)\WizardMachine.sbr"
-@erase "$(INTDIR)\WizardMachineDlg.obj"
-@erase "$(INTDIR)\WizardMachineDlg.sbr"
-@erase "$(INTDIR)\WizardUI.obj"
-@erase "$(INTDIR)\WizardUI.sbr"
-@erase "$(OUTDIR)\WizardMachine.bsc"
-@erase "$(OUTDIR)\WizardMachine.exe"
-@erase "$(OUTDIR)\WizardMachine.ilk"
-@erase "$(OUTDIR)\WizardMachine.pdb"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\WizardMachine.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WizardMachine.res" /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\WizardMachine.bsc"
BSC32_SBRS= \
"$(INTDIR)\WizardMachine.sbr" \
"$(INTDIR)\StdAfx.sbr" \
"$(INTDIR)\NavText.sbr" \
"$(INTDIR)\ImageDialog.sbr" \
"$(INTDIR)\PropSheet.sbr" \
"$(INTDIR)\WizardMachineDlg.sbr" \
"$(INTDIR)\ProgressDialog.sbr" \
"$(INTDIR)\ProgDlgThread.sbr" \
"$(INTDIR)\NewConfigDialog.sbr" \
"$(INTDIR)\NewDialog.sbr" \
"$(INTDIR)\WizardUI.sbr"
"$(OUTDIR)\WizardMachine.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=/nologo /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\WizardMachine.pdb" /debug /machine:I386 /out:"$(OUTDIR)\WizardMachine.exe"
LINK32_OBJS= \
"$(INTDIR)\WizardMachine.obj" \
"$(INTDIR)\StdAfx.obj" \
"$(INTDIR)\NavText.obj" \
"$(INTDIR)\ImageDialog.obj" \
"$(INTDIR)\PropSheet.obj" \
"$(INTDIR)\WizardMachineDlg.obj" \
"$(INTDIR)\ProgressDialog.obj" \
"$(INTDIR)\ProgDlgThread.obj" \
"$(INTDIR)\NewConfigDialog.obj" \
"$(INTDIR)\NewDialog.obj" \
"$(INTDIR)\WizardUI.obj" \
"$(INTDIR)\WizardMachine.res"
"$(OUTDIR)\WizardMachine.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("WizardMachine.dep")
!INCLUDE "WizardMachine.dep"
!ELSE
!MESSAGE Warning: cannot find "WizardMachine.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "WizardMachine - Win32 Release" || "$(CFG)" == "WizardMachine - Win32 Debug"
SOURCE=.\ImageDialog.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\ImageDialog.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\ImageDialog.obj" "$(INTDIR)\ImageDialog.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\NavText.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\NavText.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\NavText.obj" "$(INTDIR)\NavText.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\NewConfigDialog.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\NewConfigDialog.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\NewConfigDialog.obj" "$(INTDIR)\NewConfigDialog.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\NewDialog.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\NewDialog.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\NewDialog.obj" "$(INTDIR)\NewDialog.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\ProgDlgThread.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\ProgDlgThread.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\ProgDlgThread.obj" "$(INTDIR)\ProgDlgThread.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\ProgressDialog.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\ProgressDialog.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\ProgressDialog.obj" "$(INTDIR)\ProgressDialog.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\PropSheet.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\PropSheet.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\PropSheet.obj" "$(INTDIR)\PropSheet.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\StdAfx.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"$(INTDIR)\WizardMachine.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
"$(INTDIR)\StdAfx.obj" "$(INTDIR)\WizardMachine.pch" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
$(CPP_SWITCHES) $(SOURCE)
<<
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\WizardMachine.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
"$(INTDIR)\StdAfx.obj" "$(INTDIR)\StdAfx.sbr" "$(INTDIR)\WizardMachine.pch" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
$(CPP_SWITCHES) $(SOURCE)
<<
!ENDIF
SOURCE=.\WizardMachine.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\WizardMachine.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\WizardMachine.obj" "$(INTDIR)\WizardMachine.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\WizardMachine.rc
"$(INTDIR)\WizardMachine.res" : $(SOURCE) "$(INTDIR)"
$(RSC) $(RSC_PROJ) $(SOURCE)
SOURCE=.\WizardMachineDlg.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\WizardMachineDlg.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\WizardMachineDlg.obj" "$(INTDIR)\WizardMachineDlg.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
SOURCE=.\WizardUI.cpp
!IF "$(CFG)" == "WizardMachine - Win32 Release"
"$(INTDIR)\WizardUI.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ELSEIF "$(CFG)" == "WizardMachine - Win32 Debug"
"$(INTDIR)\WizardUI.obj" "$(INTDIR)\WizardUI.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\WizardMachine.pch"
!ENDIF
!ENDIF

View File

@@ -1 +0,0 @@
set BuildID=99040215

View File

@@ -1,25 +0,0 @@
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
print "time... $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst \n";
#$days = $yday + 1;
$mon = $mon + 1;
$len = length($mon);
if ($len < 2) {
$mon = 0 . $mon
}
$len = length($mday);
if ($len < 2) {
$mday = 0 . $mday
}
$len = length($hour);
if ($len < 2) {
$hour = 0 . $hour
}
$year = $year + 1900;
$Blddate = $year . "-" . $mon . "-" . $mday . "-" . $hour;
open (BDATE, ">c:\\CCKScripts\\bdate.bat") || die "cannot open c:\\CCKScripts\\bdate.bat: $!";
print BDATE "set BuildID=$Blddate\n";

View File

@@ -1,49 +0,0 @@
CCK Read Me
What are all of these files?
-------------------------
bdate.bat - Sets the environment var, BuildID, to the value given it by the PERL script date.pl.
The BuildID var is used to name the repository folder.
CCKBuild.bat - Build automation file for this whole build processs. Paths, in the script will have
to updated to work on a machine other than mine. I plan to move this to PERL to better script the
build process for portability.
CCKBuild.pl - The PERL build script for CCK. This must also have PERLBuild.bat and PERLUpload.bat
in the same folder to work.
date.pl - PERL script that creates a the date that is used to name the repository folder. Called
by CCKBuild.bat.
PERLUpload.bat - Creates repoitory folders, moves the wizardmachine.exe and associated ini's to the
repository folders. Called by CCKBuild.pl.
PERLBuild.bat - Issues the commands to set the Env vars and start the build. Called by CCKBuild.pl.
ReadMe.txt - Um, uh, well.... DUH!
WizardMachine.mak - Make file for WizardMachine. Details below.....
WizardMachine.dep - The dependancy file for WizardMachine.mak. Put both WizardMachine.mak
and WizardMachine.dep in the mozilla/cck/driver folder to build the WizardMachine project(They
should already be there).
To build this project issue the commands:
NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Debug"
or
NMAKE /f "WizardMachine.mak" CFG="WizardMachine - Win32 Release"
The commands above should be executed in the same folder as the WizardMachine.mak and .dep
files. When complete, you should end up with nice shiny new .exe, .obj's, .pch and .res files in a
"release" or "debug" folder, depending on the command issued from above.
Doc Owner:
Frank (petitta@netscape.com)
X6378

View File

@@ -1,3 +0,0 @@
[autorun]
open=setup.exe
icon=.\shell\bmps\ncomm.ico

View File

@@ -1,36 +0,0 @@
=================================================================
Mozilla Client Customization Kit 6.0
=================================================================
Welcome to the Mozilla Client Customization Kit (CCK) Preview Release!
The Mozilla Client Customization Kit is subject to the terms
detailed in the license agreement accompanying it.
Before you install CCK, be sure to read the Release Notes, which
describe known problems and work-arounds:
http://home.netscape.com/eng/mozilla/ns6/relnotes/cck.html
Before you install Mozilla, be sure to read the Release Notes, which
describe known problems and installation issues:
http://home.netscape.com/eng/mozilla/ns6/relnotes/pv6-1.html
==================================================================
System Requirements
==================================================================
To use CCK, you need the following:
*An IBM-compatible computer running Windows NT 4.0 or Windows 2000
*Pentium 133 MHz (or faster) processor
*48 MB of RAM (or greater)
*At least 60 MB hard disk space for installation

View File

@@ -1,35 +0,0 @@
; This file is used to configure a setup launcher.
; Each section represents an OS that can be detected.
; Each section can have either a
; command=foobar foobar gets appended to the path where
; this setup.exe exist. Do not lead with backslash.
; This command is then execute through WinExec()
; and this app terminates.
; postError=My error message saying OS not supported
; This message will be posted. Message caption will
; be the Caption item in Error Messages section
[Error Messages]
; This is the caption that will appear in any error message generated
Caption=Setup Launcher
[Windows 16]
PostError=This program requires Windows 95 or Windows NT 4.0!
command=shell\nsetup16\Nsetup16.exe
[Windows 95]
PostError=Detected Windows 95
command=shell\nsetup32\Nsetup32.exe
[Windows NT Original GUI]
PostError=This program requires Windows 95 or Windows NT 4.0
[Windows NT New GUI]
PostError=Detected Windows NT version 4.0 or newer
command=shell\nsetup32\Nsetup32.exe
[OS UNDEFINED]
PostError=Undefined Operating System detected. Unable to install application

View File

@@ -1,34 +0,0 @@
#!nmake
#
# 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):
DEPTH=..\..
DIRS=shell
include <$(DEPTH)\config\rules.mak>
include <$(DEPTH)\cck\InitDist.win>
export::
$(MAKE_INSTALL) *.exe $(CCKDIST)
$(MAKE_INSTALL) *.inf $(CCKDIST)
$(MAKE_INSTALL) *.ini $(CCKDIST)
$(MAKE_INSTALL) *.txt $(CCKDIST)

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

View File

@@ -1,30 +0,0 @@
#!nmake
#
# 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):
DEPTH=..\..\..\..
include <$(DEPTH)\config\rules.mak>
include <$(DEPTH)\cck\InitDist.win>
export::
$(MAKE_INSTALL) *.bmp $(CCKDIST)\Shell\bmps
$(MAKE_INSTALL) *.ico $(CCKDIST)\Shell\bmps

View File

@@ -1,31 +0,0 @@
#!nmake
#
# 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):
DEPTH=..\..\..
DIRS=bmps nsetup32
include <$(DEPTH)\config\rules.mak>
include <$(DEPTH)\cck\InitDist.win>
#export::
#$(MAKE_INSTALL) * $(CCKDIST)\CCKTool\Shell

View File

@@ -1,4 +0,0 @@
cd Core
setup.exe
echo off
cls

View File

@@ -1,31 +0,0 @@
#!nmake
#
# 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):
DEPTH=..\..\..\..
include <$(DEPTH)\config\rules.mak>
include <$(DEPTH)\cck\InitDist.win>
export::
$(MAKE_INSTALL) *.exe $(CCKDIST)\Shell\nsetup32
$(MAKE_INSTALL) *.ini $(CCKDIST)\Shell\nsetup32
$(MAKE_INSTALL) *.bat $(CCKDIST)\Shell\nsetup32

View File

@@ -1,757 +0,0 @@
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RSHELL.INI FOR NETSCAPE 6
;
;
; This rshell.ini specifies the configuration data used by the CD Shell
; program to dynamically create the CD install screens. To create custom
; versions of the shell, simply delete, fill-in or change the settings
; in this ini file. Make a copy of it first though!
;
; There are several sections in this rshell.ini file:
;
; [General] contains the data used by all the shell dialogs (screens).
; It specifies the settings for the browse, back and exit buttons.
;
; [Dialog*] contains the data used by each unique shell dialog (screen).
; Each [Dialog*] section is associated with one dialog. The sections are
; named [Dialog1] [Dialog2] [Dialog3], etc, one for each shell dialog.
;
; Notes:
;
; 1) Some of the file paths specified in this rshell.ini file need to be
; relative to the location of the exe file. Relative paths are specified
; with this format: ..\directory\filename. Each "..\" is one step back
; in the directory structure. So, if your CD has the following structure:
;
; \root
; \setup.exe
; \launch.ini
; \Netscape6\ [Netscape 6 software]
; \plugins\
; \extras\clipart\
; \shell\nsetup32\rshell.ini
; \shell\nsetup16\rshell.ini
;
; then ..\..\ would be required in the rshell.ini for the program to find
; the plugins directory or the Comm directory.
;
; Other file paths are absolute from the root level of the CD, and therefore
; will not need the "..\..\." For example, an absolute path for the clipart
; directory would just be: extras\clipart\.
;
; 2) To remove a section of settings, just delete it. For example, if you only
; want a single column on a dialog, delete all of the col2_ settings. If you
; only want 2 dialog (screens), delete all of the Dialog3 and greater
; sections. If you only want 2 buttons on a dialog, delete all of the
; settings for button3 and greater.
;
; 3) All widths and positions are in pixels.
;
; 4) All (x,y) positions are are relative to the top left corner of the dialog.
;
; 5) The background bitmaps included with the software are 640x480 pixels.
;
; 6) To prevent palette swapping problems when changing from one dialog screen
; to the next, it's best to put all 256 Windows palette colors into each
; background bitmap. Then if new buttons are introduced on a follow-on
; dialog, a palette swap won't occur (to accomodate the new colors).
;
; 7) When entering text for buttons and dialogs, leave extra space around the
; text to accomodate Windows "large fonts" mode.
;
; 8) For reference, here's a list of 16 common colors from the standard
; Windows palette:
;
; black: 0,0,0
; white: 255,255,255
; red: 255,0,0
; green: 0,255,0
; blue: 0,0,255
; yellow: 255,255,0
; magenta: 255,0,255
; cyan: 0,255,255
; dark red: 128,0,0
; dark green: 0,128,0
; dark yellow: 128,128,0
; dark blue: 0,0,128
; dark cyan: 0,128,128
; dark gray: 128,128,128
; dark magenta: 128,0,128
; gray: 192,192,192
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;======================= general configurations =========================
[General]
; This section specifies the attributes of the control buttons: browse,
; back and exit. Either text or bitmaps can be used for the buttons, when
; both are set, bitmaps take precedence.
;---------------------------------------
browse_button_text=Browse &CD
; default setting: browse_button_text=Browse
; the "&" sets the C as the keyboard shortcut for this button
;---------------------------------------
browse_button_pos=
; e.g.: browse_button_pos=x1,y1,x2,y2
; where (x1,y1) is the upper left corner of the button,
; (x2,y2) is the lower right corner of the button
; default setting: browse_button_pos=
; if left blank, the position calculation is based on the
; size of the dialogs; if bitmaps are used, (x2,y2) are not used.
;---------------------------------------
browse_button_bitmaps=
; defines button bitmap files
; e.g.: browse_button_bitmaps=brse_up.bmp,brse_dn.bmp,brse_sel.bmp,brse_dis.bmp
; 4 bitmaps specify the states of the buttons: up,down,selected,disabled.
; Selected and disabled are optional
; If the bitmaps are not specified, the dialog uses a standard
; Windows button with the text specified in browse_button_text
;---------------------------------------
back_button_text=&Back
; same as the settings of browse button
; the "&" sets the B as the keyboard shortcut for this button
;---------------------------------------
back_button_pos=
; same as the settings of browse button
;---------------------------------------
back_button_bitmaps=
; same as the settings of browse button
;---------------------------------------
exit_button_text=E&xit
; same as the settings of browse button
; the "&" sets the x as the keyboard shortcut for this button
;---------------------------------------
exit_button_pos=
; same as the settings of browse button
;---------------------------------------
exit_button_bitmaps=
; same as the settings of browse button
;---------------------------------------
; check_netscape_registry=default
; defines registry/ini path check for Netscape 6
; Used to check to be sure Netscape 6 is installed before installing
; plug-ins or applications. If set to default, uses a default method to check
; if Netscape 6 is installed that is version independant (any 4.x or later version).
; Check path for registry or ini can also be specified (for example, if you
; want to check for a different software program). Here's the formats:
; Win32 registry: registry_path,registry_key,registry_val
; Example: check__netscape_registry=HKEY_LOCAL_MACHINE\Software\netscape\netscape navigator\4.01 (en)\main,Install Directory,program\netscape.exe
; Win16 ini file: ini_file_name|ini_section,ini_entry,ini_val
; this determines if the ini_val is the value of ini_entry in the ini_section of
; the ini_file_name
; Example: check__netscape_registry=c:\windows\win.ini|netscape,ini,c:\netscape\netscape.ini
;--------------------------------------
; check_netscape_registry_error_msg=Please install Netscape 6 before installing Bonus Plug-ins or Applications.
; error message shown to user if the registry check doesn't find the
; Netscape 6 key
;===================== dialog configurations =======================
[Dialog1]
; There are 3 types of data in this section - dialog data, column
; data and button data.
; The dialog data configures the global settings of the specific dialog
; (screen); in this case dialog 1.
; The column and buttons settings configure the columns and buttons.
;---------------------------------------
caption=Netscape 6.2 Client Customization Kit
; defines dialog caption text (the text that goes in the top bar of
; the Windows window)
;---------------------------------------
dialog_position=
; e.g.: dialog_position=x1,y1,x2,y2
; defines dialog position on total screen (monitor)
; (x1,y1) is the upper-left corner and (x2,y2) is the lower-right corner
; of the dialog.
; If left blank, the dialog is placed at the center of the
; screen. if bitmaps are used, (x2,y2) are not used.
;---------------------------------------
bk_bitmap=..\bmps\cckit_bg.bmp
; defines background bitmap for the dialog.
; if the data is not present, the shell dialog is painted with
; the system background color.
;---------------------------------------
button_gap=25
; defines vertical gap (y) between the buttons in the dialog.
;---------------------------------------
;================= global text for dialog =======================
; this section allows you to add a paragraph or line of text that
; you want to apply to the whole dialog (screen). Using the position
; setting, you can have this text appear anywhere -- along the top or
; bottom of the dialog screen, for example.
;---------------------------------------
dialog_title_text=Welcome to the installer for Netscape 6.2 Client Customization Kit
; defines the dialog title text
;---------------------------------------
dialog_title_pos=80,90,630,420
; defines the dialog title text position (x1,y1,x2,y2)
; Text is written into a box where x1,y1 defines the position of
; the top left corner and x2,y2 is the bottom right corner
;---------------------------------------
dialog_title_text_color=0,0,0
; defines the dialog title text color
;---------------------------------------
dialog_title_shadow_color=
; defines the dialog title text shadow color
;---------------------------------------
dialog_title_shadow_depth=
; defines the dialog title text shadow depth
;---------------------------------------
dialog_title_text_font=arial,10
; defines the dialog title text font and font size
;---------------------------------------
dialog_title_font_bold=TRUE
; disable/enable dialog title bold text; TRUE or FALSE
; default for no entry is FALSE
;---------------------------------------
dialog_title_font_underline=
; disable/enable dialog title underline text; TRUE or FALSE
; default for no entry is FALSE
;---------------------------------------
dialog_title_font_italic=
; disable/enable dialog title italic text; TRUE or FALSE
; default for no entry is FALSE
;---------------------------------------
;====== global text settings for all button text in dialog 1 ======
;---------------------------------------
text_color_default=0,0,0
; defines the default text color for all text on the dialog.
; e.g.: text_color_default=red,green,blue
;---------------------------------------
text_color_highlight=4,137,161
; defines the color for mouse-over highlighting for all text
; on the dialog.
; e.g.: text_color_highlight=red,green,blue
;---------------------------------------
;==== settings for button titles and button body text in dialog =====
;--------------------------------------
button_title_text_font=arial,14
; defines button title font and font size
; if left blank, the system font and font size are used.
;---------------------------------------
button_title_text_font_bold=TRUE
; flag to enable/disable button title bold text; TRUE or FALSE
; e.g.: button_title_text_font_bold=FALSE
; if left blank, the bold is disabled.
;---------------------------------------
button_title_text_font_underline=
; flag to enable/disable underline of button title text; TRUE or FALSE
; e.g.: button_title_text_font_underline=FALSE
; if left blank, the underline is disabled.
;---------------------------------------
button_title_text_font_italic=
; flag to enable/disable button title italic text; TRUE or FALSE
; e.g.: button_title_text_font_italic=FALSE
; if left blank, the italic is disabled.
;---------------------------------------
body_text_font=arial,10
; defines the button body text font and font size.
; For each button desciptive text, there is body text and title text,
; and different fonts can be set for these two text areas.
; e.g.: body_text_font=roman,12
; if left blank, the system font and font size are used.
;---------------------------------------
body_text_font_bold=
; flag to enable/disable the button body text bold font; TRUE or FALSE
; e.g.: body_text_font_bold=FALSE
; if left blank, the bold font is disabled.
;---------------------------------------
body_text_font_underline=
; flag to enable/disable the button body text underline; TRUE or FALSE
; e.g.: body_text_font_underline=FALSE
; if left blank, the underline is disabled.
;---------------------------------------
body_text_font_italic=
; flag to enable/disable the button body text italic font; TRUE or FALSE
; e.g.: body_text_font_italic=FALSE
; if left blank, the italic is disabled.
;---------------------------------------
;==================== columns within dialogs ========================
; Each dialog can have single or multiple columns. Each column can be
; customized with the follow settings. For multiple columns, the setting names
; are differentiated by the last digit of the name. For example,
; col1_button_pos is the button position of the column 1; col2_button_pos is
; the button position of the column 2.
; If you only want 1 column, delete all of the col2 or greater settings, or
; leave them blank.
;---------------------------------------
;==================== column 1 for dialog 1 =========================
;---------------------------------------
col1_button_pos=70,150
; defines the button position of the first button in column 1.
; e.g.: col1_button_pos=x,y
; (x,y) is the upper-left corner of the first button of the column 1
; relative to the upper left corner of the dialog.
;---------------------------------------
col1_text_offset=10
; defines the offset between the button description text and the
; button position.
; there are two ways to specify the button descriptive text position, one is
; by the offset from the button, the other is by the absolute x position
; (see below).
; default setting if left blank: col1_text_offset=10
;or use the next setting:
;---------------------------------------
col1_text_posx=
; defines absolute x position of button descriptive text.
; if both col1_text_offset and col1_text_posx are set, col1_text_posx
; overwrites col1_text_offset.
;---------------------------------------
col1_text_width=275
; the x distance at which the button descriptive text word-wraps.
; default setting: if this setting is left blank, the text runs to 10 pixels
; away from the right edge of the dialog.
;---------------------------------------
;====================== column 2 for dialog 1 =========================
; If you don't want 2 columns, simply delete the settings in this section
; or leave them blank.
;---------------------------------------
col2_button_pos=
; see description for column 1
;---------------------------------------
col2_text_offset=
; see description for column 1
;---------------------------------------
col2_text_posx=
; see description for column 1
;---------------------------------------
col2_text_width=
; see description for column 1
;---------------------------------------
;======================= buttons for dialog 1 ========================
; Similiar to columns, each dialog (screen) can have one or multiple buttons.
; Each button can be customized with the follow settings. For multiple buttons,
; the setting names are differentiated by the last digit of the name. For
; example, button1_bitmaps specifies the button bitmaps of button 1,
; button2_bitmaps specifies the button bitmaps of button 2.
;---------------------------------------
button1_bitmaps=..\bmps\N6_up.bmp,..\bmps\N6_dn.bmp,..\bmps\N6_mo.bmp,..\bmps\N6_mo.bmp
; defines button bitmap files.
; e.g.: button1_bitmaps=btn_up.bmp, btn_dn.bmp, btn_sel.bmp, btn_dis.bmp
; 4 bitmaps specify the states of the button: up,down,selected,disabled.
; Selected and disabled are optional
;---------------------------------------
button1_cmdline=exe,ChangeDir.bat
; defines button action
; a button click can cause any of 6 actions:
; 1) launch a program: button1_cmdline=exe,program name
; e.g.: button1_cmdline=exe,setup.exe
; when the 1st argument is exe, it is a program and the 2nd argument
; is the relative program path
; 2) goto a different dialog screen: button1_cmdline=window,dialog#
; e.g.: button1_cmdline=window,dialog2
; when the 1st argument is window, it is a goto for another dialog and
; the 2nd argument is the section name of that dialog.
; 3) open a file: button1_cmdline=open,file name
; eg.: button1_cmdline=open,myfile.txt
; when the 1st argument is open, the 2nd argument is the file to be
; opened. That file will be opened with whatever program the OS has
; associated for that file type. Association is handled by the file
; extension, which, in this example is .txt. If an association doesn't
; exist, the OS will ask user to create an association to open the file.
; 4) print a file: button1_cmdline=print,file name
; e.g.: button1_cmdline=print,myfile.txt
; when the 1st argument is print, the 2nd argument is the file to be
; printed. That file will be printed with whatever program the OS has
; associated for that file type. Association is handled by the file
; extension, which, in this example is .txt. If an association doesn't
; exist, the OS will ask user to create an association to open the file.
; Please note that printing of html files does not work through Windows.
; 5) explore a directory: button1_cmdline=explore,path to directory
; e.g.: button1_cmdline=explore,extras\clipart\
; when the first argument is explore, the 2nd argument is the directory
; on the CD to browse to. The path to the directory must be specified as
; an absolute path from the root of the CD. In the example above, it would
; open the 'clipart' directory that is in the 'extras' directory, which is
; at the root level of the CD.
; 6) open file in Navigator: button1_cmdline=netscape,file name
; e.g.: button1_cmdline=netscape,myfile.html
; when the 1st argument is netscape, the 2nd argument is the file to be
; opened with the current installed version of Netscape Navigator. That file
; type may be an html file, or a .gif, or, if a plug-in is already installed,
; it could be an Adobe .pdf...
;---------------------------------------
button1_text_title=Client Customization Kit
; defines button descriptive title text.
;---------------------------------------
button1_text_body=Click here to install the Client Customization Kit -- Everything you need to customize Netscape 6.2.
; defines button descriptive body text.
;---------------------------------------
button1_offset=
; defines button x and y position offsets, which allows you to offset individual
; buttons from the column offset. This offset is in respect to the left side
; of the dialog. The button1 (x,y) position is calculated by:
; x = button1_offset + col1_button_pos(x)
; y = col1_button_pos(y);
; default setting if left blank: button1_offset=0;If you specify a y offset greater than 0 for button1, this y offset applies to ;all other buttons in the same column unless you also specify individual y offset ;values for the other buttons in the same column. If you do that, then each ;button uses the x,y offset values specified for it.
;---------------------------------------
button1_netscape_required=FALSE
; for apps which require a registry/ini check to make sure that Netscape 6
; (or some other software) is installed. TRUE or FALSE. If left blank, default
; is FALSE. See check_netscape_registry in the [General] section.
;---------------------------------------
;=================== buttons 2-6 for dialog 1 ===========================
; Note if you want fewer than 6 buttons, simply delete the button# groups
; higher than what you want or leave their settings blank. To add more than
; 6 buttons, just copy and paste a button group and increment the button#.
button2_bitmaps=..\bmps\help_up.bmp,..\bmps\help_dn.bmp,..\bmps\help_mo.bmp,..\bmps\help_mo.bmp
button2_cmdline=exe,..\..\Install.txt
button2_text_title=Installation Guide
button2_text_body=Click here to get all the information you need to install Netscape 6.2 Client Customization Kit. It is recommended that you read or print this information before installing.
button2_offset=
button2_netscape_required=FALSE
;button3_bitmaps=..\bmps\apps_up.bmp,..\bmps\apps_dn.bmp,..\bmps\apps_mo.bmp,..\bmps\apps_mo.bmp
;button3_cmdline=window,Dialog2
;button3_text_title=Bonus Applications and Plug-ins
;button3_text_body=Click here to see the Bonus Applications and Plug-ins included with this CD.
;button3_offset=
;button3_netscape_required=FALSE
;=========================== dialog 2 ===========================
[Dialog2]
;================ dialog config =================
caption=Bonus Applications and Plug-ins
dialog_position=
bk_bitmap=..\bmps\comm.bmp
button_gap=70
dialog_title_text=Be sure to install Netscape 6 before you install any Applications or Plug-ins.
dialog_title_pos=100,400,630,420
dialog_title_text_color=255,255,255
dialog_title_shadow_color=0,0,0
dialog_title_shadow_depth=
dialog_title_text_font=arial,10
dialog_title_font_bold=TRUE
dialog_title_font_underline=
dialog_title_font_italic=
text_color_default=0,0,0
text_color_highlight=255,255,255
button_title_text_font=arial,14
button_title_text_font_bold=TRUE
button_title_text_font_underline=
button_title_text_font_italic=
body_text_font=arial,10
body_text_font_bold=
body_text_font_underline=
body_text_font_italic=
;========== column 1 for dialog 2 ==========
col1_button_pos=80,130
col1_text_offset=15
col1_text_posx=
col1_text_width=200
;========== column 2 for dialog 2 ==========
col2_button_pos=350,130
col2_text_offset=15
col2_text_posx=
col2_text_width=200
;========== buttons for dialog 2 ==========
button1_bitmaps=..\bmps\32b_up.bmp,..\bmps\32b_dn.bmp,..\bmps\32b_mo.bmp,..\bmps\32b_mo.bmp
button1_cmdline=exe,..\..\apps\app1\app1.exe
button1_text_title=Application1
button1_text_body=descriptive text
button1_offset=
button1_netscape_required=
button2_bitmaps=..\bmps\32b_up.bmp,..\bmps\32b_dn.bmp,..\bmps\32b_mo.bmp,..\bmps\32b_mo.bmp
button2_cmdline=exe,..\..\apps\app2\app2.exe
button2_text_title=Application2
button2_text_body=descriptive text
button2_offset=
button2_netscape_required=
button3_bitmaps=..\bmps\32b_up.bmp,..\bmps\32b_dn.bmp,..\bmps\32b_mo.bmp,..\bmps\32b_mo.bmp
button3_cmdline=exe,..\..\apps\app3\app3.exe
button3_text_title=Plug-in1
button3_text_body=descriptive text
button3_offset=
button3_netscape_required=
button4_bitmaps=..\bmps\32b_up.bmp,..\bmps\32b_dn.bmp,..\bmps\32b_mo.bmp,..\bmps\32b_mo.bmp
button4_cmdline=exe,..\..\apps\app4\app4.exe
button4_text_title=Plug-in2
button4_text_body=descriptive text
button4_offset=
button4_netscape_required=
;============================== dialog 3 ==============================
[Dialog3]
;============= dialog config ===============
caption=Bonus Plug-ins
dialog_position=
bk_bitmap=..\bmps\comm.bmp
button_gap=50
dialog_title_text=Be sure to install Netscape 6 before you install any Plug-ins.
dialog_title_pos=120,400,630,420
dialog_title_text_color=255,255,255
dialog_title_shadow_color=
dialog_title_shadow_depth=
dialog_title_text_font=arial,10
dialog_title_font_bold=TRUE
dialog_title_font_underline=
dialog_title_font_italic=
text_color_default=0,0,0
text_color_highlight=255,255,255
button_title_text_font=arial,14
button_title_text_font_bold=TRUE
button_title_text_font_underline=
button_title_text_font_italic=
body_text_font=arial,10
body_text_font_bold=
body_text_font_underline=
body_text_font_italic=
;========== column 1 for dialog 3 ==========
col1_button_pos=80,110
col1_text_offset=15
col1_text_posx=
col1_text_width=200
;========== column 2 for dialog 3 ==========
col2_button_pos=350,110
col2_text_offset=15
col2_text_posx=
col2_text_width=200
;========== buttons for dialog 3 ==========
button1_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button1_cmdline=exe,..\..\plugins\plugin1\32plugin1.exe
button1_text_title=Plug-in1
button1_text_body=descriptive text
button1_offset=
button1_netscape_required=TRUE
button2_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button2_cmdline=exe,..\..\plugins\plugin2\32plug2.exe
button2_text_title=Plug-in2
button2_text_body=descriptive text
button2_offset=
button2_netscape_required=TRUE
button3_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button3_cmdline=exe,..\..\plugins\plugin3\32plug3.exe
button3_text_title=Plug-in3
button3_text_body=descriptive text
button3_offset=
button3_netscape_required=TRUE
button4_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button4_cmdline=exe,..\..\plugins\plugin4\32plug4.exe
button4_text_title=Plug-in4
button4_text_body=descriptive text
button4_offset=
button4_netscape_required=TRUE
button5_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button5_cmdline=exe,..\..\plugins\plugin5\32plug5.exe
button5_text_title=Plug-in5
button5_text_body=descriptive text
button5_offset=
button5_netscape_required=TRUE
button6_bitmaps=..\bmps\16b_up.bmp,..\bmps\16b_dn.bmp,..\bmps\16b_mo.bmp,..\bmps\16b_mo.bmp
button6_cmdline=exe,..\..\plugins\plugin6\32plug6.exe
button6_text_title=Plug-in6
button6_text_body=descriptive text
button6_offset=
button6_netscape_required=TRUE
;----------------------------------------------------------

View File

@@ -1,165 +0,0 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#include <windows.h>
#include <ctype.h>
//#include <globalheader.h>
typedef struct
{
int width;
int height;
} DIMENSION;
typedef struct
{
char name[50];
char value[50];
char type[20];
DIMENSION size;
POINT location;
char options[20];
} widget;
widget ptr_ga[1000];
int isnum(char valuestring[50]);
int isnum(char valuestring[50])
{
//cout << "this is the value string " << valuestring << "\n";
for (int i=0; i < (strlen(valuestring)); i++)
{ if(!isdigit(valuestring[i]))
{//cout << "this is the string char " <<valuestring[i] <<"\n";
return 0;
}
}
return 1;
}
char *GetGlobal (char *fname);
char *GetGlobal (char *fname)
{
for (int i=0;i<1000;i++)
{
if (strcmp (fname, ptr_ga[i].name) == 0)
return (ptr_ga[i].value);
}
cout << ("error:variable not found \n");
return NULL;
}
int main(int argc, char *argv[])
{
int i = 0;
ifstream myin("test.dat");
ifstream prefin("pref.dat");
ofstream myout("out.js");
if(!myin) {
cout << "cannot open the file \n";
return 1;
}
while (!myin.eof()) {
myin >> ptr_ga[i].name >> ptr_ga[i].value ;
// cout << ptr_ga[i].name <<","<< ptr_ga[i].value <<"\n";
i++;
}
myin.close();
if(!myout) {
cout << "cannot open the file \n";
return 1;
}
if (argc == 1)
{
char prefer [7];
char prefname[50];
char pref1[5];
char pref2[7];
char bool1[5];
char bool2[6];
if(!prefin) {
cout << "cannot open the file \n";
return 1;
}
while (!prefin.eof()) {
prefin >> prefer >> prefname ;
// cout <<"This is "<< prefer << " and " << prefname << "\n";
i++;
strcpy(pref1, "pref");
strcpy(pref2, "config");
strcpy(bool1, "true");
strcpy(bool2, "false");
if (strcmp(prefer,pref1) ==0)
{
// cout << "inside the def pref \n";
if (GetGlobal(prefname)!= NULL)
{ if (( strcmp (GetGlobal(prefname), bool1) == 0)|| ( strcmp (GetGlobal(prefname), bool2)== 0) || (isnum (GetGlobal(prefname))))
{ //cout << "the current value is " <<GetGlobal(prefname)<<"\n";
myout<< "defaultPref(\"" << prefname << "\", " <<GetGlobal(prefname) <<");\n";
}
else
myout<< "defaultPref(\"" << prefname << "\", \"" <<GetGlobal(prefname) <<"\");\n";
}
else
cout << prefname << " is not found \n";
}
else if (strcmp(prefer,pref2) ==0)
{
// cout << "inside the config \n";
if (GetGlobal(prefname)!= NULL)
{ if (( strcmp (GetGlobal(prefname), bool1) == 0)|| ( strcmp (GetGlobal(prefname), bool2) == 0) || (isnum (GetGlobal(prefname))))
{//cout << "the value of isnum is " << isnum <<"\n";
//cout << "the curretn value is "<<GetGlobal(prefname)<<"\n";
myout<< "config(\"" << prefname << "\", " <<GetGlobal(prefname) <<");\n";
}
else
myout<< "config(\"" << prefname << "\", \"" <<GetGlobal(prefname) <<"\");\n";
}
else
cout << prefname << " is not found \n";
}
}
}
myout.close();
prefin.close();
return 1;
}

View File

@@ -1,24 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#define MD5_WORD unsigned int
union {
char bytes[4];
MD5_WORD n;
} u;
void main()
{
u.n=0x03020100;
if (u.bytes[0] == 3)
printf("#define MD5_BIG_ENDIAN\n");
else if (u.bytes[0] == 0)
printf("#define MD5_LITTLE_ENDIAN\n");
else
{
printf("#error No endians!\n");
exit(1);
}
exit (0);
}

View File

@@ -1 +0,0 @@
#define IS_LITTLE_ENDIAN

View File

@@ -1,249 +0,0 @@
//#define MD 5
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <sys/types.h>
//#include "global.h"
//#include "md5.h"
//#include "md5c.c"
//#include "nsMsgMD5.h"
//#define MD5_LENGTH 16
#define OBSCURE_CODE 7
const void *nsMsgMD5Digest(const void *msg, unsigned int len);
static void MDString (unsigned char *, char *);
//static void MDFile (unsigned char *, char *);
static void MDPrint (char *, char *, unsigned char *, long);
void obscure (const char *, char *, int);
//#define MD_CTX MD5_CTX
//#define MDInit MD5Init
//#define MDUpdate MD5Update
//#define MDFinal MD5Final
// Main driver.
short bflag = 1; /* 1 == print sums in binary */
int main (argc, argv)
int argc;
char *argv[];
{
char outputfile[] = "netscape.cfg";
unsigned char* digest;//[MD5_LENGTH];
long f_size=0;
int index=0;
int num=0;
char *file_buffer;
char *hash_input;
char final_buf[50];
char final_hash[49];
char *magic_key = "VonGloda5652TX75235ISBN";
unsigned int key_len =(strlen (magic_key)+1);
FILE *outp;
FILE *input_file;
unsigned int len_buffer;
printf ("before opening the file \n");
if ((input_file = fopen (argv[1], "rb")) == NULL){
printf ("%s can't be opened for reading\n", argv[1]);
} else { printf ("after opening the file \n");
fseek(input_file, 0,2);
f_size = ftell(input_file);
fseek (input_file,0,0);
file_buffer = (char *) malloc (f_size);
hash_input = (char *) malloc (f_size +key_len);
fread (file_buffer,1,f_size,input_file);
file_buffer[f_size]=NULL;
printf ("%s is the statement \n", magic_key);
strcpy (hash_input , file_buffer);
printf ("%s is 2 hash input statement \n",hash_input);
// printf ("%s\n",file_buffer);
// strncat (hash_input,magic_key,key_len);
// printf ("%s is 1 hash input statement \n",hash_input);
// printf ("%d is the length \n", strlen(hash_input));
hash_input[strlen(hash_input)]=NULL;
}
if (argc > 1) {
// MDFile (digest,argv[1]);
// MDString (digest, file_buffer);
digest = (unsigned char *)nsMsgMD5Digest(hash_input, strlen(hash_input));
printf("%s is the digest \n", digest);
for (index =0; index <16;++index)
{
strcpy(&(final_hash[3*index])," ");
num=digest[index];
// printf("the num is %d and the dig is %s\n", num,&(digest[index]));
sprintf(&(final_hash[(3*index)+1]),"%0.2x",num);
// printf ("inside the for %s and the index %d \n", &(final_hash[3*index]), index);
}
final_hash[48]=NULL;
// printf("the hashed output is %s\n", final_hash);
strncpy (final_buf, "//",2);
final_buf[2]=NULL;
// printf ("the final hex %0.2x \n", "b");
strncat(final_buf,final_hash,48);
// printf ("the final buf %s\n",final_buf);
final_buf[50]=NULL;
printf ("%s is the final buffer \n",final_buf);
MDPrint (outputfile, file_buffer, final_buf,f_size);
} else {
printf("Usage: md5 <file> \n");
}
//free(file_buffer);
return (0);
}
// To convert to Hex String
/*void HexConvert(digest, final_hash)
{
char *tuple;
char *map ="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff";
char *output = final_hash;
int index=0;
for (index =0; index <16;++index)
{
char *tuple =map[digest[index]];
*output++ = *tuple++;
*output++ = *tuple++;
}
*output ='\0';
}
*/
// Digests a file and prints the result.
/*static void MDFile (digest, filename)
unsigned char *digest;
char *filename;
{
FILE *file;
MD_CTX context;
int len;
unsigned char buffer[1024];
unsigned char magic_key[] = "VonGloda5652TX75235ISBN\0";
unsigned int key_len =strlen (magic_key);
if ((file = fopen (filename, "rb")) == NULL)
printf ("%s can't be opened\n", filename);
else {
MDInit (&context);
MDUpdate (&context, magic_key, key_len);
while (len = fread (buffer, 1, 1024, file))
MDUpdate (&context, buffer, len);
MDFinal (digest, &context);
fclose (file);
}
}
*/
// Digests a string and prints the result.
/*
static void MDString (digest, str)
unsigned char *digest;
char *str;
{
MD_CTX context;
unsigned int len = strlen (str);
unsigned char *magic_key = "VonGloda5652TX75235ISBN";
unsigned int key_len =(strlen (magic_key)+1);
MDInit (&context);
MDUpdate (&context, magic_key, key_len);
MDUpdate (&context, str, len);
MDFinal (digest, &context);
}
*/
void obscure (input, obscured, len)
const char *input;
char *obscured;
int len;
{
int i;
for (i = 0; i < len; i++) {
obscured[i] = (input[i] + OBSCURE_CODE) ;
}
obscured[len] = '\0';
}
/* Prints a message digest in hexadecimal or binary.
*/
static void MDPrint (outfile, file_buffer, final_buf, f_size)
char *outfile;
char *file_buffer;
unsigned char *final_buf;
//long file_size;
{
FILE *outp;
int len;
unsigned char buffer[1024];
char obscured[2000];
//printf("inside the mdprint \n");
if ((outp = fopen (outfile, "wb")) == NULL) {
printf ("%s can't be opened for writing\n", outfile);
} else {
if (bflag) {
// print in obscured digest
obscure(final_buf, obscured, 50);
printf ("finished first obscure\n");
fprintf(outp, "%s", obscured);
printf("%s is the 1 obscured \n",obscured);
// print in obscured end of file
obscure("\n", obscured, 1);
fprintf(outp, "%s", obscured);
printf("%s is the 2 obscured \n",obscured);
//print in obscured file
obscure(file_buffer, obscured, f_size);
fprintf(outp, "%s",obscured);
// printf ("the digest length is %ld now \n",strlen(file_buffer));
printf("%s is the 3 obscured \n",obscured);
} else {/*
// print in hex
obscure(digest, obscured, MD5_LENGTH);
fprintf(outp, "%s\n", obscured);
// for (i = 0; i < MD5_LENGTH; i++) {
// fprintf (outp, "%02x ", digest[i]);
// }
//
// print in obscured digest
obscure("\n", obscured, 1);
fprintf(outp, "%s\n", obscured);
while(len = fread (buffer, 1, 1024, inpp)) {
obscure(buffer, obscured, 1024);
fprintf(outp, "%s", obscured);
}*/
}
fclose (outp);
// fclose (inpp);
}
}

View File

@@ -1,197 +0,0 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#include <windows.h>
#include <ctype.h>
//#include <globalheader.h>
typedef struct
{
int width;
int height;
} DIMENSION;
typedef struct
{
char name[50];
char value[50];
char type[20];
DIMENSION size;
POINT location;
char options[20];
} widget;
widget ptr_ga[1000];
int isnum(char valuestring[50]);
int isnum(char valuestring[50])
{
//cout << "this is the value string " << valuestring << "\n";
for (int i=0; i < (strlen(valuestring)); i++)
{ if(!isdigit(valuestring[i]))
{//cout << "this is the string char " <<valuestring[i] <<"\n";
return 0;
}
}
return 1;
}
char *GetGlobal (char *fname);
char *GetGlobal (char *fname)
{
for (int i=0;i<1000;i++)
{
if (strcmp (fname, ptr_ga[i].name) == 0)
return (ptr_ga[i].value);
}
cout << ("error:variable not found \n");
return NULL;
}
int main(int argc, char *argv[])
{
int i = 0;
ifstream myin("test.dat");
ifstream prefin("pref.dat");
ifstream addition("addition.js");
ofstream myout("out.js");
if(!myin) {
cout << "cannot open the file \n";
return 1;
}
while (!myin.eof()) {
myin >> ptr_ga[i].name >> ptr_ga[i].value ;
// cout << ptr_ga[i].name <<","<< ptr_ga[i].value <<"\n";
i++;
}
myin.close();
if(!myout) {
cout << "cannot open the file \n";
return 1;
}
if (argc == 1)
{
char prefer [7];
char prefname[50];
char pref1[5];
char pref2[7];
char bool1[5];
char bool2[6];
if(!prefin) {
cout << "cannot open the file \n";
return 1;
}
while (!prefin.eof()) {
prefin >> prefer >> prefname ;
// cout <<"This is "<< prefer << "and " << prefname << "\n";
i++;
strcpy(pref1, "pref");
strcpy(pref2, "config");
strcpy(bool1, "true");
strcpy(bool2, "false");
if (strcmp(prefer,pref1) ==0)
{
// cout << "inside the def pref \n";
if (GetGlobal(prefname)!= NULL)
{ if (( strcmp (GetGlobal(prefname), bool1) == 0)|| ( strcmp (GetGlobal(prefname), bool2)== 0) || (isnum (GetGlobal(prefname))))
{ //cout << "the current value is " <<GetGlobal(prefname)<<"\n";
myout<< "defaultPref(\"" << prefname << "\", " <<GetGlobal(prefname) <<");\n";
}
else
myout<< "defaultPref(\"" << prefname << "\", \"" <<GetGlobal(prefname) <<"\");\n";
}
else
cout << prefname << " is not found\n";
}
else if (strcmp(prefer,pref2) ==0)
{
// cout << "inside the config \n";
if (GetGlobal(prefname)!= NULL)
{ if (( strcmp (GetGlobal(prefname), bool1) == 0)|| ( strcmp (GetGlobal(prefname), bool2) == 0) || (isnum (GetGlobal(prefname))))
{//cout << "the value of isnum is " << isnum <<"\n";
//cout << "the curretn value is "<<GetGlobal(prefname)<<"\n";
myout<< "config(\"" << prefname << "\", " <<GetGlobal(prefname) <<");\n";
}
else
myout<< "config(\"" << prefname << "\", \"" <<GetGlobal(prefname) <<"\");\n";
}
else
cout << prefname << " is not found\n";
}
}
}
if(!addition) {
cout << "cannot open the file \n";
return 1;
}
while (!addition.eof()) {
char jsprefname[150];
addition.getline(jsprefname,150);
char *quote_ptr1;
char *quote_ptr2;
quote_ptr1 = strchr(jsprefname, '"');
quote_ptr2 = strchr((quote_ptr1+1), '"');
char jspref[100];
strncpy(jspref, (quote_ptr1 +1),(quote_ptr2-quote_ptr1-1));
jspref[(quote_ptr2-quote_ptr1-1)] = NULL;
// printf("%s \n", jsprefname);
// printf("%s \n", jspref);
// printf("%s \n", (quote_ptr1 +1));
// printf("%s \n", (quote_ptr2 +1));
if (GetGlobal(jspref)!= NULL)
//cout << "The preference \"" << jspref << "\" already exists.\n";
{ printf("the preference ");
printf("%s", jspref);
printf("already exists.\n");}
myout << jsprefname <<"\n";
}
myout.close();
addition.close();
return 1;
}

View File

@@ -1,260 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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):
*/
/*
* MD5 digest implementation
*
* contributed by mrsam@geocities.com
*
*/
/* for endian-ness */
//#include "prtypes.h"
#include "string.h"
//#include "nsMsgMD5.h"
#define MD5_BYTE unsigned char
#define MD5_WORD unsigned int
extern "C" const void *nsMsgMD5Digest(const void *msg, unsigned int len);
typedef union md5_endian {
//#ifdef IS_LITTLE_ENDIAN
MD5_WORD m_word;
struct {
MD5_BYTE m_0, m_1, m_2, m_3;
} m_bytes;
//#endif
/*#ifdef IS_BIG_ENDIAN
MD5_WORD m_word;
struct {
MD5_BYTE m_3, m_2, m_1, m_0;
} m_bytes;
#endif
*/ } ;
static const MD5_BYTE *m_msg;
static MD5_WORD m_msglen;
static MD5_WORD m_msgpaddedlen;
static MD5_BYTE m_pad[72];
static MD5_BYTE m_digest[16];
#define MD5_MSGBYTE(n) ((MD5_BYTE)((n) < m_msglen?m_msg[n]:m_pad[n-m_msglen]))
inline void MD5_MSGWORD(MD5_WORD &n, MD5_WORD i)
{
union md5_endian e;
i *= 4;
e.m_bytes.m_0=MD5_MSGBYTE(i); ++i;
e.m_bytes.m_1=MD5_MSGBYTE(i); ++i;
e.m_bytes.m_2=MD5_MSGBYTE(i); ++i;
e.m_bytes.m_3=MD5_MSGBYTE(i);
n=e.m_word;
}
inline MD5_WORD MD5_ROL(MD5_WORD w, int n)
{
return ( w << n | ( (w) >> (32-n) ) );
}
static MD5_WORD T[64]={
0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
0xd62f105d, 0x2441453, 0xd8a1e681, 0xe7d3fbc8,
0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,
0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05,
0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,
0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,
0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391};
const void *nsMsgMD5Digest(const void *msg, unsigned int len)
{
MD5_WORD i,j;
union md5_endian e;
MD5_WORD hilen, lolen;
MD5_BYTE padlen[8];
m_msg=(const MD5_BYTE *)msg;
m_msglen=len;
m_msgpaddedlen = len+72;
m_msgpaddedlen &= ~63;
for (i=0; i<72; i++) m_pad[i]=0;
m_pad[0]=0x80;
lolen=len << 3;
hilen=len >> 29;
e.m_word=lolen;
padlen[0]=e.m_bytes.m_0;
padlen[1]=e.m_bytes.m_1;
padlen[2]=e.m_bytes.m_2;
padlen[3]=e.m_bytes.m_3;
e.m_word=hilen;
padlen[4]=e.m_bytes.m_0;
padlen[5]=e.m_bytes.m_1;
padlen[6]=e.m_bytes.m_2;
padlen[7]=e.m_bytes.m_3;
memcpy( &m_pad[m_msgpaddedlen - m_msglen - 8], padlen, 8);
MD5_WORD A=0x67452301;
MD5_WORD B=0xefcdab89;
MD5_WORD C=0x98badcfe;
MD5_WORD D=0x10325476;
#define F(X,Y,Z) ( ((X) & (Y)) | ( (~(X)) & (Z)))
#define G(X,Y,Z) ( ((X) & (Z)) | ( (Y) & (~(Z))))
#define H(X,Y,Z) ( (X) ^ (Y) ^ (Z) )
#define I(X,Y,Z) ( (Y) ^ ( (X) | (~(Z))))
MD5_WORD nwords= m_msgpaddedlen / 4, k=0;
MD5_WORD x[16];
for (i=0; i<nwords; i += 16)
{
for (j=0; j<16; j++)
{
MD5_MSGWORD(x[j],k);
++k;
}
MD5_WORD AA=A, BB=B, CC=C, DD=D;
#define ROUND1(a,b,c,d,k,s,i) \
a = b + MD5_ROL((a + F(b,c,d) + x[k] + T[i]),s)
ROUND1(A,B,C,D,0,7,0);
ROUND1(D,A,B,C,1,12,1);
ROUND1(C,D,A,B,2,17,2);
ROUND1(B,C,D,A,3,22,3);
ROUND1(A,B,C,D,4,7,4);
ROUND1(D,A,B,C,5,12,5);
ROUND1(C,D,A,B,6,17,6);
ROUND1(B,C,D,A,7,22,7);
ROUND1(A,B,C,D,8,7,8);
ROUND1(D,A,B,C,9,12,9);
ROUND1(C,D,A,B,10,17,10);
ROUND1(B,C,D,A,11,22,11);
ROUND1(A,B,C,D,12,7,12);
ROUND1(D,A,B,C,13,12,13);
ROUND1(C,D,A,B,14,17,14);
ROUND1(B,C,D,A,15,22,15);
#define ROUND2(a,b,c,d,k,s,i) \
a = b + MD5_ROL((a + G(b,c,d) + x[k] + T[i]),s)
ROUND2(A,B,C,D,1,5,16);
ROUND2(D,A,B,C,6,9,17);
ROUND2(C,D,A,B,11,14,18);
ROUND2(B,C,D,A,0,20,19);
ROUND2(A,B,C,D,5,5,20);
ROUND2(D,A,B,C,10,9,21);
ROUND2(C,D,A,B,15,14,22);
ROUND2(B,C,D,A,4,20,23);
ROUND2(A,B,C,D,9,5,24);
ROUND2(D,A,B,C,14,9,25);
ROUND2(C,D,A,B,3,14,26);
ROUND2(B,C,D,A,8,20,27);
ROUND2(A,B,C,D,13,5,28);
ROUND2(D,A,B,C,2,9,29);
ROUND2(C,D,A,B,7,14,30);
ROUND2(B,C,D,A,12,20,31);
#define ROUND3(a,b,c,d,k,s,i) \
a = b + MD5_ROL((a + H(b,c,d) + x[k] + T[i]),s)
ROUND3(A,B,C,D,5,4,32);
ROUND3(D,A,B,C,8,11,33);
ROUND3(C,D,A,B,11,16,34);
ROUND3(B,C,D,A,14,23,35);
ROUND3(A,B,C,D,1,4,36);
ROUND3(D,A,B,C,4,11,37);
ROUND3(C,D,A,B,7,16,38);
ROUND3(B,C,D,A,10,23,39);
ROUND3(A,B,C,D,13,4,40);
ROUND3(D,A,B,C,0,11,41);
ROUND3(C,D,A,B,3,16,42);
ROUND3(B,C,D,A,6,23,43);
ROUND3(A,B,C,D,9,4,44);
ROUND3(D,A,B,C,12,11,45);
ROUND3(C,D,A,B,15,16,46);
ROUND3(B,C,D,A,2,23,47);
#define ROUND4(a,b,c,d,k,s,i) \
a = b + MD5_ROL((a + I(b,c,d) + x[k] + T[i]),s)
ROUND4(A,B,C,D,0,6,48);
ROUND4(D,A,B,C,7,10,49);
ROUND4(C,D,A,B,14,15,50);
ROUND4(B,C,D,A,5,21,51);
ROUND4(A,B,C,D,12,6,52);
ROUND4(D,A,B,C,3,10,53);
ROUND4(C,D,A,B,10,15,54);
ROUND4(B,C,D,A,1,21,55);
ROUND4(A,B,C,D,8,6,56);
ROUND4(D,A,B,C,15,10,57);
ROUND4(C,D,A,B,6,15,58);
ROUND4(B,C,D,A,13,21,59);
ROUND4(A,B,C,D,4,6,60);
ROUND4(D,A,B,C,11,10,61);
ROUND4(C,D,A,B,2,15,62);
ROUND4(B,C,D,A,9,21,63);
A += AA;
B += BB;
C += CC;
D += DD;
}
union md5_endian ea, eb, ec, ed;
ea.m_word=A;
eb.m_word=B;
ec.m_word=C;
ed.m_word=D;
m_digest[0]=ea.m_bytes.m_0;
m_digest[1]=ea.m_bytes.m_1;
m_digest[2]=ea.m_bytes.m_2;
m_digest[3]=ea.m_bytes.m_3;
m_digest[4]=eb.m_bytes.m_0;
m_digest[5]=eb.m_bytes.m_1;
m_digest[6]=eb.m_bytes.m_2;
m_digest[7]=eb.m_bytes.m_3;
m_digest[8]=ec.m_bytes.m_0;
m_digest[9]=ec.m_bytes.m_1;
m_digest[10]=ec.m_bytes.m_2;
m_digest[11]=ec.m_bytes.m_3;
m_digest[12]=ed.m_bytes.m_0;
m_digest[13]=ed.m_bytes.m_1;
m_digest[14]=ed.m_bytes.m_2;
m_digest[15]=ed.m_bytes.m_3;
return (m_digest);
}

View File

@@ -1,45 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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):
*/
/*
* MD5 digest implementation
*
* contributed by sam@email-scan.webcircle.com
*/
//#ifndef __nsMsgMD5_h
//#define __nsMsgMD5_h
//#include "nscore.h"
//NS_BEGIN_EXTERN_C
//
// RFC 1321 MD5 Message digest calculation.
//
// Returns a pointer to a sixteen-byte message digest.
//
const void *nsMsgMD5Digest(const void *msg, unsigned int len);
//NS_END_EXTERN_C
//#endif

View File

@@ -1,58 +0,0 @@
; Mode: INI; tab-width: 8; indent-tabs-mode: nil -*-
;
; 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):
;
[Dial-In Configuration]
SiteName=<Your Site Name>
Description=<Description>
Phone=<Phone number to dial>
SupportPhone=<Support number in TAPI format>
[Services]
SMTP_Server=
POP_Server=
IMAP_Server=
Default_Mail_Protocol=
NNTP_Server=
LDAP_Server=
[IP]
IPAddress=
DomainName=
DNSAddress=
DNSAddress2=
[Proxy Settings]
ProxyEnabled=<Yes/No>
AutomaticProxyURL=
FTPProxy=
FTPProxyPort=
GopherProxy=
GopherProxyPort=
HTTPProxy=
HTTPProxyPort=
SecurityProxy=
SecurityProxyPort=
WAISProxy=
WAISProxyPort=
SOCKSHost=
SOCKSHostPort=
DirectAccessURLs=

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Some files were not shown because too many files have changed in this diff Show More