Compare commits

..

243 Commits

Author SHA1 Message Date
warren%netscape.com
9704e5bd7f Removed string stats stuff.
git-svn-id: svn://10.0.0.236/branches/no_neckoutil_branch@53204 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 09:25:42 +00:00
warren%netscape.com
8ce83b9be2 Removed accidental nsStr::HashCode checkin.
git-svn-id: svn://10.0.0.236/branches/no_neckoutil_branch@53203 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 09:24:14 +00:00
warren%netscape.com
1c7ff0b8b1 Removing neckoutil_s.lib from tree. Moving/renaming nsNeckoUtil.h to nsNetUtil.h. Bug#11159. r=colin@theblakes.com,kipp,waterson,valeski,pierre,nisheeth
git-svn-id: svn://10.0.0.236/branches/no_neckoutil_branch@53202 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 08:51:50 +00:00
(no author)
8398b422f2 This commit was manufactured by cvs2svn to create branch
'no_neckoutil_branch'.

git-svn-id: svn://10.0.0.236/branches/no_neckoutil_branch@53193 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:21:40 +00:00
rbs%maths.uq.edu.au
db7000695f [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for public: API of the GetBoundingMetrics() method for accurate measurements of a string in order to allow precise positionning when processing MathML. review: Erik, Shyjan.
git-svn-id: svn://10.0.0.236/trunk@53185 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:24:51 +00:00
rbs%maths.uq.edu.au
0c0970ccab [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for windows: Erik van der Poel erik@netscape.com's code for the support of the Symbol font. review: Shyjan, rbs. My changes to DrawString to use the baseline as the reference point and changes aimed at computing the bounding metrics. review: Erik, Shyjan.
git-svn-id: svn://10.0.0.236/trunk@53184 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:19:25 +00:00
rbs%maths.uq.edu.au
2f912ca46b [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for gtk: Shyjan Mahamud mahamud@cs.cmu.edu's changes to enable the symbol font on Linux, as well as the fix for the CSS font-family bug, and the computation of the bounding metrics. review: Erik, rbs.
git-svn-id: svn://10.0.0.236/trunk@53183 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:16:54 +00:00
rbs%maths.uq.edu.au
ad61b6a672 [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for ps: Empty hooks to make the code compile while awaiting implementation.
git-svn-id: svn://10.0.0.236/trunk@53182 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:12:33 +00:00
waterson%netscape.com
8b75e6af56 Add docs for XPCOM_MEM_LOG_OBJECTS.
git-svn-id: svn://10.0.0.236/trunk@53181 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:08:28 +00:00
valeski%netscape.com
0af0d697db 11869, r=brendan (for everything but the case where we check for keyword url load failure). Hooking up keywords to webshell. we now kick non-qualified hosts to the keyword server (if keywords are enabled (they're defaulted to off), on windows. and if a non-qualifed host lookup fails we kick that to the keyword server (on all platforms, if keywords are enabled). If keywords are disabled (default case) we do the www.*.com trick ourselves in the client.
git-svn-id: svn://10.0.0.236/trunk@53180 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:26:18 +00:00
waterson%netscape.com
74dce44ae9 Bug 18069. Support XPCOM_MEM_TRACE_OBJECTS, per-object reference count tracing. r=warren
git-svn-id: svn://10.0.0.236/trunk@53179 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:23:24 +00:00
jdunn%netscape.com
db2a5c813e Add newline at end of file... HP requires it!
git-svn-id: svn://10.0.0.236/trunk@53178 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:14:37 +00:00
saari%netscape.com
aec790d0e6 part of previous checkin
git-svn-id: svn://10.0.0.236/trunk@53177 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:09:16 +00:00
saari%netscape.com
5432ae5d44 Turning gFocusHandler into gEventDispatchHandler, a Mac event dispatch change. Should be fine without the rest of the focus changes, commiting to facilitate pink's need to change this file. R: pink
git-svn-id: svn://10.0.0.236/trunk@53176 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:08:31 +00:00
jdunn%netscape.com
dcd9ca22e2 Fix additional bugs with stubs. This still doesn't work 100% but getting there
(basically pulled in the mac ppc CPP file for aix stubs file)


git-svn-id: svn://10.0.0.236/trunk@53175 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:20:22 +00:00
valeski%netscape.com
5514f3c5ea hooking up keyword prefs so we check for them
git-svn-id: svn://10.0.0.236/trunk@53174 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:18:02 +00:00
briano%netscape.com
c4458f4151 Automated update
git-svn-id: svn://10.0.0.236/trunk@53173 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:15:16 +00:00
valeski%netscape.com
8630e33bf6 18419. *removed nsIFTPContext and associated impl of it. we no longer pass this context between the FTP thread and the channel thread, we use nsISupports proxies to move back and forth.*added SetcontentLength() method to nsIFTPChannel so we can move the content length from the FTP thread to the channel thread. nsFTPChannel impls this meth now.*made a couple FTP channel logging changes for better description*nsCOMPtrized a bit*added nsFTPChannel to load group when avail (this starts/stops the throbber for url bar loaded ftp urls.*the FTP protocl handler (a service) is now an observer of XPCOM shutdown. this allows the handler to join w/ all the threads it has created (that are still running) if we try and shutdown the main thread whill ftp is still running.
git-svn-id: svn://10.0.0.236/trunk@53172 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:14:23 +00:00
valeski%netscape.com
f6bc0b70d1 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@53171 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:13:44 +00:00
valeski%netscape.com
56450ba26e removed files: mozilla/netwerk/protocol/ftp/public/nsIFTPContext.idl
git-svn-id: svn://10.0.0.236/trunk@53170 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:11:50 +00:00
valeski%netscape.com
f168e2ebc5 18419.
git-svn-id: svn://10.0.0.236/trunk@53169 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:09:07 +00:00
jdunn%netscape.com
e923683866 HP specific Fix for #16506.
git-svn-id: svn://10.0.0.236/trunk@53168 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:08:10 +00:00
ssu%netscape.com
91333ec8d3 these files are part of bug #17109. It's to help with calculating
the correct disk space required during installation.  It doesn't fix this
bug, but it's part of getting it done.

All these files are not part of tinderbox build.  They are only Windows
platform too.

r=sgehani


git-svn-id: svn://10.0.0.236/trunk@53167 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:54:58 +00:00
slamm%netscape.com
65a646ea08 Script to generate panels' rdf and dtd files.
git-svn-id: svn://10.0.0.236/trunk@53166 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:54:01 +00:00
waqar%netscape.com
8e98416f47 # 16610
r vidur
d Javascript should throw an execption on index size error. DOM now throws
an execption for size error.


git-svn-id: svn://10.0.0.236/trunk@53165 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:48:25 +00:00
pinkerton%netscape.com
e4e6e5b049 remove the tree item drag capturer. i was premature.
git-svn-id: svn://10.0.0.236/trunk@53164 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:46:12 +00:00
pinkerton%netscape.com
173dc604a4 backing out my last added file.
git-svn-id: svn://10.0.0.236/trunk@53163 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:42:12 +00:00
saari%netscape.com
a8c0e40278 Just checking in nsGUIEvent.h changes to start the focus landing... can't finish it without more reviews, but this change is reviewed and harmless. r: joki
git-svn-id: svn://10.0.0.236/trunk@53162 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:33:48 +00:00
waqar%netscape.com
90fdd6824c # 6071, 15904
r vidur
d Fixes the problem with comment delimiters.


git-svn-id: svn://10.0.0.236/trunk@53161 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:28:32 +00:00
buster%netscape.com
7955df305a tiny fix to SetDocument based on small change to semantics of underlying objects, back-ported from webshell
git-svn-id: svn://10.0.0.236/trunk@53160 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:27:27 +00:00
putterman%netscape.com
783df58a3b Use get() instead of ==
git-svn-id: svn://10.0.0.236/trunk@53159 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:22:59 +00:00
mccabe%netscape.com
f7d8c1e1aa Warning fix for uninitialized structure members. r=fur,slamm.
git-svn-id: svn://10.0.0.236/trunk@53158 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:15:43 +00:00
valeski%netscape.com
a67d97f104 default for keywords enabled field is false
git-svn-id: svn://10.0.0.236/trunk@53157 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:13:51 +00:00
pinkerton%netscape.com
4e18984c5e add nsTreeItemDragCapturer to the build
git-svn-id: svn://10.0.0.236/trunk@53156 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:04:36 +00:00
pinkerton%netscape.com
d1e40118fa adding nsTreeItemDragCapturer to the build and moving XUL frames into the right group.
git-svn-id: svn://10.0.0.236/trunk@53155 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:04:15 +00:00
pinkerton%netscape.com
61cde1ceb0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53154 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:03:41 +00:00
hangas%netscape.com
2039a6d814 New disabled arrow for menus. Problem reported by Crysgem@crosswinds.net and icon submitted by michael.lowe@bigfoot.com.
git-svn-id: svn://10.0.0.236/trunk@53153 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:59:07 +00:00
pinkerton%netscape.com
e994710532 set the default image size to be small in order to avoid obvious reflows when button code would assume 30x30 before it loaded the image (r=evaughan).
git-svn-id: svn://10.0.0.236/trunk@53152 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:42 +00:00
sfraser%netscape.com
cdc1e8d7c9 Fix for 18525 -- non-scriptable accessor to get at the editor from the editor shell. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@53151 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:40 +00:00
ftang%netscape.com
c359f1ed02 adjust XIM spot location code scince we change the nsCaret to return the bottom of the cursor intead of the top of the cursor ow. It look a little bit weired since the GFX didn't alight Japanese text base line right. r=erik
git-svn-id: svn://10.0.0.236/trunk@53150 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:14 +00:00
karnaze%netscape.com
b5aebd8ca2 new regression test not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53149 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:56:50 +00:00
terry%mozilla.org
24b7b0cacd freshmeat seems to have changed the location of their RDF page.
git-svn-id: svn://10.0.0.236/trunk@53148 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:55:49 +00:00
sgehani%netscape.com
0f83368472 Restoring file dates when decoding was off by 12 hours. This is now fixed. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53147 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:52:04 +00:00
nhotta%netscape.com
5b454a2e97 Added msgbaseutil to a project file so unicode conversion utils to be accessable, part of bug fix #18264, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@53146 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:48:55 +00:00
buster%netscape.com
081fe363eb added SetDocument implementation
added Get/SetDocLoaderObserver
added base implementation for nsIDocShellContainer methods
started filling in GetVisibility
started nsIContentViewerContainer methods, very rough
added FireStartDocumentLoad, FireEndDocumentLoad
added DestroyChildren


git-svn-id: svn://10.0.0.236/trunk@53145 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:42:48 +00:00
pepper%netscape.com
b604bfeeca Changed friend declaration to make HP Compilers Happy.
r=mgleeson


git-svn-id: svn://10.0.0.236/trunk@53144 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:59 +00:00
buster%netscape.com
358fa5f31d added charset attributes
git-svn-id: svn://10.0.0.236/trunk@53143 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:50 +00:00
valeski%netscape.com
cf6a7895bf 16256, nscomprtizing
git-svn-id: svn://10.0.0.236/trunk@53142 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:21 +00:00
buster%netscape.com
04b0f51565 added charset member data
git-svn-id: svn://10.0.0.236/trunk@53141 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:16 +00:00
buster%netscape.com
79679411ae filled in charset methods
select all
some of sizeToContent
AddChild override, to handle charset stuff


git-svn-id: svn://10.0.0.236/trunk@53140 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:38:55 +00:00
valeski%netscape.com
1ed04f3a7d 16256. nsCOMptrizing
git-svn-id: svn://10.0.0.236/trunk@53139 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:38:16 +00:00
valeski%netscape.com
9903ce8559 16256, r=gagan. the nsinputstreamchannel was lowercasing the entire contenttype. we don't want to lower case the contenttype attribs
git-svn-id: svn://10.0.0.236/trunk@53138 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:37:18 +00:00
buster%netscape.com
67d716f4fe added libs:
>  $(DIST)\lib\neckoutil_s.lib	       \
>  $(DIST)\lib\gkgfxwin.lib	           \


git-svn-id: svn://10.0.0.236/trunk@53137 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:36:48 +00:00
buster%netscape.com
b5d9e6f2e9 made childCount readonly
git-svn-id: svn://10.0.0.236/trunk@53136 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:36:09 +00:00
buster%netscape.com
e1a9b1cf06 changed args to SetDocument
added attribute nsIDocumentLoaderObserver docLoaderObserver;


git-svn-id: svn://10.0.0.236/trunk@53135 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:35:36 +00:00
buster%netscape.com
f9748dc756 nsDocShellBase implements nsIDocShellContainer
added some member data


git-svn-id: svn://10.0.0.236/trunk@53134 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:34:41 +00:00
valeski%netscape.com
cf9447c758 16256, r=morse. Large bugzilla queries were bleeding http headers into the html displayed.
git-svn-id: svn://10.0.0.236/trunk@53133 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:34:01 +00:00
sgehani%netscape.com
4c6642169a *** NOT PART OF BUILD ***
Fixed warnings and added C callback prototypes.


git-svn-id: svn://10.0.0.236/trunk@53132 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:33:39 +00:00
dp%netscape.com
bf00e32685 Services used with COMPtrs. NS_WITH_SERVICE definition uses COMPtrs. r=scc
git-svn-id: svn://10.0.0.236/trunk@53131 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:31:45 +00:00
sgehani%netscape.com
a8792931ec Added progress bar and message for overall status of components being installed. Also, we now display the icon for the folder or volume selected to install, including custom folder and disk icons. Added Quit menu and cmd+Quit keyboard handling. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53130 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:29:38 +00:00
valeski%netscape.com
be2a330da5 16485, y2k DOS FTP server date parsing problem (we're now compensating for lacking two digit dos date years
git-svn-id: svn://10.0.0.236/trunk@53129 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:28:30 +00:00
putterman%netscape.com
af2026ecdf added nsIIncomingServerListener.idl
git-svn-id: svn://10.0.0.236/trunk@53128 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:27:10 +00:00
valeski%netscape.com
3014976cd0 11869, r=dagley. added keyword related prefs (1 for enable/disable, and 1 for keyword URL).
git-svn-id: svn://10.0.0.236/trunk@53127 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:26:05 +00:00
putterman%netscape.com
6d6e668a41 Work on 17712 to add incoming server listeners and hook biff up to them. Reviewed by alecf and bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53126 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:26:02 +00:00
putterman%netscape.com
b45fc5c931 Work on 17712 to add incoming server listeners and hook biff up to them. Reviewed by alecf.
git-svn-id: svn://10.0.0.236/trunk@53125 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:25:19 +00:00
sgehani%netscape.com
2707a601bc Fix build warnings by moving a static struct from a .h to its .cpp.
Fixes bug 15898. [r=ssu]


git-svn-id: svn://10.0.0.236/trunk@53124 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:24:24 +00:00
sfraser%netscape.com
19850957f7 Fix warnings, bug 15588. r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@53123 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:24:18 +00:00
putterman%netscape.com
3eee221ecf Work on 12846 for making message threads work. Reviewed by bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53122 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:23:29 +00:00
sfraser%netscape.com
cbb5dd663c Fix 16653 and 18496 -- assert on non-local Edit Page, and avoid opening a second composer window for a file that is already open. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@53121 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:12:23 +00:00
sfraser%netscape.com
109ce230c7 Add windowtype attribtue on window for bug 18496. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@53120 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:10:05 +00:00
sfraser%netscape.com
79de159da2 Use OS call to get caret blink time on Windows, bug 15422. r=kin
git-svn-id: svn://10.0.0.236/trunk@53119 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:08:49 +00:00
sspitzer%netscape.com
72a0898873 ignore generated Makefiles
git-svn-id: svn://10.0.0.236/trunk@53118 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:08:20 +00:00
bienvenu%netscape.com
c66aeb5988 hook up pseudo interruption, r=jefft 15012
git-svn-id: svn://10.0.0.236/trunk@53117 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:04:45 +00:00
av%netscape.com
e2a5ab7e02 Fix for bug 16302. Added counting margins when calculating the object size, r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@53116 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:00:07 +00:00
bienvenu%netscape.com
0e2fbc7315 fix trivial build warnings, unused variables
git-svn-id: svn://10.0.0.236/trunk@53115 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:58:39 +00:00
rjc%netscape.com
577cd4ac84 Check in real fix. Review: me
git-svn-id: svn://10.0.0.236/trunk@53114 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:56:29 +00:00
sspitzer%netscape.com
a2031e92b9 fix #18383, r=alecf.
check if the folder really exists by checking if it has a server.
if not, return an error.
this makes the right error message pop up.


git-svn-id: svn://10.0.0.236/trunk@53113 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:25 +00:00
rjc%netscape.com
c1eba56c75 Comment out problem.
git-svn-id: svn://10.0.0.236/trunk@53112 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:24 +00:00
ducarroz%netscape.com
85c58b7866 Forget to checking version that check return of ConvertFromUnicode & ConvertToUnicode. R=jefft
git-svn-id: svn://10.0.0.236/trunk@53111 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:05 +00:00
sspitzer%netscape.com
a0d9a56a3c check in patch from cls@seawood.org
add comment.


git-svn-id: svn://10.0.0.236/trunk@53110 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:53:40 +00:00
sspitzer%netscape.com
7eb395e300 fix #18510. package up "Mozilla Select Profile"
and the "Mozilla NSPR Log" files.


git-svn-id: svn://10.0.0.236/trunk@53109 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:53:12 +00:00
nhotta%netscape.com
f4b0f0a51a Added msgbaseutil to makefiles so unicode conversion utils to be accessable, part of bug fix #18264, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@53108 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:46 +00:00
sspitzer%netscape.com
ddd9e310c2 fix warning.
git-svn-id: svn://10.0.0.236/trunk@53107 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:45 +00:00
evaughan%netscape.com
009c882c36 Fixed gfxscrollbar bugs #16460 and #15722
git-svn-id: svn://10.0.0.236/trunk@53106 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:44 +00:00
rjc%netscape.com
1c6454fbce Small improvements to HTTP-INDEX datasource. Review: me
git-svn-id: svn://10.0.0.236/trunk@53105 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:10 +00:00
akkana%netscape.com
6f4b49e030 17564, 17871, 17883, 18249, 13753,
18012, 16800, maybe 17565 and 13278:
Integrate contributions from Ben Bucksch (mozilla@bucksch.org)
and Daniel Brattell (bratell@lysator.liu.se) to improve formatted
plaintext output, including adding text style indicators, improving
table output and wrapping, and fixing several wrapping/whitespace bugs.
Also update the auto tests to reflect some of the bugs recently fixed.
  r=myself,mozilla@bucksch.org,bratell@lysator.liu.se


git-svn-id: svn://10.0.0.236/trunk@53104 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:45 +00:00
pollmann%netscape.com
5d1e46267a Bug 17656: Checking in jst@citec.fi fix to make Framesets resize correctly. A: chofmann R: pollmann
git-svn-id: svn://10.0.0.236/trunk@53103 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:38 +00:00
rjc%netscape.com
2466de998d Add support for secondary key sort. Convert over to using nsCOMPtrs. Review: me
git-svn-id: svn://10.0.0.236/trunk@53102 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:34 +00:00
leaf%mozilla.org
35f00f3824 s/apprunner/mozilla-bin/ to comply with new binary name. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53101 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:01 +00:00
ducarroz%netscape.com
0cdb370274 Fix for bug 18402, don't use AutoCString when need to deal with a UTF8 string (nsMsgCompose.cpp only).
Fix for bug 13261, use constants instead of numerical.
Cleanup Forward code, eliminate duplicate or dead code (in prep. for bug 15682)


git-svn-id: svn://10.0.0.236/trunk@53100 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:59 +00:00
ftang%netscape.com
acade41cee Change the GetRelativedWindowCoordinate to return the botton of the cursor, instead of the top of the cursor. We need this to make Mac IME candidcate window popup in a more reasonable place. author=sfraser. r=ftang
git-svn-id: svn://10.0.0.236/trunk@53099 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:56 +00:00
slamm%netscape.com
82330ef504 Fix warnings for partially bracketed initializers. r=rickg a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53098 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:37 +00:00
ftang%netscape.com
f4cad5fb6e fix bug 17710, 12253, 18286. r=erik. hide the mIMEIsComposition into HandlStart/EndComposition method. +1 for size checking. remove startCompostion after we receive result. Add StartComposition if we have not start composition
git-svn-id: svn://10.0.0.236/trunk@53096 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:43:46 +00:00
akkana%netscape.com
d7c2ad3748 16803, 17341: Enable unicode paste. Code from nhotta, r=me. Also re-enable plaintext paste
git-svn-id: svn://10.0.0.236/trunk@53095 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:42:11 +00:00
ftang%netscape.com
32f598b99e 1. fix 7571. review by ftang/pierre/saari
2. rewrite Mac IME code r=brade


git-svn-id: svn://10.0.0.236/trunk@53094 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:41:21 +00:00
akkana%netscape.com
eafe3578c4 Fix mEditorType, which wasn't being set before. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@53093 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:40:38 +00:00
waterson%netscape.com
2a0808b97f Bug 18408. Use 'ObjectAt()' rather than 'Peek()', which looks at the
front of the queue. r=jband


git-svn-id: svn://10.0.0.236/trunk@53091 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 21:59:05 +00:00
tbogard%aol.net
12f6152a5f Added mLoadCookie that is used in the new URI Loader calls.
git-svn-id: svn://10.0.0.236/trunk@53090 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 21:43:58 +00:00
leaf%mozilla.org
d4db03b390 clobber builds should be making realclean
git-svn-id: svn://10.0.0.236/trunk@53087 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 20:15:32 +00:00
brade%netscape.com
9591e1ed1e remove empty_doc.html (bug #15442) r:Jerry.Kirk@Nexwarecorp.com
git-svn-id: svn://10.0.0.236/trunk@53084 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 14:48:36 +00:00
gagan%netscape.com
3ab2c7be1a Fix for 7533. The mechanism of specifying charset in content-type of a post data was breaking a lot of websites. I have changed the default to not send charset. If this has to be changed again this should go thru a pref (See bug 18431)
git-svn-id: svn://10.0.0.236/trunk@53083 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 08:58:20 +00:00
mcafee%netscape.com
b7898d0469 Ignore new name of binary. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53082 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 08:03:06 +00:00
pavlov%netscape.com
b92f4aa57b remove #ifdef DEBUG_pavlov #define NOISY FONTS blah blah r=paulmac,mcafee
git-svn-id: svn://10.0.0.236/trunk@53081 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:31:01 +00:00
tbogard%aol.net
8cecdb58e5 Changes to call OpenURI with new parameter set.
git-svn-id: svn://10.0.0.236/trunk@53080 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:27:25 +00:00
pavlov%netscape.com
daa074a108 fixes for pasting unicode text for bug 18276 r=akkana
git-svn-id: svn://10.0.0.236/trunk@53079 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:26:06 +00:00
pavlov%netscape.com
8e735f811d fix for bug 1004 (native system colors) r=blizzard,smfr
git-svn-id: svn://10.0.0.236/trunk@53078 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:20:33 +00:00
rjc%netscape.com
00e0da2712 Fix bug # 12114 [an internal timer no longer refcnt's the nsBookmarksService, preventing a leak; instead, we cancel the timer in the DTOR] and bug # 18250 [speed up loading of bookmarks on startup by deferring loading of IE favorites.html (on Mac) until needed, and try to read in the entire file in one read request if memory is available, otherwise fall back to parsing line by line]. Review: waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53077 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:05:16 +00:00
tbogard%aol.net
b66961452f Changed nsComponentManager::CreateInstance to use new nsCOMPtr do_CreateInstance.
git-svn-id: svn://10.0.0.236/trunk@53076 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:03:50 +00:00
tbogard%aol.net
40bcf7296c Changed nsComponentManager::CreateInstance calls to use the new nsCOMPtr do_CreateInstance().
git-svn-id: svn://10.0.0.236/trunk@53075 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:54:39 +00:00
mscott%netscape.com
80bf48903f (not part of the seamonkey build...yet!)
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.

Add nsUriLoaderEventSinkGetter class. Many method signatures
changed to match the changes to nsIURILoader::OpenURI.


git-svn-id: svn://10.0.0.236/trunk@53074 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:24:40 +00:00
mscott%netscape.com
f0c23a8611 (not part of the build yet!)
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.

Add the notion of a open uri context as an in and an out parameter. The open uri context is a cookie which
the caller can later give back to the uri loader when running another url in the same context. It's an ISupports
right now and the type should be opaque to the caller.

Don't require the caller to pass in an event sink getter. We can generate this for them. Do give them the ability
to pass in a nsIProgressEventSink. Note: this parameter is actually going to get changed into a nsIProgressListener
real soon as well. So don't get to used to it.


git-svn-id: svn://10.0.0.236/trunk@53073 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:22:29 +00:00
ftang%netscape.com
1b0abe5c51 fix 17409. rewrite the Notify method to take care random order of HTTP-EQUIV or CONTENT. performance enhance the code. keep the old code in the #else of #if 1 statement for now. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@53071 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 05:55:58 +00:00
ftang%netscape.com
f274743ebb fix 16808. change hard coded utf-8'to UTF-8', get charset hint from webshell. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@53070 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 05:50:10 +00:00
tbogard%aol.net
50c4711b2e NS_WARN_IF_FALSE now by default puts the windows messagebox up on a tripped warning condition. Before it relied on the developer having an environment variable set. r=pink a=sdagley
git-svn-id: svn://10.0.0.236/trunk@53069 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:32:33 +00:00
shaver%netscape.com
d225f7052a revert case change, because I no longer have the accompanying JS changes -- don't ask
git-svn-id: svn://10.0.0.236/trunk@53068 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:18:07 +00:00
bienvenu%netscape.com
272d724890 fix crash with bookmark to local folder, r=alecf
git-svn-id: svn://10.0.0.236/trunk@53067 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:12:26 +00:00
bienvenu%netscape.com
945350d58c fix build warnings
git-svn-id: svn://10.0.0.236/trunk@53066 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:05:16 +00:00
bienvenu%netscape.com
1abcf5624a fix build warnings about unused variables
git-svn-id: svn://10.0.0.236/trunk@53065 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:59:45 +00:00
nisheeth%netscape.com
2bfa653735 a=sdagley. Move over to new timing macros...
git-svn-id: svn://10.0.0.236/trunk@53064 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:41:09 +00:00
morse%netscape.com
4cad860e7c fix bug 65552, integrating ftp authentication with single signon, r=valeski
git-svn-id: svn://10.0.0.236/trunk@53063 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:39:33 +00:00
morse%netscape.com
09fe028d90 fix bug 65552, integrating ftp authentication with single signon, r=neeti
git-svn-id: svn://10.0.0.236/trunk@53062 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:37:35 +00:00
cls%seawood.org
e6a3cfb8fe I'm in complete awe as to how the unix tinderboxen haven't broken because of this....when I did a clobber build, nsCookie.cpp & mailnews/* started complaining about a missing rosetta.h.
git-svn-id: svn://10.0.0.236/trunk@53061 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:30:47 +00:00
shaver%netscape.com
742d5f1204 missed a #include
git-svn-id: svn://10.0.0.236/trunk@53060 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:11:08 +00:00
shaver%netscape.com
e03c3f1706 maybe fix build bustage
git-svn-id: svn://10.0.0.236/trunk@53059 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:10:39 +00:00
shaver%netscape.com
e67b7a69e7 fix build bustage from big dumb shaver
git-svn-id: svn://10.0.0.236/trunk@53058 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:04:58 +00:00
shaver%netscape.com
c6b0353b9c export nsSupportsArray so the Mac and VC can see it
git-svn-id: svn://10.0.0.236/trunk@53057 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 01:49:30 +00:00
bienvenu%netscape.com
08cbb3eb94 fix build bustage, use PR_MAX instead of MAX
git-svn-id: svn://10.0.0.236/trunk@53056 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 01:02:30 +00:00
cls%seawood.org
1759db8032 Oops. Wrapping that in a ifdef until a proper fix is determined
git-svn-id: svn://10.0.0.236/trunk@53055 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:59:30 +00:00
rhp%netscape.com
237439b927 Fixing evaluation of nsresult - Bug #:18157 r: jefft
git-svn-id: svn://10.0.0.236/trunk@53054 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:56:36 +00:00
bienvenu%netscape.com
6a23d1fc5a fixes for msg threading, r=scottip
git-svn-id: svn://10.0.0.236/trunk@53053 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:44:45 +00:00
bienvenu%netscape.com
c3d2033a3a more work on imap pending counts,r=jefft
git-svn-id: svn://10.0.0.236/trunk@53052 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:42:55 +00:00
bienvenu%netscape.com
fcfedf2d17 move folder cache to account mgr, per alecf, fix pending counts r=jefft
git-svn-id: svn://10.0.0.236/trunk@53051 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:41:52 +00:00
jj%netscape.com
bf63cc710d fixed a misplaced '-' . a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53050 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:34:48 +00:00
shaver%netscape.com
d9c238eacf - use JSThreadContextStack and JSRuntimeService (more) correctly in loader
- teach loader about unloading and deferring components
- turn off some DEBUG_shaver noise
- better error reporting
- use nsXPIDLCString
- use nsCOMPtr
- add missing cxstack->Pop() in the xpcshell
- Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN (want better text for
  error message)
- handle thrown-nsresult correctly where C++ calls JS without an active JS
  stack
- remove missing cxstack->Pop() from TestXPC
r=jband,brendan


git-svn-id: svn://10.0.0.236/trunk@53049 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:34:26 +00:00
waterson%netscape.com
ad1c6cded6 Bug 18257. Fix leak of nsIDocument in form submission. r=karnaze, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53048 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:30:09 +00:00
shaver%netscape.com
6896473ece - NS_ERROR_FACTORY_REGISTER_AGAIN for deferring registration of a module until
later in the autoreg cycle.
- teach native component loader about deferred components
- add nsIComponentLoader::registerDeferredComponents
- teach component manager about deferred components
- made nsID::Parse take a |const char *| instead of a simple |char *|.
- move release of XPTI singletons until _after_ shutting down the component
  manager to prevent re-initialization during JS component shutdown.
- category manager work: really delete from reg, start on enumeration
- use nsXPIDLCString instead of autoStringFree.
- fix nsRegistry to use allocator properly.
- cleaner memory management in nsFactoryEntry.
- capitalization fixed in nsIComponentLoader.idl
- clean up loader creation logic
- remove/disable lots of DEBUG_shaver noise
- added (disabled) warning about NSGetFactory usage
- move .so and .shlb higher up in the ValidDllExtensions list to marginally
  speed up registration.
- added nsDll::GetRegistryLocation API
- properly export nsSupportsArray.h
- capitalization fixes in nsIEnumerator.idl
- added deferral to nsSample.js


git-svn-id: svn://10.0.0.236/trunk@53047 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:28:34 +00:00
idk%eng.sun.com
51054c8b7a 17316
Class names updated (see 18180)

a=laa@sparc.spb.su
r=idk@eng.sun.com


git-svn-id: svn://10.0.0.236/trunk@53046 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:27:00 +00:00
scc%netscape.com
9fec22a94d Added |do_CreateInstance()|, |do_GetService()| both by CID and ProgID. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53045 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:54 +00:00
sspitzer%netscape.com
34b13b24f7 add bulletproofing for bug #15093. bug still exists, but this code and assertion is needed.
git-svn-id: svn://10.0.0.236/trunk@53044 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:29 +00:00
scc%netscape.com
79bbb292a0 Moved |do_CreateInstance()| from here to nsComponentManagerUtils.h. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53043 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:10 +00:00
sspitzer%netscape.com
e766d064ca fix comment.
git-svn-id: svn://10.0.0.236/trunk@53042 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:37 +00:00
sspitzer%netscape.com
f172a4e37a fix warnings.
git-svn-id: svn://10.0.0.236/trunk@53041 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:22 +00:00
sspitzer%netscape.com
ae26eeb260 fix for #18260, r=mscott. if we had a pop server in 4.x, upon migration, set
the send later uri pref to the "Unsent Messages" folder under that pop account.


git-svn-id: svn://10.0.0.236/trunk@53040 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:08 +00:00
sspitzer%netscape.com
837d127dc1 fix warnings. r=valeski.
git-svn-id: svn://10.0.0.236/trunk@53039 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:10:59 +00:00
sspitzer%netscape.com
3a02b027dc don't build smtpTest anymore, it's obsolete. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53038 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:10:40 +00:00
sspitzer%netscape.com
c148e9dbd8 fix warning.
git-svn-id: svn://10.0.0.236/trunk@53037 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:09:32 +00:00
cls%seawood.org
5f4e4068eb Commented out ExtCacheDBInfo struct & uses of it in net.h as it's not used since Necko landed. r=warren
Removed dbm from allmakefiles.sh & mozilla/Makefile.in.


git-svn-id: svn://10.0.0.236/trunk@53036 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:52:25 +00:00
rods%netscape.com
bd3e148ac8 I checked in a bad fix. This is correct. I have had Chris K. check it over.
Migrains will do that to you. for bug 18039


git-svn-id: svn://10.0.0.236/trunk@53035 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:49:37 +00:00
dp%netscape.com
9c89d26c52 Enabling observing of XPCOM Shutdown r=jband r=putterman
git-svn-id: svn://10.0.0.236/trunk@53034 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:41:24 +00:00
waterson%netscape.com
2f900ccff2 Bug 18256. Fix nsIDocument leak in WLLT_OnSubmit. r=morse, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53033 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:39:36 +00:00
waterson%netscape.com
81352c0b3e Bug 18067. Event listeners are refcounted; do not try to manually 'delete'. r=hyatt, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@53032 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:37:57 +00:00
waterson%netscape.com
254ba7fef5 Bug 18066. Only addref the listener if it isn't already in our set of listeners. r=joki, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53031 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:37:08 +00:00
briano%netscape.com
0e7fba508d Automated update
git-svn-id: svn://10.0.0.236/trunk@53030 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:31:43 +00:00
dp%netscape.com
ccb285cb8c Removing NS_COMFALSE usage.
git-svn-id: svn://10.0.0.236/trunk@53029 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:44 +00:00
briano%netscape.com
8fd91df808 Automated update
git-svn-id: svn://10.0.0.236/trunk@53028 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:43 +00:00
cls%seawood.org
5652546c52 Moved the handling of extensions into configure.in.
Changed allmakefiles.sh to only generate Makefiles for extensions directories that are specified.
Added support for --with-extensions=none & --without-extensions
The following options have been superceded by --with-extensions:
   --disable-cookie-management
   --disable-client-wallet
   --disable-single-signon


git-svn-id: svn://10.0.0.236/trunk@53027 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:32 +00:00
dp%netscape.com
459c2a4c80 Modifying sample to use NS_MODULE macros. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53026 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:28:10 +00:00
cls%seawood.org
41bcfc5972 Removed modules/security/freenav from DIRS
git-svn-id: svn://10.0.0.236/trunk@53025 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:25:12 +00:00
cls%seawood.org
f1c7032b4b Removed NECKO define.
Added '-W -Wno-unused' to _WARNINGS_CFLAGS for gcc.
Marked --enable-mathml as broken.


git-svn-id: svn://10.0.0.236/trunk@53024 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:22:15 +00:00
cls%seawood.org
bd038eb739 Commented out unused Makefiles
git-svn-id: svn://10.0.0.236/trunk@53023 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:18:28 +00:00
cls%seawood.org
08b4a73117 Copied check for MOZ_SECURITY to DEBUG_AUTOCONF_XCOMPILE ifdef
git-svn-id: svn://10.0.0.236/trunk@53022 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:16:22 +00:00
cls%seawood.org
99804f7160 Replaced NO_SECURITY ifdef with MOZ_SECURITY one. This causes pref_VerifyLockFile to always return PR_TRUE rather than linking against the dummy secfree library. This replacement also removed the last dependency upon that dummy library so it will no longer be built (next patch).
git-svn-id: svn://10.0.0.236/trunk@53021 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:13:53 +00:00
cls%seawood.org
2f8c89d340 gcc 2.95+ fixes
git-svn-id: svn://10.0.0.236/trunk@53019 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:04:16 +00:00
despotdaemon%netscape.com
90ac873269 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53018 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:03:12 +00:00
matt%netscape.com
2dfb0ef7b9 fixing for bug 16221
changing port from string to int


git-svn-id: svn://10.0.0.236/trunk@53017 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:02:51 +00:00
rods%netscape.com
c8a56bd594 Fixes bug 18039, it doesn't call WipeContainingBlock for select frames
This needs a better fix, filed bug 18366
r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@53015 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 22:36:05 +00:00
valeski%netscape.com
b8aec44d1a 18134, a=chofmann,r=andreas. Resolve() was not handling ../../ cases in relative URI specs. Now it is. We call ReplaceDotMess() on the path portion _only_.
git-svn-id: svn://10.0.0.236/trunk@53011 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:31:43 +00:00
pinkerton%netscape.com
830bbaa157 remove the tooltip over mozilla button because we don't yet have a good fix for bug 15946. this is a workaround. (r=sdagley).
git-svn-id: svn://10.0.0.236/trunk@53010 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:29:06 +00:00
karnaze%netscape.com
e5e7dad23d new regression test not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53009 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:06:13 +00:00
sspitzer%netscape.com
6342265a22 fix for the regression I introduced. when we send the 'MAIL FROM:' command to the SMTP server, we want to send it 'MAIL FROM: <sender>', not 'MAIL FROM: <Foo Bar <fbar@xyz.com>>'. my SMTP server allowed 'MAIL FROM: <Seth Spitzer <sspitzer@netscape.com>>' which is why I didn't catch this.
git-svn-id: svn://10.0.0.236/trunk@53007 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 19:25:39 +00:00
blizzard%redhat.com
6ab2c4bae1 include ctype.h so isprint() is defined. a=choffman
git-svn-id: svn://10.0.0.236/trunk@53006 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 19:20:24 +00:00
karnaze%netscape.com
64b63632a7 new regression test, not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53005 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:45:09 +00:00
rogerl%netscape.com
c11cf8f069 Removed NativeClosure
git-svn-id: svn://10.0.0.236/trunk@53004 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:24:40 +00:00
leaf%mozilla.org
1e4724cd9d fixing packaging target to depend on mozilla-bin rather than apprunner
git-svn-id: svn://10.0.0.236/trunk@53003 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:21:18 +00:00
terry%mozilla.org
1d8dc5ef4f Turns out string fields should all be declared as "binary" if we want
them to be case-insensitive.


git-svn-id: svn://10.0.0.236/trunk@53002 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:12:43 +00:00
slamm%netscape.com
09261a2465 Now really get it right.
git-svn-id: svn://10.0.0.236/trunk@53001 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:05:12 +00:00
slamm%netscape.com
0b298978a3 Get directory right for mailnews aggregate warnings.
git-svn-id: svn://10.0.0.236/trunk@53000 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:01:26 +00:00
slamm%netscape.com
a65d46563a Add warning filtering by directory. Fix some perl warnings.
git-svn-id: svn://10.0.0.236/trunk@52999 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 17:58:56 +00:00
rods%netscape.com
b616783180 Fixes MLK 18207 - missing addref, r=beard
Fixes Crasher 17852 by temporarily commenting out the offending line, waiting on bug 18183
r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@52994 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 13:41:27 +00:00
idk%eng.sun.com
f49b0b03e5 bug 17859
Added null checking


git-svn-id: svn://10.0.0.236/trunk@52993 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 10:42:36 +00:00
idk%eng.sun.com
51254cf0e7 bug 18180
Names changed
Pluglet->PlugletFactory, *PlugletInstance*->*Pluglet*


git-svn-id: svn://10.0.0.236/trunk@52992 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 10:28:46 +00:00
pinkerton%netscape.com
2d80fbfdef fix for #17664 (crash in drag code when css destroys the frame when clicking on link). small fix for when target is null on mouseMove events (say when mouse is in menu bar on MacOS). (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52991 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 07:10:46 +00:00
leaf%mozilla.org
453fa7fe38 removing NECKO #define, adding irc to windows build, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52990 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 04:36:08 +00:00
nisheeth%netscape.com
7ad60e4687 r=vidur. a=chofmann. Post a reflow event instead of doing reflow command processing synchronously. Currently this only happens on content appended and content inserted notificaitions in the pres shell.
git-svn-id: svn://10.0.0.236/trunk@52989 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:23:26 +00:00
bienvenu%netscape.com
a76ce97e81 write out folder cache on messenger bootstrap shutdown a=chofmann,r=rhp 18306
git-svn-id: svn://10.0.0.236/trunk@52988 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:19:01 +00:00
rhp%netscape.com
0ec3cd2edd Fix for format=flowed plain text - Part of 17983 fix - r: rhp
git-svn-id: svn://10.0.0.236/trunk@52987 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:09:28 +00:00
rhp%netscape.com
abcd90e75e Fix for quoting problem - Bug #17983 - r: alecf
git-svn-id: svn://10.0.0.236/trunk@52986 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:05:10 +00:00
sspitzer%netscape.com
0e99032636 fix for #18128, r=alecf, a=chofmann
fix the broken icon.


git-svn-id: svn://10.0.0.236/trunk@52985 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:54:00 +00:00
slamm%netscape.com
58a222a49a Add styles, dialog and push, to titledbuttons. Fix for 18299. r=hyatt a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52984 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:33:18 +00:00
sspitzer%netscape.com
23b419547b fix for #17956, a=chofmann. fix by ducarroz, r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@52983 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:07:58 +00:00
hangas%netscape.com
9d1753e49a Hacked Undo/Redo menus to always appear enabled. This is a work-around for the issue where menus steal focus and therefore break command updating. r=sspitzer a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52982 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:07:40 +00:00
leaf%mozilla.org
b312375e6a making apprunner -> mozilla-bin switch
git-svn-id: svn://10.0.0.236/trunk@52981 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:05:20 +00:00
sspitzer%netscape.com
5839aa32bc fix for #17956 and #18084.
#17956 is reply fails if message in local mail folder

fix (by ducarroz) is to remove the temporary code.

#18084 is sending email fails in certain cases

the problem is we were sending the wrong info to the SMTP server.
when we sent "MAIL FROM: <address>" to the SMTP server we sent
the smtp username and not the full name built from the identity.
most of the changes are to support passing the identity around.
I also added code so that the smtp username is used on the mailto url spec.
we'll need that later, when we support multiple smtp servers and ESMTP.

r=alecf

a=chofmann


git-svn-id: svn://10.0.0.236/trunk@52980 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:04:06 +00:00
leaf%mozilla.org
bf26e79236 changing binary name to mozilla-bin, runscript to mozilla, modifying
mozilla-apprunner.sh to invoke new binary name. Updating packages file.
bug 17219, a=chofmann r=alecf


git-svn-id: svn://10.0.0.236/trunk@52979 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:03:38 +00:00
endico%mozilla.org
0122906378 Oops, now the text inside the form's text box is also centered. Re-fix this by adding </P> after the blurb at the top
git-svn-id: svn://10.0.0.236/trunk@52978 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 01:38:00 +00:00
endico%mozilla.org
c168f50f60 add a <P> before the <HR> so this looks better with mozilla. apparently in html 4.0, <HR> doesn't cause a </PR> so the entire rest of the page was getting centered after the <PR ALIGN=CENTER>
git-svn-id: svn://10.0.0.236/trunk@52977 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:38:35 +00:00
sdagley%netscape.com
f4d74e2669 Removed yet another file warren obsoleted from yet another MANIFEST file (didn't he come up with the idea for MANIFEST files in the first place?)
git-svn-id: svn://10.0.0.236/trunk@52976 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:31:52 +00:00
scc%netscape.com
731d3896e8 backing it out until doug and I can resolve the types issues
git-svn-id: svn://10.0.0.236/trunk@52975 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:27:05 +00:00
sdagley%netscape.com
02c56cabf3 Yet Another Tree Bistage Fix - looks like warren was having a bad CVS day as he put a typo in the first line
git-svn-id: svn://10.0.0.236/trunk@52974 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:27:00 +00:00
sdagley%netscape.com
fa64dc6443 Another shot at fixing Mac build bustage - also remove the obsoleted nsIBuffer.h
git-svn-id: svn://10.0.0.236/trunk@52973 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:08:23 +00:00
scc%netscape.com
e8d7bbbd9e dougt's changes from earlier in the week. He was unable to leave them
in at that time because he didn't have my |nsCOMPtr| fixes.  Those went
in last night.  So, on brendans suggestion, I'm reinstating dougt's
previous checkin.


git-svn-id: svn://10.0.0.236/trunk@52972 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:58:14 +00:00
warren%netscape.com
4f78ccf8ff Removed nsIPageManager.h
git-svn-id: svn://10.0.0.236/trunk@52969 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:40:52 +00:00
warren%netscape.com
56ec26df14 Removed obsolete files from tree.
git-svn-id: svn://10.0.0.236/trunk@52958 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:06:07 +00:00
warren%netscape.com
37ce7ee77c Removed obsolete nsPageMgr.cpp
git-svn-id: svn://10.0.0.236/trunk@52957 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:05:23 +00:00
varada%netscape.com
3a7a13822a adding wizard directory to cck
git-svn-id: svn://10.0.0.236/trunk@52956 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:55:03 +00:00
varada%netscape.com
31fab24987 adding another global variable in globals.h and .cpp
git-svn-id: svn://10.0.0.236/trunk@52955 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:54:31 +00:00
varada%netscape.com
6a65198e56 changing ini files to use wizard.dll instead of functions in interpret.cpp
git-svn-id: svn://10.0.0.236/trunk@52954 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:53:23 +00:00
varada%netscape.com
1b5b260da4 adding new function SelectItem to make the selected item as the first in a combo box
git-svn-id: svn://10.0.0.236/trunk@52952 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:50:55 +00:00
varada%netscape.com
2261f0f56c Adding new directory Wizard to form wizard.dll with cck specific functions and resources.
git-svn-id: svn://10.0.0.236/trunk@52951 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:49:18 +00:00
joki%netscape.com
0a957febc3 Fix for bug 17618, null out current event target frame after processing event. a:chofmann, r:vidur
git-svn-id: svn://10.0.0.236/trunk@52949 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:30:22 +00:00
waterson%netscape.com
4f269a8b55 Bug 18102. Consolidate element map, command dispatcher, and broadcaster hookup into AddSubtreeToDocument(). Fixes over-eager hookup of broadcast listeners into unresolved overlay elements, which left a dangling pointer. r=saari, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52948 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 19:07:13 +00:00
kin%netscape.com
e404d42c5d Fix for bug #18230: [DOGFOOD] Assertion thrown when clicking in the editor.
Fixed nsRangeListIterator AddRef/QueryInterface problems.
r=buster@netscape.com, a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52947 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 18:49:36 +00:00
norris%netscape.com
545b7b24e3 Fix 18229: Bogus class file names being generated on Windows
git-svn-id: svn://10.0.0.236/trunk@52945 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 17:24:10 +00:00
scc%netscape.com
1efff4fab2 missed two T-->nsISupports instances, which primary platforms didn't catch, since they weren't instantiated
git-svn-id: svn://10.0.0.236/trunk@52943 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 12:25:11 +00:00
scc%netscape.com
95b2d5acdc Specialize |nsCOMPtr| for |nsISupports| (i.e., |nsCOMPtr<nsISupports>|). The specialization _does_not_ have the invariant that |nsCOMPtr<T>| has of always pointing to the COM-correct interface. An |nsCOMPtr<nsISupports>| essentially means "a pointer to _any_ [XP]COM interface". This change allows dougt to fix his M11 bug. a=chofmann, r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52942 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:11 +00:00
scc%netscape.com
8d635674d9 Was using a private name from "nsCOMPtr.h" that happened to go away with this checkin. Should have been using |dont_QueryInterface()|, and now it does. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52941 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:10 +00:00
scc%netscape.com
544ad333b3 was using private |#defines| (in spite of the warning) from "nsCOMPtr.h" that happened to go away with this checkin. Should have been using |NS_STATIC_CAST| from "nscore.h". r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52940 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:09 +00:00
scc%netscape.com
75bcd345da Since there are two |CurrentItem()| functions, had to add an |NS_STATIC_CAST| to disambiguate the deciding parameter, caused by the change to |nsCOMPtr|s. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52939 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:08 +00:00
scc%netscape.com
9f6cc405c4 Test the new facilities added to |nsCOMPtr| in this checkin. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52938 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:07 +00:00
karnaze%netscape.com
3760a92c43 new regression tests not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@52937 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 05:25:31 +00:00
karnaze%netscape.com
948d77fe2c bug 18204 - null pointer check fixes crash. permission from chofmann.
git-svn-id: svn://10.0.0.236/trunk@52936 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 05:24:27 +00:00
beard%netscape.com
57aa5577da update just a touch more when resizing views. bug=17574, r=pavlov, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52935 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 04:06:59 +00:00
beard%netscape.com
2464adcbbd implementing InvalidateRegion. r=sfraser, a=chofmann, bug=porkjockey painting
git-svn-id: svn://10.0.0.236/trunk@52934 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 04:05:26 +00:00
warren%netscape.com
b0a33033b6 Got Gayatri's JAR protocol working. (not in build yet)
git-svn-id: svn://10.0.0.236/trunk@52933 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 21:55:12 +00:00
karnaze%netscape.com
efa7f84fde new regression tests - does not affect build.
git-svn-id: svn://10.0.0.236/trunk@52931 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 20:02:08 +00:00
tbogard%aol.net
b96fcdaf82 Implemented new interface method GetCurrentURI.
git-svn-id: svn://10.0.0.236/trunk@52929 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:06:38 +00:00
tbogard%aol.net
0f553e90ae Added a readonly attribute to get the currently loaded URI.
git-svn-id: svn://10.0.0.236/trunk@52928 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:05:48 +00:00
tbogard%aol.net
7cf62492a5 Removed NewURI as it is no longer needed. Added new methods that are found in the interface for getting the currently loaded URI. Also made the changes to LoadURI* to match changes in the interface. Took advantage of the change to nsDSURIContentListener to set the presContext for the load. Made nsDSURIContentListener a friend class to avoid having to make some non-interface member functions public.
git-svn-id: svn://10.0.0.236/trunk@52927 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:03:51 +00:00
tbogard%aol.net
a3c35caefc Added methods to set and get the presContext for the content listener. Made nsDocShellBase a friend class so we could move the constructor and all the non-interface methods into protected area.
git-svn-id: svn://10.0.0.236/trunk@52926 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:00:53 +00:00
tbogard%aol.net
5ccaaeea48 Changed loadURI to take an nsIURI instead of a wstring. Added a read-only attribute to get the currently loaded URI.
git-svn-id: svn://10.0.0.236/trunk@52925 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 09:57:56 +00:00
tbogard%aol.net
813d03c1d2 Changed the C++ includes to the equivalent of nsIURI and nsIStreamListener IDL versions. I couldn't find them earlier. Thanks to andreas.otte@primus-online.de for pointing the availability of them out to me.
git-svn-id: svn://10.0.0.236/trunk@52921 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 19:11:09 +00:00
tbogard%aol.net
977c28a6da Changed the nsIDocShell parent attribute to not create a cycle. Added notes about this. Framed out start of usage for the uriloader. Added code for the new nsDSURIContentListener object to be the callback object for nsIURIContentListener passed to uriloader.
git-svn-id: svn://10.0.0.236/trunk@52920 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 04:51:05 +00:00
tbogard%aol.net
7be6ee6c2f Added parentURIContentListener. Also added comments on the nsIDocShell parent attribute to discuss the cycle situation that could occur. Added notifications about the rules that must be used when using/ implementing this member.
git-svn-id: svn://10.0.0.236/trunk@52919 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 04:48:21 +00:00
tbogard%aol.net
790003c9ea Changed the some of the forward declared interfaces to be includes of the idl files. This makes the usages of these interfaces easier. Also put in the C++ includes for the nasty dumb interfaces nsIURI and nsIStreamListener which haven't found their homes in IDL yet.
git-svn-id: svn://10.0.0.236/trunk@52918 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:58:15 +00:00
endico%mozilla.org
bc53c85ca0 re-enabling bonsai after dmose's monster landing. also, stop maling sar and donm when modules file is updated
git-svn-id: svn://10.0.0.236/trunk@52917 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:46:25 +00:00
dmose%mozilla.org
0efb7c174c updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
beard%netscape.com
b3b0de73e9 added -assign flag, to assign blame to stack crawls.
git-svn-id: svn://10.0.0.236/trunk@52907 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:24:08 +00:00
beard%netscape.com
87caded68d added ASSIGN_BLAME to control whether blameInfo is retrieved (which is quite slow)
git-svn-id: svn://10.0.0.236/trunk@52906 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:23:49 +00:00
beard%netscape.com
5f0aaf354d added tag quoting, to avoid messing up the leak reports.
git-svn-id: svn://10.0.0.236/trunk@52905 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:22:46 +00:00
despotdaemon%netscape.com
ee4fb8f0ff Pseudo-automatic update of changes made by dmose@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@52904 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:15:28 +00:00
dmose%mozilla.org
4df7c35211 updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52903 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:59:15 +00:00
dmose%mozilla.org
0f496fe790 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52902 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:52:41 +00:00
13306 changed files with 3085408 additions and 105 deletions

43
mozilla/LEGAL Normal file
View File

@@ -0,0 +1,43 @@
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.
D) Netscape Communications Corporation ("Netscape") does not guarantee
that any source code or executable code available from the mozilla.org
domain is Year 2000 compliant.

567
mozilla/LICENSE Normal file
View File

@@ -0,0 +1,567 @@
MOZILLA PUBLIC LICENSE
Version 1.1
---------------
1. Definitions.
1.0.1. "Commercial Use" means distribution or otherwise making the
Covered Code available to a third party.
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.8.1. "Licensable" means having the right to grant, to the maximum
extent possible, whether at the time of the initial grant or
subsequently acquired, any and all of the rights conveyed herein.
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.10.1. "Patent Claims" means any patent claim(s), now owned or
hereafter acquired, including without limitation, method, process,
and apparatus claims, in any patent Licensable by grantor.
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 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" (or "Your") 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 more than fifty percent
(50%) 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) under intellectual property rights (other than patent or
trademark) Licensable by Initial Developer to use, reproduce,
modify, display, perform, sublicense and distribute the Original
Code (or portions thereof) with or without Modifications, and/or
as part of a Larger Work; and
(b) under Patents Claims infringed by the making, using or
selling of Original Code, to make, have made, use, practice,
sell, and offer for sale, and/or otherwise dispose of the
Original Code (or portions thereof).
(c) the licenses granted in this Section 2.1(a) and (b) are
effective on the date Initial Developer first distributes
Original Code under the terms of this License.
(d) Notwithstanding Section 2.1(b) above, no patent license is
granted: 1) for code that You delete from the Original Code; 2)
separate from the Original Code; or 3) for infringements caused
by: i) the modification of the Original Code or ii) the
combination of the Original Code with other software or devices.
2.2. Contributor Grant.
Subject to third party intellectual property claims, each Contributor
hereby grants You a world-wide, royalty-free, non-exclusive license
(a) under intellectual property rights (other than patent or
trademark) Licensable by Contributor, 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
and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making, using, or
selling of Modifications made by that Contributor either alone
and/or in combination with its Contributor Version (or portions
of such combination), to make, use, sell, offer for sale, have
made, and/or otherwise dispose of: 1) Modifications made by that
Contributor (or portions thereof); and 2) the combination of
Modifications made by that Contributor with its Contributor
Version (or portions of such combination).
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are
effective on the date Contributor first makes Commercial Use of
the Covered Code.
(d) Notwithstanding Section 2.2(b) above, no patent license is
granted: 1) for any code that Contributor has deleted from the
Contributor Version; 2) separate from the Contributor Version;
3) for infringements caused by: i) third party modifications of
Contributor Version or ii) the combination of Modifications made
by that Contributor with other software (except as part of the
Contributor Version) or other devices; or 4) under Patent Claims
infringed by Covered Code in the absence of Modifications made by
that Contributor.
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 Contributor has knowledge that a license under a third party's
intellectual property rights is required to exercise the rights
granted by such Contributor under Sections 2.1 or 2.2,
Contributor 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 Contributor obtains such knowledge after
the Modification is made available as described in Section 3.2,
Contributor shall promptly modify the LEGAL file in all copies
Contributor makes 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 Contributor's Modifications include an application programming
interface and Contributor has knowledge of patent licenses which
are reasonably necessary to implement that API, Contributor must
also include this information in the LEGAL file.
(c) Representations.
Contributor represents that, except as disclosed pursuant to
Section 3.4(a) above, Contributor believes that Contributor's
Modifications are Contributor's original creation(s) and/or
Contributor has sufficient rights to grant the rights conveyed by
this License.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source
Code. 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) where a user would be likely
to look for such a notice. If You created one or more Modification(s)
You may add your name as a Contributor to the notice described in
Exhibit A. You must also duplicate this License in any documentation
for the Source Code where You describe recipients' rights or ownership
rights relating to Covered Code. 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 or ownership rights 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, judicial order, 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",
"MPL", "NPL" or any confusingly similar phrase do not appear in your
license (except to note that your license differs from this 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.
8.1. 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.
8.2. If You initiate litigation by asserting a patent infringement
claim (excluding declatory judgment actions) against Initial Developer
or a Contributor (the Initial Developer or Contributor against whom
You file such action is referred to as "Participant") alleging that:
(a) such Participant's Contributor Version directly or indirectly
infringes any patent, then any and all rights granted by such
Participant to You under Sections 2.1 and/or 2.2 of this License
shall, upon 60 days notice from Participant terminate prospectively,
unless if within 60 days after receipt of notice You either: (i)
agree in writing to pay Participant a mutually agreeable reasonable
royalty for Your past and future use of Modifications made by such
Participant, or (ii) withdraw Your litigation claim with respect to
the Contributor Version against such Participant. If within 60 days
of notice, a reasonable royalty and payment arrangement are not
mutually agreed upon in writing by the parties or the litigation claim
is not withdrawn, the rights granted by Participant to You under
Sections 2.1 and/or 2.2 automatically terminate at the expiration of
the 60 day notice period specified above.
(b) any software, hardware, or device, other than such Participant's
Contributor Version, directly or indirectly infringes any patent, then
any rights granted to You by such Participant under Sections 2.1(b)
and 2.2(b) are revoked effective as of the date You first made, used,
sold, distributed, or had made, Modifications made by that
Participant.
8.3. If You assert a patent infringement claim against Participant
alleging that such Participant's Contributor Version directly or
indirectly infringes any patent where such claim is resolved (such as
by license or settlement) prior to the initiation of patent
infringement litigation, then the reasonable value of the licenses
granted by such Participant under Sections 2.1 or 2.2 shall be taken
into account in determining the amount or value of any payment or
license.
8.4. In the event of termination under Sections 8.1 or 8.2 above,
all end user license agreements (excluding distributors and resellers)
which have been validly granted by You or any distributor hereunder
prior to termination shall survive termination.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY 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
THIS 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, any litigation relating to this License 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.
As between Initial Developer and the Contributors, each party is
responsible for claims and damages arising, directly or indirectly,
out of its utilization of rights under this License and You agree to
work with Initial Developer and Contributors to distribute such
responsibility on an equitable basis. Nothing herein is intended or
shall be deemed to constitute any admission of liability.
13. MULTIPLE-LICENSED CODE.
Initial Developer may designate portions of the Covered Code as
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
Developer permits you to utilize portions of the Covered Code under
Your choice of the NPL or the alternative licenses, if any, specified
by the Initial Developer in the file described in Exhibit A.
EXHIBIT A -Mozilla Public License.
``The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.
The Original Code is ______________________________________.
The Initial Developer of the Original Code is ________________________.
Portions created by ______________________ are Copyright (C) ______
_______________________. All Rights Reserved.
Contributor(s): ______________________________________.
Alternatively, the contents of this file may be used under the terms
of the _____ license (the "[___] License"), in which case the
provisions of [______] License are applicable instead of those
above. If you wish to allow use of your version of this file only
under the terms of the [____] License and not to allow others to use
your version of this file under the MPL, indicate your decision by
deleting the provisions above and replace them with the notice and
other provisions required by the [___] License. If you do not delete
the provisions above, a recipient may use your version of this file
under either the MPL or the [___] License."
[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. You should
use the text of this Exhibit A rather than the text found in the
Original Code Source Code for Your Modifications.]
----------------------------------------------------------------------
AMENDMENTS
The Netscape Public License Version 1.1 ("NPL") consists of the
Mozilla Public License Version 1.1 with the following Amendments,
including Exhibit A-Netscape Public License. Files identified with
"Exhibit A-Netscape Public License" are governed by the Netscape
Public License Version 1.1.
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 trademarks
"Netscape", the "Netscape N and horizon" logo or the "Netscape
lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript",
"Smart Browsing" even if such marks are included in the Original
Code or Modifications.
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 Netscape Branded Code becoming subject to the terms of
this License, and may license such Netscape Branded Code on
different terms from those contained in this License.
VI. Litigation.
Notwithstanding the limitations of Section 11 above, the
provisions regarding litigation in Section 11(a), (b) and (c) of
the License shall apply to all disputes relating to this License.
EXHIBIT A-Netscape Public License.
"The contents of this file are subject to the Netscape Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s): ______________________________________.
Alternatively, the contents of this file may be used under the
terms of the _____ license (the "[___] License"), in which case
the provisions of [______] License are applicable instead of
those above. If you wish to allow use of your version of this
file only under the terms of the [____] License and not to allow
others to use your version of this file under the NPL, indicate
your decision by deleting the provisions above and replace them
with the notice and other provisions required by the [___]
License. If you do not delete the provisions above, a recipient
may use your version of this file under either the NPL or the
[___] License."

116
mozilla/Makefile.in Normal file
View File

@@ -0,0 +1,116 @@
#
# 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 = .
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = config build
#
ifdef MOZ_L10N
DIRS += l10n
endif
ifndef MOZ_NATIVE_NSPR
ifdef USE_NSPR_AUTOCONF
DIRS += nsprpub
else
DIRS += $(topsrcdir)/nsprpub
# NSPR does not use Makefile.in
STATIC_MAKEFILES := $(topsrcdir)/nsprpub
endif
endif
# boehm needs to be built before XPCOM
ifdef GC_LEAK_DETECTOR
DIRS += gc/boehm
endif
DIRS += modules/libreg xpcom
ifndef MOZ_NATIVE_ZLIB
DIRS += modules/zlib
endif
ifndef MOZ_NATIVE_JPEG
DIRS += jpeg
endif
DIRS += \
include \
netwerk \
modules/libutil \
intl \
js \
modules/security/freenav \
modules/libpref \
modules/libimg \
modules/oji \
modules/plugin \
modules/libjar \
caps \
expat \
htmlparser \
widget/timer \
gfx \
dom \
view \
widget \
layout \
db \
rdf \
webshell \
editor \
xpinstall \
sun-java \
profile \
$(NULL)
ifdef MOZ_BUILD_XPFE
DIRS += xpfe extensions
endif
ifdef MOZ_MAIL_NEWS
DIRS += mailnews
endif
ifdef MOZ_LEAKY
DIRS += tools/leaky
endif
include $(topsrcdir)/config/rules.mk
real_all: all
real_export: export
real_libs: libs
real_install: install
real_clobber: clobber
real_depend: depend

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,71 @@
<HTML>
<HEAD>
<TITLE>Mozilla Unix Build Instructions</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<H1>Unix Build Instructions</H1>
See <a href="http://www.mozilla.org/build/unix.html">http://www.mozilla.org/build/unix.html</a> for the lastest version of these instructions.</a><p>
<b>Daniel Nunes,</b>
<TT><A HREF="mailto:leaf@mozilla.org">leaf@mozilla.org</A></TT>
<br>
<!-- hhmts start -->
Last modified: Fri Sep 3 17:00:32 PDT 1999
<!-- hhmts end -->
<p>
For documentation on developing features or
fixing bugs, look at the
<A HREF="http://www.mozilla.org/hacking/">Mozilla Hacking Guidelines</A>.
For general Unix issues,
look at the <A HREF="../unix/">Mozilla Unix</a>.
<P>
<H2>Other Unix Build pages</H2>
<UL>
<li><a href="unix-details.html">Detailed Unix Build
Instructions</a></li>
<LI><A HREF="http://www.mozilla.org/unix/irix.html">Irix build status</A>.
The Irix build is working now!</li>
</ul>
<H2>Requirements</H2>
<ul>
<li>Requirements for building on unix can be found on the
<a href="unix-details.html#s3"> Detailed Unix Build
Instructions</a>.</li>
</ul>
</ul>
<H2>Build the Lizard</H2>
<ol>
<li><code>cvs co -f mozilla/client.mk</code>
<li><code>cd mozilla</code>
<li><code>gmake -f client.mk</code>
</ol>
To rebuild without pulling the tree,
<ul><code>
gmake -f client.mk build
</code></ul>
To pull the tree,
<ul><code>
gmake -f client.mk checkout
</code></ul>
To change build options, use the
<a href="http://cvs-mirror.mozilla.org/webtools/build/config.cgi">
Unix Build Configurator</a>
<H2>After the build </H2>
<UL>
<LI><CODE>cd dist/bin</CODE></LI>
<LI><CODE>./mozilla-apprunner.sh</CODE></LI>
<LI><CODE>./mozilla-viewer.sh</CODE></LI>
</UL>
</UL>
</BODY>
</HTML>

View File

@@ -0,0 +1,216 @@
<HTML>
<HEAD>
<TITLE>Mozilla Detailed Unix Build Instructions</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<H1>Unix Detailed Build Instructions</H1>
See <a href="http://www.mozilla.org/build/unix-details.html">http://www.mozilla.org/build/unix-details.html</a> for the lastest version of these instructions.</a><p>
<b>Daniel Nunes,</b>
<TT><A HREF="mailto:leaf@mozilla.org">leaf@mozilla.org</A></TT>
<br>
<!-- hhmts start -->
Last modified: Fri Sep 3 16:59:34 PDT 1999
<!-- hhmts end -->
<P>
This is a guide to building Mozilla on Unix including,
<uL>
<LI> A list of the required development tools.</LI>
<LI> Commands to build Mozilla using the Autoconf build system. </LI>
</uL>
<P>
For documentation on developing features or fixing bugs,
look at the
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Mozilla Technical Documents</A> or
<A HREF="http://www.mozilla.org/library.html">Mozilla Library</A>.
For general Unix issues, look at the
<A HREF="http://www.mozilla.org/unix/">Mozilla Unix</a>.
<P>
<H2><A NAME="s2">Other Unix Build pages</A></H2>
<UL>
<LI><A HREF="http://www.mozilla.org/unix.html">Simple Unix Build Instructions</a></li>
<LI><A HREF="http://www.mozilla.org/making-additions.html">How to add files and not break the
build</a>.</li>
<LI><A HREF="http://www.mozilla.org/configurator-faq.html">Build Configuator FAQ</A>:
FAQ for the
<a href="http://cvs-mirror.mozilla.org/webtools/build/config.cgi">
Unix Build Configurator</a>.</LI>
<LI><A HREF="http://www.mozilla.org/unix/irix.html">Irix build status</A>:
The Irix build is working now!</li>
<li><a href="http://www.mozilla.org/redhat-on-intel.html">Redhat on Intel build instructions (out of date)</a>:
Makes life easy through RPMs.</li>
</ul>
<H2><A NAME="s3">Requirements</A></H2>
Your hardware should be equal to, or better than:
<UL>
32 MB RAM, 128 MB swap (64 MB RAM recommended)
</UL>
<P>
The following software should be installed.
(You can download gcc, gmake and autoconf from
<A HREF="ftp://prep.ai.mit.edu/pub/gnu/">prep.ai.mit.edu</A>.)
<UL>
<LI>If you're using a glibc 2.07 system, you need this
<A HREF=ftp://ftp.mozilla.org/pub/mozilla/libraries/source/glibc-2.0.7-dlopen.patch>patch</A></LI>
<LI><A HREF="http://egcs.cygnus.com"><B>egcs 1.0.3</b></a> (or higher),
or <A HREF="http://www.gnu.org/software/gcc/gcc.html">
<B>gcc 2.7.2.x</B></A> <b>(2.8.x still has some bugs)</b>,<br>
or your platform's native C/C++ compiler.<br>
<b>egcs</b> is recommended, this is the compiler that the Linux tinderboxes and many developers are using.
<LI><b><a href="http://language.perl.com/info/software.html">Perl 5</a></b>
<LI><b><A HREF="ftp://prep.ai.mit.edu/pub/gnu/">GNU make 3.74</a></b>
(or higher except 3.77).<br>
GNU make 3.77 shipped with bug a that breaks the NSPR build.
Revert to 3.76.1 until this is fixed.
<LI><B><A HREF="http://www.mozilla.org/cvs.html">CVS 1.9</a></b> (or higher).
To get started:<BR>
<ol>
<li><CODE>
setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot</CODE>
<li><CODE><b>cvs login</b></CODE>
<font color="green">
(password: <code><b>anonymous</b></code>)
</font>
(You only need to do the login once.)
</ol>
<LI><B><A HREF="http://www.gtk.org/">GTK+ / GLib 1.2.0</a></b> (or higher).
<ul>
<li><b>Debian:</b>
<A HREF="ftp://ftp.gtk.org/pub/gtk/binary/DEBIAN/">ftp://ftp.gtk.org/pub/gtk/binary/DEBIAN/</a>
<li><b>Red Hat:</b> <a href="ftp://ftp.gtk.org/pub/gtk/binary/RPMS/">ftp://ftp.gtk.org/pub/gtk/binary/RPMS/</a><br>
Remove any old glib-devel and gtk+-devel packages already
installed on your machine.
There is no need to remove the gtk+/glib RPMs that came with Redhat.
<UL>
<CODE>rpm -e glib-devel</code><BR>
<code>rpm -e gtk+-devel</CODE>
</UL>
Download new glib, glib-devel, gtk+, and gtk+-devel packages into
the same directory and install them with one commmand.
<UL>
<CODE>rpm -i *.rpm</CODE>
</UL></li>
<LI><A HREF="http://www.gtk.org/download.html">Source tar
balls or CVS</a>
</ul>
<LI><B><A HREF="http://www.rpi.edu/~veliaa/libIDL/">libIDL 6.3</A></B> (or higher).<br>
Source snapshots are available from Mozilla via
<a href="ftp://ftp.mozilla.org/pub/mozilla/libraries">ftp</a>.
If you're running <b>Red Hat</b>, download the libIDL and libIDL-devel RPMs
and install them as above.
<H3>OPTIONAL</H3>
<ul>
<LI><b><A HREF="http://www.mozilla.org/projects/autoconf/">Autoconf 2.12</A></b> (which
requires <A HREF="http://www.seindal.dk/rene/gnu/">GNU m4</A>),
is necessary if you want to hack on configure.in. If you have
no idea what this means, then don't worry about it. It's optional.
</LI>
</ul>
</ul>
<H2><A NAME="s4">Get the Code</A></H2>
<P>
There are two ways to get the code:
<ul>
<li><A HREF="http://www.mozilla.org/download.html"> ftp</A>: Drops are generally produced
at least once per month, and are known to compile and even run on a
few platforms.
<li><A HREF="http://www.mozilla.org/cvs.html"> CVS</A>: Provides the most current code,
but is slower than ftp.
<ul>
<code>setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
</code><br>
<code>cvs co SeaMonkeyAll</code>
</ul>
The <code>SeaMonkeyAll</code> module pulls the right source
for building the viewer and apprunner.
</ul>
<P>
<H2><A NAME="s5">Build the Lizard</A></H2>
<h3>Manually drive the build</h3>
<CODE>
<ol>
<li><code>cd mozilla</code>
<li><code>./configure
<ul>
<font color=green>
Your options may vary.
</font></br>
For configure options, run "<b>./configure --help</b>",<br> or
use the
<a href="http://cvs-mirror.mozilla.org/webtools/build/config.cgi">
Unix Build Configurator</a>.<br>
</ul>
<li><code>gmake</code>
</ol>
<P>
Once you have configured, you only have to run
<b><code>configure</code></b> if you add
or remove Makefile.in files (cvs update can do this. Beware!). The list
of makefiles is in <b><code>mozilla/allmakefiles.sh</code></b>
<P>
For build system hackers: If you change configure.in, cd to mozilla, and
run <b><code>autoconf</code></b>. This generates a new configure
script. (When you checkin configure.in, cvs will run autoconf and check
in a new configure script for you).
<h3>Automated build (client.mk)</h3>
<ol>
<li> Save the script from
<a href="http://cvs-mirror.mozilla.org/webtools/build/config.cgi">
Unix Build Configurator</a> as <code><b>~/.mozconfig</b></code>.
<li><code>cvs co -f mozilla/client.mk</code>
<li><code>cd mozilla</code>
<li><code>gmake -f client.mk</code>
</ol>
<dl>If you want to build without pulling the tree (as in, you already have the
source lying around),
<ul><code>
gmake -f client.mk build
</code></ul>
If you just want to pull the tree,
<ul><code>
gmake -f client.mk checkout
</code></ul>
</dl>
<H2><A NAME="s6">After the build </A></H2>
<UL>
<LI><b><CODE>cd dist/bin</CODE></b> and you should see links to the
scripts to run the executables:
<CODE>mozilla-viewer.sh</CODE> and <CODE>mozilla-apprunner.sh</CODE>.
<LI>If the scripts do not work, set <CODE><b>LD_LIBRARY_PATH</b></CODE>
and run <CODE>viewer</CODE> and <CODE>apprunner</CODE> directly.
Set <CODE><b>LD_LIBRARY_PATH</b></CODE> to include dist/bin, and
the NSPR and GTK libraries. (For example, you might set it to
<CODE>.:../../nspr/lib</CODE>).
<UL>
<LI>On HP-UX, the equivalent environment variable is
<CODE>SHLIB_PATH</CODE>.
<LI>On AIX, the equivalent environment variable is <CODE>LIBPATH</CODE>.
</UL>
<LI>If you run the executables from anywhere other than dist/bin, you
must set the environment variable <CODE><B>MOZILLA_FIVE_HOME</B></CODE> to
point to the <I>absolute path</I> of the dist/bin directory.
<LI>Update your tree by re-checking out the source, e.g. repeating the
initial checkout process.
</UL>
</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>

10
mozilla/aclocal.m4 vendored Normal file
View File

@@ -0,0 +1,10 @@
dnl
dnl Local autoconf macros used with mozilla
dnl The contents of this file are under the Public Domain.
dnl
builtin(include, build/autoconf/glib.m4)dnl
builtin(include, build/autoconf/gtk.m4)dnl
builtin(include, build/autoconf/libIDL.m4)dnl
builtin(include, build/autoconf/altoptions.m4)dnl

708
mozilla/allmakefiles.sh Executable file
View File

@@ -0,0 +1,708 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# allmakefiles.sh - List of all makefiles.
# Appends the list of makefiles to the variable, MAKEFILES.
# There is no need to rerun autoconf after adding makefiles.
# You only need to run configure.
#
# Unused makefiles may be commented out with '#'.
# ('#' must be the first character on the line).
MAKEFILES=""
# add_makefiles - Shell function to add makefiles to MAKEFILES
add_makefiles() {
while read line; do
case $line in
\#*|dnl*) ;;
*) MAKEFILES="$MAKEFILES $line" ;;
esac
done
}
if [ -z "${srcdir}" ]; then
srcdir=.
fi
add_makefiles <<END_NGMAKEFILES
Makefile
build/Makefile
build/unix/Makefile
build/unix/mozilla-config
build/unix/nspr_my_config.mk
build/unix/nspr_my_overrides.mk
config/Makefile
config/autoconf.mk
config/mkdepend/Makefile
config/mkdetect/Makefile
db/Makefile
db/mdb/Makefile
db/mdb/public/Makefile
db/mork/Makefile
db/mork/build/Makefile
db/mork/src/Makefile
#dbm/Makefile
#dbm/include/Makefile
#dbm/src/Makefile
#dbm/tests/Makefile
dom/Makefile
dom/public/Makefile
dom/public/base/Makefile
dom/public/coreDom/Makefile
dom/public/coreEvents/Makefile
dom/public/css/Makefile
dom/public/events/Makefile
dom/public/range/Makefile
dom/public/html/Makefile
dom/public/idl/Makefile
dom/public/idl/base/Makefile
dom/public/idl/coreDom/Makefile
dom/public/idl/css/Makefile
dom/public/idl/events/Makefile
dom/public/idl/html/Makefile
dom/public/idl/range/Makefile
dom/src/Makefile
dom/src/base/Makefile
dom/src/build/Makefile
dom/src/coreDOM/Makefile
dom/src/css/Makefile
dom/src/events/Makefile
dom/src/range/Makefile
dom/src/html/Makefile
dom/src/jsurl/Makefile
dom/tools/Makefile
editor/Makefile
editor/public/Makefile
editor/idl/Makefile
editor/txmgr/Makefile
editor/txmgr/idl/Makefile
editor/txmgr/public/Makefile
editor/txmgr/src/Makefile
editor/txmgr/tests/Makefile
editor/txtsvc/Makefile
editor/txtsvc/public/Makefile
editor/txtsvc/src/Makefile
expat/Makefile
expat/xmlparse/Makefile
expat/xmltok/Makefile
extensions/Makefile
gfx/Makefile
gfx/idl/Makefile
gfx/public/Makefile
gfx/src/Makefile
gfx/src/beos/Makefile
gfx/src/gtk/Makefile
gfx/src/ps/Makefile
gfx/src/motif/Makefile
gfx/src/photon/Makefile
gfx/src/rhapsody/Makefile
gfx/src/qt/Makefile
gfx/src/xlib/Makefile
gfx/src/xlibrgb/Makefile
gfx/tests/Makefile
htmlparser/Makefile
htmlparser/robot/Makefile
htmlparser/robot/test/Makefile
htmlparser/src/Makefile
htmlparser/tests/Makefile
htmlparser/tests/grabpage/Makefile
htmlparser/tests/logparse/Makefile
htmlparser/tests/outsinks/Makefile
include/Makefile
intl/Makefile
intl/chardet/Makefile
intl/chardet/public/Makefile
intl/chardet/src/Makefile
intl/uconv/Makefile
intl/uconv/public/Makefile
intl/uconv/src/Makefile
intl/uconv/tests/Makefile
intl/uconv/ucvja/Makefile
intl/uconv/ucvlatin/Makefile
intl/uconv/ucvcn/Makefile
intl/uconv/ucvtw/Makefile
intl/uconv/ucvtw2/Makefile
intl/uconv/ucvko/Makefile
intl/locale/Makefile
intl/locale/public/Makefile
intl/locale/idl/Makefile
intl/locale/src/Makefile
intl/locale/src/unix/Makefile
intl/locale/tests/Makefile
intl/lwbrk/Makefile
intl/lwbrk/src/Makefile
intl/lwbrk/public/Makefile
intl/lwbrk/tests/Makefile
intl/unicharutil/Makefile
intl/unicharutil/idl/Makefile
intl/unicharutil/src/Makefile
intl/unicharutil/public/Makefile
intl/unicharutil/tables/Makefile
intl/unicharutil/tests/Makefile
intl/unicharutil/tools/Makefile
intl/strres/Makefile
intl/strres/public/Makefile
intl/strres/src/Makefile
intl/strres/tests/Makefile
jpeg/Makefile
js/Makefile
#js/jsd/Makefile
#js/jsd/classes/Makefile
js/src/Makefile
js/src/fdlibm/Makefile
js/src/liveconnect/Makefile
js/src/liveconnect/classes/Makefile
# js/src/xpcom/Makefile
js/src/xpconnect/Makefile
js/src/xpconnect/public/Makefile
js/src/xpconnect/idl/Makefile
js/src/xpconnect/shell/Makefile
js/src/xpconnect/src/Makefile
js/src/xpconnect/tests/Makefile
js/src/xpconnect/tests/components/Makefile
js/src/xpconnect/shell/Makefile
# js/src/xpconnect/md/Makefile
# js/src/xpconnect/md/unix/Makefile
# js/src/xpconnect/test/Makefile
layout/Makefile
layout/base/Makefile
layout/base/public/Makefile
layout/base/src/Makefile
layout/base/tests/Makefile
layout/build/Makefile
layout/events/Makefile
layout/events/public/Makefile
layout/events/src/Makefile
layout/html/Makefile
layout/html/base/Makefile
layout/html/base/src/Makefile
layout/html/content/Makefile
layout/html/content/public/Makefile
layout/html/content/src/Makefile
layout/html/document/Makefile
layout/html/document/public/Makefile
layout/html/document/src/Makefile
layout/html/forms/Makefile
layout/html/forms/public/Makefile
layout/html/forms/src/Makefile
layout/html/style/Makefile
layout/html/style/public/Makefile
layout/html/style/src/Makefile
layout/html/table/Makefile
layout/html/table/public/Makefile
layout/html/table/src/Makefile
layout/html/tests/Makefile
layout/tools/Makefile
layout/xml/Makefile
layout/xml/content/Makefile
layout/xml/content/public/Makefile
layout/xml/content/src/Makefile
layout/xml/document/Makefile
layout/xml/document/public/Makefile
layout/xml/document/src/Makefile
layout/xul/Makefile
layout/xul/base/Makefile
layout/xul/base/public/Makefile
layout/xul/base/src/Makefile
layout/xul/content/Makefile
layout/xul/content/src/Makefile
# lib/liblayer/Makefile
# lib/liblayer/include/Makefile
# lib/liblayer/src/Makefile
modules/libimg/Makefile
# modules/libimg/classes/Makefile
# modules/libimg/classes/netscape/Makefile
# modules/libimg/classes/netscape/libimg/Makefile
modules/libimg/png/Makefile
modules/libimg/public/Makefile
modules/libimg/public_com/Makefile
modules/libimg/src/Makefile
modules/libimg/gifcom/Makefile
modules/libimg/jpgcom/Makefile
modules/libimg/pngcom/Makefile
modules/libjar/Makefile
modules/libpref/Makefile
modules/libpref/admin/Makefile
modules/libpref/l10n/Makefile
modules/libpref/public/Makefile
modules/libpref/src/Makefile
modules/libreg/Makefile
modules/libreg/include/Makefile
modules/libreg/src/Makefile
modules/libutil/Makefile
modules/libutil/public/Makefile
modules/libutil/src/Makefile
modules/oji/Makefile
modules/oji/public/Makefile
modules/oji/src/Makefile
modules/plugin/Makefile
modules/plugin/nglsrc/Makefile
modules/plugin/public/Makefile
modules/plugin/src/Makefile
modules/plugin/test/Makefile
modules/security/freenav/Makefile
modules/zlib/Makefile
modules/zlib/src/Makefile
#nav-java/Makefile
#nav-java/stubs/Makefile
#nav-java/stubs/include/Makefile
#nav-java/stubs/jri/Makefile
#nav-java/stubs/src/Makefile
netwerk/Makefile
netwerk/base/Makefile
netwerk/base/public/Makefile
netwerk/base/src/Makefile
netwerk/build/Makefile
netwerk/dns/Makefile
netwerk/dns/public/Makefile
netwerk/dns/src/Makefile
netwerk/protocol/Makefile
netwerk/protocol/about/Makefile
netwerk/protocol/about/public/Makefile
netwerk/protocol/about/src/Makefile
netwerk/protocol/data/Makefile
netwerk/protocol/data/public/Makefile
netwerk/protocol/data/src/Makefile
netwerk/protocol/file/Makefile
netwerk/protocol/file/public/Makefile
netwerk/protocol/file/src/Makefile
netwerk/protocol/ftp/Makefile
netwerk/protocol/ftp/public/Makefile
netwerk/protocol/ftp/src/Makefile
netwerk/protocol/http/Makefile
netwerk/protocol/http/public/Makefile
netwerk/protocol/http/src/Makefile
netwerk/protocol/jar/Makefile
netwerk/protocol/jar/public/Makefile
netwerk/protocol/jar/src/Makefile
netwerk/protocol/keyword/Makefile
netwerk/protocol/keyword/src/Makefile
netwerk/protocol/resource/Makefile
netwerk/protocol/resource/src/Makefile
netwerk/mime/Makefile
netwerk/mime/public/Makefile
netwerk/mime/src/Makefile
netwerk/socket/Makefile
netwerk/socket/base/Makefile
netwerk/streamconv/Makefile
netwerk/streamconv/converters/Makefile
netwerk/streamconv/public/Makefile
netwerk/streamconv/src/Makefile
netwerk/streamconv/test/Makefile
netwerk/test/Makefile
netwerk/testserver/Makefile
netwerk/util/Makefile
netwerk/util/public/Makefile
netwerk/util/src/Makefile
#network/Makefile
#network/cache/Makefile
#network/cache/nu/Makefile
#network/cache/nu/include/Makefile
#network/cache/nu/public/Makefile
#network/cache/nu/src/Makefile
#network/cache/nu/tests/Makefile
#network/cache/nu/tests/fftest/Makefile
#network/client/Makefile
#network/cnvts/Makefile
#network/cstream/Makefile
#network/main/Makefile
#network/mimetype/Makefile
#network/public/Makefile
#network/module/Makefile
#network/module/tests/Makefile
#network/protocol/Makefile
#network/protocol/about/Makefile
#network/protocol/callback/Makefile
#network/protocol/dataurl/Makefile
#network/protocol/file/Makefile
#network/protocol/ftp/Makefile
#network/protocol/gopher/Makefile
#network/protocol/http/Makefile
#network/protocol/js/Makefile
#network/protocol/ldap/Makefile
#network/protocol/marimba/Makefile
#network/protocol/remote/Makefile
#network/protocol/sockstub/Makefile
#network/util/Makefile
profile/Makefile
profile/src/Makefile
profile/public/Makefile
profile/resources/Makefile
profile/resources/content/Makefile
profile/resources/skin/Makefile
profile/resources/locale/Makefile
profile/resources/locale/en-US/Makefile
profile/pref-migrator/Makefile
profile/pref-migrator/public/Makefile
profile/pref-migrator/src/Makefile
profile/pref-migrator/resources/Makefile
profile/pref-migrator/resources/content/Makefile
profile/pref-migrator/resources/locale/Makefile
profile/pref-migrator/resources/locale/en-US/Makefile
profile/defaults/Makefile
rdf/Makefile
rdf/base/Makefile
rdf/base/idl/Makefile
rdf/base/public/Makefile
rdf/base/src/Makefile
rdf/brprof/Makefile
rdf/brprof/public/Makefile
rdf/brprof/src/Makefile
rdf/brprof/build/Makefile
rdf/chrome/Makefile
rdf/chrome/build/Makefile
rdf/chrome/public/Makefile
rdf/chrome/src/Makefile
rdf/util/Makefile
rdf/util/public/Makefile
rdf/util/src/Makefile
rdf/resources/Makefile
rdf/build/Makefile
rdf/content/Makefile
rdf/content/public/Makefile
rdf/content/src/Makefile
rdf/datasource/Makefile
rdf/datasource/public/Makefile
rdf/datasource/src/Makefile
rdf/tests/Makefile
rdf/tests/domds/Makefile
rdf/tests/domds/resources/Makefile
rdf/tests/localfile/Makefile
rdf/tests/rdfsink/Makefile
rdf/tests/rdfcat/Makefile
rdf/tests/rdfpoll/Makefile
sun-java/Makefile
sun-java/stubs/Makefile
sun-java/stubs/include/Makefile
sun-java/stubs/jri/Makefile
sun-java/stubs/src/Makefile
caps/Makefile
caps/idl/Makefile
caps/include/Makefile
# caps/public/Makefile
caps/src/Makefile
view/Makefile
view/public/Makefile
view/src/Makefile
webshell/Makefile
webshell/public/Makefile
webshell/src/Makefile
webshell/tests/Makefile
webshell/tests/viewer/Makefile
webshell/tests/viewer/public/Makefile
webshell/tests/viewer/unix/Makefile
webshell/tests/viewer/unix/gtk/Makefile
webshell/tests/viewer/unix/motif/Makefile
webshell/tests/viewer/unix/qt/Makefile
webshell/tests/viewer/unix/xlib/Makefile
webshell/embed/Makefile
webshell/embed/xlib/Makefile
webshell/embed/xlib/gtk/Makefile
webshell/embed/xlib/motif/Makefile
webshell/embed/xlib/qt/Makefile
webshell/embed/xlib/xt/Makefile
webshell/embed/gtk/mozilla_config.mk
widget/Makefile
widget/public/Makefile
widget/src/Makefile
widget/src/beos/Makefile
widget/src/build/Makefile
widget/src/gtk/Makefile
widget/src/motif/Makefile
widget/src/motif/app_context/Makefile
widget/src/photon/Makefile
widget/src/rhapsody/Makefile
widget/src/unix_services/Makefile
widget/src/unix_services/toolkit_service/Makefile
widget/src/xlib/Makefile
widget/src/qt/Makefile
widget/src/xlib/window_service/Makefile
widget/src/xpwidgets/Makefile
widget/src/support/Makefile
widget/tests/Makefile
widget/tests/scribble/Makefile
widget/tests/widget/Makefile
widget/timer/Makefile
widget/timer/public/Makefile
widget/timer/src/Makefile
widget/timer/src/beos/Makefile
widget/timer/src/photon/Makefile
widget/timer/src/rhapsody/Makefile
widget/timer/src/unix/Makefile
widget/timer/src/unix/gtk/Makefile
widget/timer/src/unix/motif/Makefile
widget/timer/src/unix/xlib/Makefile
widget/timer/src/unix/qt/Makefile
#
# New xpcom hiearchy
#
xpcom/Makefile
xpcom/base/Makefile
xpcom/build/Makefile
xpcom/components/Makefile
xpcom/ds/Makefile
# xpcom/idl/Makefile
xpcom/io/Makefile
xpcom/typelib/Makefile
xpcom/reflect/Makefile
xpcom/typelib/xpt/Makefile
xpcom/typelib/xpt/public/Makefile
xpcom/typelib/xpt/src/Makefile
xpcom/typelib/xpt/tests/Makefile
xpcom/typelib/xpt/tools/Makefile
xpcom/typelib/xpidl/Makefile
xpcom/reflect/xptcall/Makefile
xpcom/reflect/xptcall/public/Makefile
xpcom/reflect/xptcall/src/Makefile
xpcom/reflect/xptcall/src/md/Makefile
xpcom/reflect/xptcall/src/md/test/Makefile
xpcom/reflect/xptcall/src/md/unix/Makefile
xpcom/reflect/xptcall/tests/Makefile
xpcom/reflect/xptinfo/Makefile
xpcom/reflect/xptinfo/public/Makefile
xpcom/reflect/xptinfo/src/Makefile
xpcom/reflect/xptinfo/tests/Makefile
xpcom/proxy/Makefile
xpcom/proxy/public/Makefile
xpcom/proxy/src/Makefile
xpcom/proxy/tests/Makefile
# xpcom/public/Makefile
xpcom/sample/Makefile
# xpcom/src/Makefile
xpcom/tests/Makefile
xpcom/tests/dynamic/Makefile
xpcom/tests/services/Makefile
xpcom/threads/Makefile
xpcom/tools/Makefile
xpcom/tools/registry/Makefile
#
# End of xpcom Makefiles
#
xpinstall/Makefile
xpinstall/notifier/Makefile
xpinstall/packager/Makefile
xpinstall/public/Makefile
xpinstall/res/Makefile
xpinstall/src/Makefile
xpfe/Makefile
xpfe/AppCores/Makefile
xpfe/AppCores/public/Makefile
xpfe/AppCores/src/Makefile
xpfe/AppCores/xul/Makefile
xpfe/AppCores/idl/Makefile
xpfe/browser/Makefile
xpfe/browser/public/Makefile
xpfe/browser/src/Makefile
xpfe/browser/samples/Makefile
xpfe/browser/samples/sampleimages/Makefile
xpfe/components/Makefile
xpfe/components/public/Makefile
xpfe/components/sample/Makefile
xpfe/components/sample/public/Makefile
xpfe/components/sample/src/Makefile
xpfe/components/sample/resources/Makefile
xpfe/components/bookmarks/Makefile
xpfe/components/bookmarks/public/Makefile
xpfe/components/bookmarks/src/Makefile
xpfe/components/bookmarks/resources/Makefile
xpfe/components/directory/Makefile
xpfe/components/regviewer/Makefile
xpfe/components/find/Makefile
xpfe/components/find/public/Makefile
xpfe/components/find/src/Makefile
xpfe/components/find/resources/Makefile
xpfe/components/history/Makefile
xpfe/components/history/src/Makefile
xpfe/components/history/public/Makefile
xpfe/components/history/resources/Makefile
xpfe/components/prefwindow/Makefile
xpfe/components/prefwindow/src/Makefile
xpfe/components/prefwindow/public/Makefile
xpfe/components/prefwindow/resources/Makefile
xpfe/components/prefwindow/resources/content/Makefile
xpfe/components/prefwindow/resources/skin/Makefile
xpfe/components/prefwindow/resources/locale/Makefile
xpfe/components/prefwindow/resources/locale/en-US/Makefile
xpfe/components/related/Makefile
xpfe/components/related/src/Makefile
xpfe/components/related/public/Makefile
xpfe/components/related/resources/Makefile
xpfe/components/search/Makefile
xpfe/components/search/datasets/Makefile
xpfe/components/search/resources/Makefile
xpfe/components/search/public/Makefile
xpfe/components/search/src/Makefile
xpfe/components/sidebar/Makefile
xpfe/components/sidebar/resources/Makefile
xpfe/components/xfer/Makefile
xpfe/components/xfer/public/Makefile
xpfe/components/xfer/src/Makefile
xpfe/components/xfer/resources/Makefile
xpfe/components/ucth/Makefile
xpfe/components/ucth/public/Makefile
xpfe/components/ucth/src/Makefile
xpfe/components/ucth/resources/Makefile
xpfe/appshell/Makefile
xpfe/appshell/src/Makefile
xpfe/appshell/public/Makefile
xpfe/bootstrap/Makefile
xpfe/browser/Makefile
xpfe/browser/src/Makefile
xpfe/browser/resources/Makefile
xpfe/browser/resources/content/Makefile
xpfe/browser/resources/skin/Makefile
xpfe/browser/resources/locale/Makefile
xpfe/browser/resources/locale/en-US/Makefile
xpfe/global/Makefile
xpfe/global/resources/Makefile
xpfe/global/resources/skin/Makefile
xpfe/global/resources/content/Makefile
xpfe/global/resources/content/unix/Makefile
xpfe/global/resources/locale/Makefile
xpfe/global/resources/locale/unix/Makefile
# xpfe/browser/public/Makefile
END_NGMAKEFILES
if [ "$MOZ_EDITOR" ]; then
add_makefiles <<END_EDITOR_MAKEFILES
editor/base/Makefile
editor/ui/Makefile
editor/ui/composer/Makefile
editor/ui/composer/content/Makefile
editor/ui/composer/skin/Makefile
editor/ui/composer/locale/Makefile
editor/ui/composer/locale/en-US/Makefile
editor/ui/dialogs/Makefile
editor/ui/dialogs/content/Makefile
editor/ui/dialogs/skin/Makefile
editor/ui/dialogs/locale/Makefile
editor/ui/dialogs/locale/en-US/Makefile
END_EDITOR_MAKEFILES
fi
if [ "$MOZ_MAIL_NEWS" ]; then
add_makefiles < ${srcdir}/mailnews/makefiles
fi
#
# l10n/
#
if [ "$MOZ_L10N" ]; then
add_makefiles <<END_L10N_MAKEFILES
#
l10n/Makefile
#
END_L10N_MAKEFILES
#
if [ "$MOZ_L10N_LANG" ]; then
add_makefiles <<END_L10N_LANG_MAKEFILES
#
l10n/lang/Makefile
#
l10n/lang/addressbook/Makefile
l10n/lang/bookmarks/Makefile
l10n/lang/directory/Makefile
l10n/lang/editor/Makefile
l10n/lang/global/Makefile
l10n/lang/history/Makefile
l10n/lang/messenger/Makefile
l10n/lang/messengercompose/Makefile
l10n/lang/navigator/Makefile
l10n/lang/pref/Makefile
l10n/lang/related/Makefile
l10n/lang/sidebar/Makefile
#
#
l10n/lang/addressbook/locale/Makefile
l10n/lang/bookmarks/locale/Makefile
l10n/lang/directory/locale/Makefile
l10n/lang/editor/locale/Makefile
l10n/lang/global/locale/Makefile
l10n/lang/history/locale/Makefile
l10n/lang/messenger/locale/Makefile
l10n/lang/messengercompose/locale/Makefile
l10n/lang/navigator/locale/Makefile
l10n/lang/pref/locale/Makefile
l10n/lang/related/locale/Makefile
l10n/lang/sidebar/locale/Makefile
#
END_L10N_LANG_MAKEFILES
#
fi
fi
#
# tools/leaky
if [ "$MOZ_LEAKY" ]; then
add_makefiles <<END_LEAKY_MAKEFILES
tools/leaky/Makefile
END_LEAKY_MAKEFILES
fi
# layout/mathml
if [ "$MOZ_MATHML" ]; then
add_makefiles <<END_MATHML_MAKEFILES
layout/mathml/Makefile
layout/mathml/base/Makefile
layout/mathml/base/src/Makefile
layout/mathml/content/Makefile
layout/mathml/content/src/Makefile
END_MATHML_MAKEFILES
fi
if [ `echo "$MOZ_EXTENSIONS" | grep -c cookie` != 0 ]; then
add_makefiles <<END_EXTENSIONS_COOKIE_MAKEFILES
extensions/cookie/Makefile
extensions/cookie/tests/Makefile
END_EXTENSIONS_COOKIE_MAKEFILES
fi
if [ `echo "$MOZ_EXTENSIONS" | grep -c irc` != 0 ]; then
add_makefiles <<END_EXTENSIONS_IRC_MAKEFILES
extensions/irc/Makefile
extensions/irc/libbs/Makefile
END_EXTENSIONS_IRC_MAKEFILES
fi
if [ `echo "$MOZ_EXTENSIONS" | grep -c wallet` != 0 ]; then
add_makefiles <<END_EXTENSIONS_WALLET_MAKEFILES
extensions/wallet/Makefile
extensions/wallet/public/Makefile
extensions/wallet/src/Makefile
extensions/wallet/editor/Makefile
extensions/wallet/cookieviewer/Makefile
extensions/wallet/signonviewer/Makefile
extensions/wallet/walletpreview/Makefile
extensions/wallet/build/Makefile
END_EXTENSIONS_WALLET_MAKEFILES
fi
if [ `echo "$MOZ_EXTENSIONS" | grep -c pics` != 0 ]; then
add_makefiles <<END_EXTENSIONS_PICS_MAKEFILES
extensions/pics/Makefile
extensions/pics/public/Makefile
extensions/pics/src/Makefile
extensions/pics/tests/Makefile
END_EXTENSIONS_PICS_MAKEFILES
fi

33
mozilla/build/Makefile.in Normal file
View File

@@ -0,0 +1,33 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
DEPTH = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = unix
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,179 @@
#! /usr/bin/env perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# acoutput-fast.pl - Quickly create makefiles that are in a common format.
#
# Most of the makefiles in mozilla only refer to two configure variables:
# @srcdir@
# @top_srcdir@
# However, configure does not know any better and it runs sed on each file
# with over 150 replacement rules (slow as molasses).
#
# This script takes a list of makefiles as input. For example,
#
# echo $MAKEFILES | acoutput-fast.pl
#
# The script creates each Makefile that only references @srcdir@ and
# @top_srcdir@. For other files, it lists them in a shell command that is
# printed to stdout:
#
# CONFIG_FILES="unhandled_files..."; export CONFIG_FILES
#
# This command can be used to have config.status create the unhandled
# files. For example,
#
# eval "echo $MAKEFILES | acoutput-fast.pl"
# AC_OUTPUT($MAKEFILES)
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
#use File::Basename;
sub dirname {
my $dir = $_[0];
return '.' if not $dir =~ m%/%;
$dir =~ s%/[^/][^/]*$%%;
return $dir;
}
# Create one directory. Assumes it doesn't already exist.
# Will create parent(s) if needed.
sub create_directory {
my $dir = $_[0];
my $parent = dirname($dir);
create_directory($parent) if not -d $parent;
mkdir "$dir",0777;
}
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
sub create_directories {
my @makefiles = @_;
my @dirs = ();
my $ac_file;
foreach $ac_file (@makefiles) {
push @dirs, dirname($ac_file);
}
# Call mkdir with the directories sorted by subdir count (how many /'s)
if (@dirs) {
my $mkdir_command = "mkdir -p ". join(' ', @dirs);
if (system($mkdir_command) != 0) {
print STDERR "Creating dirs all at once failed; trying one at atime\n";
foreach $dir (@dirs) {
if (not -d $dir) {
print STDERR "Creating directory $dir\n";
create_directory($dir);
}
}
}
}
}
if ($ARGV[0] =~ /^--srcdir=/) {
$ac_given_srcdir = (split /=/, shift @ARGV)[1];
} else {
$ac_given_srcdir = $0;
$ac_given_srcdir =~ s|/?build/autoconf/.*$||;
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
}
# Read list of makefiles from the stdin or,
# from files listed on the command-line.
#
@makefiles=();
push @makefiles, split while (<>);
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
create_directories(@makefiles);
# Output the makefiles.
#
@unhandled=();
foreach $ac_file (@makefiles) {
if (not $ac_file =~ /Makefile$/ or $ac_file =~ /:/) {
push @unhandled, $ac_file;
next;
}
$ac_file_in = "$ac_given_srcdir/$ac_file.in";
$ac_dir = dirname($ac_file);
if ($ac_dir eq '.') {
$ac_dir_suffix = '';
$ac_dots = '';
} else {
$ac_dir_suffix = "/$ac_dir";
$ac_dir_suffix =~ s%^/\./%/%;
$ac_dots = $ac_dir_suffix;
$ac_dots =~ s%/[^/]*%../%g;
}
if ($ac_given_srcdir eq '.') {
$srcdir = '.';
if ($ac_dots eq '') {
$top_srcdir = '.'
} else {
$top_srcdir = $ac_dots;
$top_srcdir =~ s%/$%%;
}
} elsif ($ac_given_srcdir =~ m%^/%) {
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_given_srcdir";
} else {
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_dots$ac_given_srcdir";
}
if (-e $ac_file) {
next if -M _ < -M $ac_file_in;
print STDERR "updating $ac_file\n";
} else {
print STDERR "creating $ac_file\n";
}
open (INFILE, "<$ac_file_in")
or ( warn "can't read $ac_file_in: No such file or directory\n" and next);
open (OUTFILE, ">$ac_file")
or ( warn "Unable to create $ac_file\n" and next);
while (<INFILE>) {
if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
#warn "Two defines on a line:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
s/\@srcdir\@/$srcdir/;
s/\@top_srcdir\@/$top_srcdir/;
if (/\@[_a-zA-Z]*\@/) {
#warn "Unknown variable:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
print OUTFILE;
}
close INFILE;
close OUTFILE;
}
# Print the shell command to be evaluated by configure.
#
print "CONFIG_FILES=\"".join(' ', @unhandled)."\"; export CONFIG_FILES\n";

View File

@@ -0,0 +1,107 @@
dnl The contents of this file are subject to the Netscape Public
dnl License Version 1.1 (the "License"); you may not use this file
dnl except in compliance with the License. You may obtain a copy of
dnl the License at http://www.mozilla.org/NPL/
dnl
dnl Software distributed under the License is distributed on an "AS
dnl IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
dnl implied. See the License for the specific language governing
dnl rights and limitations under the License.
dnl
dnl The Original Code is mozilla.org code.
dnl
dnl The Initial Developer of the Original Code is Netscape
dnl Communications Corporation. Portions created by Netscape are
dnl Copyright (C) 1999 Netscape Communications Corporation. All
dnl Rights Reserved.
dnl
dnl Contributor(s):
dnl
dnl altoptions.m4 - An alternative way of specifying command-line options.
dnl These macros are needed to support a menu-based configurator.
dnl This file also includes the macro, AM_READ_MYCONFIG, for reading
dnl the 'myconfig.m4' file.
dnl Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
dnl MOZ_ARG_ENABLE_BOOL( NAME, HELP, IF-YES [, IF-NO [, ELSE]])
dnl MOZ_ARG_DISABLE_BOOL( NAME, HELP, IF-NO [, IF-YES [, ELSE]])
dnl MOZ_ARG_ENABLE_STRING( NAME, HELP, IF-SET [, ELSE])
dnl MOZ_ARG_ENABLE_BOOL_OR_STRING( NAME, HELP, IF-YES, IF-NO, IF-SET[, ELSE]]])
dnl MOZ_ARG_WITH_BOOL( NAME, HELP, IF-YES [, IF-NO [, ELSE])
dnl MOZ_ARG_WITHOUT_BOOL( NAME, HELP, IF-NO [, IF-YES [, ELSE])
dnl MOZ_ARG_WITH_STRING( NAME, HELP, IF-SET [, ELSE])
dnl MOZ_ARG_HEADER(Comment)
dnl MOZ_READ_MYCONFIG() - Read in 'myconfig.sh' file
dnl MOZ_TWO_STRING_TEST(NAME, STR1, IF-STR1, STR2, IF-STR2 [, ELSE])
AC_DEFUN(MOZ_TWO_STRING_TEST,
[if test "$enableval" = "[$2]"; then
ifelse([$3], , :, [$3])
elif test "$enableval" = "[$4]"; then
ifelse([$5], , :, [$5])
else
ifelse([$6], ,
[AC_MSG_ERROR([Option, [$1], does not take an argument ($enableval).])],
[$6])
fi])
dnl MOZ_ARG_ENABLE_BOOL(NAME, HELP, IF-YES [, IF-NO [, ELSE]])
AC_DEFUN(MOZ_ARG_ENABLE_BOOL,
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4])],
[$5])])
dnl MOZ_ARG_DISABLE_BOOL(NAME, HELP, IF-NO [, IF-YES [, ELSE]])
AC_DEFUN(MOZ_ARG_DISABLE_BOOL,
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], no, [$3], yes, [$4])],
[$5])])
dnl MOZ_ARG_ENABLE_STRING(NAME, HELP, IF-SET [, ELSE])
AC_DEFUN(MOZ_ARG_ENABLE_STRING,
[AC_ARG_ENABLE([$1], [$2], [$3], [$4])])
dnl MOZ_ARG_ENABLE_BOOL_OR_STRING(NAME, HELP, IF-YES, IF-NO, IF-SET[, ELSE]]])
AC_DEFUN(MOZ_ARG_ENABLE_BOOL_OR_STRING,
[ifelse([$5], ,
[errprint([Option, $1, needs an "IF-SET" argument.
])
m4exit(1)],
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4], [$5])],
[$6])])])
dnl MOZ_ARG_WITH_BOOL(NAME, HELP, IF-YES [, IF-NO [, ELSE])
AC_DEFUN(MOZ_ARG_WITH_BOOL,
[AC_ARG_WITH([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4])],
[$5])])
dnl MOZ_ARG_WITHOUT_BOOL(NAME, HELP, IF-NO [, IF-YES [, ELSE])
AC_DEFUN(MOZ_ARG_WITHOUT_BOOL,
[AC_ARG_WITH([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], no, [$3], yes, [$4])],
[$5])])
dnl MOZ_ARG_WITH_STRING(NAME, HELP, IF-SET [, ELSE])
AC_DEFUN(MOZ_ARG_WITH_STRING,
[AC_ARG_WITH([$1], [$2], [$3], [$4])])
dnl MOZ_ARG_HEADER(Comment)
dnl This is used by webconfig to group options
define(MOZ_ARG_HEADER, [# $1])
dnl MOZ_READ_MYCONFIG() - Read in 'myconfig.sh' file
AC_DEFUN(MOZ_READ_MOZCONFIG,
[AC_REQUIRE([AC_INIT_BINSH])dnl
# Read in '.mozconfig' script to set the initial options.
# See the load-mozconfig.sh script for more details.
_topsrcdir=`dirname [$]0`
. $_topsrcdir/build/autoconf/load-mozconfig.sh])
dnl This gets inserted at the top of the configure script
MOZ_READ_MOZCONFIG

View File

@@ -0,0 +1,59 @@
#!/bin/sh
#
# 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):
#
# clean-config.sh - Removes all files generated by mozilla configure.
# Only removes files from the topsrcdir. To clean up an objdir,
# simply remove the directory and start over.
#
# Usage:
# 1. cd <topsrcdir>
# 2. build/autoconf/clean-config.sh
#
# Send comments, improvements, bugs to slamm@netscape.com
topsrcdir=`cd \`dirname $0\`/../..; pwd`
if [ ! -f configure.in ]; then
echo "clean-config.sh only cleans the source tree. To run," 2>&1
echo " cd $topsrcdir; build/autoconf/clean-config.sh" 2>&1
echo " (To clean a separate objdir, simple remove the directory.)" 2>&1
exit 1
fi
if [ -f mailnews/makefiles ]; then
MOZ_MAIL_NEWS=1
export MOZ_MAIL_NEWS
fi
if [ -d editor ]; then
MOZ_EDITOR=1
export MOZ_EDITOR
fi
. allmakefiles.sh
rm -fr $MAKEFILES \
config-defs.h \
config.cache \
config.log \
config.status \
$NULL

911
mozilla/build/autoconf/config.guess vendored Executable file
View File

@@ -0,0 +1,911 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name).
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
cat <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
amiga:NetBSD:*:*)
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
arm32:NetBSD:*:*)
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
atari*:NetBSD:*:*)
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:4)
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=4.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[3478]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
9000/8?? ) HP_ARCH=hppa1.0 ;;
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i?86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
echo xmp-cray-unicos
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin32
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
s/.*supported emulations: *//
s/ .*//
p'`
case "$ld_supported_emulations" in
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
sed 's/^ //' <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
LIBC=""
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
objdump --private-headers dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
# If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
VENDOR=pc;
;;
*)
VENDOR=unknown;
;;
esac
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
#else
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i?86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:UnixWare:*:*)
# Unixware 7 is the first attempt at a useful OS description.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
*:Rhapsody:*:*)
test ! -z "`echo ${UNAME_MACHINE} | grep Power`" && echo ppc-apple-rhapsody${UNAME_RELEASE} && exit 0
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
*:QNX:*:*)
echo i386-pc-qnx`${UNAME_VERSION} | cut -c1-1`
exit 0 ;;
BePC:BeOS:*:*)
echo i386-pc-beos${UNAME_RELEASE}
exit 0 ;;
BeMac:BeOS:*:*)
echo ppc-apple-beos${UNAME_RELEASE}
exit 0 ;;
BeBox:BeOS:*:*)
echo ppc-be-beos${UNAME_RELEASE}
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
#if !defined (ultrix)
printf ("vax-dec-bsd\n"); exit (0);
#else
printf ("vax-dec-ultrix\n"); exit (0);
#endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
#echo '(Unable to guess system type)' 1>&2
exit 1

981
mozilla/build/autoconf/config.sub vendored Executable file
View File

@@ -0,0 +1,981 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
if [ x$1 = x ]
then
echo Configuration name missing. 1>&2
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
echo "or $0 ALIAS" 1>&2
echo where ALIAS is a recognized configuration type. 1>&2
exit 1
fi
# First pass through any local machine types.
case $1 in
*local*)
echo $1
exit 0
;;
*)
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
linux-gnu*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple)
os=
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
-qnx*)
basic_machine=i386-pc
os=-qnx`uname -v | cut -c1-1`
;;
-nto*)
basic_machine=i386-pc
os=-nto
;;
-rhapsody*)
basic_machine=ppc-apple
os=-rhapsody`uname -r`
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | alphaev5 | alphaev56 | alphaev6 | alphapca56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[34567]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
| alpha-* | alphaev5-* | alphaev56-* | alphaev6-* | alphapca56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-cbm
;;
amigaos | amigados)
basic_machine=m68k-cbm
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | ymp)
basic_machine=ymp-cray
os=-unicos
;;
cray2)
basic_machine=cray2-cray
os=-unicos
;;
[ctj]90-cray)
basic_machine=c90-cray
os=-unicos
;;
crds | unos)
basic_machine=m68k-crds
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
miniframe)
basic_machine=m68000-convergent
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
np1)
basic_machine=np1-gould
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | nexen)
basic_machine=i586-pc
;;
pentiumpro | p6 | k6 | 6x86)
basic_machine=i686-pc
;;
pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=rs6000-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
*qnx*)
basic_machine=i386-pc
os=-qnx`uname -v | cut -c1-1`
;;
*nto*)
basic_machine=i386-pc
os=-nto
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
xmp)
basic_machine=xmp-cray
os=-unicos
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
fi
;;
romp)
basic_machine=romp-ibm
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sparc)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-beos*)
os=-beos
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-ctix* | -uts*)
os=-sysv
;;
-ns2 )
os=-nextstep2
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-xenix)
os=-xenix
;;
-rhapsody*)
;;
-qnx*)
;;
-nto*)
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-ibm)
os=-aix
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f301-fujitsu)
os=-uxpv
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-hpux*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-vxsim* | -vxworks*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os

View File

@@ -0,0 +1,46 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# find-mozconfig.sh - Loads options from .mozconfig onto configure's
# command-line. The .mozconfig file is searched for in the
# order:
# if $MOZCONFIG is set, use that.
# Otherwise, use $TOPSRCDIR/.mozconfig
# Otherwise, use $HOME/.mozconfig
#
topsrcdir=`cd \`dirname $0\`/../..; pwd`
for _config in $MOZCONFIG \
$MOZ_MYCONFIG \
$topsrcdir/.mozconfig \
$topsrcdir/mozconfig \
$topsrcdir/mozconfig.sh \
$topsrcdir/myconfig.sh \
$HOME/.mozconfig \
$HOME/.mozconfig.sh \
$HOME/.mozmyconfig.sh
do
if test -f $_config; then
echo $_config;
exit 0
fi
done

View File

@@ -0,0 +1,200 @@
# Configure paths for GLIB
# Owen Taylor 97-11-3
dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
dnl gthread is specified in MODULES, pass to glib-config
dnl
AC_DEFUN(AM_PATH_GLIB,
[dnl
dnl Get the cflags and libraries from the glib-config script
dnl
AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
glib_config_prefix="$withval", glib_config_prefix="")
AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX
Exec prefix where GLIB is installed (optional)],
glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
, enable_glibtest=yes)
if test x$glib_config_exec_prefix != x ; then
glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
if test x${GLIB_CONFIG+set} != xset ; then
GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
fi
fi
if test x$glib_config_prefix != x ; then
glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
if test x${GLIB_CONFIG+set} != xset ; then
GLIB_CONFIG=$glib_config_prefix/bin/glib-config
fi
fi
for module in . $4
do
case "$module" in
gmodule)
glib_config_args="$glib_config_args gmodule"
;;
gthread)
glib_config_args="$glib_config_args gthread"
;;
esac
done
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_GLIB_CONFIG
AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
min_glib_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
else
GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_glibtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$GLIB_LIBS $LIBS"
dnl
dnl Now check if the installed GLIB is sufficiently new. (Also sanity
dnl checks the results of glib-config to some extent
dnl
rm -f conf.glibtest
AC_TRY_RUN([
#include <glib.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.glibtest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_glib_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_glib_version");
exit(1);
}
if ((glib_major_version != $glib_config_major_version) ||
(glib_minor_version != $glib_config_minor_version) ||
(glib_micro_version != $glib_config_micro_version))
{
printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
$glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
glib_major_version, glib_minor_version, glib_micro_version);
printf ("*** was found! If glib-config was correct, then it is best\n");
printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
(glib_minor_version != GLIB_MINOR_VERSION) ||
(glib_micro_version != GLIB_MICRO_VERSION))
{
printf("*** GLIB header files (version %d.%d.%d) do not match\n",
GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
glib_major_version, glib_minor_version, glib_micro_version);
}
else
{
if ((glib_major_version > major) ||
((glib_major_version == major) && (glib_minor_version > minor)) ||
((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
glib_major_version, glib_minor_version, glib_micro_version);
printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the glib-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
printf("*** correct copy of glib-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_glib" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GLIB_CONFIG" = "no" ; then
echo "*** The glib-config script installed by GLIB could not be found"
echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GLIB_CONFIG environment variable to the"
echo "*** full path to glib-config."
else
if test -f conf.glibtest ; then
:
else
echo "*** Could not run GLIB test program, checking why..."
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"
AC_TRY_LINK([
#include <glib.h>
#include <stdio.h>
], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
echo "***"
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GLIB_CFLAGS=""
GLIB_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
rm -f conf.glibtest
])

View File

@@ -0,0 +1,191 @@
# Configure paths for GTK+
# Owen Taylor 97-11-3
# (copy of gtk.m4 (public domain))
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
[dnl
dnl Get the cflags and libraries from the gtk-config script
dnl
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
gtk_config_prefix="$withval", gtk_config_prefix="")
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX
Exec prefix where GTK is installed (optional)],
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
, enable_gtktest=yes)
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_GTK_CONFIG
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" = "no" ; then
no_gtk=yes
else
GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_gtktest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent
dnl
rm -f conf.gtktest
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gtktest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_gtk_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((gtk_major_version != $gtk_config_major_version) ||
(gtk_minor_version != $gtk_config_minor_version) ||
(gtk_micro_version != $gtk_config_micro_version))
{
printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf ("*** was found! If gtk-config was correct, then it is best\n");
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
(gtk_micro_version != GTK_MICRO_VERSION))
{
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
}
#endif /* defined (GTK_MAJOR_VERSION) ... */
else
{
if ((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
printf("*** correct copy of gtk-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GTK_CONFIG" = "no" ; then
echo "*** The gtk-config script installed by GTK could not be found."
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GTK_CONFIG environment variable to the"
echo "*** full path to gtk-config."
echo "*** GTK+ is available from ftp://ftp.gtk.org/pub/gtk"
else
if test -f conf.gtktest ; then
:
else
echo "*** Could not run GTK test program, checking why..."
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
AC_TRY_LINK([
#include <gtk/gtk.h>
#include <stdio.h>
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GTK or finding the wrong"
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
echo "***"
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
rm -f conf.gtktest
])

119
mozilla/build/autoconf/install-sh Executable file
View File

@@ -0,0 +1,119 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5; it is not part of GNU.
#
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
instcmd="$mvprog"
chmodcmd=""
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
fi
# Make a temp file name in the proper directory.
dstdir=`dirname $dst`
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp
# and set any options; do chmod last to preserve setuid bits
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
# Now rename the file to the real destination.
$doit $rmcmd $dst
$doit $mvcmd $dsttmp $dst
exit 0

View File

@@ -0,0 +1,198 @@
# Configure paths for LIBIDL
dnl AM_PATH_LIBIDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for LIBIDL, and define LIBIDL_CFLAGS and LIBIDL_LIBS
dnl
AC_DEFUN(AM_PATH_LIBIDL,
[dnl
dnl Get the cflags and libraries from the libIDL-config script
dnl
AC_ARG_WITH(libIDL-prefix,[ --with-libIDL-prefix=PFX
Prefix where libIDL is installed (optional)],
libIDL_config_prefix="$withval", libIDL_config_prefix="")
AC_ARG_WITH(libIDL-exec-prefix,[ --with-libIDL-exec-prefix=PFX
Exec prefix where libIDL is installed (optional)],
libIDL_config_exec_prefix="$withval", libIDL_config_exec_prefix="")
AC_ARG_ENABLE(libIDLtest, [ --disable-libIDLtest Do not try to compile and run a test libIDL program],
, enable_libIDLtest=yes)
if test x$libIDL_config_exec_prefix != x ; then
libIDL_config_args="$libIDL_config_args --exec-prefix=$libIDL_config_exec_prefix"
if test x${LIBIDL_CONFIG+set} != xset ; then
LIBIDL_CONFIG=$libIDL_config_exec_prefix/bin/libIDL-config
fi
fi
if test x$libIDL_config_prefix != x ; then
libIDL_config_args="$libIDL_config_args --prefix=$libIDL_config_prefix"
if test x${LIBIDL_CONFIG+set} != xset ; then
LIBIDL_CONFIG=$libIDL_config_prefix/bin/libIDL-config
fi
fi
AM_PATH_GLIB(1.2.0)
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_LIBIDL_CONFIG
AC_PATH_PROG(LIBIDL_CONFIG, libIDL-config, no)
min_libIDL_version=ifelse([$1], ,0.6.0,$1)
AC_MSG_CHECKING(for libIDL - version >= $min_libIDL_version)
no_libIDL=""
if test "$LIBIDL_CONFIG" = "no" ; then
no_libIDL=yes
else
LIBIDL_CFLAGS=`$LIBIDL_CONFIG $libIDL_config_args --cflags`
LIBIDL_LIBS=`$LIBIDL_CONFIG $libIDL_config_args --libs`
# hack to allow us to keep using libIDL 0.6.3-0.6.7. Anyone may remove
# this after we start requiring libIDL 0.6.8 or anything higher
LIBIDL_CFLAGS="$GLIB_CFLAGS $LIBIDL_CFLAGS"
LIBIDL_LIBS="$GLIB_LIBS $LIBIDL_LIBS"
libIDL_config_major_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
libIDL_config_minor_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
libIDL_config_micro_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_libIDLtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBIDL_LIBS $LIBS"
dnl
dnl Now check if the installed LIBIDL is sufficiently new.
dnl
rm -f conf.libIDLtest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <libIDL/IDL.h>
int
main ()
{
int major, minor, micro;
int libIDL_major_version;
int libIDL_minor_version;
int libIDL_micro_version;
char *tmp_version;
system ("touch conf.libIDLtest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup ("$min_libIDL_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_libIDL_version");
exit(1);
}
tmp_version = g_strdup (IDL_get_libver_string ());
if (sscanf(tmp_version, "%d.%d.%d",
&libIDL_major_version,
&libIDL_minor_version,
&libIDL_micro_version) != 3) {
printf("%s, bad version string\n", tmp_version);
exit(1);
}
if ((libIDL_major_version != $libIDL_config_major_version) ||
(libIDL_minor_version != $libIDL_config_minor_version) ||
(libIDL_micro_version != $libIDL_config_micro_version))
{
printf("\n*** 'libIDL-config --version' returned %d.%d.%d, but libIDL (%d.%d.%d)\n",
$libIDL_config_major_version, $libIDL_config_minor_version, $libIDL_config_micro_version,
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
printf ("*** was found! If libIDL-config was correct, then it is best\n");
printf ("*** to remove the old version of LIBIDL. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If libIDL-config was wrong, set the environment variable LIBIDL_CONFIG\n");
printf("*** to point to the correct copy of libIDL-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
else if ((libIDL_major_version != LIBIDL_MAJOR_VERSION) ||
(libIDL_minor_version != LIBIDL_MINOR_VERSION) ||
(libIDL_micro_version != LIBIDL_MICRO_VERSION))
{
printf("\n*** libIDL header files (version %d.%d.%d) do not match\n",
LIBIDL_MAJOR_VERSION, LIBIDL_MINOR_VERSION, LIBIDL_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
}
else
{
if ((libIDL_major_version > major) ||
((libIDL_major_version == major) && (libIDL_minor_version > minor)) ||
((libIDL_major_version == major) && (libIDL_minor_version == minor) && (libIDL_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of libIDL (%d.%d.%d) was found.\n",
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
printf("*** You need at least libIDL version %d.%d.%d.\n",
major, minor, micro);
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the libIDL-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of libIDL, but you can also set the LIBIDL_CONFIG environment to point to the\n");
printf("*** correct copy of libIDL-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_libIDL=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_libIDL" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$LIBIDL_CONFIG" = "no" ; then
echo "*** The libIDL-config script installed by libIDL could not be found"
echo "*** If libIDL was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the LIBIDL_CONFIG environment variable to the"
echo "*** full path to libIDL-config."
else
if test -f conf.libIDLtest ; then
:
else
echo "*** Could not run libIDL test program, checking why..."
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBS $LIBIDL_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include <stdlib.h>
#include <libIDL/IDL.h>
], [ return IDL_get_libver_string ? 1 : 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding libIDL or finding the wrong"
echo "*** version of LIBIDL. If it is not finding libIDL, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means libIDL was incorrectly installed"
echo "*** or that you have moved libIDL since it was installed. In the latter case, you"
echo "*** may want to edit the libIDL-config script: $LIBIDL_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
LIBIDL_CFLAGS=""
LIBIDL_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(LIBIDL_CFLAGS)
AC_SUBST(LIBIDL_LIBS)
rm -f conf.libIDLtest
])

View File

@@ -0,0 +1,102 @@
# sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# load-mozconfig.sh - Loads options from .mozconfig onto configure's
# command-line. See find-mozconfig.sh for how the config file is
# found
#
# The options from .mozconfig are inserted into the command-line
# before the real command-line options. This way the real options
# will override any .mozconfig options.
#
# .mozconfig is a shell script. To add an option to configure's
# command-line use the pre-defined function, ac_add_options,
#
# ac_add_options <configure-option> [<configure-option> ... ]
#
# For example,
#
# ac_add_options --with-pthreads --enable-debug
#
# ac_add_options can be called multiple times in .mozconfig.
# Each call adds more options to configure's command-line.
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
ac_add_options() {
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash.
_opt=`echo $_opt | sed -e 's/\([\ \ \$\"\\]\)/\\\\\1/g;s/@\([^@]*\)@/\$\1/g;'`
_opt=`echo $_opt | sed -e 's/@\([^@]*\)@/\$(\1)/g'`
# Avoid adding duplicates
case "$ac_options" in
*"$_opt"* ) ;;
* ) mozconfig_ac_options="$mozconfig_ac_options $_opt" ;;
esac
done
}
mk_add_options() {
# These options are for client.mk
# configure can safely ignore them.
:
}
ac_echo_options() {
echo "Adding options from $MOZCONFIG:"
eval "set -- $mozconfig_ac_options"
for _opt
do
echo " $_opt"
done
}
#
# Define load the options
#
ac_options=
mozconfig_ac_options=
# Save the real command-line options
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash.
_opt=`echo $_opt | sed -e 's/\([\ \ \$\"\\]\)/\\\\\1/g;'`
ac_options="$ac_options \"$_opt\""
done
# Call find-mozconfig.sh
# In params: $MOZCONFIG $HOME (old:$MOZ_MYCONFIG)
_topsrcdir=`dirname $0`
MOZCONFIG=`$_topsrcdir/build/autoconf/find-mozconfig.sh`
if [ "$MOZCONFIG" ]; then
. $MOZCONFIG
ac_echo_options 1>&2
fi
eval "set -- $mozconfig_ac_options $ac_options"

View File

@@ -0,0 +1,267 @@
#! /usr/bin/env perl
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# make-makefiles - Quickly create Makefiles for subdirectories.
# Also, creates any needed subdirectories.
#
# usage: make-makefiles [ -d <depth> ] [ <subdir> | <subdir>/Makefile ] ...
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
#$debug = 1;
# Determine various tree path variables
#
($depth, @makefiles) = parse_arguments(@ARGV);
$object_fullpath = `pwd`;
chdir $depth;
$object_root = `pwd`;
chomp $object_fullpath;
chomp $object_root;
# $source_subdir is the path from the object root to where
# 'make-makefile' was called. For example, if make-makefile was
# called from "mozilla/gfx/src", then $source_subdir would be
# "gfx/src/".
$source_subdir = "$object_fullpath/";
$source_subdir =~ s|^$object_root/||;
# Prefix makefiles with $source_subdir so that paths
# will be relative to the top of the object tree.
#
for $makefile (@makefiles) {
$makefile = "$source_subdir$makefile";
}
create_directories(@makefiles);
# Find the path to the source directory based on how 'make-makefile'
# was invoked. The path is either relative to the object directory
# or an absolute path.
$given_srcdir = find_srcdir($0, $depth);
if ($debug) {
warn "object_fullpath = $object_fullpath\n";
warn "object_root = $object_root\n";
warn "source_subdir = $source_subdir\n";
warn "makefiles = @makefiles\n";
warn "given_srcdir = $given_srcdir\n";
}
@unhandled = update_makefiles($given_srcdir, @makefiles);
run_config_status(@unhandled);
# end of Main
############################################################
sub dirname {
return $_[0] =~ /(.*)\/.*/ ? "$1" : '.';
}
# find_depth: Pull the value of DEPTH out of a Makefile (or Makefile.in)
sub find_depth {
my $depth = '';
open(MAKEFILE, "<$_[0]") || die "Unable to open $_[0]: $!\n";
while (<MAKEFILE>) {
next unless /^DEPTH\s*=\s*(\..*)/;
$depth = $1;
last;
}
close MAKEFILE;
return $depth;
}
sub parse_arguments {
my @args = @_;
my $depth = '';
my @makefiles = ();
if ($args[0] eq '-d') {
$depth = $args[1];
shift @args;
shift @args;
} else {
# Use $(DEPTH) in the Makefile or Makefile.in to determine the depth
if (-e "Makefile.in") {
$depth = find_depth("Makefile.in");
} elsif (-e "Makefile") {
$depth = find_depth("Makefile");
} elsif (-e "../Makefile") {
$depth = "../".find_depth("../Makefile");
$depth =~ s/\/\.$//;
} else {
warn "Unable to determine depth (e.g. ../..) to root of objdir tree.\n";
die "No Makefile(.in) present. Try running with '-d <depth>'\n";
}
}
# Build the list of makefiles to generate
#
@makefiles = ();
my $makefile;
foreach $makefile (@args) {
$makefile =~ s/\.in$//;
$makefile =~ s/\/$//;
$makefile =~ /Makefile$/ or $makefile .= "/Makefile";
push @makefiles, "$makefile";
}
@makefiles = "Makefile" unless @args;
return ($depth, @makefiles);
}
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
sub create_directories {
my @makefiles = @_;
my @dirs = ();
my $ac_file;
foreach $ac_file (@makefiles) {
push @dirs, dirname($ac_file);
}
# Call mkdir with the directories sorted by subdir count (how many /'s)
system "mkdir -p ". join(' ', @dirs) if @dirs;
}
# Find the top of the source directory
# (Assuming that the executable is in $top_srcdir/build/autoconf)
sub find_srcdir {
my ($program_name, $depth) = @_;
my $ac_given_srcdir = $program_name;
$ac_given_srcdir =~ s|/?build/autoconf/.*$||;
if ($debug) {
print "ac_given_srcdir = $ac_given_srcdir\n";
print "depth = $depth\n";
}
if ($ac_given_srcdir =~ /^\./ and $depth ne '.') {
my $quoted_depth = quotemeta($depth);
$ac_given_srcdir =~ s|^$quoted_depth/?||;
}
if ($debug) {
print "ac_given_srcdir = $ac_given_srcdir\n";
}
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
return $ac_given_srcdir;
}
# Output the makefiles.
#
sub update_makefiles {
my ($ac_given_srcdir, @makefiles) = @_;
my @unhandled=();
my $ac_file;
foreach $ac_file (@makefiles) {
my $ac_file_in = "$ac_given_srcdir/${ac_file}.in";
my $ac_dir = dirname($ac_file);
my $ac_dots = '';
my $ac_dir_suffix = '';
my $srcdir = '.';
my $top_srcdir = '.';
# Determine $srcdir and $top_srcdir
#
if ($ac_dir ne '.') {
$ac_dir_suffix = "/$ac_dir";
$ac_dir_suffix =~ s%^/\./%/%;
$ac_dots = $ac_dir_suffix;
$ac_dots =~ s%/[^/]*%../%g;
}
if ($ac_given_srcdir eq '.') {
if ($ac_dots ne '') {
$top_srcdir = $ac_dots;
$top_srcdir =~ s%/$%%;
}
} elsif ($ac_given_srcdir =~ m%^/%) {
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_given_srcdir";
} else {
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_dots$ac_given_srcdir";
}
if ($debug) {
print "ac_dir = $ac_dir\n";
print "ac_file = $ac_file\n";
print "ac_file_in = $ac_file_in\n";
print "srcdir = $srcdir\n";
print "top_srcdir = $top_srcdir\n";
print "cwd = " . `pwd` . "\n";
}
# Copy the file and make substitutions.
# @srcdir@ -> value of $srcdir
# @top_srcdir@ -> value of $top_srcdir
#
if (-e $ac_file) {
next if -M _ < -M $ac_file_in; # Next if Makefile is up-to-date.
warn "updating $ac_file\n";
} else {
warn "creating $ac_file\n";
}
open INFILE, "<$ac_file_in" or do {
warn "$0: Cannot read $ac_file_in: No such file or directory\n";
next;
};
open OUTFILE, ">$ac_file" or do {
warn "$0: Unable to create $ac_file\n";
next;
};
while (<INFILE>) {
if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
#warn "Two defines on a line:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
s/\@srcdir\@/$srcdir/;
s/\@top_srcdir\@/$top_srcdir/;
if (/\@[_a-zA-Z]*\@/) {
#warn "Unknown variable:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
print OUTFILE;
}
close INFILE;
close OUTFILE;
}
return @unhandled;
}
sub run_config_status {
my @unhandled = @_;
# Run config.status with any unhandled files.
#
if (@unhandled) {
$ENV{CONFIG_FILES}= join ' ', @unhandled;
system "./config.status";
}
}

View File

@@ -0,0 +1,85 @@
#!/bin/sh
#
# 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):
#
#
# This script will match a dir with a set of dirs.
#
# Usage: match-dir.sh match [dir1 dir2 ... dirn]
#
# Send comments, improvements, bugs to ramiro@netscape.com
#
if [ -f Makefile ]; then
MAKEFILE="Makefile"
else
if [ -f Makefile.in ]; then
MAKEFILE="Makefile.in"
else
echo
echo "There ain't no 'Makefile' or 'Makefile.in' over here: $pwd, dude."
echo
exit 1
fi
fi
# Use DEPTH in the Makefile.in to determine the depth
depth=`grep -w DEPTH ${MAKEFILE} | grep -e "\.\." | awk -F"=" '{ print $2; }'`
cwd=`pwd`
# Determine the depth count
n=`echo $depth | tr '/' ' ' | wc -w`
cd $depth
objdir=`pwd`
path=`echo $cwd | sed "s|^${objdir}/||"`
match=$path
for i in $*
do
# echo "Looking for $match in $i"
echo $i | grep -q -x $match
if [ $? -eq 0 ]
then
echo "1"
exit 0
fi
# echo "Looking for $i in $match"
echo $match | grep -q $i
if [ $? -eq 0 ]
then
echo "1"
exit 0
fi
done
echo "0"
exit 0

View File

@@ -0,0 +1,83 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# mozconfig2defs.sh - Translates .mozconfig into options for client.mk.
# Prints defines to stdout.
#
# See load-mozconfig.sh for more details
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
print_header() {
echo "# gmake"
echo "# This file is automatically generated for client.mk."
echo "# Do not edit. Edit $MOZCONFIG instead."
echo
}
ac_add_options() {
echo "# $* is not used by client.mk"
}
mk_add_options() {
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash,
# and substitute '@<word>@' with '$(<word>)'.
echo $_opt | sed -e 's/\([\"\\]\)/\\\1/g; s/@\([^@]*\)@/\$(\1)/g;'
done
}
#
# main
#
out_file=$1
tmp_file="$out_file-tmp$$"
trap "rm -f $tmp_file; exit 1" 1 2 15
# find-mozconfig.sh
# In params: $MOZCONFIG $HOME ($MOZ_MYCONFIG)
scriptdir=`dirname $0`
find_mozconfig="$scriptdir/find-mozconfig.sh"
if [ ! -f $find_mozconfig ]
then
(cd $scriptdir/../../..; cvs co mozilla/build/autoconf/find-mozconfig.sh)
fi
MOZCONFIG=`$find_mozconfig`
print_header > $tmp_file
# If the path changes, configure should be rerun
echo "# PATH=$PATH" >> $tmp_file
if [ "$MOZCONFIG" ]
then
. $MOZCONFIG >> $tmp_file
fi
if cmp -s $tmp_file $out_file; then
rm $tmp_file
else
mv -f $tmp_file $out_file
fi

View File

@@ -0,0 +1,75 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# mozconfig2defs.sh - Translates .mozconfig into options for client.mk.
# Prints defines to stdout.
#
# See load-mozconfig.sh for more details
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
ac_add_options() {
for _opt
do
# Escape special url characters
_opt=`echo $_opt | sed -e 's/%/%25/g;s/ /%20/g;s/&/%26/g;'`
case "$_opt" in
--*-*= ) query_string="$query_string$_opt&" ;;
--*-* ) query_string="$query_string$_opt=yes&" ;;
esac
done
}
mk_add_options() {
for _opt
do
# Escape special url characters
# Escape special url characters
_opt=`echo $_opt | sed -e 's/%/%25/g;s/ /%20/g;s/&/%26/g;'`
query_string="$query_string$_opt&"
done
}
#
# main
#
# find-mozconfig.sh
# In params: $MOZCONFIG $HOME ($MOZ_MYCONFIG)
scriptdir=`dirname $0`
find_mozconfig="$scriptdir/find-mozconfig.sh"
if [ ! -f $find_mozconfig ]
then
(cd $scriptdir/../../..; cvs co mozilla/build/autoconf/find-mozconfig.sh)
fi
MOZCONFIG=`$find_mozconfig`
if [ "$MOZCONFIG" ]
then
query_string="?"
. $MOZCONFIG
# Drop the last character of $query_string
echo `expr "$query_string" : "\(.*\)."`
fi

View File

@@ -0,0 +1,63 @@
#!/bin/sh
#
# 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):
#
#
# This script will print the depth path for a mozilla directory based
# on the info in Makefile.in
#
# Its a hack. Its brute force. Its horrible.
# It dont use Artificial Intelligence. It dont use Virtual Reality.
# Its not perl. Its not python. But it works.
#
# Usage: print-depth-path.sh
#
# Send comments, improvements, bugs to ramiro@netscape.com
#
# Make sure a Makefile.in exists
if [ ! -f Makefile.in ]
then
echo
echo "There ain't no 'Makefile.in' over here: $pwd, dude."
echo
exit
fi
# Use DEPTH in the Makefile.in to determine the depth
depth=`grep -w DEPTH Makefile.in | grep -e "\.\." | awk -F"=" '{ print $2; }'`
# Determine the depth count
n=`echo $depth | tr '/' ' ' | wc -w`
# Determine the path (strip anything before the mozilla/ root)
path=`pwd | awk -v count=$n -F"/" '\
{ for(i=NF-count+0; i <= NF ; i++) \
{ \
if (i!=NF) \
{ printf "%s/", $i } \
else \
{ printf "%s", $i } \
} \
}'`
echo $path

View File

@@ -0,0 +1,102 @@
#!/bin/sh
#
# 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):
#
#
# This script will generate a single Makefile from a Makefile.in using
# the config.status script.
#
# The config.status script is generated the first time you run
# ./configure.
#
#
# Usage: update-makefile.sh
#
# Send comments, improvements, bugs to ramiro@netscape.com
#
update_makefile_usage() {
_progname=`expr //$0 : '.*/\(.*\)'`
cat <<END_USAGE 2>&1
Usage: $_progname [-h -u] [<keyword>]
-d <dir> Subdir to update
-h Print usage
END_USAGE
}
# Parse the command-line options
#
subdir=
while getopts d:h OPT; do
case $OPT in
d) # Make sure "subdir" has exactly one ending slash
subdir=`echo $OPTARG | sed 's/\/$//;'`"/" ;;
\?|h) update_makefile_usage
exit 1
;;
esac
done
# find_depth: Pull the value of DEPTH out of Makefile (or Makefile.in)
find_depth() {
egrep '^DEPTH[ ]*=[ ]*\.' $1 | awk -F= '{ print $2; }'
}
# The Makefile to create
target_makefile=`pwd`"/${subdir}Makefile"
# Use $(DEPTH) in the Makefile or Makefile.in to determine the depth
if [ -f Makefile.in ]
then
depth=`find_depth Makefile.in`
elif [ -f Makefile ]
then
depth=`find_depth Makefile`
elif [ -f ../Makefile ]
then
depth="../"`find_depth Makefile`
else
echo
echo "There ain't no 'Makefile' or 'Makefile.in' over here: $pwd"
echo
exit
fi
# 'cd' to the root of the tree to run "config.status" there
cd $depth
# Strip the tree root off the Makefile's path
#
root_path=`pwd`
target_makefile=`expr $target_makefile : $root_path'/\(.*\)'`
# Make sure config.status exists
#
if [ -f config.status ]
then
CONFIG_FILES=$target_makefile ./config.status
else
echo
echo "There ain't no 'config.status' over here: $pwd"
echo
fi

View File

@@ -0,0 +1 @@
98091517

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

@@ -0,0 +1,29 @@
#!/bin/sh
#
# 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):
#
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

95
mozilla/build/hcc Executable file
View File

@@ -0,0 +1,95 @@
#!/bin/sh
#
# 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):
#
#
# Fix brain-damaged compilers that don't understand -o and -c together
#
CC=`echo $1 | sed -e "s|'||g" -e 's|"||g'`
shift
DASH_C=0
DASH_O=0
DUMMY="XxxXxxX"
GET_OBJECT=0
OBJ="${DUMMY}"
OBJECT="${DUMMY}"
for i in $*
do
[ "${CHECK_O}" = yes ] && {
case $i in
./*/*.o) OBJECT="$i"
OPTS="${OPTS} -o"
DASH_O=1
;;
./*.o) OBJECT="`basename $i`"
i=""
DASH_O=1
;;
*.o) if [ $i = `basename $i` ]
then
OBJECT="$i"
i=""
else
OPTS="${OPTS} -o"
fi
DASH_O=1
;;
*) OPTS="${OPTS} -o $i"
DASH_O=1
i=""
;;
esac
CHECK_O=no
}
case $i in
-c) DASH_C=1
OPTS="${OPTS} -c"
;;
-o) CHECK_O=yes
;;
*.c) C_SRC=$i
OPTS="${OPTS} $i"
# cc always creates the .o from the .c name
OBJ=`basename $C_SRC .c`.o
;;
*.s) S_SRC=$i
OPTS="${OPTS} $i"
# or the .o from the .s name
OBJ=`basename $S_SRC .s`.o
;;
*.o) OBJECT=$i
OPTS="${OPTS} $i"
;;
*) OPTS="${OPTS} $i"
;;
esac
done
${CC} ${OPTS} || exit $?
# if there was no -c and -o we're done
[ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0
# if $OBJ and $OBJECT are the same we're done
[ $OBJ = $OBJECT ] && exit 0
[ -f $OBJ ] && mv -f $OBJ $OBJECT

139
mozilla/build/hcpp Executable file
View File

@@ -0,0 +1,139 @@
#!/bin/sh
#
# 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):
#
#
# Wrapper for brain-damaged compilers that don't understand -o and -c together.
#
CXX=`echo $1 | sed -e "s|'||g" -e 's|"||g'`
shift
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}"
NEW_i="${DUMMY}"
PLATFORM=`uname -s`
for i in $*
do
[ ${GET_OBJECT} -eq 1 ] && {
case $i in
./*/*.o) OBJECT="$i"
OPTS="${OPTS} -o"
DASH_O=1
;;
./*.o) OBJECT="`basename $i`"
i=""
DASH_O=1
;;
*.o) if [ $i = `basename $i` ]
then
i=""
else
OPTS="${OPTS} -o"
DASH_O=1
fi
;;
*) OPTS="${OPTS} -o $i"
DASH_O=1
i=""
;;
esac
GET_OBJECT=0
}
case $i in
-c)
DASH_C=1
OPTS="${OPTS} -c"
;;
-o)
GET_OBJECT=1
;;
*.c)
C_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .c name
OBJ=`basename ${C_SRC} .c`.o
;;
+.*)
OPTS="${OPTS} $i"
;;
*.cpp)
CPP_SRC="$i"
if [ "${PLATFORM}" = "SCO_SV" ]; then
OPTS="${OPTS} +.cpp $i"
elif [ "${PLATFORM}" = "IRIX" ]; then
NEW_i=`basename ${CPP_SRC} .cpp`.C
rm -f ${NEW_i}
cp $i ${NEW_i}
OPTS="${OPTS} ${NEW_i}"
else
OPTS="${OPTS} $i"
fi
# cc always creates the .o from the .cpp name
OBJ=`basename ${CPP_SRC} .cpp`.o
;;
*.cc)
CC_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .cc name
OBJ=`basename ${CC_SRC} .cc`.o
;;
*.s)
S_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .s name
OBJ=`basename ${S_SRC} .s`.o
;;
*.o) OBJECT=$i
OPTS="${OPTS} $i"
;;
*) OPTS="${OPTS} $i"
;;
esac
done
${CXX} ${OPTS} || exit $?
rm -f ${NEW_i}
# Really only needed for NSPR now.
if [ "${PLATFORM}" = "IRIX" -a "$OBJ" != "$OBJECT" ]; then
OBJ=$OBJECT
fi
# 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
# if $OBJ and $OBJECT are the same we're done
[ $OBJ = $OBJECT ] && exit 0
[ -f $OBJ ] && mv -f $OBJ $OBJECT

View File

@@ -0,0 +1,44 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
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,48 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
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();
# Set the build number in about-all.html. Commented out for now
# until ckid/mcvs resource problem is resolved.
# SetBuildNumber();
# Now build the projects
BuildMozilla();

View File

@@ -0,0 +1,55 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
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("::::");
SetBuildNumber();
SetTimeBomb(0, 30);
# Make and popuplate the dist directory
DistMozilla();
Delay(10);
# Set the build number in about-all.html. Commented out for now
# until ckid/mcvs resource problem is resolved.
# SetAgentString();
# Now build the projects
BuildMozilla();

View File

@@ -0,0 +1,172 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
#
# build script (optimized)
#
use Mac::Processes;
use NGLayoutBuildList;
use Cwd;
use Moz;
#-----------------------------------------------
# configuration variables that globally affect what is built
#-----------------------------------------------
$DEBUG = 0;
$CARBON = 0; # turn on to build with TARGET_CARBON
$NECKO = 1;
$MOZ_FULLCIRCLE = 0;
$PROFILE = 0;
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
$pull{all} = 0;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 1; # turn off to do individual builds, or to do "most"
$build{most} = 0; # turn off to do individual builds
$build{dist} = 0;
$build{dist_runtime} = 0; # implied by $build{dist}
$build{idl} = 0;
$build{xpidl} = 0;
$build{resources} = 0;
$build{stubs} = 0;
$build{runtime} = 0;
$build{common} = 0;
$build{intl} = 0;
$build{nglayout} = 0;
$build{editor} = 0;
$build{viewer} = 0;
$build{xpapp} = 0;
$build{mailnews} = 0;
$build{apprunner} = 0;
#-----------------------------------------------
# configuration variables that affect the manner
# of building, but possibly affecting
# the outcome.
#-----------------------------------------------
$ALIAS_SYM_FILES = $DEBUG;
$CLOBBER_LIBS = 1; # turn on to clobber existing libs and .xSYM files before
# building each project
# The following two options will delete all dist files (if you have $build{dist} turned on),
# but leave the directory structure intact.
$CLOBBER_DIST_ALL = 1; # turn on to clobber all aliases/files inside dist (headers/xsym/libs)
$CLOBBER_DIST_LIBS = 0; # turn on to clobber only aliases/files for libraries/sym files in dist
$CLOBBER_IDL_PROJECTS = 0; # turn on to clobber all IDL projects.
#-----------------------------------------------
# configuration variables that are preferences for the build style,
# and do not affect what is built.
#-----------------------------------------------
$CodeWarriorLib::CLOSE_PROJECTS_FIRST
= 0;
# 1 = close then make (for development),
# 0 = make then close (for tinderbox).
$USE_TIMESTAMPED_LOGS = 0;
#-----------------------------------------------
# END OF CONFIG SWITCHES
#-----------------------------------------------
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
if ($build{most})
{
### Just uncomment/comment to get the ones you want (if "most" is selected).
# $build{dist} = 1;
# $build{dist_runtime}= 1;
# $build{resources} = 1;
# $build{stubs} = 1;
# $build{runtime} = 1;
# $build{common} = 1; # Requires intl
# $build{intl} = 1;
# $build{nglayout} = 1;
# $build{editor} = 1;
# $build{viewer} = 1;
# $build{xpapp} = 1;
# $build{mailnews} = 1;
$build{apprunner} = 1;
}
# do the work
# you should not have to edit anything below
chdir("::::");
$MOZ_SRC = cwd();
if ($MOZ_FULLCIRCLE)
{
#// Get the Build Number for the Master.ini(Full Circle) n'stuff
$buildnum = Moz::SetBuildNumber();
}
if ($USE_TIMESTAMPED_LOGS)
{
#Use time-stamped names so that you don't clobber your previous log file!
my $now = localtime();
while ($now =~ s@:@.@) {} # replace all colons by periods
my $logdir = ":Build Logs:";
if (!stat($logdir))
{
print "Creating directory $logdir\n";
mkdir $logdir, 0777 || die "Couldn't create directory $logdir";
}
OpenErrorLog("$logdir$now");
}
else
{
OpenErrorLog("NGLayoutBuildLog"); # Release build requires that name
#OpenErrorLog("Mozilla.BuildLog"); # Tinderbox requires that name
}
Moz::StopForErrors();
#Moz::DontStopForErrors();
if ($pull{all}) {
Checkout();
}
SetBuildNumber();
chdir($MOZ_SRC);
BuildDist();
chdir($MOZ_SRC);
BuildProjects();
print "Build complete\n";

View File

@@ -0,0 +1,206 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
#
# build script (debug)
#
use Mac::Processes;
use NGLayoutBuildList;
use Cwd;
use Moz;
#-----------------------------------------------
# configuration variables that globally affect what is built
#-----------------------------------------------
$BUILD_ROOT = ":";
# $BUILD_ROOT = ":", the default, with $build{all}
# builds the whole tree. Leaving $BUILD_ROOT undefined
# will also have this effect.
#
# $BUILD_ROOT = ":mozilla:mailnews:" with $build{all}
# will "make everything in the mailnews directory".
#
# This is equivalent to the unix commands:
# cd mozilla/mailnews
# gmake
# or the windows commands:
# cd mozilla\mailnews
# nmake -f makefile.win
#
# In conjunction with build{all}, this will carry out
# all build phases (export, build, install...), but only
# using files inside $BUILD_ROOT. Replace $build{all}
# with specific component flags to build stuff from
# those components that happens to live inside
# $BUILD_ROOT.
#
# ":", and ":mozilla:" both have the same effect, because
# this works by checking that path strings begin with
# $BUILD_ROOT.
#
# $BUILD_ROOT affects only the build phase, not the pull
# phase. There is still no scriptable way to update-and-build
# a specific directory. In particular, $pull{all} will
# still pull the whole tree, irrespective of the
# setting of $BUILD_ROOT. To update and build a particular
# directory, use MacCVS Pro to update the directory,
# then turn off all $pull variables, and set $BUILD_ROOT.
$DEBUG = 1;
$CARBON = 0; # Turn on to build with TARGET_CARBON
$NECKO = 1;
$MOZ_FULLCIRCLE = 0;
$PROFILE = 0;
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
$pull{all} = 0;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 1; # Turn off to do individual builds, or to do "most"
$build{most} = 1; # Turn off to do individual builds
$build{dist} = 0;
$build{dist_runtime} = 0; # Implied by $build{dist}
$build{resources} = 0;
$build{idl} = 0;
$build{xpidl} = 0;
$build{stubs} = 0;
$build{runtime} = 0;
$build{common} = 0;
$build{intl} = 0;
$build{nglayout} = 0;
$build{editor} = 0;
$build{viewer} = 0;
$build{xpapp} = 0;
$build{mailnews} = 0;
$build{apprunner} = 0;
#-----------------------------------------------
# configuration variables that affect the manner
# of building, but possibly affecting
# the outcome.
#-----------------------------------------------
$ALIAS_SYM_FILES = $DEBUG;
$CLOBBER_LIBS = 1; # turn on to clobber existing libs and .xSYM files before
# building each project
# The following two options will delete all dist files (if you have $build{dist} turned on),
# but leave the directory structure intact.
$CLOBBER_DIST_ALL = 1; # turn on to clobber all aliases/files inside dist (headers/xsym/libs)
$CLOBBER_DIST_LIBS = 0; # turn on to clobber only aliases/files for libraries/sym files in dist
$CLOBBER_IDL_PROJECTS = 0; # turn on to clobber all IDL projects.
#-----------------------------------------------
# configuration variables that are preferences for the build style,
# and do not affect what is built.
#-----------------------------------------------
$CodeWarriorLib::CLOSE_PROJECTS_FIRST
= 1;
# 1 = close then make (for development),
# 0 = make then close (for tinderbox).
$USE_TIMESTAMPED_LOGS = 1;
#-----------------------------------------------
# END OF CONFIG SWITCHES
#-----------------------------------------------
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
if ($build{most})
{
### Just uncomment/comment to get the ones you want (if "most" is selected).
# $build{dist} = 1;
# $build{dist_runtime}= 1;
# $build{resources} = 1;
$build{xpidl} = 1; # build idl compiler
$build{idl} = 1;
$build{stubs} = 1;
$build{runtime} = 1;
$build{common} = 1; # Requires intl
$build{intl} = 1;
$build{nglayout} = 1;
$build{editor} = 1;
$build{viewer} = 1;
$build{xpapp} = 1;
$build{mailnews} = 1;
$build{apprunner} = 1;
}
# do the work
# you should not have to edit anything below
chdir("::::");
$MOZ_SRC = cwd();
if ($MOZ_FULLCIRCLE)
{
#// Get the Build Number for the Master.ini(Full Circle) n'stuff
$buildnum = Moz::SetBuildNumber();
}
if ($USE_TIMESTAMPED_LOGS)
{
#Use time-stamped names so that you don't clobber your previous log file!
my $now = localtime();
while ($now =~ s@:@.@) {} # replace all colons by periods
my $logdir = ":Build Logs:";
if (!stat($logdir))
{
print "Creating directory $logdir\n";
mkdir $logdir, 0777 || die "Couldn't create directory $logdir";
}
OpenErrorLog("$logdir$now");
}
else
{
OpenErrorLog("NGLayoutBuildLog"); # Release build
#OpenErrorLog("Mozilla.BuildLog"); # Tinderbox requires that name
}
Moz::StopForErrors();
#Moz::DontStopForErrors();
if ($pull{all}) {
Checkout();
}
BuildDist();
chdir($MOZ_SRC);
BuildProjects();
print "Build complete\n";

View File

@@ -0,0 +1,427 @@
#!perl
package CodeWarriorLib;
=pod
=head1 NAME
CodeWarriorLib - supply interface to CodeWarrior
=head1 SYNOPSIS
#!perl
use CodeWarriorLib;
CodeWarriorLib::activate();
$had_errors = CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
=head1 DESCRIPTION
Replaces the AppleScript library I<CodeWarriorLib>.
=over 4
=cut
use strict;
use Mac::Types;
use Mac::AppleEvents;
use Mac::AppleEvents::Simple;
use Mac::Processes;
use Mac::MoreFiles;
use Mac::StandardFile;
use File::Basename;
use vars qw($VERSION);
$VERSION = '1.02';
my($app) = 'CWIE';
# 0 == don't switch CWIE to front app in do_event(), 1 == do switch
# note: activate() still switches when called
$Mac::AppleEvents::Simple::SWITCH = 0;
# supply your own path to the source here
#_test('PowerPudgeIV:mozilla:mozilla:');
=pod
=item _get_project($full_path)
A private routine returning a reference to the open project with the given name,
or else the empty string (when that project is not open)
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
=cut
sub _get_project ($) {
my(
$full_path, $candidate_projects
) = @_;
$candidate_projects = _doc_named(basename($full_path, '*'));
if ($candidate_projects) {
my($cps) = _get_dobj($candidate_projects);
my($num) = AECountItems($cps);
if ($num) { # is a list
foreach (1 .. AECountItems($cps)) {
my($cp) = AEGetNthDesc($cps, $_);
if ($full_path eq _full_path($cp)) {
return($cp);
}
}
} else { # is only one, not a list
if ($full_path eq _full_path($cps)) {
return($cps);
}
}
}
return;
}
=pod
=item build_project
Build a selected target of a project, saving any errors to a file, if supplied.
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
If target_name is the empty string, the current target of the selected project
will be built, else, target_name should be a string matching a target name in
the selected project.
If error_path is the empty string, errors will not be saved to a file,
else, error_path should be the full path of a file to save error messages into.
=cut
$CodeWarriorLib::CLOSE_PROJECTS_FIRST = 0; # If true we close then make. If false, make then close.
my $last_project_built = "";
my $last_project_was_closed = 0;
sub build_project ($;$$$) {
my(
$full_path, $target_name, $error_path,
$remove_object, $p, $project_was_closed, $had_errors
) = @_;
_close_errors_window();
if ($CodeWarriorLib::CLOSE_PROJECTS_FIRST && ($last_project_built ne $full_path))
{
# If we're in "close first" mode, we don't close if the current project
# is the same as the previous one.
if ($last_project_was_closed) {
$p = _get_project($last_project_built);
_close($p);
}
$last_project_built = $full_path;
$last_project_was_closed = 0; # now refers to the new project
}
$project_was_closed = 0;
while (1) {
$p = _get_project($full_path);
if (!$p) {
if ($project_was_closed) {
print "### Error - request for project document failed after opening\n";
die "### possibly CW Pro 4 bug: be sure to close your Find window\n";
}
$project_was_closed = 1;
$last_project_was_closed = 1;
_open_file($full_path);
} else {
last;
}
}
$had_errors = 0;
if ($target_name eq '') {
if ($remove_object) {_remove_object($p)}
_build($p);
} else {
if ($remove_object) {_remove_object($p, $target_name)}
_build($p, $target_name);
}
if ($error_path ne '') {
_save_errors_window($error_path);
}
$had_errors = _close_errors_window();
if (!$CodeWarriorLib::CLOSE_PROJECTS_FIRST)
{
if ($project_was_closed) {
$p = _get_project($full_path);
_close($p);
}
}
return($had_errors);
}
=pod
=item activate()
Launches CodeWarrior and brings it to the front.
Once found, path will be saved in ':idepath.txt' for future reference.
Edit or delete this file to change the location of the IDE. If app is
moved, C<activate()> will prompt for a new location.
First looks for an open CodeWarrior app. Second, tries to open previously
saved location in ':idepath.txt'. Third, tries to find it and allow user
to choose it with Navigation Services (if present). Fourth, uses good old
GUSI routines built-in to MacPerl for a Choose Directory dialog box.
=cut
sub activate () {
local(*F);
my($filepath, $appath, $psi) = (':idepath.txt');
foreach $psi (values(%Process)) {
if ($psi->processSignature() eq $app) {
$appath = $psi->processAppSpec(), "\n";
_save_appath($filepath, $appath);
last;
}
}
if ((!$appath || ! -x $appath) && open(F, $filepath)) {
$appath = <F>;
close(F);
}
if (!$appath || ! -x $appath)
{
# make sure that MacPerl is a front process
#ActivateApplication('McPL');
MacPerl::Answer("Please locate the CodeWarrior application.", "OK");
# prompt user for the file name, and store it
my $macFile = StandardGetFile( 0, "APPL");
if ( $macFile->sfGood() )
{
$appath = $macFile->sfFile();
}
else
{
die "Operation canceled\n";
}
# if (eval {require Mac::Navigation}) {
# my($options, $nav);
# Mac::Navigation->import();
# $options = NavGetDefaultDialogOptions();
# $options->message('Where is CodeWarrior IDE?');
# $options->windowTitle('Find CodeWarrior IDE');
# $nav = NavChooseObject($Application{$app}, $options);
# die "CodeWarrior IDE not found.\n" if (!$nav || !$nav->file(1));
# $appath = $nav->file(1);
# } else {
# local(*D);
# my $cwd = `pwd`;
# $appath = _get_folder(
# 'Where is the CW IDE folder?',
# dirname($Application{$app})
# );
# die "CodeWarrior IDE not found.\n" if !$appath;
# opendir(D, $appath) or die $!;
# chdir($appath);
# foreach my $file (sort readdir (D)) {
# my(@app) = MacPerl::GetFileInfo($file);
# if ($app[0] && $app[1] &&
# $app[1] eq 'APPL' && $app[0] eq $app
# ) {
# $appath .= $file;
# last;
# }
# }
# chomp($cwd);
# chdir($cwd);
# }
_save_appath($filepath, $appath);
}
my($lp) = LaunchParam->new(
launchAppSpec => $appath,
launchControlFlags => launchContinue() + launchNoFileFlags()
);
unless (LaunchApplication($lp)) {
unlink($filepath);
die $^E;
}
}
sub _build ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE MAKE/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE MAKE/, $app, $prm);
}
}
sub _remove_object ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE RMOB/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE RMOB/, $app, $prm);
}
}
sub _open_file ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), " .
q"seld:TEXT(@), from:'null'()}";
do_event(qw/aevt odoc/, $app, $prm, $_[0]);
}
sub _doc_named ($) {
my($prm) =
q"'----':obj {form:test, want:type(docu), from:'null'(), " .
q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" .
q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}";
my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]);
return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt);
}
sub _full_path ($) {
my($obj) = $_[0];
my($prm) =
q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " .
q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)";
my($evt) = do_event(qw/core getd/, $app, $prm);
return MacPerl::MakePath(
MacUnpack('fss ', (
AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get()
)
);
}
sub _save_errors_window ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
do_event(qw/MMPR SvMs/, $app, $prm, $_[0]);
}
sub _close_errors_window () {
my($prm) =
q"'----':obj {form:name, want:type(cwin), " .
q"seld:TEXT(@), from:'null'()}";
my($evt) = do_event(qw/core clos/, $app, $prm, 'Errors & Warnings');
return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0);
}
sub _close () {
my($prm) = q"'----':" . AEPrint($_[0]);
do_event(qw/core clos/, $app, $prm);
}
sub _get_dobj ($) {
return(AEGetParamDesc($_[0]->{REP}, keyDirectObject()));
}
sub _get_folder ($$) {
require 'GUSI.ph';
my($prompt, $default) = @_;
MacPerl::Choose(
GUSI::AF_FILE(), 0, $prompt, '',
GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0),
$default
);
}
sub _save_appath ($$) {
open(F, '>' . $_[0]) or die $!;
print F $_[1];
close(F);
}
sub _test ($) {
activate();
my($path) = $_[0];
build_project(
"${path}modules:xml:macbuild:XML.mcp", '',
"${path}build:mac:Mozilla.BuildLog.part"
);
}
1;
=pod
=back
=head1 HISTORY
=over 4
=item v1.02, September 23, 1998
Made fixes in finding and saving location of CodeWarrior IDE.
=item v1.01, June 1, 1998
Made fixes to C<chdir()> in C<activate()>, made C<activate()> more robust
in finding CodeWarrior IDE, added global variable to NOT switch to IDE
for each sent event, a few other fixes.
=item v1.00, May 30, 1998
First shot
=back
=head1 AUTHORS
Chris Nandor F<E<lt>pudge@pobox.comE<gt>>, and the author of the
original I<CodeWarriorLib>, Scott Collins F<E<lt>scc@netscape.comE<gt>>.
=head1 SEE ALSO
BuildProject L<Moz>.
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
=cut

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.

BIN
mozilla/build/mac/GenToc Normal file

Binary file not shown.

View File

@@ -0,0 +1,264 @@
(*
*
* 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):
*)
(*
GenToc - Generates a .toc file from the current contents of a project.
by Patrick C. Beard <beard@netscape.com>
*)
on swapDelimiters(newDelimiters)
set oldDelimiters to get AppleScript's text item delimiters
set AppleScript's text item delimiters to newDelimiters
return oldDelimiters
end swapDelimiters
on setDelimiters(newDelimiters)
set AppleScript's text item delimiters to newDelimiters
end setDelimiters
on setExtension(fileName, newExtension)
set oldDelimiters to swapDelimiters(".")
set newFileName to (text item 1 of fileName) & newExtension
setDelimiters(oldDelimiters)
return newFileName
end setExtension
on folderFromPath(filePath)
set folderPath to ((filePath's text items 1 thru ((count of filePath's text items) - 1)) as string) & ":"
return folderPath
end folderFromPath
on fileFromPath(filePath)
return last text item of filePath
end fileFromPath
on openProject(aProjectFile)
tell application "CodeWarrior IDE 3.3"
open aProjectFile
end tell
end openProject
on selectProject(aProjectFile)
set projectName to fileFromPath(aProjectFile as text)
tell application "CodeWarrior IDE 3.3"
if (name of window 1 is not projectName) then
select window projectName
end if
end tell
end selectProject
on getTargets()
set targetList to {}
set nameList to {}
tell application "CodeWarrior IDE 3.3"
set currentProject to project document 1
repeat with targetIndex from 1 to (count of targets of currentProject)
set currentTarget to (target targetIndex of currentProject)
set targetList to targetList & {currentTarget}
set nameList to nameList & {name of currentTarget}
end repeat
return {target:targetList, names:nameList}
end tell
end getTargets
(* uses "sort" scripting addition to sort a list of strings. *)
on sortList(aList)
if (aList ­ {}) then
return sort aList
else
return {}
end if
end sortList
(* uses "info for" scripting addition, to return the file type of a path. *)
on getFileType(aFilePath)
return file type of (info for alias aFilePath)
end getFileType
(* returns all "TEXT" files of the named target. *)
on getTargetFiles(targetKey)
set targetFiles to {}
tell application "CodeWarrior IDE 3.3"
set currentProject to project document 1
set currentTarget to (target targetKey of currentProject)
try
-- workaround for CW IDE 3.X bug, loop until error encountered.
set fileIndex to 1
repeat until false
set targetFile to (target file fileIndex of currentTarget)
-- only consider text files, since other platforms won't be managing binaries.
-- also, only consider if target file is directly linked.
if (linked of targetFile) then
set targetFilePath to (Access Paths of targetFile)
tell me
if (getFileType(targetFilePath) = "TEXT") then
set targetFiles to targetFiles & {targetFilePath}
end if
end tell
end if
set fileIndex to (fileIndex + 1)
end repeat
on error msg
-- display dialog msg & " file count = " & fileIndex
end try
end tell
return sortList(targetFiles)
end getTargetFiles
on addTargetFile(targetFile, targetName)
tell application "CodeWarrior IDE 3.3"
add (project document 1) new target file with data {targetFile} to targets {targetName}
end tell
end addTargetFile
on setCurrentTarget(currentTargetName)
tell application "CodeWarrior IDE 3.3"
Set Current Target currentTargetName
end tell
end setCurrentTarget
on removeTargetFile(targetFile)
tell application "CodeWarrior IDE 3.3"
Remove Files {targetFile}
end tell
end removeTargetFile
on quote(aString)
return "'" & aString & "'"
end quote
on listContains(aList, anItem)
repeat with listItem in aList
if (listItem contains anItem) then
return true
end if
end repeat
return false
end listContains
on showList(listToShow)
choose from list listToShow with prompt "List:" with empty selection allowed
end showList
on replace(aString, oldChar, newChar)
set newString to ""
repeat with aChar in (every character of aString)
if (contents of aChar = oldChar) then
set newString to newString & newChar
else
set newString to newString & aChar
end if
end repeat
return newString
end replace
on substring(aString, anOffset)
set aSubString to ""
repeat with charIndex from anOffset to (count aString)
set aSubString to aSubString & (character charIndex of aString)
end repeat
return aSubString
end substring
on setFileInfo(aFile, aCreator, aType)
tell application "Finder"
set creator type of aFile to aCreator
set file type of aFile to aType
end tell
end setFileInfo
on closeFile(fileRef)
try
-- make sure it's not currently open.
close access fileRef
on error
-- ignore error closing.
end try
end closeFile
on mroFile(aFile)
try
-- make sure it's modifiable.
mro aFile
on error
-- ignore error MROing.
end try
end mroFile
on run
-- so we can easily strip off file names from paths.
set oldDelimiters to swapDelimiters(":")
set theProjectFile to (choose file with prompt "Choose a CW Project file." of type {"MMPr"})
set theManifestFile to (new file with prompt "Create MANIFEST where?" default name setExtension(fileFromPath(theProjectFile as text), ".toc"))
set manifestRef to false
try
-- make sure the file is closed & is modifiable.
closeFile(theManifestFile)
mroFile(theManifestFile)
-- open the new MANIFEST file.
set manifestRef to (open for access theManifestFile with write permission)
set eof manifestRef to 0
-- give it CodeWarrior look and feel.
setFileInfo(theManifestFile, "CWIE", "TEXT")
openProject(theProjectFile)
selectProject(theProjectFile)
set targetsList to getTargets()
set targetNames to names of targetsList
set targetCount to count items of targetNames
set mozillaTreePathOffset to (offset of "mozilla" in (theManifestFile as text))
-- dump all targets into the new MANIFEST file.
repeat with targetName in targetNames
write ("# target: " & targetName & return) to manifestRef
setCurrentTarget(targetName)
set targetFiles to getTargetFiles(contents of targetName)
repeat with targetFile in targetFiles
-- only store the path name relative to the source tree itself.
set targetFilePath to substring(contents of targetFile, mozillaTreePathOffset)
write (replace(targetFilePath, ":", "/") & return) to manifestRef
end repeat
end repeat
on error msg
display dialog msg
end try
if (manifestRef is not false) then
closeFile(manifestRef)
end if
-- shut the project down, and display the result.
tell application "CodeWarrior IDE 3.3"
activate
Close Project
open theManifestFile
end tell
setDelimiters(oldDelimiters)
end run

View File

@@ -0,0 +1,109 @@
/* -*- 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.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):
*/
/*
This file overrides all option settings in the IDE. It is an attempt to allow all builds
to have the same options.
Note: We can't use ConditionalMacros.h in this file because it will conflict with
the PowerPlant precompiled headers.
*/
/* warning pragmas */
#pragma warn_hidevirtual on
#pragma warn_emptydecl on
#pragma warn_unusedvar on
#pragma warn_extracomma on
#pragma warn_illpragma on
#pragma warn_possunwant on
#pragma warn_unusedarg off /* turned off to reduce warnings */
#pragma check_header_flags on
/* Language features that must be the same across libraries... */
#pragma enumsalwaysint on
#pragma unsigned_char off
#pragma exceptions on
#pragma bool on
#pragma RTTI on
/* Save as much space as possible with strings... */
#pragma pool_strings on
#pragma dont_reuse_strings off
#pragma options align=native
#pragma sym on /* Takes no memory. OK in non-debug. */
#ifdef powerc /* ...generating PowerPC */
#pragma toc_data on
#pragma fp_contract on
#pragma readonly_strings on
#ifdef DEBUG
#pragma profile off /* Turn this on to profile the application. */
/* Look for more details about profiling in nsMacMessagePump.cpp. */
#pragma traceback on
#pragma global_optimizer off
#pragma scheduling off
#pragma peephole off
#pragma optimize_for_size off
#else
#pragma traceback on /* leave on until the final release, so MacsBug logs are interpretable */
#pragma global_optimizer on
#pragma optimization_level 4
#pragma scheduling 603
#pragma peephole on
#pragma optimize_for_size on
#pragma opt_strength_reduction on
#pragma opt_propagation on
#pragma opt_loop_invariants on
#pragma opt_lifetimes on
#pragma opt_dead_code on
#pragma opt_dead_assignments on
#pragma opt_common_subs on
#endif
#else /* ...generating 68k */
#pragma code68020 on
#pragma code68881 off
/* Far everything... */
#pragma far_code
#pragma far_data on
#pragma far_strings on
#pragma far_vtables on
#pragma fourbyteints on /* 4-byte ints */
#pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */
#ifdef DEBUG
#pragma macsbug on
#pragma oldstyle_symbols off
#else
#pragma macsbug off
#endif
#endif

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,222 @@
#!perl -w
package MANIFESTO;
require 5.004;
require Exporter;
#use strict;
use vars qw($VERSION @ISA @EXPORT $MANIFESTOLib);
use Mac::StandardFile;
use Moz;
use Cwd;
use Exporter;
use File::Basename;
@ISA = qw(Exporter);
@EXPORT = qw(ReconcileProject);
$VERSION = "1.00";
=head1 NAME
MANIFESTO - drives the Mac Project Reconciliation tool.
=head1 SYNOPSIS
You want to use this script. It will make your life easier.
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
=cut
#
# globals
# $MANIFESTOLib - location of MANIFESTO applescript library
#
#
# utility routines
#
sub current_directory()
{
my $current_directory = cwd();
chop($current_directory) if ( $current_directory =~ m/:$/ );
return $current_directory;
}
# Uses the "compile script" extension to compile a script.
sub compile_script($;$) {
my($scriptPath, $outputPath) = @_;
#// generate a script to compile a script file.
my $script = <<END_OF_APPLESCRIPT;
store script (compile script (alias "$scriptPath")) in (file "$outputPath") replacing yes
END_OF_APPLESCRIPT
#// run the script.
MacPerl::DoAppleScript($script);
}
# _useMANIFESTOLib()
# returns 1 on success
# Search the include path for the file called MANIFESTOLib
sub _useMANIFESTOLib()
{
unless ( defined($MANIFESTOLib) )
{
my($scriptName) = "MANIFESTOLib.script";
my($libName) = "MANIFESTOLib";
# try the directory we were run from
my($scriptPath) = dirname($0) . ":" . $scriptName;
my($libPath) = dirname($0) . ":" . $libName;
# make sure that the compiled script is up to date with the textual script.
unless (-e $libPath && getModificationDate($libPath) >= getModificationDate($scriptPath)) {
print "# Recompiling MANIFESTOLib.script.\n";
compile_script($scriptPath, $libPath);
}
if ( -e $libPath) {
$MANIFESTOLib = $libPath;
} else {
# now search the include directories
foreach (@INC)
{
unless ( m/^Dev:Pseudo/ ) # This is some bizarre MacPerl special-case directory
{
$libPath = $_ . $libName;
if (-e $libPath)
{
$MANIFESTOLib = $libPath;
last;
}
}
}
}
if (! (-e $MANIFESTOLib)) {
print STDERR "MANIFESTOLib lib could not be found! $MANIFESTOLib";
return 0;
}
}
return 1;
}
sub getModificationDate($) {
my($filePath)=@_;
my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = stat($filePath);
return $mtime;
}
sub setExtension($;$;$) {
my($filePath, $oldExtension, $newExtension)=@_;
my($name, $dir, $type) = fileparse($filePath, $oldExtension);
return "$dir$name$newExtension";
}
#
# ReconcileProject(projectPath, manifestoPath)
#
# Uses MANIFESTOLib AppleScript to reconcile the contents (toc?) of a
# CodeWarrior project with an external MANIFEST file.
#
sub ReconcileProject($;$) {
#// turn this feature on by removing the following line.
return 1;
my($projectPath, $manifestoPath) = @_;
my($sourceTree) = current_directory();
my($logPath) = setExtension($manifestoPath, ".toc", ".log");
print STDERR "# Reconciling Project: $projectPath with $manifestoPath\n";
#// compare the modification dates of the .toc and .log files. If .log is newer, do nothing.
if (-e $logPath && getModificationDate($logPath) >= getModificationDate($manifestoPath)) {
print "# Project is up to date.\n";
return 1;
}
_useMANIFESTOLib() || die "Could not load MANIFESTOLib\n";
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MANIFESTOLib") to ReconcileProject("$sourceTree:", "$sourceTree$projectPath", "$sourceTree$manifestoPath")
END_OF_APPLESCRIPT
#// run the script, and store the results in a file called "$manifestoPath.log"
my $asresult = substr(MacPerl::DoAppleScript($script), 1, -1); #// chops off leading, trailing quotes.
#// print out to STDOUT to show progress.
print $asresult;
#// store the results in "$manifestoPath.log", which will act as a cache for later checks.
open(OUTPUT, ">$logPath") || die "can't open log file $logPath.";
print OUTPUT $asresult;
close(OUTPUT);
return 1;
}
1;
=pod
=head1 NAME
MANIFESTO - Scripts to process source .toc files.
=head1 SYNOPSIS
use MANIFESTO;
ReconcileProject(<path to Mac project file>, <path to table of contents file>) || die "cannot reconcile project";
=head1 DESCRIPTION
This is a PERL interface for talking to MANIFESTOLib AppleScripts.
=item ReconcileProject
ReconcileProject(<path to Mac project file>, <path to table of contents file>);
Reconciles the contents of a project with an external .toc file.
=cut
=head1 SEE ALSO
=over
=item MacCVS Home Page
http://www.maccvs.org/
=back
=head1 AUTHORS
Patrick Beard beard@netscape.com
based on work by
Aleks Totic atotic@netscape.com
=cut
__END__

Binary file not shown.

View File

@@ -0,0 +1,376 @@
(*
*
* 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):
*)
(*
MANIFESTOLib - Reconciles a CW Project file with an external table of contents file.
Uses merge sort, one pass per target.
by Patrick C. Beard <beard@netscape.com>
*)
(* Global Configuration Properties *)
property pShowReport : true
-- property pSourceTree : "Homeward:Work:Raptor:src:"
property pSourceTree : "Morbeus:Projects:Raptor:src:"
on swapDelimiters(newDelimiters)
set oldDelimiters to get AppleScript's text item delimiters
set AppleScript's text item delimiters to newDelimiters
return oldDelimiters
end swapDelimiters
on setDelimiters(newDelimiters)
set AppleScript's text item delimiters to newDelimiters
end setDelimiters
-- replaces oldChar with newChar in a string.
on replace(aString, oldChar, newChar)
set newString to ""
repeat with aChar in (every character of aString)
if (contents of aChar = oldChar) then
set newString to newString & newChar
else
set newString to newString & aChar
end if
end repeat
return newString
end replace
(* uses "sort" scripting addition to sort a list of strings. *)
on sortList(aList)
if (aList ­ {}) then
return sort aList
else
return {}
end if
end sortList
-- reads .toc file into a list.
on readManifestFile(sourceTree, manifestFile)
set oldDelimiters to swapDelimiters(return)
set fileRef to false
set fileLines to {}
try
set fileRef to (open for access manifestFile without write permission)
-- read entire file into memory, use text items to delimit lines.
set fileContents to (read fileRef)
repeat with lineRef in (every text item of fileContents)
-- ignore lines that start with "#" or are empty.
set fileLine to (contents of lineRef)
if (fileLine ­ "") and not (fileLine starts with "#") then
set fileLines to fileLines & (sourceTree & replace(fileLine, "/", ":"))
end if
end repeat
on error
-- ignore errors.
end try
if (fileRef is not false) then close access fileRef
setDelimiters(oldDelimiters)
return sortList(fileLines)
end readManifestFile
(* both of the following depend on ":" as the delimiter character. *)
on folderFromPath(filePath)
return ((filePath's text items 1 thru ((count of filePath's text items) - 1)) as string) & ":"
end folderFromPath
on fileFromPath(filePath)
return last text item of filePath
end fileFromPath
(* CW Pro IDE Interface Handlers. *)
on openProject(aProjectFile)
tell application "CodeWarrior IDE 3.3"
-- activate
open aProjectFile
end tell
end openProject
(* forces the named project file to be the front window. *)
on selectProject(aProjectFile)
set projectName to fileFromPath(aProjectFile as text)
tell application "CodeWarrior IDE 3.3"
if (name of window 1 is not projectName) then
select window projectName
end if
end tell
end selectProject
on closeProject(aProjectFile)
tell application "CodeWarrior IDE 3.3"
Close Project
end tell
end closeProject
on getTargets()
set targetList to {}
set nameList to {}
tell application "CodeWarrior IDE 3.3"
set currentProject to project document 1
repeat with targetIndex from 1 to (count of targets of currentProject)
set currentTarget to (target targetIndex of currentProject)
set targetList to targetList & {currentTarget}
set nameList to nameList & {name of currentTarget}
end repeat
return {target:targetList, names:nameList}
end tell
end getTargets
(* uses "info for" scripting addition, to return the file type of a path. *)
on getFileType(aFilePath)
return file type of (info for alias aFilePath)
end getFileType
(* returns all "TEXT" files of the named target. *)
on getTargetFiles(targetKey)
set targetFiles to {}
tell application "CodeWarrior IDE 3.3"
set currentProject to project document 1
set currentTarget to (target targetKey of currentProject)
try
-- workaround for CW IDE 3.X bug, loop until error encountered.
set fileIndex to 1
repeat until false
set targetFile to (target file fileIndex of currentTarget)
-- only consider text files, since other platforms won't be managing binaries.
-- also, only consider if target file is directly linked.
if (linked of targetFile) then
set targetFilePath to (Access Paths of targetFile)
tell me
if (getFileType(targetFilePath) = "TEXT") then
set targetFiles to targetFiles & {targetFilePath}
end if
end tell
end if
set fileIndex to (fileIndex + 1)
end repeat
on error msg
-- display dialog msg & " file count = " & fileIndex
end try
end tell
return sortList(targetFiles)
end getTargetFiles
on addTargetFile(targetFile, targetList)
tell application "CodeWarrior IDE 3.3"
add (project document 1) new target file with data {targetFile} to targets targetList
end tell
end addTargetFile
global gCurrentTarget
on setCurrentTarget(currentTargetName)
if (gCurrentTarget ­ currentTargetName) then
set gCurrentTarget to currentTargetName
tell application "CodeWarrior IDE 3.3"
Set Current Target currentTargetName
end tell
end if
end setCurrentTarget
on removeTargetFile(targetFile)
tell application "CodeWarrior IDE 3.3"
Remove Files {targetFile}
end tell
end removeTargetFile
on quote(aString)
return "'" & aString & "'"
end quote
on listContains(aList, anItem)
repeat with listItem in aList
if (contents of listItem = anItem) then
return true
end if
end repeat
return false
end listContains
on showList(aList)
choose from list aList with prompt "List:" with empty selection allowed
end showList
global gProjectModified
on ModifyReadOnly(aProjectFile)
if (not gProjectModified) then
set gProjectModified to true
-- so CodeWarrior will notice, must close the file before MROing it.
closeProject(aProjectFile)
mro aProjectFile
openProject(aProjectFile)
selectProject(aProjectFile)
end if
end ModifyReadOnly
on makeStream(itemList)
return {streamList:itemList, streamCount:count itemList, streamIndex:0}
end makeStream
(* true is used as the end of stream value. *)
property pEOS : true
on advanceStream(stream)
set itemCount to (streamCount of stream)
set itemIndex to (streamIndex of stream)
if (itemIndex < itemCount) then
set itemIndex to (itemIndex + 1)
set (streamIndex of stream) to itemIndex
return (item itemIndex of streamList of stream)
else
return pEOS
end if
end advanceStream
-- returns true if str2 is INFINITELY great, or str1 is less than str2.
on precedes(str1, str2)
return (str2 = pEOS) or ((str1 ­ pEOS) and (str1 < str2))
end precedes
on get_current_application()
return last text item of ((path to current application) as text)
end get_current_application
on get_frontmost_application()
return last text item of ((path to frontmost application) as text)
end get_frontmost_application
on activate_application(applicationName)
tell application "Finder"
set applicationProcess to (application process applicationName)
set frontmost of applicationProcess to true
end tell
end activate_application
on ReconcileProject(sourceTree, projectPath, manifestoPath)
-- so we can easily strip off file names from paths.
set oldDelimiters to swapDelimiters(":")
-- initialize globals.
set gCurrentTarget to ""
set gProjectModified to false
-- convert paths to aliases.
set projectFile to alias projectPath
set manifestFile to alias manifestoPath
-- read the MANIFESTO file into a list of paths.
set manifestContents to readManifestFile(sourceTree, manifestFile)
-- return manifestContents
-- now, start processing the file items, ensuring that the project contains all items.
openProject(projectFile)
selectProject(projectFile)
set targetsList to getTargets()
set targetNames to names of targetsList
if (pShowReport) then
set theReport to ""
set addedFiles to ""
set removedFiles to ""
end if
-- push current application to front for speed.
-- set frontmostApplication to get_frontmost_application()
-- set currentApplication to get_current_application()
-- activate_application(currentApplication)
-- reconcile all targets with the MANIFEST file.
-- this loop should be recoded in PERL for speed.
-- IDEA: with sorted lists, can scan both lists, like a merge sort, and make one pass per target.
repeat with targetNameRef in targetNames
-- switch targets because getTargetFiles now checks to see if file is linked in current target.
set targetName to (contents of targetNameRef)
set targetFiles to getTargetFiles(targetName)
-- hopefully, this list test is fast.
if (targetFiles ­ manifestContents) then
-- return {count targetFiles, count manifestContents, targetFiles, manifestContents}
-- make sure the project file is modifiable.
ModifyReadOnly(projectFile)
setCurrentTarget(targetName)
set targetStream to makeStream(targetFiles)
set targetItem to advanceStream(targetStream)
set manifestStream to makeStream(manifestContents)
set manifestItem to advanceStream(manifestStream)
repeat until (manifestItem is pEOS) and (targetItem is pEOS)
-- display dialog "m: " & manifestItem & ", t: " & targetFileItem
if (manifestItem = targetItem) then
-- items match, advance both.
set manifestItem to advanceStream(manifestStream)
set targetItem to advanceStream(targetStream)
else
-- return {manifestItem, targetItem}
if (precedes(manifestItem, targetItem)) then
-- we have an item in manifest, not in project, so we have to add it to the targets.
-- display dialog "adding " & manifestItem
addTargetFile(manifestItem, targetNames)
if pShowReport then
set addedFiles to addedFiles & ("# " & (last text item of manifestItem) & return)
end if
set manifestItem to advanceStream(manifestStream)
else
-- we have an item not in manifest, but in project, so it must be removed from this target.
-- display dialog "removing " & targetItem
removeTargetFile(targetItem)
if pShowReport then
set removedFiles to removedFiles & ("# " & targetName & " - " & (last text item of targetItem) & return)
end if
set targetItem to advanceStream(targetStream)
end if
end if
end repeat
end if
end repeat
-- activate_application(frontmostApplication)
-- commit the project changes, and optionally display a report.
tell application "CodeWarrior IDE 3.3"
-- leave project open for compilation phase?
Close Project
if pShowReport then
if addedFiles is not "" then set theReport to ("# Added files: " & return & addedFiles)
if removedFiles is not "" then set theReport to theReport & ("# Removed files: " & return & removedFiles)
if (theReport is "") then set theReport to (" # Project is up to date." & return)
-- display dialog theReport buttons {"OK"} default button "OK"
end if
end tell
-- restore AppleScript's delimiters.
setDelimiters(oldDelimiters)
-- return 0 to indicate no error.
return theReport
end ReconcileProject
on run
-- when run interactively,
-- ask user which project/MANIFEST files to use.
set projectPath to (choose file with prompt "Choose a CW Project file." of type {"MMPr"}) as text
set manifestPath to (choose file with prompt "Choose a TOC file to process." of type {"TEXT"}) as text
ReconcileProject(pSourceTree, projectPath, manifestPath)
end run

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.

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

@@ -0,0 +1,559 @@
=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;
use Mac::Types;
use Mac::Events;
use Mac::Processes;
@ISA = qw(Exporter);
@EXPORT = qw(BuildProject BuildProjectClean OpenErrorLog MakeAlias StopForErrors DontStopForErrors InstallFromManifest InstallResources SetBuildNumber SetAgentString SetTimeBomb Delay ActivateApplication);
@EXPORT_OK = qw(CloseErrorLog UseCodeWarriorLib QUIET);
use Cwd;
use File::Path;
use ExtUtils::Manifest 'maniread';
use CodeWarriorLib;
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();
CodeWarriorLib::activate();
}
$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") || die "Can't open logfile, check the file path.\n";
MacPerl::SetFileInfo("CWIE", "TEXT", $log_file);
$log_file =~ m/.+:(.+)/;
$recent_errors_file = full_path_to("$1.part");
$logging = 1;
}
}
=head2 Stopping before it's too late - C<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/ || /^Link Error/ )
{
# if (!$found_errors)
# print $_;
$found_errors = 1;
}
print ERROR_LOG $_;
}
close(RECENT_ERRORS);
unlink("$recent_errors_file");
}
if ( $stop_on_1st_error && $found_errors )
{
print ERROR_LOG "### Build failed.\n";
die "### Errors encountered building \"$project_name\".\n";
}
}
sub 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\[$target_name\]\"\n";
$had_errors = CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
WaitNextEvent();
# $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 ) # Removed this test, because we want warnings, too. -- jrm
{
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, 0);
}
sub BuildProjectClean($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, 1);
}
=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\"; because ";
die "$message \"$old_file\" doesn't exist.\n" unless -e $old_file;
die "$message I won't replace an existing (non-alias) file with an alias.\n" if ( -e $new_file && ! -l $new_file );
# now: $old_file exists; $new_file doesn't (or else, is an alias already)
if ( -l $new_file )
{
# ...then see if it already points to $old_file
my $current_target = full_path_to(readlink($new_file));
my $new_target = full_path_to($old_file);
return if ( $current_target eq $new_target );
# if the desired alias already exists and points to the right thing, then we're done
unlink $new_file;
}
symlink($old_file, $new_file) || die "$message symlink returned an unexpected error.\n";
}
=pod
C<InstallFromManifest()>
=cut
sub InstallFromManifest($;$$)
{
my ($manifest_file, $dest_dir, $flat) = @_;
$flat = 0 unless defined($flat); # if $flat, all rel. paths in MANIFEST get aliased to the root of $dest_dir
$dest_dir ||= ":";
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
#Mac::Events->import();
WaitNextEvent();
if ($flat)
{
print "Doing manifest on \"$manifest_file\" FLAT\n" unless $QUIET;
}
else
{
print "Doing manifest on \"$manifest_file\"\n" unless $QUIET;
}
my $read = maniread(full_path_to($manifest_file));
foreach $file (keys %$read)
{
next unless $file;
$subdir = ":";
if (!$flat && ($file =~ /:.+:/ ))
{
$subdir = $&;
}
$file = ":$file" unless $file =~ m/^:/;
MakeAlias("$source_dir$file", "$dest_dir$subdir");
}
}
=pod
C<InstallResources()>
=cut
# parameters are path to MANIFEST file, destination dir, true (to make copies) or false (to make aliases)
sub InstallResources($;$;$)
{
my ($manifest_file, $dest_dir, $copy_files) = @_;
$dest_dir ||= ":";
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
WaitNextEvent();
print "Installing resources from \"$manifest_file\"\n" unless $QUIET;
my $read = maniread(full_path_to($manifest_file));
foreach $file (keys %$read)
{
next unless $file;
if ($copy_files)
{
print "Implement this if you need it";
}
else
{
MakeAlias("$source_dir:$file", "$dest_dir:$file");
}
}
}
sub SetBuildNumber
{
open (OUTPUT, ">:mozilla:config:build_number") || die "could not open buildnumber";
open (BDATE, "perl :mozilla:config:bdate.pl|");
while (<BDATE>) {
print OUTPUT $_;
}
close (BDATE);
close (OUTPUT);
system ("perl :mozilla:config:aboutime.pl :mozilla:xpfe:appshell:public:nsBuildID.h :mozilla:config:build_number");
system ("perl :mozilla:config:aboutime.pl :mozilla:xpfe:browser:resources:locale:en-US:navigator.dtd :mozilla:config:build_number");
system ("perl :mozilla:config:aboutime.pl :mozilla:xpfe:browser:resources:content:viewSource.xul :mozilla:config:build_number");
}
sub SetAgentString
{
open (BDATE, ":mozilla:config:build_number") || die "could not open buildnumber";
while (<BDATE>) {
$build_number = $_;
}
close (BDATE);
open (ORIGFILE, ":mozilla:cmd:macfe:restext:custom.r") || die "no original file";
open (OUTPUT, ">:mozilla:cmd:macfe:restext:agent.r") || die "no output file";
chop($build_number);
while (<ORIGFILE>) {
$tempstring = $_;
if ($tempstring =~ "\#define VERSION_MAJOR_STR") {
$tempstring = "\#define VERSION_MAJOR_STR \"5.0a1-" . $build_number . " Development\"\n";
}
print OUTPUT $tempstring;
}
close (ORIGFILE);
close (OUTPUT);
unlink (":mozilla:cmd:macfe:restext:custom.r");
rename (":mozilla:cmd:macfe:restext:agent.r", ":mozilla:cmd:macfe:restext:custom.r");
}
sub SetTimeBomb($$)
{
my ($warn_days, $bomb_days) = @_;
system("perl :mozilla:config:mac-set-timebomb.pl $warn_days $bomb_days");
}
sub Delay($)
{
my ($delay_seconds) = @_;
$now = time;
$exit_time = $now + $delay_seconds;
while ($exit_time > $now) {
$now = time;
}
}
sub ActivateApplication($)
{
my ($appSignature) = @_;
my ($psi, $found);
my ($appPSN);
$found = 0;
foreach $psi (values(%Process))
{
if ($psi->processSignature() eq $appSignature)
{
$appPSN = $psi->processNumber();
$found = 1;
last;
}
}
if ($found == 0)
{
return;
}
SetFrontProcess($appPSN);
while (GetFrontProcess() != $appPSN)
{
WaitNextEvent();
}
}
1;
=head1 AUTHORS
Scott Collins <scc@netscape.com>, Simon Fraser <sfraser@netscape.com>, Chris Yeh <cyeh@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.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
=cut

File diff suppressed because it is too large Load Diff

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.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):
*/
#error "DonÕt use me!"
#define OLDROUTINELOCATIONS 0
#define XP_MAC 1
#define NSPR20 1
#define _NO_FAST_STRING_INLINES_ 1
#define HAVE_BOOLEAN 1
#define NETSCAPE 1
#define OTUNIXERRORS 1 /* We want OpenTransport error codes */
#define OJI 1
/*
This compiles in heap dumping utilities and other good stuff
for developers -- maybe we only want it in for a special SDK
nspr/java runtime(?):
*/
#define DEVELOPER_DEBUG 1
#define MAX(_a,_b) ((_a) < (_b) ? (_b) : (_a))
#define MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b))

View File

@@ -0,0 +1,61 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
#
# nglayout build script (debug)
#
use Mac::Processes;
use NGLayoutBuildList;
use Cwd;
use Moz;
# configuration variables
$DEBUG = 1;
$pull{all} = 1;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
# do the work
# you should not have to edit anything bellow
chdir("::::");
Moz::StopForErrors();
#Moz::DontStopForErrors();
#OpenErrorLog("::NGLayoutBuildLog");
OpenErrorLog("NGLayoutPullLog"); # Tinderbox requires that name
Checkout();

Binary file not shown.

View File

@@ -0,0 +1,908 @@
global PPCPROJECTFAILED
global CVSSESSIONFILE
global CVSSESSIONNAME
global BUILDLIST
global BUILDNAME
global FOLDERTIME
global SOURCEPATH
global CHECKOUTTIME
global TINDERBOXTREE
global MACHINEADMIN
global CLOBBERBUILD
global STARTUPDISK
global BINARYPATH
property CONFIGFILENAME : "Tinderbox Config"
-------------------------
on CreateLogFile(logFilePath)
-- creates a "build log" file
-------------------------
global logFileID
set logFileID to 0
try
set logFileID to open for access file logFilePath with write permission
--set the type of alias logFilePath to "CWIE"
on error errMsg2 number errNum
if (errNum is not -49) then
-- nothing to do about such errors
error errMsg2 & " error = " & errNum
end if
end try
end CreateLogFile
-------------------------
on CloseLogFile()
-- close log file
-------------------------
global logFileID
if logFileID is not 0 then close access logFileID
end CloseLogFile
-------------------------
on logMessage(m)
-- logs a message to the log file
-------------------------
global logFileID
try
if logFileID is not 0 then write (m as string) & (ASCII character 13) to logFileID
--display dialog m
on error
-- hmmm??
end try
end logMessage
-------------------------
on trim(q)
-- strip leading and trailing white space.
-------------------------
set realLast to length of q
repeat
if realLast is 0 then exit repeat
set c to character realLast of q
if c is not space and c is not tab then exit repeat
set realLast to realLast - 1
end repeat
if (realLast is 0) then return ""
set realFirst to 1
repeat
if realFirst > realLast then exit repeat
set c to character realFirst of q
if c is not space and c is not tab then exit repeat
set realFirst to realFirst + 1
end repeat
if (realFirst > realLast) then return ""
return text realFirst through realLast of q
end trim
-------------------------
on Token(aString, tokenRequested)
-- Return the string up to the first space. Input must be trimmed.
-------------------------
set tokenFirst to 0 -- offset of first char of current token
set tokenCount to 0 -- which token we are examining
set tokenScan to 0 -- offset of next character being examined
set stringLength to length of aString
if (tokenRequested = 0) then return ""
repeat
set tokenFirst to tokenFirst + 1
set tokenCount to tokenCount + 1
-- check for inital whitespace
repeat
set c to character tokenFirst of aString
if c is not space and c is not tab then exit repeat
set tokenFirst to tokenFirst + 1
end repeat
-- check for inital quote
set isQuotedString to false
if c is "\"" then
set isQuotedString to true
set tokenFirst to tokenFirst + 1
end if
-- scan for the next white space or the end of string
set tokenScan to tokenFirst - 1
repeat
set tokenScan to tokenScan + 1
if tokenScan > stringLength then exit repeat
set c to character tokenScan of aString
if (isQuotedString) then
if c is "\"" then exit repeat
else
if c is space or c is tab then exit repeat -- whitespace
end if
end repeat
-- Got a token
if (tokenCount = tokenRequested) then
return trim(text tokenFirst through (tokenScan - 1) of aString)
end if
if (tokenScan > stringLength) then return ""
set tokenFirst to tokenScan
end repeat
end Token
-------------------------
on monthNumber(dateObj)
-------------------------
set monthList to {January, February, March, April, May, Â
June, July, August, September, October, November, December}
set m to month of dateObj
repeat with i from 1 to number of items of monthList
if m = item i of monthList then
return i
end if
end repeat
end monthNumber
-------------------------
on ExtractTimeString(d)
-- given a date object, extract hh.mm
-------------------------
set tstring to ""
set t to (time of d as integer)
set m to (t div 60 as integer)
set h to m div 60
set m to (m - h * 60)
if (h < 10) then set tstring to tstring & "0"
set tstring to tstring & h
if (m < 10) then set tstring to tstring & "0"
set tstring to tstring & m
return tstring
end ExtractTimeString
-------------------------
on ExtractDateString(d)
-- given a date object, extract yy/mm/dd
-------------------------
set dstring to (year of d) & "."
set m to monthNumber(d)
if (m < 10) then set dstring to dstring & "0"
set dstring to dstring & m & "."
set d to (day of d)
if (d < 10) then set dstring to dstring & "0"
set dstring to dstring & d
return dstring
end ExtractDateString
-------------------------
on GetCVSTimeStamp(d)
-- turns AppleScript date object into a text CVS type time stamp
-- suitable for passing into MacCVS
-------------------------
set dstring to ""
set m to monthNumber(d)
if (m < 10) then set dstring to "0"
set dstring to m & "/"
set dayNum to (day of d)
if (dayNum < 10) then set dstring to dstring & "0"
set dstring to dstring & dayNum & "/"
set theYear to ((year of d) as string)
set dstring to dstring & {characters 3 thru 4 of theYear}
set tstring to ""
set t to (time of d as integer)
set m to (t div 60 as integer)
set h to m div 60
set m to (m - h * 60)
if (h < 10) then set tstring to tstring & "0"
set tstring to tstring & h & ":"
if (m < 10) then set tstring to tstring & "0"
set tstring to tstring & m & ":"
set s to (t mod 60)
if (s < 10) then set tstring to tstring & 0
set tstring to tstring & s
set theresult to ((dstring & " " & tstring & " PST") as string)
return theresult
end GetCVSTimeStamp
-------------------------
on GetTimeStamp()
-- returns a numeric string given for a date object
-------------------------
set d to current date
set dstring to ExtractDateString(d) & "." & ExtractTimeString(d)
set dstring to dstring as string
return dstring
end GetTimeStamp
-------------------------
-- given a full path, return the name of the last object
on GetCVSSessionName(path)
-- given a mac style path, return the string name of the
-- last object in a path
-------------------------
set going to true
set i to the length of path
repeat while going is true
set theChar to character i of path
if theChar is ":" then
set going to false
end if
set i to i - 1
end repeat
set sessionName to (characters {i + 2} thru length of path)
return sessionName as string
end GetCVSSessionName
-------------------------
on doOnePPCProject(projpath, targetName)
-- process one PPC project, given path to project and the target
-- if target is "" build frontmost target (the default)
-------------------------
global gDoAliases
set noError to false
with timeout of 3600 seconds (* one hour*)
try
tell application "CodeWarrior IDE 3.2"
open {projpath}
end tell
on error errMsg number errNum
logMessage("Error : Can't open project " & projpath)
set PPCPROJECTFAILED to true
error
end try
if targetName is not "" then
tell application "CodeWarrior IDE 3.2"
Set Current Target (targetName as string)
end tell
end if
try
tell application "CodeWarrior IDE 3.2"
set myErrors to Make Project
end tell
on error number errNum
if errNum < 0 then
set noError to true
end if
end try
if noError is false then
tell application "CodeWarrior IDE 3.2"
set theProjectName to my GetProjectName(projpath)
Save Error Window As {STARTUPDISK & ":" & FOLDERTIME & ":" & theProjectName & ".txt"}
end tell
set PPCPROJECTFAILED to true
end if
tell application "CodeWarrior IDE 3.2"
Close Project
end tell
end timeout
return (noError)
end doOnePPCProject
-------------------------
on ReadLn(fileRefNum)
-- strip empty lines and strip terminal comments
-------------------------
try
repeat
set q to read fileRefNum before return
if q is not "" then
set hashOffset to offset of "#" in q
if (hashOffset is 0) then set hashOffset to offset of "//" in q
if (hashOffset > 1) then
set q to text 1 thru (hashOffset - 1) of q
end if
if hashOffset is not 1 and q is not "" then
-- strip trailing white space.
set q to trim(q)
if q is not "" then return q
end if
end if
end repeat
on error errString number errNum
if errNum is -39 then -- no more lines (eof)
return ""
end if
ErrorMessage(errString)
error errString
return errString
end try
end ReadLn
on ProcessList(theListFile)
try
with timeout of 14400 seconds -- four hours
tell application "MacPerl"
Do Script {theListFile as alias}
end tell
end timeout
on error
end try
end ProcessList
(* Initialize script. Read Config file. Get source directory *)
on Initialize()
try
-- find the config file at the same level as this applescript
-- if you're running this in script debugger, uncomment lines below
set oldDelimiters to AppleScript's text item delimiters
set myPath to (path to me) as text
set AppleScript's text item delimiters to {":"}
set pl to (every text item of myPath)
set configPath to (items 1 thru ((count of pl) - 1) of pl) as string
set configPath to configPath & ":" & CONFIGFILENAME
set AppleScript's text item delimiters to oldDelimiters
set f to 0
-- DEBUG
-- uncomment this for debugging
-- set configPath to "Forge:Tinderbox:cm:client:mac:contbuild:Tinderbox Config"
set f to open for access {configPath as alias}
set MACHINEADMIN to ReadLn(f)
set TINDERBOXTREE to ReadLn(f)
set BUILDNAME to ReadLn(f)
set clobberstring to ReadLn(f)
if clobberstring is "Clobber" then
set CLOBBERBUILD to true
else
set CLOBBERBUILD to false
end if
set CVSSESSIONFILE to ReadLn(f)
set BUILDLIST to ReadLn(f)
set BINARYPATH to ReadLn(f)
if f is not 0 then
close access f
end if
on error
display dialog "Failed to read config file!"
end try
set CHECKOUTTIME to GetCVSTimeStamp(current date)
set SOURCEPATH to getLocalCVSRoot(CVSSESSIONFILE)
tell application "Finder"
set STARTUPDISK to name of startup disk
end tell
createLogDirectory(STARTUPDISK & ":")
CreateLogFile(STARTUPDISK & ":" & FOLDERTIME & ":" & "Tinderbox Script Log")
logMessage("Machine Administrator: " & MACHINEADMIN)
logMessage("Building to Tinderbox Tree: " & TINDERBOXTREE)
logMessage("Building: " & BUILDNAME)
if (CLOBBERBUILD) then
logMessage("Building Clobber")
else
logMessage("Building Depend")
end if
logMessage("CVS Session file at: " & CVSSESSIONFILE)
logMessage("BuildList at: " & BUILDLIST)
logMessage("Binary file at: " & BINARYPATH)
return true
end Initialize
-- given a full path, return the name of the last object
on GetProjectName(path)
set going to true
set i to the length of path
repeat while going is true
set theChar to character i of path
if theChar is ":" then
set going to false
end if
set i to i - 1
end repeat
return (characters {i + 2} thru length of path)
end GetProjectName
on notifyHook(result)
if result is true then
tell application "Eudora Pro 3.1"
activate
set newMsg to make new message at end of mailbox "Out" of mail folder ""
set field "Subject:" of newMsg to "Mac Continous Build FAILED"
set body of newMsg to "
The last Mac Continous Build Failed at: " & " " & {CHECKOUTTIME as text} & "
Since you are on the hook, you might be responsible for the breakage.
Please check the logs at: http://warp/tinderbox/showbuilds.cgi?tree=" & TINDERBOXTREE & "
to see if you busted the build."
set field "To:" of newMsg to "bonsai-hook"
activate
queue message newMsg
connect with sending without checking
end tell
end if
end notifyHook
on notifyTinderBoxStart()
try
tell application "Eudora Pro 3.1"
activate
set newMsg to make new message at end of mailbox "Out" of mail folder ""
set body of newMsg to "
tinderbox: tree: " & TINDERBOXTREE & "
tinderbox: builddate: " & CHECKOUTTIME & "
tinderbox: status: building
tinderbox: build: " & BUILDNAME & "
tinderbox: errorparser: mac
"
set field "To:" of newMsg to "tinderbox-daemon@warp"
activate
queue message newMsg
connect with sending without checking
quit
end tell
on error
CloseLogFile()
display dialog "MAIL SERVER ERROR: CAN'T SEND COMPLETION E-MAIL. SCRIPT HALTED"
error number -128
end try
end notifyTinderBoxStart
on notifyTinderBox(result)
try
if result is true then
tell application "Finder"
set thelist to (every file of folder (STARTUPDISK & ":" & FOLDERTIME & ":"))
end tell
set numFiles to count of thelist
set i to 1
set aliasList to {}
repeat numFiles times
set aliasList to aliasList & (item i of thelist as alias)
set i to i + 1
end repeat
tell application "Eudora Pro 3.1"
activate
set newMsg to make new message at end of mailbox "Out" of mail folder ""
attach to newMsg documents aliasList
set field "Subject:" of newMsg to "Mac Continous Build FAILED"
set body of newMsg to "
tinderbox: tree: " & TINDERBOXTREE & "
tinderbox: builddate: " & CHECKOUTTIME & "
tinderbox: status: busted
tinderbox: build: " & BUILDNAME & "
tinderbox: errorparser: mac
"
set field "To:" of newMsg to "tinderbox-daemon@warp"
activate
queue message newMsg
connect with sending without checking
quit
end tell
end if
if result is false then
tell application "Finder"
set thelist to (every file of folder (STARTUPDISK & ":" & FOLDERTIME & ":"))
end tell
set numFiles to count of thelist
set i to 1
set aliasList to {}
repeat numFiles times
set aliasList to aliasList & (item i of thelist as alias)
set i to i + 1
end repeat
tell application "Eudora Pro 3.1"
activate
set newMsg to make new message at end of mailbox "Out" of mail folder ""
set field "Subject:" of newMsg to "Mac Continous Build SUCCEEDED"
set body of newMsg to "
tinderbox: tree: " & TINDERBOXTREE & "
tinderbox: builddate: " & CHECKOUTTIME & "
tinderbox: status: success
tinderbox: build: " & BUILDNAME & "
tinderbox: errorparser: mac
"
set field "To:" of newMsg to "tinderbox-daemon@warp"
activate
queue message newMsg
connect with sending without checking
quit
end tell
end if
on error
CloseLogFile()
display dialog "MAIL SERVER ERROR: CAN'T SEND COMPLETION E-MAIL. SCRIPT HALTED"
error number -128
end try
end notifyTinderBox
on PageAdmin(pageMesg)
tell application "Eudora Pro 3.1"
activate
set newMsg to make new message at end of mailbox "Out" of mail folder ""
set field "To:" of newMsg to MACHINEADMIN
set field "Subject:" of newMsg to TINDERBOXTREE & " " & BUILDNAME & " Continous Build failed"
if pageMesg is not "" then
set body of newMsg to pageMesg
end if
activate
queue message newMsg
connect with sending without checking
quit
end tell
end PageAdmin
-- remove all directories from the local root, removing the old tree
on removeOldTree()
try
tell application "Finder"
open folder (SOURCEPATH as string)
select every item of item of container window of folder (SOURCEPATH as string)
delete selection
close container window of folder (SOURCEPATH as string)
empty trash
end tell
on error
CloseLogFile()
set PPCPROJECTFAILED to true
logMessage("Error : Couldn't delete the old tree.")
PageAdmin("Couldn't nuke old tree!")
display dialog ("Couldn't nuke old tree! SCRIPT HALTED")
error number -128
end try
end removeOldTree
-- remove the 'dist' directory from the local root
on removeOldDist() --¥
try
tell application "Finder"
set distPath to SOURCEPATH & ":mozilla:dist"
open folder (distPath as string)
select every item of item of container window of folder (distPath as string)
delete selection
close container window of folder (distPath as string)
empty trash
end tell
on error
CloseLogFile()
set PPCPROJECTFAILED to true
logMessage("Error : Couldn't delete the old 'dist' directory.")
PageAdmin("Couldn't nuke old 'dist' directory!")
display dialog ("Couldn't nuke old 'dist' directory! SCRIPT HALTED")
error number -128
end try
end removeOldDist
on checkoutModule(cvsmodule, cvsRevision)
try
with timeout of 1800 seconds (* 30 minutes *)
if cvsRevision is "" then
tell application "MacCVS Pro 2.1b2r1 PPC"
tell session CVSSESSIONNAME
activate
checkout module cvsmodule
end tell
end tell
else
tell application "MacCVS Pro 2.1b2r1 PPC"
tell session CVSSESSIONNAME
activate
checkout module cvsmodule revision cvsRevision
end tell
end tell
end if
end timeout
if cvsRevision is "" then
logMessage("Check-out of " & cvsmodule & "successful!")
else
logMessage("Check-out of " & cvsmodule & "at revision: " & cvsRevision & " successful!")
end if
on error errMsg number errNum
if cvsRevision is "" then
set PPCPROJECTFAILED to true
logMessage("Error : Can't check out module: " & cvsmodule & " revision: Tip")
logMessage("Error : " & errMsg)
error "Can't check out module"
else
set PPCPROJECTFAILED to true
logMessage("Error : Can't check out module: " & cvsmodule & " revision: " & cvsRevision)
logMessage("Error : " & errMsg)
error "Can't check out module"
end if
end try
end checkoutModule
on checkOutTree(pathToCVSSession)
try
set oldDelimiters to AppleScript's text item delimiters
set myPath to (path to me) as text
set AppleScript's text item delimiters to {":"}
set pl to (every text item of myPath)
set configPath to (items 1 thru ((count of pl) - 1) of pl) as string
set configPath to configPath & ":" & CONFIGFILENAME
set AppleScript's text item delimiters to oldDelimiters
set f to 0
-- set configPath to "Forge:Tinderbox:cm:client:mac:contbuild:Tinderbox Config"
set f to open for access {configPath as alias}
(* read past the cruft of the config file *)
ReadLn(f)
ReadLn(f)
ReadLn(f)
ReadLn(f)
ReadLn(f)
ReadLn(f)
ReadLn(f)
on error
CloseLogFile()
set PPCPROJECTFAILED to true
logMessage("Couldn't check-out the tree: couldn't read modules" & return)
logMessage(errMsg)
PageAdmin("Couldn't check-out the tree: couldn't read modules")
display dialog "Couldn't read modules from config file: SCRIPT HALTED"
error number -128
end try
-- open the session
tell application "MacCVS Pro 2.1b2r1 PPC"
activate
open {pathToCVSSession as alias}
end tell
try
repeat
set cvsmodule to ReadLn(f)
if cvsmodule is "" then exit repeat
if cvsmodule = "CVS Session" then
switchCVSSession(f)
else
set revision to Token(cvsmodule, 2)
set cvsmodule to Token(cvsmodule, 1)
checkoutModule(cvsmodule, revision)
end if
end repeat
logMessage("### Checked-out all required modules")
on error
--¥tell application "MacCVS Pro 2.1b2r1 PPC"
--¥quit
--¥end tell
-- toss something up to run()
error
end try
--¥tell application "MacCVS Pro 2.1b2r1 PPC"
--¥quit
--¥end tell
end checkOutTree
on switchCVSSession(f)
tell application "MacCVS Pro 2.1b2r1 PPC"
close session CVSSESSIONNAME
end tell
set newSessionPath to ReadLn(f)
set newSessionName to GetCVSSessionName(newSessionPath)
set CVSSESSIONNAME to newSessionName
tell application "MacCVS Pro 2.1b2r1 PPC"
activate
open {newSessionPath as alias}
end tell
end switchCVSSession
on getLocalCVSRoot(pathToCVSSession)
set CVSSESSIONNAME to GetCVSSessionName(pathToCVSSession)
try
tell application "MacCVS Pro 2.1b2r1 PPC"
open {pathToCVSSession as alias}
tell session CVSSESSIONNAME
set theLocalRoot to local root
end tell
--¥quit
end tell
set pathLength to {(get the length of (theLocalRoot as text)) as text}
return (characters 1 thru {pathLength - 1} of (theLocalRoot as text))
on error
display dialog "Error : CVS Session path wrong, or doesn't have a local root. SCRIPT HALTED!"
error number -128
end try
end getLocalCVSRoot
on createLogDirectory(destFolder)
tell application "Finder"
set FOLDERTIME to my GetTimeStamp()
make new folder at folder (destFolder)
set the name of the result to FOLDERTIME
end tell
end createLogDirectory
on mozillaLives(filePath)
try
tell application "Finder"
set fileTest to file filePath
set creatorType to get the creator type of fileTest
set fileTest to application file filePath
set partitionSize to get the partition size of fileTest
if (creatorType is "????" and partitionSize > 0) then
return false
else
return true
end if
end tell
on error
return true
end try
end mozillaLives
on copyFile(srcPath, destFolder)
try
tell application "Finder"
copy file (srcPath as alias) to folder (destFolder as alias)
-- set the name of the result to destName
end tell
on error msgErr
logMessage("Error: Could not copy - " & srcPath & msgErr)
end try
end copyFile
on getDriveName(path)
set going to true
set i to 1
repeat while going is true
set theChar to character i of path
if theChar is ":" then
set going to false
end if
set i to i + 1
end repeat
set driveName to (characters 1 thru {i - 1} of path)
return driveName as string
end getDriveName
on trashItem(filePath)
try
tell application "Finder"
select item (filePath as string)
delete selection
empty trash
end tell
on error
logMessage("Error : Couldn't delete the old binary.")
PageAdmin("Couldn't nuke old binary!")
display dialog "Couldn't nuke old binary: SCRIPT HALTED"
error number -128
end try
end trashItem
on run
-- if we are executing first time, skip time delay check
set firstRun to true
--¥repeat
-- if we're cycling around, make sure we don't cycle faster than 10 minutes
if firstRun is false then
if endTime - startTime is less than 600 then
repeat while endTime - startTime is less than 600
set endTime to current date
end repeat
end if
end if
set firstRun to false
set startTime to current date
-- 2 hour timeout
with timeout of 7200 seconds
set PPCPROJECTFAILED to false
-- read config file and create log directories
Initialize()
notifyTinderBoxStart()
if (CLOBBERBUILD) then
removeOldTree()
else
removeOldDist() --¥
end if
(*
else
trashItem("")
end
*)
try
checkOutTree(CVSSESSIONFILE)
on error
PageAdmin("Can't check out tree!")
end try
if PPCPROJECTFAILED is false then
set SOURCEPATH to getLocalCVSRoot(CVSSESSIONFILE)
set SOURCEPATH to SOURCEPATH as string
ProcessList(SOURCEPATH & BUILDLIST)
tell application "CodeWarrior IDE 3.2"
quit
end tell
tell application "MacCVS Pro 2.1b2r1 PPC"
quit
end tell
tell application "ToolServer"
quit
end tell
end if
-- set builddrive to getDriveName(SOURCEPATH)
copyFile(SOURCEPATH & ":Mozilla.BuildLog", STARTUPDISK & ":" & FOLDERTIME & ":")
set PPCPROJECTFAILED to mozillaLives(SOURCEPATH & BINARYPATH)
CloseLogFile()
try
notifyTinderBox(PPCPROJECTFAILED)
on error
PageAdmin("Couldn't send Tinderbox completion message!")
end try
tell application "Finder"
select folder FOLDERTIME of startup disk
delete selection
--¥empty trash
restart --¥
end tell
end timeout
set endTime to current date
--¥end repeat
end run

View File

@@ -0,0 +1,44 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
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,102 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
#
# nglayout build script (debug)
#
use NGLayoutBuildList;
use Cwd;
use Moz;
# configuration variables
$DEBUG = 1;
$ALIAS_SYM_FILES = 0;
$CLOBBER_LIBS = 1;
$MOZ_FULLCIRCLE = 0;
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
# The following two options will delete all files, but leave the directory structure intact.
$CLOBBER_DIST_ALL = 0; # turn on to clobber all files inside dist (headers, xsym and libs)
$CLOBBER_DIST_LIBS = 0; # turn on to clobber the aliases to libraries and sym files in dist
$pull{all} = 0;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 1; # turn off to do individual builds, or to do "most"
$build{most} = 0; # turn off to do individual builds
$build{dist} = 0;
$build{dist_runtime} = 0; # implied by $build{dist}
$build{idl} = 0;
$build{resources} = 0;
$build{stubs} = 0;
$build{runtime} = 0;
$build{common} = 0;
$build{intl} = 0;
$build{nglayout} = 0;
$build{editor} = 0;
$build{viewer} = 0;
$build{xpapp} = 0;
$build{mailnews} = 0;
$build{apprunner} = 0;
# script
$pull{all} = 1;
$build{all} = 1;
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
# do the work
OpenErrorLog("::::Mozilla.BuildLog"); # Tinderbox requires that name
chdir("::::");
Checkout();
BuildDist();
BuildProjects();
print "Build complete\n";

View File

@@ -0,0 +1,99 @@
#!perl
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
#
# nglayout build script (debug)
#
use NGLayoutBuildList;
use Cwd;
use Moz;
# configuration variables
$DEBUG = 0;
$ALIAS_SYM_FILES = 0;
$CLOBBER_LIBS = 1;
$MOZ_FULLCIRCLE = 0;
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
# The following two options will delete all files, but leave the directory structure intact.
$CLOBBER_DIST_ALL = 0; # turn on to clobber all files inside dist (headers, xsym and libs)
$CLOBBER_DIST_LIBS = 0; # turn on to clobber the aliases to libraries and sym files in dist
$pull{all} = 1;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 1; # turn off to do individual builds, or to do "most"
$build{most} = 0; # turn off to do individual builds
$build{dist} = 0;
$build{dist_runtime} = 0; # implied by $build{dist}
$build{idl} = 0;
$build{resources} = 0;
$build{stubs} = 0;
$build{runtime} = 0;
$build{common} = 0;
$build{intl} = 0;
$build{nglayout} = 0;
$build{editor} = 0;
$build{viewer} = 0;
$build{xpapp} = 0;
$build{mailnews} = 0;
$build{apprunner} = 0;
# script
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
# do the work
OpenErrorLog("::::Mozilla.BuildLog"); # Tinderbox requires that name
chdir("::::");
Checkout();
BuildDist();
BuildProjects();
print "Build complete\n";

View File

@@ -0,0 +1,4 @@
This directory is merely here to test the project editor server. It will go away after
it is validated. For more information, see http://camelot.
Testing watchers.

Binary file not shown.

View File

@@ -0,0 +1 @@
// test1.cpp

View File

@@ -0,0 +1 @@
// test2.cpp

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,156 @@
/* -*- Mode: C++; tab-width: 8; 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) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/*
About this file
---------------
This file contains some handy macros, and a stack-based class that makes
instrumenting functions with Apple's Instrumentation SDK easier.
Instrumentation SDK
-------------------
The Instrumentation SDK allows you to do code performance analysis,
collecting time-based data, and other data by putting instrumentation
points in your code, and running.
You can get the instrumentation SDK from:
ftp://ftp.apple.com/developer/Development_Kits/Instrumentation_SDK.hqx
To find out how to use the Instrumentation Toolkit, read the documentation
that comes with the SDK. I'm not going to explain all that here.
Setting up your tree
--------------------
After a clean build, make aliases to the following files from the SDK
somewhere in dist (I usually throw them into dist:mac):
Instrumentation.h
InstrumentationMacros.h
InstrumentationLib
Make an alias to this file in the same place in dist:
InstrumentationHelpers.h
How to use
----------
In C++ code, the following macros can be used thusly:
NS_IMETHODIMP nsBigThing::SlowFunction()
{
INST_TRACE("SomeLocationDescription"); // Descriptive label. Don't use :: here.
// code that might return anywhere.
...
return NS_OK;
}
Because the INST_TRACE macro makes a stack-based StInstrumentationLog,
exit from the function will be traced wherever it occurs.
You will also need to add the "InstrumentationLib" stub library to the
project.
Such instrumentation points will give you data for the
'Trace Time Line Viewer' in the viewer. There are many other types
of instrumentation data you can collect; see the docs in the SDK
for more information.
Stalking the wild time sink
---------------------------
Your general strategy when using the Instrumentation tools to
track down performance problems should be to start at the high
level, then drill down into subroutines. You want to avoid
instrumenting routines that are called hundreds of thousands
of times, because you'll end up with massive data files. Rather,
instrument their calling routines to get a good sense of where
the time goes.
This kind of performance analysis does not replace the more
traditional profiling tools. Rather, it allows you to analyse
performance problems in terms of behaviour and timing, rather
than a simply overview of % of time spent in different routines.
*/
#include "InstrumentationMacros.h"
#ifdef __cplusplus
/* Stack-based class to do logging */
class StInstrumentationLog
{
public:
StInstrumentationLog(const char* traceName, InstTraceClassRef &ioTraceClassRef)
{
if (ioTraceClassRef == 0)
{
if (InstCreateTraceClass( kInstRootClassRef, traceName, 0, kInstEnableClassMask, &ioTraceClassRef) != noErr)
{
DebugStr("\pFailed to make instrumentation trace class");
return;
}
}
mTraceClassRef = ioTraceClassRef;
mEventTag = InstCreateEventTag();
InstLogTraceEvent(mTraceClassRef, mEventTag, kInstStartEvent);
}
~StInstrumentationLog()
{
InstLogTraceEvent(mTraceClassRef, mEventTag, kInstEndEvent);
}
void LogMiddleEvent()
{
InstLogTraceEvent(mTraceClassRef, mEventTag, kInstMiddleEvent);
}
void LogMiddleEventWithData(const char* inFormatString, void* inEventData)
{
InstDataDescriptorRef dataDesc;
InstCreateDataDescriptor(inFormatString, &dataDesc);
InstLogTraceEventWithData(mTraceClassRef, mEventTag, kInstMiddleEvent, dataDesc, inEventData);
InstDisposeDataDescriptor(dataDesc);
}
protected:
InstTraceClassRef mTraceClassRef;
InstEventTag mEventTag;
};
#define INST_TRACE(n) static InstTraceClassRef __sTrace = 0; StInstrumentationLog traceLog((n), __sTrace)
#define INST_TRACE_MIDDLE do { traceLog.LogMiddleEvent(); } while(0)
#define INST_TRACE_DATA(s, d) do { traceLog.LogMiddleEventWithData((s), (d)); } while (0)
#endif /* __cplusplus */

View File

@@ -0,0 +1,5 @@
- Currently, we do a fairly conservative (--disable a lot) build; find
out what works already.
- More libraries could be put in separate packages, like mailnews and
editor are.

View File

@@ -0,0 +1,279 @@
mozilla (19990716.M8-3) unstable; urgency=low
* Updated with build rules for the new mozilla-provided CVS directory.
* Register as MIME-handler (Close Bug# 42206)
-- Brent A. Fulgham <bfulgham@debian.org> Tue, 3 Aug 1999 09:15:17 -0700
mozilla (19990716.M8-2) unstable; urgency=low
* Added fix for m68k in hashtable function (Res. Bug# 41267)
* More robust /usr/bin/mozilla (Res. Bug# 41912)
* Remove suggestion for obsolete x11amp (Res. Bug# 41181)
-- Brent A. Fulgham <bfulgham@debian.org> Tue, 27 Jul 1999 09:15:17 -0700
mozilla (19990716.M8-1) unstable; urgency=low
* This is SeaMonkey Milestone 8.
-- Brent A. Fulgham <bfulgham@debian.org> Thu, 22 Jul 1999 21:20:10 -0700
mozilla (19990624.M7-1) unstable; urgency=low
* This is SeaMonkey Milestone 7 !
* Removed the so-called upstream changelog (fixes #39307 #39496 #40368).
* Retried building without the static libraries. It actually worked,
after two Makefile.ins backports from M8 :)
-- Josip Rodin <jrodin@jagor.srce.hr> Sat, 3 Jul 1999 14:09:18 +0200
mozilla (19990529.M6-1) unstable; urgency=low
* This is SeaMonkey Milestone 6 !
-- Josip Rodin <jrodin@jagor.srce.hr> Mon, 31 May 1999 20:46:16 +0200
mozilla (19990527-1) unstable; urgency=low
* Another try, the previous one didn't build, stopped in xpidl/build/
* Fresh tarball from the FTP site.
* I'll give up with NO_STATIC_LIB for now, let's just make something.
* First attempt on the editor exclusion (in mozilla-editor package).
-- Josip Rodin <jrodin@jagor.srce.hr> Fri, 28 May 1999 16:08:56 +0200
mozilla (19990526-1) unstable; urgency=low
* New one, this time with .orig.tar.gz cleaned up.
-- Josip Rodin <jrodin@jagor.srce.hr> Thu, 27 May 1999 19:31:13 +0200
mozilla (19990524-1) unstable; urgency=low
* Another new tree, probably the last before M6 releases. Maybe it'll
even build, who knows? ;)
-- Josip Rodin <jrodin@jagor.srce.hr> Tue, 25 May 1999 16:11:57 +0200
mozilla (19990521-1) unstable; urgency=low
* Another try, more testing of --disable-static and some changes to
the rules file. Applied some more recent patches from CVS.
* Build NSPR with pthreads support.
* Building on pandora (fast!), but it'll depend on glibc2.1 :(
-- Josip Rodin <jrodin@jagor.srce.hr> Sun, 23 May 1999 14:10:53 +0200
mozilla (19990518-1) unstable; urgency=low
* Bypassed the dangling symlinks with a "-" :(
* Added some Conflicts/Replaces to libnspr to prevent clashes with the
previous (unreleased) versions of it, 20 and 21.
* Brent decided to split out mailnews from the main package, so it's
now in mozilla-mailnews package. Quite a lot of changes to the rules
and control file. Added appropriate Provides: because of that, so
that's one less TODO item.
-- Josip Rodin <jrodin@jagor.srce.hr> Wed, 19 May 1999 04:10:07 -0700
mozilla (19990515-1) unstable; urgency=low
* Another try. Incorporated some changes as seen in M4's spec file
that was used to build the RPM.
* Fixed debian/control NSPR entries.
-- Josip Rodin <jrodin@jagor.srce.hr> Sun, 16 May 1999 05:30:39 -0700
mozilla (19990513-1) unstable; urgency=low
* Try, try again.
-- Brent A. Fulgham <bfulgham@debian.org> Thu, 13 May 1999 09:50:20 -0700
mozilla (19990510-1) unstable; urgency=low
* A possibly working build from the FTP site, since M5 didn't manage
to build :(
* NSPR renamed to libnspr3{-dev}, as one of the upstream people advised.
-- Josip Rodin <jrodin@jagor.srce.hr> Thu, 13 May 1999 05:08:24 -0700
mozilla (19990505.M5-1) unstable; urgency=low
* This is SeaMonkey Milestone 5 !
* The previous M4 builds didn't work out. This was released on my
birthday, so it could even work ;)
-- Josip Rodin <jrodin@jagor.srce.hr> Mon, 10 May 1999 00:27:47 -0700
mozilla (19990415.M4-2) unstable; urgency=low
* Let's try once again - the previous build was kinda fscked up...
-- Josip Rodin <jrodin@jagor.srce.hr> Sun, 9 May 1999 15:08:39 -0700
mozilla (19990415.M4-1) unstable; urgency=low
* This is SeaMonkey Milestone 4 !
* Massive changes to debian/rules, now it actually works :o)
+ builds in a subdirectory (yipee!)
+ removes unneeded Makefiles
+ installs a proper copyright file
* NSPR renamed to libnspr21{-dev}, thought I'm not sure it is the
real version... we still have to hardcode the dependency :(
-- Josip Rodin <jrodin@jagor.srce.hr> Tue, 4 May 1999 01:41:22 -0700
mozilla (19990410-1) unstable; urgency=low
* Let's try this snapshot from FTP... I modified the debian/rules file
a bit.
-- Josip Rodin <jrodin@jagor.srce.hr> Sat, 10 Apr 1999 19:17:59 -0700
mozilla (19990402-1) unstable; urgency=low
* New CVS pull. First attempt at mail and editor support.
-- Brent A. Fulgham <bfulgham@debian.org> Fri, 2 Apr 1999 09:15:22 -0800
mozilla (19990331-1) unstable; urgency=low
* New build, using automated script to grab the latest stable
branch from CVS.
-- Brent A. Fulgham <bfulgham@debian.org> Wed, 31 Mar 1999 14:58:40 -0800
mozilla (19990326-1) unstable; urgency=low
* Updated to fix library so-name and shlibdepends problem.
* Current CVS pull
* Double-double check that debugging is turned off.
-- Brent A. Fulgham <bfulgham@debian.org> Fri, 26 Mar 1999 09:31:45 -0800
mozilla (19990325-1) unstable; urgency=low
* Updated for fix to (hopefully) stop segfault problem.
-- Brent A. Fulgham <bfulgham@debian.org> Thu, 25 Mar 1999 12:58:18 -0800
mozilla (19990323-1) unstable; urgency=low
* This is a test release using CVS snapshots
* Continuing to use Ray's debian/ dir (thanks again!).
* Change moz-wrapper to use "apprunner" instead of the viewer (viewer is just
a test application.
* Whoo-hoo -- it's running!
-- Brent A. Fulgham <bfulgham@debian.org> Tue, 23 Mar 1999 14:25:07 -0800
mozilla (19990317-1) unstable; urgency=low
* This is a test release done just to get things moving.
* Built on va from a snapshot, using Ray's debian/ dir (thanks!).
-- Josip Rodin <jrodin@jagor.srce.hr> Sun, 21 Mar 1999 15:37:16 -0800
mozilla (19981211-0.1) unstable; urgency=low
* UNRELEASED
* UNFINISHED. TODO:
* Check we're not compiling -DDEVELOPER_DEBUG.
* Ensure nsprpub/config/UNIX.mk doesn't get a hardwired x86 reference.
* Remove the ?widgets/src/gdk/depend.mk? as part of clean.
* Remove the autogenerated files of htmlparser/src.
* ~/.mozilla -> ~/.netscape fixes bug #?????.
* Non-maintainer upload.
* New upstream tarball:
* Includes glibc2.1 patches.
* Configuration dir is now ~/.mozilla rather than ~/.netscape.
* Default widget set has switched from Motif to Gtk. The Gtk version
needed is newer than the one in frozen, so this for unstable only.
* Moved libnspr into packages of its own (as non-mozilla software like
Japhar uses it) and made mozilla depend on the runtime library package.
* Removed YAFHintel (thanks to John Goerzen for reminding me).
* [nsprpub/config/rules.mk] Use standard naming of shared library files
and SONAMEs.
* Make sure mozilla gets linked against the system libjpeg, libpng,
libz and libxmltok1 (Fixes #30306).
-- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sun, 10 Jan 1999 20:02:19 +0100
mozilla (19981008-0.1) frozen unstable; urgency=low
* Non-maintainer upload.
* New upstream tarball.
* Adapted build process to it (nspr doesn't use autoconf and needs to be
built before the regular autoconf build).
* Built with fixed libc6 (and other fixed libs), so it works again.
* Updated Standards-Version.
* [config/Linux.mk] Added EXTRA_DSO_LDOPTS = -lc to add dependency
information to the shared libraries generated.
* [nsprlib/config/Linux.mk] Added OS_LIBS = -lc to add dependency
information to the shared libraries generated.
-- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sat, 28 Nov 1998 18:29:06 +0100
mozilla (19980904-1) unstable; urgency=low
* Non-maintainer upload: this package has been orphaned.
* Used latest snapshot tarball; as no real mozilla releases have been made
so far, we use the snapshot date for the version number.
* Previous versions were accidentally built as "Debian only" source.
* Updated Standards-Version.
* Adapted to current mozilla source organisation and build process.
* LessTif version, so mozilla can go in main.
* Improved package relationships:
* Added Provides: www-browser .
* Added Recommends: mime-support .
* Added Suggest dependency for postscript-viewer, pdf-viewer, images
formats viewers, video formats viewers and audio formats players.
* Added mozilla(1) -> unknown(7) manpage symlink.
-- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Thu, 10 Sep 1998 21:58:26 +0200
mozilla (5.0b1-2) unstable; urgency=low
* Made mozilla-smotif and mozilla-dmotif conflict with and replace each
other; both now provide mozilla, so that we can cope with a lesstif
version when there is one.
* Put packages in contrib and added a README.contrib-only file to explain
why.
* Tweaked ns/cmd/xfe/Makefile to force a build of the dynamic Motif version.
My previous change to this had made both versions dynamically linked to
Motif. With no change at all, both versions were statically linked.
-- Oliver Elphick <Oliver.Elphick@lfix.co.uk> Wed, 8 Apr 1998 13:17:10 +0100
mozilla (5.0b1-1) unstable; urgency=low
* Linked with Motif 2.1 and libc6
* Modified ns/cmd/xfe/Makefile to force it to build a version dynamically
linked to Motif.
* Created -smotif and -dmotif packages.
* New Maintainer
-- Oliver Elphick <Oliver.Elphick@lfix.co.uk> Tue, 7 Apr 1998 11:25:16 +0100
mozilla (5.0b1-0.0) unstable; urgency=low
* First release.
* I don't intend to maintain this package becuase:
1. I don't have a libc6 motif (this is built with a libc5 motif, though
the package only depends on libc6 and it works ok). Ideally, the
maintainer should have libc6 motif.
2. I don't have enough disk space, cpu time, bandwidth, or free time to
maintain it.
So this is just a quickie to get the package out. Somebody else should
take it from here.
* Applied some minor fixes to make it work. In particular, cmd/xfe/foo.c
is a nasty hack to define a symbol that my motif libs needed.
-- Joey Hess <joeyh@master.debian.org> Tue, 31 Mar 1998 16:43:55 -0800
Local variables:
mode: debian-changelog
End:

View File

@@ -0,0 +1,101 @@
Source: mozilla
Section: net
Priority: optional
Maintainer: Debian Mozilla maintainers <mozilla@packages.debian.org>
Standards-Version: 2.5.1
Package: mozilla
Architecture: any
Depends: ${shlibs:Depends}, libnspr3
Recommends: mime-support
Suggests: postscript-viewer, pdf-viewer, eeyes | imagemagick | netpbm | xli | xloadimage | xv, xanim | ucbmpeg-play, freeamp | amp | splay | maplay | mpg123 | xmms
Conflicts: mozilla-dmotif, mozilla-smotif
Replaces: mozilla-dmotif, mozilla-smotif
Provides: www-browser
Description: An Open Source WWW browser for X and GTK+
Mozilla is a sophisticated graphical World-Wide-Web browser, with large
number of various browser features like support for HTML 4.0, CSS 2,
JavaScript and Java. Of course, besides the network option, it can also
be used as a standalone HTML viewer.
.
Mozilla is based on part of the codebase of the well known "netscape"
("communicator" or "navigator") browser. It was opened up to the Open
Source (TM) community by Netscape Communications under a new NPL licence.
.
See the website http://www.mozilla.org/ for more information on the
development of mozilla.
Package: mozilla-mailnews
Architecture: any
Depends: mozilla (= ${Source-Version}), libnspr3
Recommends: mime-support
Suggests: mail-transport-agent
Provides: mail-reader, imap-client, news-reader
Description: An Open Source WWW browser for X and GTK+, mail and news files
Mozilla is a sophisticated graphical World-Wide-Web browser, with large
number of various browser features like support for HTML 4.0, CSS 2,
JavaScript and Java. Of course, besides the network option, it can also
be used as a standalone HTML viewer.
.
Mozilla is based on part of the codebase of the well known "netscape"
("communicator" or "navigator") browser. It was opened up to the Open
Source (TM) community by Netscape Communications under a new NPL licence.
.
See the website http://www.mozilla.org/ for more information on the
development of mozilla.
Package: mozilla-editor
Architecture: any
Depends: mozilla (= ${Source-Version}), libnspr3
Suggests: httpd
Description: An Open Source WWW browser for X and GTK+, editor files
Mozilla is a sophisticated graphical World-Wide-Web browser, with large
number of various browser features like support for HTML 4.0, CSS 2,
JavaScript and Java. Of course, besides the network option, it can also
be used as a standalone HTML viewer.
.
Mozilla is based on part of the codebase of the well known "netscape"
("communicator" or "navigator") browser. It was opened up to the Open
Source (TM) community by Netscape Communications under a new NPL licence.
.
See the website http://www.mozilla.org/ for more information on the
development of mozilla.
Package: libnspr3
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Conflicts: libnspr20, libnspr21
Replaces: libnspr20, libnspr21
Description: Netscape Portable Runtime library
This library provides platform independent non-GUI operating system
facilities including:
* threads,
* thread synchronisation,
* normal file I/O and network I/O,
* interval timing and calender time,
* basic memory management (malloc and free),
* shared library linking.
.
See http://www.mozilla.org/docs/refList/refNSPR/ for more information.
Package: libnspr3-dev
Section: libs
Architecture: any
Depends: libc6-dev, xlib6g-dev, libnspr3 (= ${Source-Version})
Conflicts: libnspr20-dev, libnspr21-dev
Replaces: libnspr20-dev, libnspr21-dev
Description: Netscape Portable Runtime library - development files
NSPR provides platform independence for non-GUI operating system
facilities including:
* threads,
* thread synchronisation,
* normal file I/O and network I/O,
* interval timing and calender time,
* basic memory management (malloc and free),
* shared library linking.
.
See http://www.mozilla.org/docs/refList/refNSPR/ for more information.
.
You need this package to get includes and static libraries for building
programs linked to NSPR.

View File

@@ -0,0 +1,13 @@
This package was originally put together by Joey Hess <joeyh@debian.org>.
People who contributed were: Oliver Elphick, J.H.M. Dassen (Ray),
Josip Rodin, Brent Fulgham.
Today, package is maintained by the maintenance team which consists
of Josip Rodin and Brent Fulgham, at <mozilla@packages.debian.org>.
Original source can be found at:
ftp://ftp.mozilla.org/pub/mozilla/releases/
ftp://ftp.mozilla.org/pub/mozilla/nightly/
The following copyright (from ../LICENCE) applies to this package:

View File

@@ -0,0 +1,5 @@
mozilla_19990716.M8-3_i386.deb net optional
mozilla-mailnews_19990716.M8-3_i386.deb net optional
mozilla-editor_19990716.M8-3_i386.deb net optional
libnspr3_19990716.M8-3_i386.deb libs optional
libnspr3-dev_19990716.M8-3_i386.deb libs optional

View File

@@ -0,0 +1,4 @@
usr/lib
usr/include/nspr
usr/doc

View File

@@ -0,0 +1,2 @@
usr/lib
usr/doc

View File

@@ -0,0 +1,6 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View File

@@ -0,0 +1,3 @@
libnspr3 libnspr3
libplc3 libnspr3
libplds3 libnspr3

View File

@@ -0,0 +1 @@
shlibs:Depends=libc6 (>= 2.1)

View File

@@ -0,0 +1,2 @@
?package(mozilla):needs="x11" section="Apps/Net" \
title="Mozilla Navigator" command="mozilla"

View File

@@ -0,0 +1,4 @@
usr/lib/mozilla
usr/lib/mozilla/components
usr/lib/mozilla/chrome/editor
usr/doc

View File

@@ -0,0 +1,2 @@
usr/lib/mozilla/components/libender.so
usr/lib/mozilla/chrome/editor

View File

@@ -0,0 +1 @@
shlibs:Depends=libc6 (>= 2.1), libstdc++2.9-glibc2.1

View File

@@ -0,0 +1,9 @@
usr/lib/mozilla
usr/lib/mozilla/chrome
usr/lib/mozilla/chrome/addressbook
usr/lib/mozilla/chrome/messenger
usr/lib/mozilla/chrome/messengercompose
usr/lib/mozilla/components
usr/lib/mozilla/res
usr/lib/mozilla/res/mailnews
usr/doc

View File

@@ -0,0 +1,15 @@
usr/lib/mozilla/libmsgbaseutil.so
usr/lib/mozilla/chrome/addressbook
usr/lib/mozilla/chrome/messenger
usr/lib/mozilla/chrome/messengercompose
usr/lib/mozilla/components/addrbook.xpt
usr/lib/mozilla/components/libaddrbook.so
usr/lib/mozilla/components/liblocalmail.so
usr/lib/mozilla/components/libmailnews.so
usr/lib/mozilla/components/libmime*.so
usr/lib/mozilla/components/libmork.so
usr/lib/mozilla/components/libmsg*.so
usr/lib/mozilla/components/libvcard.so
usr/lib/mozilla/components/mailnews.xpt
usr/lib/mozilla/components/msg*.xpt
usr/lib/mozilla/res/mailnews

View File

@@ -0,0 +1 @@
shlibs:Depends=libc6 (>= 2.1), libstdc++2.9-glibc2.1

View File

@@ -0,0 +1,6 @@
usr/bin
usr/lib/mozilla
usr/lib/mozilla/chrome
usr/lib/mozilla/components
usr/lib/mozilla/res
usr/doc/mozilla

View File

@@ -0,0 +1,2 @@
text/html; /usr/bin/mozilla %s; description=HTML Text; nametemplate=%s.html; priority=3

View File

@@ -0,0 +1,6 @@
# Automatically added by dh_installmime
if [ -x /usr/sbin/update-mime ]; then update-mime; fi
# End automatically added section
# Automatically added by dh_installmenu
if test -x /usr/bin/update-menus ; then update-menus ; fi
# End automatically added section

View File

@@ -0,0 +1,6 @@
# Automatically added by dh_installmime
if [ -x /usr/sbin/update-mime ]; then update-mime; fi
# End automatically added section
# Automatically added by dh_installmenu
if test -x /usr/bin/update-menus ; then update-menus ; fi
# End automatically added section

View File

@@ -0,0 +1,117 @@
#!/usr/bin/make -f
# Derived from debhelper/dh_make example.
#export DH_VERBOSE=1
# Set by configure (plus USE_AUTOCONF=1), but useful for NSPR
export MOZILLA_CLIENT=1
export BUILD_OPT=1
export NO_STATIC_LIB=1
# untested upstream - export USE_IPV6=$(shell cpp debian/testipv6 | sh -)
export USE_PTHREADS=1
nspr = libnspr3
nsprdev = libnspr3-dev
mailnews = mozilla-mailnews
editor = mozilla-editor
TOP=..
build: build-stamp
build-stamp:
dh_testdir
test -d build-nspr || mkdir build-nspr
test -s build-nspr/lib/$(nspr).so || $(MAKE) -C nsprpub DIST=`pwd`/build-nspr
test -d obj-`./build/autoconf/config.guess` || mkdir obj-`./build/autoconf/config.guess`
cd obj-`./build/autoconf/config.guess` && \
LD_LIBRARY_PATH=`cd ..;pwd`/build-nspr/lib \
$(TOP)/configure --verbose --prefix=/usr \
--disable-debug --disable-profile --disable-crypto \
--disable-netcast --disable-java --disable-oji --disable-static \
--disable-tests --disable-smart-mail --enable-mailnews \
--enable-editor --enable-ldap --enable-optimize --with-pthreads \
--with-jpeg=/usr/include --with-png=/usr/include \
--with-zlib=/usr/include --with-nspr=`cd $(TOP);pwd`/build-nspr
cd obj-`./build/autoconf/config.guess` && LD_LIBRARY_PATH=`cd $(TOP);pwd`/build-nspr/lib $(MAKE)
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp install-stamp
-cd nsprpub ; $(MAKE) realclean
rm -rf build-nspr obj-`./build/autoconf/config.guess`
# find . -type f -name Makefile ! -path '*nsprpub*' | xargs -r rm
dh_clean
install: install-stamp
install-stamp: build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs -a
cp -pR build-nspr/lib/*.so* `pwd`/debian/$(nspr)/usr/lib
cd `pwd`/debian/$(nspr)/usr/lib ; /sbin/ldconfig -n .
# cd `pwd`/debian/$(nspr)/usr/lib ; for i in * ; do ln -s $$i $$i.0 ; done
cp -pR build-nspr/include/* `pwd`/debian/$(nsprdev)/usr/include/nspr
cp -pR build-nspr/lib/*.a `pwd`/debian/$(nsprdev)/usr/lib
# this may fail, but who cares
-cp -pR obj-`./build/autoconf/config.guess`/dist/bin/* `pwd`/debian/tmp/usr/lib/mozilla
install -m 755 `pwd`/debian/runner `pwd`/debian/tmp/usr/bin/mozilla
# # Okay, lets move a bunch of mail-news stuff to its own place
# Note: We have to cd and set sourcedir because the debian directory
# now lives in mozilla/build/package and dh_movefiles won't work
# across the symlink.
cd `pwd`/build/package; \
dh_movefiles --sourcedir=debian/tmp -a
touch install-stamp
binary-indep: build
# We have nothing to do by default, no architecture-independent files here.
binary-arch: build install
dh_testdir -a
dh_testroot -a
cd debian/ ; cat copyright.short > copyright
cat LICENSE >> debian/copyright
dh_installdocs -pmozilla LEGAL
dh_installdocs -p$(nspr)
dh_installmime -pmozilla
rm debian/copyright
# dh_installexamples `find -name '*.ad'`
dh_installmenu -pmozilla
# Running this is a baaad idea.
# dh_installmanpages
dh_undocumented -pmozilla mozilla.1
dh_installchangelogs -pmozilla
dh_installchangelogs -p$(nspr)
cd `pwd`/debian/$(nsprdev)/usr/doc ; ln -s /usr/doc/$(nspr) ./$(nsprdev)
cd `pwd`/debian/$(mailnews)/usr/doc ; ln -s /usr/doc/mozilla ./$(mailnews)
cd `pwd`/debian/$(editor)/usr/doc ; ln -s /usr/doc/mozilla ./$(editor)
dh_strip -a
dh_compress -a
dh_fixperms -a
dh_installdeb -a
cd debian ; cat $(nspr).shlibs > shlibs.local
env LD_LIBRARY_PATH=`pwd`/debian/$(nspr)/usr/lib:`pwd`/debian/tmp/usr/lib/mozilla \
dh_shlibdeps -pmozilla -plibnspr3 -p$(mailnews) -p$(editor)
rm -f debian/shlibs.local
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary # quicktest make

View File

@@ -0,0 +1,20 @@
#!/bin/sh
# A simple script to start mozilla.
MOZILLA_DIR=/usr/lib/mozilla
# Check for a $HOME/.mozilla directory. If it doesn't exist, create a GOOD one
if [ ! -d $HOME/.mozilla ]
then
cd $HOME
mkdir .mozilla
for file in $MOZILLA_DIR/*; do
if [ `basename $file` != component.reg ]; then
ln -s $file $HOME/.mozilla
fi
done
fi
export LD_LIBRARY_PATH=$MOZILLA_DIR MOZILLA_FIVE_HOME=$HOME/.mozilla
exec $MOZILLA_DIR/apprunner "$@"

View File

@@ -0,0 +1 @@
shlibs:Depends=libc6 (>= 2.1), libglib1.2 (>= 1.2.0), libgtk1.2 (>= 1.2.3-2), libjpeg62, libpng2, libstdc++2.9-glibc2.1, orbit (>= 0.4.3-1), xlib6g (>= 3.3.3.1-1), zlib1g (>= 1:1.1.3)

View File

@@ -0,0 +1,8 @@
#include <features.h>
#if defined(__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC__ + __GLIBC_MINOR__ >= 3)
/* For IPv6 support, glibc2.1 or newer is required */
echo 1
#else
/* Sorry, no IPv6 support */
echo 0
#endif

View File

@@ -0,0 +1,252 @@
#!/bin/sh
#
# 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):
#
#
# The way this thing works:
#
# + A packages file is parsed. This file contains something
# that looks like this (note that spaces are illegal):
#
# +----------------------------------------------
# |nspr:nsprpub
# |core:build,db,xpcom,intl,js,modules/libutil,modules/security/freenav,modules/libpref,modules/libimg,modules/libjar,caps
# |network:netwerk
# |layout:htmlparser,gfx,dom,view,widget/timer,widget,layout,webshell,editor,modules/plugin
# |xpinstall:xpinstall
# |profile:profile
# |xptoolkit:xpfe,rdf
# |cookie:extensions/cookie
# |wallet:extensions/wallet
# |mailnews:mailnews
# +----------------------------------------------
#
# + For each package, a list of modules corresponding to that
# package is parsed. Each modules corresponds to a
# directory somewhere in a mozilla build tree - usually
# the toplevel ones (ie, layout, nsprpub, xpcom) but not
# always (ie, extensions/wallet)
#
# + For each module, print-module-filelist.sh is invoked.
# The output of that is parsed and converted from the
# crazy mozilla install hierarchy to something that
# makes sense on a linux box.
#
# For example:
#
# bin/components/libraptorhtml.so
#
# becomes
#
# %{prefix}/lib/mozilla/components/libraptorhtml.so
#
# + Also, this script determines which files belong in
# a devel package. For example, "include/*" and "idl/*"
name=generate-package-info.sh
if [ $# -lt 4 ]
then
echo
echo "Usage: $name package-list module-list-dir outdir mozdir"
echo
exit 1
fi
package_list=$1
module_list_dir=$2
outdir=$3
mozdir=$4
if [ ! -f $package_list ]
then
echo
echo "$name: Cant access package file $package_list."
echo
exit 1
fi
if [ ! -d $module_list_dir ]
then
echo
echo "$name: Cant access module list dir $package_list."
echo
exit 1
fi
if [ ! -d $outdir ]
then
echo
echo "$name: Cant access outdir $outdir."
echo
exit 1
fi
if [ ! -d $mozdir ]
then
echo
echo "$name: Cant access mozdir $mozdir."
echo
exit 1
fi
rm -rf $outdir/*
packages=`cat $package_list | grep -v -e "^#.*$" | grep -v -e "^[ \t]*$"`
for p in $packages
do
package=`echo $p | awk -F":" '{ print $1; }'`
modules=`echo $p | awk -F":" '{ print $2; }' | tr "," " "`
file_list=$outdir/mozilla-$package-file-list.txt
file_list_devel=$outdir/mozilla-$package-devel-file-list.txt
tmp_raw=/tmp/raw-list.$$.tmp
tmp_file_list=/tmp/file-list.$$.tmp
tmp_file_list_devel=/tmp/file-list-devel.$$.tmp
tmp_dir_list=/tmp/dir-list.$$.tmp
tmp_dir_list_devel=/tmp/dir-list-devel.$$.tmp
# echo "package=$package"
# echo "modules=$modules"
# echo "file_list=$file_list"
# echo "file_list_devel=$file_list_devel"
# echo "#################"
rm -f $tmp_raw $file_list $file_list_devel
rm -f $tmp_file_list $tmp_file_list_devel
rm -f $tmp_dir_list $tmp_dir_list_devel
touch $tmp_raw $file_list $file_list_devel
touch $tmp_file_list $tmp_file_list_devel
touch $tmp_dir_list $tmp_dir_list_devel
print_cmd=$mozdir/build/package/rpm/print-module-filelist.sh
here=`pwd`
# Write the raw file list
for m in $modules
do
cd $mozdir/$m
$print_cmd >> $tmp_raw
done
cd $here
# Munge the raw list into the file list
for i in `cat $tmp_raw`
do
prefix=`echo $i | awk -F"/" '{ print $1; }'`
case "$prefix"
in
# dirs
DIR:*)
dir=`echo $i | cut -b5-`
case "$dir"
in
include*)
echo $dir >> $tmp_dir_list_devel
;;
*)
prefix2=`echo $dir | awk -F"/" '{ print $2; }'`
case "$prefix2"
in
# Cut out the "bin/" from these
res|chrome|defaults)
echo $dir | cut -b5- >> $tmp_dir_list
;;
esac
;;
esac
;;
##
## XXX: This one needs to be smarter and catch more devel only
## stuff. For example, the gecko viewer and all its resources
## should go in the devel package. This would in turn make the
## regular package smaller.
##
# include, idl, lib
include|idl|lib)
echo $i >> $tmp_file_list_devel
;;
# bin the evil
bin)
prefix2=`echo $i | awk -F"/" '{ print $2; }'`
case "$prefix2"
in
# Cut out the "bin/" from these
components|res|chrome|defaults|netscape.cfg)
echo $i | cut -b5- >> $tmp_file_list
;;
# whatever else in "bin/"
*)
# Move special files in "bin/" around
base=`basename $i`
case "$base"
in
# Mozilla brillantly puts .so files in "bin/" bleh
*.so)
echo "lib/$base" >> $tmp_file_list
;;
*)
echo $i >> $tmp_file_list
;;
esac
;;
esac
;;
# whatever else
*)
echo $i >> $tmp_file_list
;;
esac
done
# Spit out sorted file lists
cat $tmp_dir_list | sort | uniq | awk '{ printf("%%dir %%{prefix}/lib/mozilla/%s\n" , $0); }' >> $file_list
cat $tmp_file_list | sort | uniq | awk '{ printf("%%{prefix}/lib/mozilla/%s\n" , $0); }' >> $file_list
cat $tmp_dir_list_devel | sort | uniq | awk '{ printf("%%dir %%{prefix}/lib/mozilla/%s\n" , $0); }' >> $file_list_devel
cat $tmp_file_list_devel | sort | uniq | awk '{ printf("%%{prefix}/lib/mozilla/%s\n" , $0); }' >> $file_list_devel
# Cleanup
rm -f $tmp_raw $tmp_file_list $tmp_file_list_devel $tmp_dir_list $tmp_dir_list_devel
done

View File

@@ -0,0 +1,133 @@
#!/bin/sh
#
# 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):
#
##
## Usage:
##
## $ mozilla
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.
##
## Standard shell script disclaimer blurb thing:
##
## This script is a hcak. Its brute force. Its horrible.
## It doesnt use Artificial Intelligence. It doesnt use Virtual Reality.
## Its not perl. Its not python. It probably wont work unchanged on
## the "other" thousands of unices. But it worksforme.
##
## If you have an improvement, patch, idea, whatever, on how to make this
## script better, post it here:
##
## news://news.mozilla.org/netscape.public.mozilla.patches
## news://news.mozilla.org/netscape.public.mozilla.unix
##
##
##
## Potential improvements:
##
## + Run ldd on the program and report missing dlls
## + All the "other" unices/packages
##
cmdname=`basename $0`
##
## location of the apprunner binary.
##
MOZ_APPRUNNER_NAME="/usr/lib/mozilla/bin/apprunner"
##
## Variables
##
MOZ_DIST_BIN=""
MOZ_PROGRAM=""
##
## Functions
##
moz_bail()
{
message=$1
echo
echo "$cmdname: $message"
echo
exit 1
}
moz_test_binary()
{
binary=$1
if [ -f "$binary" ]
then
if [ -x "$binary" ]
then
return 1
fi
fi
return 0
}
moz_test_binary $MOZ_APPRUNNER_NAME
if [ $? -eq 1 ]
then
MOZ_PROGRAM=$MOZ_APPRUNNER_NAME
fi
##
## Make sure the program is executable
##
if [ ! -x $MOZ_PROGRAM ]
then
moz_bail "Cannot execute $MOZ_PROGRAM."
fi
##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="/usr/lib/mozilla"
export MOZILLA_FIVE_HOME
##
## Set LD_LIBRARY_PATH
##
if [ "$LD_LIBRARY_PATH" ]
then
LD_LIBRARY_PATH=/usr/lib/mozilla/lib:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=/usr/lib/mozilla/lib
fi
export LD_LIBRARY_PATH
exec $MOZ_PROGRAM ${1+"$@"}

View File

@@ -0,0 +1,10 @@
nspr:nsprpub
core:build,db,xpcom,intl,js,modules/libutil,modules/security/freenav,modules/libpref,modules/libimg,modules/libjar,caps
network:netwerk
layout:htmlparser,gfx,dom,view,widget/timer,widget,layout,webshell,editor,modules/plugin
xpinstall:xpinstall
profile:profile
xptoolkit:xpfe,rdf
cookie:extensions/cookie
wallet:extensions/wallet
mailnews:mailnews

View File

@@ -0,0 +1,115 @@
#!/bin/sh
#
# 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):
#
##
## Usage:
##
## $ mozilla
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.
##
## Standard shell script disclaimer blurb thing:
##
## This script is a hcak. Its brute force. Its horrible.
## It doesnt use Artificial Intelligence. It doesnt use Virtual Reality.
## Its not perl. Its not python. It probably wont work unchanged on
## the "other" thousands of unices. But it worksforme.
##
## If you have an improvement, patch, idea, whatever, on how to make this
## script better, post it here:
##
## news://news.mozilla.org/netscape.public.mozilla.patches
## news://news.mozilla.org/netscape.public.mozilla.unix
##
##
##
## Potential improvements:
##
## + Run ldd on the program and report missing dlls
## + All the "other" unices/packages
##
cmdname=`basename $0`
##
## location of the viewer binary.
##
MOZ_VIEWER_NAME="/usr/lib/mozilla/bin/viewer"
##
## Variables
##
MOZ_PROGRAM=""
##
## Functions
##
moz_bail()
{
message=$1
echo
echo "$cmdname: $message"
echo
exit 1
}
moz_test_binary()
{
binary=$1
if [ -f "$binary" ]
then
if [ -x "$binary" ]
then
return 1
fi
fi
return 0
}
MOZ_PROGRAM=$MOZ_APPRUNNER_NAME
moz_test_binary $MOZ_PROGRAM
if [ $? -eq 0 ]
then
moz_bail "Cannot execute $MOZ_PROGRAM."
fi
##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="/usr/lib/mozilla"
export MOZILLA_FIVE_HOME
exec $MOZ_PROGRAM ${1+"$@"}

View File

@@ -0,0 +1,409 @@
Summary: Mozilla and stuff
Name: mozilla
Version: 5.0
Release: 0
Serial: 0
Copyright: NPL/MPL
Group: Mozilla
Source0: ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.tar.gz
#Source0: ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-binary.tar.gz
Buildroot: /var/tmp/mozilla-root
Prefix: /usr
Requires: gtk+ >= 1.2.4
#
# TODO: lots of stuff
#
# + Add nice summary and description entries
#
# + Make sure the requires entries make sense
#
# + Add more packages for other mozilla extensions (for instance: irc)
#
# + Remove and/or combine the current packages that make more sense
#
# + mozilla-xpcom package ?
#
# + should nspr be its own package ?
#
# + it is probably a good idea to have a mozilla-browser package
# instead of mozilla-xptoolkit
#
# + the mozilla-xpinstall package obviously doesnt make sense -
# its there for show
#
# + a lot of stuff is dumped into the default package that
# should really be in the devel package. For example the
# gecko viewer and all its tests.
#
# For the code that determines what goes where, see:
#
# mozilla/build/package/rpm/print-module-filelist.sh
# mozilla/build/package/rpm/generate-package-info.sh
#
#Exclusivearch: i386
%description
Mozilla is the king of all beasts - big badass Beasts.
%package nspr
Summary: mozilla-nspr
Group: Mozilla
%description nspr
mozilla-nspr
%package nspr-devel
Requires: mozilla-nspr
Summary: mozilla-nspr-devel
Group: Mozilla
%description nspr-devel
mozilla-nspr devel
%package core
Summary: mozilla-core
Group: Mozilla
Requires: mozilla-nspr
%description core
mozilla-core
%package core-devel
Requires: mozilla-core
Summary: mozilla-core-devel
Group: Mozilla
Requires: mozilla-nspr-devel
%description core-devel
mozilla-core devel
%package network
Summary: mozilla-network
Group: Mozilla
Requires: mozilla-core
%description network
mozilla-network
%package network-devel
Requires: mozilla-network
Summary: mozilla-network-devel
Group: Mozilla
Requires: mozilla-core-devel
%description network-devel
mozilla-network devel
%package layout
Summary: mozilla-layout
Group: Mozilla
Requires: mozilla-network
%description layout
mozilla-layout
%package layout-devel
Requires: mozilla-layout
Summary: mozilla-layout-devel
Group: Mozilla
Requires: mozilla-network-devel
%description layout-devel
mozilla-layout devel
%package xpinstall
Summary: mozilla-xpinstall
Group: Mozilla
Requires: mozilla-layout
%description xpinstall
mozilla-xpinstall
%package xpinstall-devel
Requires: mozilla-xpinstall
Summary: mozilla-xpinstall-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description xpinstall-devel
mozilla-xpinstall devel
%package profile
Summary: mozilla-profile
Group: Mozilla
Requires: mozilla-layout
%description profile
mozilla-profile
%package profile-devel
Requires: mozilla-profile
Summary: mozilla-profile-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description profile-devel
mozilla-profile devel
%package xptoolkit
Summary: mozilla-xptoolkit
Group: Mozilla
Requires: mozilla-layout
%description xptoolkit
mozilla-xptoolkit
%package xptoolkit-devel
Requires: mozilla-xptoolkit
Summary: mozilla-xptoolkit-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description xptoolkit-devel
mozilla-xptoolkit devel
%package cookie
Summary: mozilla-cookie
Group: Mozilla
Requires: mozilla-layout
%description cookie
mozilla-cookie
%package cookie-devel
Requires: mozilla-cookie
Summary: mozilla-cookie-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description cookie-devel
mozilla-cookie devel
%package wallet
Summary: mozilla-wallet
Group: Mozilla
Requires: mozilla-layout
%description wallet
mozilla-wallet
%package wallet-devel
Requires: mozilla-wallet
Summary: mozilla-wallet-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description wallet-devel
mozilla-wallet devel
%package mailnews
Summary: mozilla-mailnews
Group: Mozilla
Requires: mozilla-layout
%description mailnews
mozilla-mailnews
%package mailnews-devel
Requires: mozilla-mailnews
Summary: mozilla-mailnews-devel
Group: Mozilla
Requires: mozilla-layout-devel
%description mailnews-devel
mozilla-mailnews devel
%prep
%setup -n mozilla
%install
rm -rf $RPM_BUILD_ROOT
################################
#
# Remember where we are
#
################################
here=`pwd`
################################
#
# configure
#
################################
if [ 1 ]
then
###
###
###
rm -f $here/blank
touch $here/blank
MOZCONFIG=blank
export MOZCONFIG
./configure --disable-tests --with-xlib=no --with-motif=no --disable-gtk-mozilla
#./configure --disable-debug --enable-optimize --disable-mailnews --disable-tests --with-xlib=no --with-motif=no --enable-strip-libs --disable-gtk-mozilla
make
fi
################################
mkdir -p $RPM_BUILD_ROOT/%{prefix}/lib/mozilla
mkdir -p $RPM_BUILD_ROOT/%{prefix}/lib/mozilla/plugins
################################
#
# Generate the package lists
#
################################
here=`pwd`
mkdir -p $here/file-lists
cd build/package/rpm
./generate-package-info.sh mozilla-package-list.txt . $here/file-lists $here
cd $here
################################
################################
#
# Copy the stuff in dist/* to the rpm stage place
#
################################
cp -r dist/* $RPM_BUILD_ROOT/%{prefix}/lib/mozilla/
cd $RPM_BUILD_ROOT/%{prefix}/lib/mozilla/
/bin/mv -f bin/*.so lib
/bin/mv -f bin/chrome .
/bin/mv -f bin/components .
/bin/mv -f bin/defaults .
/bin/mv -f bin/netscape.cfg .
/bin/mv -f bin/res .
strip lib/*.so
strip components/*.so
cd $here
install -m 755 build/package/rpm/mozilla $RPM_BUILD_ROOT/%{prefix}/lib/mozilla/bin
################################
##
## This function gets called on the %post stage to make sure any
## new components that are installed in the system get
## registered to component.reg
##
%define call_regxpcom here=`pwd` ; cd %{prefix}/lib/mozilla ; LD_LIBRARY_PATH=`pwd`/lib ./bin/regxpcom ; cd $here
%clean
rm -rf $RPM_BUILD_ROOT
%files -f file-lists/mozilla-nspr-file-list.txt nspr
%defattr(-,root,root)
%files -f file-lists/mozilla-nspr-devel-file-list.txt nspr-devel
%defattr(-,root,root)
%files -f file-lists/mozilla-core-file-list.txt core
%defattr(-,root,root)
%dir %{prefix}/lib/mozilla
%dir %{prefix}/lib/mozilla/bin
%dir %{prefix}/lib/mozilla/chrome
%dir %{prefix}/lib/mozilla/components
%dir %{prefix}/lib/mozilla/defaults
%dir %{prefix}/lib/mozilla/defaults/pref
%dir %{prefix}/lib/mozilla/lib
%dir %{prefix}/lib/mozilla/plugins
%dir %{prefix}/lib/mozilla/res
%files -f file-lists/mozilla-core-devel-file-list.txt core-devel
%defattr(-,root,root)
%post core
%{call_regxpcom}
%files -f file-lists/mozilla-network-file-list.txt network
%defattr(-,root,root)
%files -f file-lists/mozilla-network-devel-file-list.txt network-devel
%defattr(-,root,root)
%post network
%{call_regxpcom}
%files -f file-lists/mozilla-layout-file-list.txt layout
%defattr(-,root,root)
%files -f file-lists/mozilla-layout-devel-file-list.txt layout-devel
%defattr(-,root,root)
%post layout
%{call_regxpcom}
%files -f file-lists/mozilla-xpinstall-file-list.txt xpinstall
%defattr(-,root,root)
%files -f file-lists/mozilla-xpinstall-devel-file-list.txt xpinstall-devel
%defattr(-,root,root)
%post xpinstall
%{call_regxpcom}
%files -f file-lists/mozilla-profile-file-list.txt profile
%defattr(-,root,root)
%files -f file-lists/mozilla-profile-devel-file-list.txt profile-devel
%defattr(-,root,root)
%post profile
%{call_regxpcom}
%files -f file-lists/mozilla-xptoolkit-file-list.txt xptoolkit
%defattr(-,root,root)
%{prefix}/lib/mozilla/bin/mozilla
%files -f file-lists/mozilla-xptoolkit-devel-file-list.txt xptoolkit-devel
%defattr(-,root,root)
%post xptoolkit
%{call_regxpcom}
%files -f file-lists/mozilla-cookie-file-list.txt cookie
%defattr(-,root,root)
%files -f file-lists/mozilla-cookie-devel-file-list.txt cookie-devel
%defattr(-,root,root)
%post cookie
%{call_regxpcom}
%files -f file-lists/mozilla-wallet-file-list.txt wallet
%defattr(-,root,root)
%files -f file-lists/mozilla-wallet-devel-file-list.txt wallet-devel
%defattr(-,root,root)
%post wallet
%{call_regxpcom}
%files -f file-lists/mozilla-mailnews-file-list.txt mailnews
%defattr(-,root,root)
%files -f file-lists/mozilla-mailnews-devel-file-list.txt mailnews-devel
%defattr(-,root,root)
%post mailnews
%{call_regxpcom}
%changelog
* Wed Oct 20 1999 Ramiro Estrugo <ramiro@fateware.com>
- First rev.

View File

@@ -0,0 +1,156 @@
#!/bin/sh
#
# 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):
#
#
# The way this thing works:
#
# + a phony $(DIST) is created: /tmp/foo
#
# + The module is instaled there so that it can be isolated and
# catalogued.
#
# + A bunch of case statements determine what gets ignored
# and what is otherwise echoed as a file or dir member for
# the module
#
# + Most of this hacks are a result of the totally messed
# way in which mozilla pretentsto do "make install"
here=`pwd`
dist=/tmp/dist-$$.tmp
raw_file_list=/tmp/raw-file-list-$$.txt
file_list=/tmp/file-list-$$.txt
raw_dir_list=/tmp/raw-dir-list-$$.txt
dir_list=/tmp/dir-list-$$.txt
rm -rf $dist $raw_file_list $file_list $raw_dir_list $dir_list
# Need to mkdir include or else "make export" in mozilla gets confused
mkdir -p $dist
mkdir -p $dist/include
make -s DIST=$dist XPDIST=$dist PUBLIC=$dist/include EXTRA_DEPS= >/dev/null 2>&1
cd $dist
find -type l | cut -b3- > $raw_file_list
find -type d | cut -b3- | grep -v -e "^[ \t]*$" > $raw_dir_list
touch $file_list
for i in `cat $raw_file_list`
do
skip="false"
dir=`echo $i | awk -F"/" '{ print $1; }'`
# "lib" voodoo
if [ "$dir" = "lib" ]
then
rest=`echo $i | cut -b5-`
bin_dup="bin/$rest"
# Dont output files in "lib/" that are duplicated in "bin/"
if [ -f "$bin_dup" ]
then
skip="true"
fi
# Test for files that need to be skipped
file=`basename $i`
case "$file"
in
# Dont skip util .a files
*util_s.a)
:
;;
# Dont skip nspr .a files
libnspr*.a|libplc*|libplds*)
:
;;
# Skip all .a files
*.a)
skip="true"
;;
# Skip .so files
*.so)
skip="true"
;;
esac
fi
if [ "$skip" != "true" ]
then
echo $i >> $file_list
# else
# echo "skipping $i"
fi
done
touch $dir_list
for i in `cat $raw_dir_list`
do
skip="false"
# Skip directories that are shared across all of mozilla's components
case $i in
# level 1
include|idl|lib|bin)
skip="true"
;;
# level 2
lib/components|bin/components|bin/chrome|bin/res|bin/defaults|bin/plugins)
skip="true"
;;
# level 3
bin/defaults/pref)
skip="true"
;;
esac
if [ "$skip" != "true" ]
then
echo DIR:$i >> $dir_list
# else
# echo "skipping $i"
fi
done
cat $file_list
cat $dir_list
rm -rf $dist $raw_file_list $file_list $raw_dir_list $dir_list
cd $here

View File

@@ -0,0 +1,26 @@
#!/bin/sh
#
# 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):
#
#
module=`make -s echo-depth-path | cut -b9-`
echo $module

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