Compare commits

...

1916 Commits

Author SHA1 Message Date
(no author)
dc6a03abd8 This commit was manufactured by cvs2svn to create tag 'Test'.
git-svn-id: svn://10.0.0.236/tags/Test@16560 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 07:00:19 +00:00
fur%netscape.com
6fdf35b4ee Adding SportModel, Warren Harris' partially complete garbage collector
code for the ElectricalFire JIT.


git-svn-id: svn://10.0.0.236/trunk@16558 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 07:00:17 +00:00
fur%netscape.com
d6c51785c1 Added Todd Proebsting's BURG to the tree, now that it's in the public domain.
git-svn-id: svn://10.0.0.236/trunk@16557 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 06:36:50 +00:00
wtc%netscape.com
00716e9f00 BSD/OS 4.0 fix, contributed by Bert Driehuis <driehuis@playbeing.org>.
git-svn-id: svn://10.0.0.236/trunk@16556 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 06:26:24 +00:00
sar%netscape.com
1d24e667da remove Mozilla from the list of cared about trees
git-svn-id: svn://10.0.0.236/trunk@16555 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 06:02:45 +00:00
sfraser%netscape.com
b49dbf5343 Add ; after class definition
git-svn-id: svn://10.0.0.236/trunk@16552 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 01:42:02 +00:00
law%netscape.com
e5f25e41f7 New bootstrapping code
git-svn-id: svn://10.0.0.236/trunk@16551 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 01:41:50 +00:00
sfraser%netscape.com
53f91a8d74 Add flag to clobber existing libraries and SYM files before building each project.
git-svn-id: svn://10.0.0.236/trunk@16548 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 01:24:37 +00:00
sfraser%netscape.com
2fdcede511 File Removed.
git-svn-id: svn://10.0.0.236/trunk@16547 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 01:21:56 +00:00
rods%netscape.com
a26d808264 Changed GetStyleHintForAttributeChange to return NS_STYLE_HINT_CONTENT
when there is a widget and return NS_STYLE_HINT_REFLOW when there isn't


git-svn-id: svn://10.0.0.236/trunk@16546 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 00:24:58 +00:00
buster%netscape.com
56e65bc685 use default constructor and destructor
git-svn-id: svn://10.0.0.236/trunk@16545 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 00:19:43 +00:00
hyatt%netscape.com
6156f1b8bc Fixing build bustage. Sorry!
git-svn-id: svn://10.0.0.236/trunk@16544 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 00:07:23 +00:00
hyatt%netscape.com
5ecb5d5e3e Fixing build bustage. Sorry!
git-svn-id: svn://10.0.0.236/trunk@16543 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 00:05:06 +00:00
mcmullen%netscape.com
9d22403d39 Set the error log file type so that it's a CodeWarrior file.
git-svn-id: svn://10.0.0.236/trunk@16542 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 23:48:55 +00:00
buster%netscape.com
ae77c06acc an encapsulation of border information
git-svn-id: svn://10.0.0.236/trunk@16541 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 23:42:22 +00:00
despotdaemon%netscape.com
3fcf8b76d0 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16540 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 23:16:22 +00:00
terry%netscape.com
1689e5634a Applied patch by cbaldwin@siara.com -- make sorting by "importance"
use "severity" as a secondary sort.  Fixes bug 1907.


git-svn-id: svn://10.0.0.236/trunk@16539 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 23:13:19 +00:00
hyatt%netscape.com
87091d27c8 Added code for hit detection. (Can now detect a hit on the trigger and tell
which row/column was hit.)


git-svn-id: svn://10.0.0.236/trunk@16538 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 23:02:30 +00:00
buster%netscape.com
14d33feee0 oops, there were duplicate entries for border collapse values. Now there's not.
git-svn-id: svn://10.0.0.236/trunk@16537 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 22:20:44 +00:00
buster%netscape.com
81b46aab62 WIP collapsing border work
git-svn-id: svn://10.0.0.236/trunk@16536 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 22:19:23 +00:00
hyatt%netscape.com
69cb7363fc Modifications for rollover color support.
git-svn-id: svn://10.0.0.236/trunk@16535 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 22:06:26 +00:00
davidm%netscape.com
dc02d2f159 Add mac code to get NSPR event queue for dispatching of link click events
git-svn-id: svn://10.0.0.236/trunk@16534 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 22:05:04 +00:00
davidm%netscape.com
beb59c3753 First pass at adding nspr event queue on the mac so that clicking on links works properly
git-svn-id: svn://10.0.0.236/trunk@16533 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 22:03:18 +00:00
sfraser%netscape.com
5fdb6c621c Fix the target name for building XPAppViewer.mcp
git-svn-id: svn://10.0.0.236/trunk@16532 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 21:45:20 +00:00
alecf%netscape.com
c6293b5192 don't use straight Makefiles
git-svn-id: svn://10.0.0.236/trunk@16531 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 19:23:08 +00:00
guha%netscape.com
e044ea58c6 more search stuff for opendir
git-svn-id: svn://10.0.0.236/trunk@16530 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 19:20:49 +00:00
wtc%netscape.com
1ea155fbbe Removed the #ifndef NO_NSPR_10_SUPPORT around the _PR_MD_GET_SP
macro definition.  This macro is used internally by NSPR20.


git-svn-id: svn://10.0.0.236/trunk@16529 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:56:01 +00:00
kin%netscape.com
54a8daa36c Turning on txmgr in the Unix and Windows builds.
git-svn-id: svn://10.0.0.236/trunk@16528 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:54:30 +00:00
kin%netscape.com
b8de20feb4 Backout previous changes to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@16527 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:52:23 +00:00
mjudge%netscape.com
5f09556bb7 write now takes ints instead of unsigned ints
git-svn-id: svn://10.0.0.236/trunk@16526 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:43:13 +00:00
kmcclusk%netscape.com
69c1a49b16 Fix for Linux build
git-svn-id: svn://10.0.0.236/trunk@16525 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:39:48 +00:00
akkana%netscape.com
b3419765c0 Adding public routine ComparePoints for mjudge
git-svn-id: svn://10.0.0.236/trunk@16524 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:36:48 +00:00
kmcclusk%netscape.com
6b50236c51 Added files to do postscript output.
git-svn-id: svn://10.0.0.236/trunk@16523 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:30:12 +00:00
kmcclusk%netscape.com
538ee8b859 Moved most of the printer paint code to nsFormControlFrame. Added
autodoc compatible comments.


git-svn-id: svn://10.0.0.236/trunk@16522 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:12:55 +00:00
dcone%netscape.com
47cce4fecb fixed resoluton problem for printing.
git-svn-id: svn://10.0.0.236/trunk@16521 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 18:02:38 +00:00
buster%netscape.com
7e9d6c54cd WIP on collapsing borders
git-svn-id: svn://10.0.0.236/trunk@16519 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 17:05:14 +00:00
cls%seawood.org
1ebcf35498 Apparently, nsIURL::GetSpec changed...
git-svn-id: svn://10.0.0.236/trunk@16518 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 11:33:33 +00:00
ramiro%netscape.com
6e143bcac4 Change #include "nsIHttpUrl.h" to #include "nsIHttpURL.h" for case sensitive
anality.


git-svn-id: svn://10.0.0.236/trunk@16517 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 10:27:49 +00:00
warren%netscape.com
fffed9ce8f Obsolete
git-svn-id: svn://10.0.0.236/trunk@16514 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 09:51:02 +00:00
warren%netscape.com
6a28c25b6f Removed nsURL.cpp
git-svn-id: svn://10.0.0.236/trunk@16513 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 09:50:19 +00:00
beard%netscape.com
41965931a0 Fixed case of nsIHttpURL.h
git-svn-id: svn://10.0.0.236/trunk@16511 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 08:56:10 +00:00
warren%netscape.com
614cfa76f7 Added include of autoconf.mk
git-svn-id: svn://10.0.0.236/trunk@16510 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 08:48:06 +00:00
warren%netscape.com
f1f63fd300 Fixed EXPORTS
git-svn-id: svn://10.0.0.236/trunk@16509 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 08:22:04 +00:00
warren%netscape.com
e7c800bb2f Fixed EXPORTS
git-svn-id: svn://10.0.0.236/trunk@16508 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 08:21:31 +00:00
warren%netscape.com
1dea681a6e Fixed some unsigned problems for the Mac.
git-svn-id: svn://10.0.0.236/trunk@16507 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 08:03:53 +00:00
warren%netscape.com
2fd20eda7f Added network/public/Makefile
git-svn-id: svn://10.0.0.236/trunk@16506 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 07:58:15 +00:00
sfraser%netscape.com
35363b3286 Fix the target name for building viewer.mcp
git-svn-id: svn://10.0.0.236/trunk@16505 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 06:50:27 +00:00
beard%netscape.com
55e404d5a1 Added new files.
git-svn-id: svn://10.0.0.236/trunk@16504 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 06:42:28 +00:00
buster%netscape.com
dd4dfe439e clean up, removed some obsolete methods
git-svn-id: svn://10.0.0.236/trunk@16503 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 06:33:15 +00:00
beard%netscape.com
a0fd7823b6 Fixed up exports.
git-svn-id: svn://10.0.0.236/trunk@16502 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 06:06:51 +00:00
beard%netscape.com
51b339a051 Removed nsIPostToServer.h (moved to public dir).
git-svn-id: svn://10.0.0.236/trunk@16501 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:59:42 +00:00
wtc%netscape.com
49b19a1a67 Replaced all but one use of IRIX5_3 by feature-based macros.
(Thanks to Brian Ostrom <briano@netscape.com>.)
Modified files: IRIX.mk and irix.c.


git-svn-id: svn://10.0.0.236/trunk@16500 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:58:43 +00:00
warren%netscape.com
83e04dcd25 new
git-svn-id: svn://10.0.0.236/trunk@16499 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:50:21 +00:00
wtc%netscape.com
1476b01c77 Include protypes.h only if NO_NSPR_10_SUPPORT is not defined.
Also, always define the data types PRWord and PRUword but
warn people not to use these two undocumented types in new code.


git-svn-id: svn://10.0.0.236/trunk@16498 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:46:32 +00:00
warren%netscape.com
fd5d879803 Networking changes: Reworked nsIURL, adding setters, factoring Open. Unsigned arguments for nsIStreamListener.
git-svn-id: svn://10.0.0.236/trunk@16497 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:46:06 +00:00
troy%netscape.com
70e0a8cddb Fixed a crash when display www.sjmercury.com paginated, because we thought
we could re-use our cached cell desired info and we couldn't because there
was a next-in-flow frame and so we needed to reflow the cell frame and pull-up
its next-in-flow child frames


git-svn-id: svn://10.0.0.236/trunk@16496 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:41:57 +00:00
warren%netscape.com
5f54c1af03 Networking changes: Reworked nsIURL, adding setters, factoring Open. Unsigned arguments for nsIStreamListener.
git-svn-id: svn://10.0.0.236/trunk@16495 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 05:40:20 +00:00
troy%netscape.com
a8a9f7aeaa Changed SetRowIndex() to be inline and non-virtual
git-svn-id: svn://10.0.0.236/trunk@16494 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 04:31:38 +00:00
troy%netscape.com
37b2438c51 Removed InitRowData() member function which is now obsolete
git-svn-id: svn://10.0.0.236/trunk@16493 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 04:08:36 +00:00
cltbld%netscape.com
73c80e1f09 do not decend into xpfe if there is nothing to do there.
git-svn-id: svn://10.0.0.236/trunk@16492 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:59:13 +00:00
sfraser%netscape.com
3f462d434b Have pull{all} set all the other pull{}s.
git-svn-id: svn://10.0.0.236/trunk@16491 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:47:14 +00:00
troy%netscape.com
45e2d974e8 Some improvements to the row splitting code
git-svn-id: svn://10.0.0.236/trunk@16490 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:46:03 +00:00
sfraser%netscape.com
ef4f88d1b7 Ensure that default is to build all.
git-svn-id: svn://10.0.0.236/trunk@16489 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:44:58 +00:00
sfraser%netscape.com
e324dbae1d Assert on a null widget Ptr
git-svn-id: svn://10.0.0.236/trunk@16488 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:37:56 +00:00
sfraser%netscape.com
0e0e29c9c8 Remove bad ;
git-svn-id: svn://10.0.0.236/trunk@16487 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:37:13 +00:00
sfraser%netscape.com
5ba63fa656 Fix target and output libary names.
git-svn-id: svn://10.0.0.236/trunk@16486 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:34:58 +00:00
sfraser%netscape.com
86c67555dc Add more granularity to build options, make new routine to reconcile and build a project and make the aliases.
git-svn-id: svn://10.0.0.236/trunk@16485 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:31:18 +00:00
sfraser%netscape.com
f8738e790b Add more granularity to build options, fix the {all} flag to really pull/build everything.
git-svn-id: svn://10.0.0.236/trunk@16484 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:30:39 +00:00
sfraser%netscape.com
93175a9d1a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16483 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:28:54 +00:00
sfraser%netscape.com
04825239b5 Make sure the port is initialized before being used.
git-svn-id: svn://10.0.0.236/trunk@16482 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:59:31 +00:00
toshok%hungry.com
1716bebdaa (at least for GNUC platforms) don't rely on nasty division-by-zero tricks to generate +-inf and nan. instead borrow the bitlevel twiddling javascript uses. I would imagine that this would work for all platforms that use IEEE floats (which is necessarily all platforms for which EF will work), but someone else needs to figure out if windows will work with this code.
git-svn-id: svn://10.0.0.236/trunk@16481 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:38:18 +00:00
troy%netscape.com
3c043772bd Removed SetColIndex() which wasn't being used
git-svn-id: svn://10.0.0.236/trunk@16480 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:35:25 +00:00
ramiro%netscape.com
b251e7edab Yank xpviewer from the build on unix and win.
git-svn-id: svn://10.0.0.236/trunk@16479 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:33:41 +00:00
toshok%hungry.com
9829ca641c clear up screw up in previous commit.
git-svn-id: svn://10.0.0.236/trunk@16478 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:30:14 +00:00
toshok%hungry.com
7bb90048a0 install shared libs in dist/ARCH/bin, not dist/ARCH/lib - following the same convention as the mozilla tree.
git-svn-id: svn://10.0.0.236/trunk@16477 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:28:17 +00:00
toshok%hungry.com
0344418064 build shared libs with CC instead of LD.
git-svn-id: svn://10.0.0.236/trunk@16476 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:26:49 +00:00
guha%netscape.com
c2b7286754 more shit for opendir
git-svn-id: svn://10.0.0.236/trunk@16475 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:25:37 +00:00
gordon%netscape.com
436dd5e622 Update table of contents for files added to layout and rdf. This is only used by Patrick's build system changes.
git-svn-id: svn://10.0.0.236/trunk@16474 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:22:53 +00:00
toshok%hungry.com
be3cf9b82e dist is not one directory higher than ef.
git-svn-id: svn://10.0.0.236/trunk@16473 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 01:13:05 +00:00
donm%netscape.com
aa2eff126c backing out Shaver's changes. -donm
git-svn-id: svn://10.0.0.236/trunk@16472 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 00:49:36 +00:00
jfrancis%netscape.com
35b781edaa ComparePointToRange() now reuses IsIncreasing functionality; also fixed a for loop in DeleteContents()
git-svn-id: svn://10.0.0.236/trunk@16471 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 23:58:09 +00:00
michaelp%netscape.com
ce7a472f74 we now call GetNearestColor() in 16bpp when creating brushes and pens.
git-svn-id: svn://10.0.0.236/trunk@16470 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 23:13:59 +00:00
despotdaemon%netscape.com
48d7cbdc95 Pseudo-automatic update of changes made by ppandit@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16469 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 23:04:38 +00:00
waterson%netscape.com
f027e45add Fixed extra root node.
git-svn-id: svn://10.0.0.236/trunk@16468 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:55:59 +00:00
kmcclusk%netscape.com
392927ef69 Added more form elements to printer test
git-svn-id: svn://10.0.0.236/trunk@16467 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:51:49 +00:00
mcmullen%netscape.com
ab3213f20d Made all this build on Unix, using Macros up the wazoo
git-svn-id: svn://10.0.0.236/trunk@16466 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:45:09 +00:00
brade%netscape.com
0be011b818 typing hack extended to get it working on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16465 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:34:54 +00:00
brade%netscape.com
afc9ac03c5 remove unnecessary functions which are in imglib
git-svn-id: svn://10.0.0.236/trunk@16464 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:27:03 +00:00
brade%netscape.com
1c0b61001a remove unnecessary files (including nspr group) and macToBeImplemented.cp
git-svn-id: svn://10.0.0.236/trunk@16463 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:25:45 +00:00
dcone%netscape.com
990c1c17d6 fixed the scaling bug
git-svn-id: svn://10.0.0.236/trunk@16462 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:22:40 +00:00
brade%netscape.com
dde36d487c fix compiler warning / bug: initialize index to 0 (reviewed peterl@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@16461 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:19:04 +00:00
sfraser%netscape.com
4348f6321d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16460 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:17:48 +00:00
shaver%netscape.com
a0097337f4 Make apprunner link dynamically.
Sprinkle Makefile.ins with NO_STATIC_LIB to speed the build and reduce the disk
requirements.


git-svn-id: svn://10.0.0.236/trunk@16459 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:17:14 +00:00
despotdaemon%netscape.com
c0a95f1d82 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@16458 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 22:15:18 +00:00
sfraser%netscape.com
85c73e1f43 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16457 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 21:59:40 +00:00
terry%netscape.com
e31b2db976 Oops; the magic partition is named 'despotaccess'.
git-svn-id: svn://10.0.0.236/trunk@16456 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 21:44:16 +00:00
troy%netscape.com
a6cb99357c Removed an assert that was being triggered in a caseI didn't expect
git-svn-id: svn://10.0.0.236/trunk@16455 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 21:26:05 +00:00
sfraser%netscape.com
c3693fede6 Make it build.
git-svn-id: svn://10.0.0.236/trunk@16454 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 19:13:41 +00:00
sfraser%netscape.com
c505b460e7 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16453 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 19:12:50 +00:00
rods%netscape.com
d239199ee1 Added Pseudo-element styles for the scrollbar "look"
git-svn-id: svn://10.0.0.236/trunk@16452 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 19:11:57 +00:00
kmcclusk%netscape.com
8b74b7b8fe Fix for the Mac.
git-svn-id: svn://10.0.0.236/trunk@16451 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 19:08:50 +00:00
rods%netscape.com
ea9f077c63 Added painting methods for printing
git-svn-id: svn://10.0.0.236/trunk@16450 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 19:03:36 +00:00
kmcclusk%netscape.com
c36571afa1 Added code to render button using GFX for printing.
git-svn-id: svn://10.0.0.236/trunk@16449 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 18:50:21 +00:00
akkana%netscape.com
fb81fd89e2 Initial stab at CloneContents implementation
git-svn-id: svn://10.0.0.236/trunk@16448 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 18:47:44 +00:00
terry%netscape.com
cb4a178ce1 Patch from Ashley Clark <aclark@CS.UH.EDU>, which hopefully fixes bug 1499.
git-svn-id: svn://10.0.0.236/trunk@16447 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 18:13:12 +00:00
kipp%netscape.com
17c732418d Removed bogus null pointer check
git-svn-id: svn://10.0.0.236/trunk@16446 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 17:59:49 +00:00
kipp%netscape.com
5c3396dcd0 Added absmiddle to table halign values
git-svn-id: svn://10.0.0.236/trunk@16445 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 17:58:59 +00:00
kipp%netscape.com
150e5ffcba Map align=center to auto side margins
git-svn-id: svn://10.0.0.236/trunk@16444 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 17:58:45 +00:00
dcone%netscape.com
b18c392afc fixed some scaling issues for the mac, more to come
git-svn-id: svn://10.0.0.236/trunk@16443 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 16:56:53 +00:00
troy%netscape.com
e02d2dc1c0 Work-in-progress for splitting of table row frames
git-svn-id: svn://10.0.0.236/trunk@16442 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 16:39:09 +00:00
shaver%netscape.com
9e90a70671 Add --enable-debug=module1,module2 to selective turn on debugging.
Remove --enable-dom, because Mariner is dead (sob).
Rename some MODULE= lines to make the afore-mentioned --enable-debug
technique actually useful.  Feel free to recategorize.
Fix libraptorhtml.so link bogosity by disabling shared lib generation for the
sub-archives (libraptor*_s.a), so that we can put bin before lib in the
library path and still get the right effect.  We could disable static-lib
generation in most other places and cut the build time down a fair bit, too.
[NOTE: I'm getting on a train...msw@gimp.org has agreed to be my tinderbox
buddy.  Thanks, Matt!]


git-svn-id: svn://10.0.0.236/trunk@16441 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 16:32:37 +00:00
waterson%netscape.com
85f23406df Added nsStreamDataSource to the factory.
git-svn-id: svn://10.0.0.236/trunk@16434 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:49:03 +00:00
waterson%netscape.com
94e78ef4fe Added code to handle columns specified by an RDF sequence.
git-svn-id: svn://10.0.0.236/trunk@16433 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:48:22 +00:00
waterson%netscape.com
84459dcc40 Changed columns to use a sequence. Bug fix for bookmark names.
git-svn-id: svn://10.0.0.236/trunk@16432 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:48:01 +00:00
waterson%netscape.com
8fbc761b21 Removed #if 1's left around from mjudge's selection changes.
git-svn-id: svn://10.0.0.236/trunk@16431 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:47:10 +00:00
waterson%netscape.com
ad0ce1c24d Added factory function for nsStreamDataSource.
git-svn-id: svn://10.0.0.236/trunk@16430 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:46:22 +00:00
waterson%netscape.com
7ca2eba892 Silly bug fixes.
git-svn-id: svn://10.0.0.236/trunk@16429 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:45:25 +00:00
waterson%netscape.com
1197d3600f Added utility routines to create RDF Sequence and Bag objects. Added prototype for RDF container cursor. Added some comments.
git-svn-id: svn://10.0.0.236/trunk@16428 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:44:40 +00:00
waterson%netscape.com
cbdcab6dab Added utility routines to create RDF Sequence and Bag objects. Expanded rdf_IsContainer() to accept sequences.
git-svn-id: svn://10.0.0.236/trunk@16427 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:44:11 +00:00
waterson%netscape.com
8bf4e3b0b0 Added nsContainerCursor and nsStreamDataSource to the build.
git-svn-id: svn://10.0.0.236/trunk@16426 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:42:18 +00:00
waterson%netscape.com
550a0137e7 Added StreamDataSource CID.
git-svn-id: svn://10.0.0.236/trunk@16425 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:40:29 +00:00
ramiro%netscape.com
ddbc3a26e0 Rename 'libdbm' to 'libmozdbm' and 'libutil' to 'libmozutil.
This will fix the problem many people are reporting wrt conflicts with
system libraries that have the same names.


git-svn-id: svn://10.0.0.236/trunk@16424 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:37:32 +00:00
ramiro%netscape.com
9f6c27385c Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@16423 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:32:11 +00:00
ramiro%netscape.com
e4a1b5c41f Make it link again.
git-svn-id: svn://10.0.0.236/trunk@16422 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 07:31:57 +00:00
vidur%netscape.com
290921df31 Enabled asynchronous loading of SCRIPT SRC=, STYLE SRC= and LINK elements for style sheets. Changed nsIScriptContext to not be dependent on JavaScript.
git-svn-id: svn://10.0.0.236/trunk@16421 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 06:10:59 +00:00
raman%netscape.com
b40d7ccdf1 Checking in changes from Bob Glickstein
git-svn-id: svn://10.0.0.236/trunk@16420 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:53:19 +00:00
michaelp%netscape.com
3d6d1f72b8 added ability to create a drawing surface from an HDC under windows.
git-svn-id: svn://10.0.0.236/trunk@16419 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:51:30 +00:00
michaelp%netscape.com
5f60004b2a made damagearea management more aggressive as a temporary fix until
individual classes can to the right thing.


git-svn-id: svn://10.0.0.236/trunk@16418 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:49:48 +00:00
michaelp%netscape.com
72b9fbb09b we not put the responsibility for managing damage regions into the widget
code instead of doing it in the viewmanager. this allows us to paint much
more optimally.


git-svn-id: svn://10.0.0.236/trunk@16417 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:47:25 +00:00
michaelp%netscape.com
22e651792f we no longer tell the widgets to paint themselves as a result of
a resize operation.


git-svn-id: svn://10.0.0.236/trunk@16416 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:45:05 +00:00
michaelp%netscape.com
5c2ef95d1e we now pass the damage region given to us in BeginPaint() into the
rendering context for better damage management.


git-svn-id: svn://10.0.0.236/trunk@16415 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 05:44:21 +00:00
jfrancis%netscape.com
c429df6955 implemented toString() + minor fixmeups
git-svn-id: svn://10.0.0.236/trunk@16414 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:42:29 +00:00
kipp%netscape.com
154911fa72 Added NS_FRAME_IS_REPLACED macro
git-svn-id: svn://10.0.0.236/trunk@16413 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:21:56 +00:00
kipp%netscape.com
2e8adddd5b Fixed up absolute and floating frame types to support replaced variants
git-svn-id: svn://10.0.0.236/trunk@16412 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:21:28 +00:00
kipp%netscape.com
d2b528951f Moved floater reflow out of PlaceFloater and into AddFloater so that floaters are only reflowed during reflow, not during placement; Added code to support css 10.3.5; reflow floaters more often so that % width values are recomputed properly
git-svn-id: svn://10.0.0.236/trunk@16411 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:20:54 +00:00
waterson%netscape.com
c42397f0f7 Added nsStreamDataSource.cpp and nsContainerCursor.cpp to the build.
git-svn-id: svn://10.0.0.236/trunk@16410 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:14:12 +00:00
pierre%netscape.com
925da68c47 don't dispatch Update event when the widget has drawn itself already
git-svn-id: svn://10.0.0.236/trunk@16409 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:03:38 +00:00
waterson%netscape.com
c7807b0694 Initial revision.
git-svn-id: svn://10.0.0.236/trunk@16408 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:03:24 +00:00
pierre%netscape.com
17ee92de4e added OnPaint() to return 'false' and notify nsWindow not to dispatch the Update event
git-svn-id: svn://10.0.0.236/trunk@16407 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 04:03:09 +00:00
wtc%netscape.com
cdaaa17945 In ntio.c, w95io.c, _PR_MD_OPEN, handle all combinations of
PR_CREATE_FILE and PR_TRUNCATE correctly.


git-svn-id: svn://10.0.0.236/trunk@16406 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:58:53 +00:00
waterson%netscape.com
03e5647e91 Added additional comments to clarify the API.
git-svn-id: svn://10.0.0.236/trunk@16405 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:49:36 +00:00
cls%seawood.org
4c418bae35 Added build option for idl tool. Thanks to Tague Griffith <tague@netscape.com> for the patch and the patience while I fumbled this patch. :)
git-svn-id: svn://10.0.0.236/trunk@16404 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:24:59 +00:00
cls%seawood.org
ee193ef351 Fixed redefinition warning
git-svn-id: svn://10.0.0.236/trunk@16403 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:21:23 +00:00
sfraser%netscape.com
b855c2224f Fixed Show() to store a full UNIX path to the selected file
git-svn-id: svn://10.0.0.236/trunk@16402 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:11:59 +00:00
sfraser%netscape.com
5c2a49946c Add nsFileSpec.h and nsFileStream.h
git-svn-id: svn://10.0.0.236/trunk@16401 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:08:57 +00:00
pierre%netscape.com
b3260e79f3 added nsDialog.cpp ans nsLabel.cpp
git-svn-id: svn://10.0.0.236/trunk@16400 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:05:50 +00:00
pierre%netscape.com
44872cb156 support nsDialog ans nsLabel
git-svn-id: svn://10.0.0.236/trunk@16399 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:05:06 +00:00
pierre%netscape.com
daec709396 fixed bug where the Find dialog would not show up again after being dismissed
git-svn-id: svn://10.0.0.236/trunk@16398 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:04:22 +00:00
pierre%netscape.com
d4a2037c77 support dialogs
git-svn-id: svn://10.0.0.236/trunk@16397 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:03:10 +00:00
pierre%netscape.com
6ddaa74f65 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16396 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 03:00:25 +00:00
kin%netscape.com
0d2bb86e8d Added OPTIMIZATION comment.
git-svn-id: svn://10.0.0.236/trunk@16395 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 02:12:25 +00:00
kin%netscape.com
0f65caf3dd Added tests for SetMaxTransactionCount().
git-svn-id: svn://10.0.0.236/trunk@16394 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 02:11:53 +00:00
kin%netscape.com
7018fe3720 Removed ';' in IID defines. This was causing a problem on the Mac.
git-svn-id: svn://10.0.0.236/trunk@16393 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 02:11:17 +00:00
kipp%netscape.com
b079346b21 Landed a patch from bobg@zanshin.com
git-svn-id: svn://10.0.0.236/trunk@16392 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 01:34:36 +00:00
mcafee%netscape.com
202af650d9 Adding Unix makefile
git-svn-id: svn://10.0.0.236/trunk@16391 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 01:27:04 +00:00
pierre%netscape.com
9b0e44bc06 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16390 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 01:06:58 +00:00
guha%netscape.com
f0571c2a80 Another try at search
git-svn-id: svn://10.0.0.236/trunk@16389 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:47:13 +00:00
pinkerton%netscape.com
d1317f2880 add nsHTToolbarContentModel.cpp to obj's as well as src's. Doh!
git-svn-id: svn://10.0.0.236/trunk@16388 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:42:55 +00:00
kipp%netscape.com
2ce3039b2f Print out state bits in hex too
git-svn-id: svn://10.0.0.236/trunk@16387 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:16:32 +00:00
kipp%netscape.com
a7b5b1756b #ifdef'd out the outside-children state methods
git-svn-id: svn://10.0.0.236/trunk@16386 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:16:21 +00:00
kipp%netscape.com
24118eb742 Reworked line-height handling: correctly implements the spec; use value computed by nsHTMLReflowState::CalcLineHeight
git-svn-id: svn://10.0.0.236/trunk@16385 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:16:00 +00:00
kipp%netscape.com
d37bc79ff0 Removed CalcLineHeightFor
git-svn-id: svn://10.0.0.236/trunk@16384 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:15:11 +00:00
kipp%netscape.com
6d68b31e76 Added CalcLineHeight and store it in mLineHeight
git-svn-id: svn://10.0.0.236/trunk@16383 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:14:56 +00:00
kipp%netscape.com
4e857157a0 Added CalcLineHeight and apply it to inline non-replaced elements as a constrained height
git-svn-id: svn://10.0.0.236/trunk@16382 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:14:36 +00:00
cyeh%netscape.com
61412b1a29 latest script used to power autoconf builds of raptor. this script
doesn't use a config file, and is used for example purposes only with no support


git-svn-id: svn://10.0.0.236/trunk@16381 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:14:25 +00:00
kipp%netscape.com
c2218cb81a Fixed rendering problems with lines with outside children; repaired code (currently unused an ifdef'd) to compute the lines outside children state
git-svn-id: svn://10.0.0.236/trunk@16380 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:14:09 +00:00
guha%netscape.com
9e0c533ef7 add search to the big graph
git-svn-id: svn://10.0.0.236/trunk@16379 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:11:09 +00:00
locka%iol.ie
196afe06c1 Added more event handlers and diagnostics
git-svn-id: svn://10.0.0.236/trunk@16378 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:05:28 +00:00
pinkerton%netscape.com
0fda51f903 don't build xpfeViewer anymore (obsolete).
git-svn-id: svn://10.0.0.236/trunk@16377 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:54:23 +00:00
pinkerton%netscape.com
fb8232ca54 add nsHTToolbarContentModel.cpp
git-svn-id: svn://10.0.0.236/trunk@16376 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:51:34 +00:00
pinkerton%netscape.com
ceee8b0c9e minor tweaks to nsBasicStyleInfo struct.
git-svn-id: svn://10.0.0.236/trunk@16375 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:51:04 +00:00
pinkerton%netscape.com
59448b1e96 Talk to new nsHTToolbarDataModel
git-svn-id: svn://10.0.0.236/trunk@16374 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:50:34 +00:00
kin%netscape.com
171b21fb37 Added TestTransactionFactory classes. Got rid of duplicate test/stress
functions.


git-svn-id: svn://10.0.0.236/trunk@16373 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:50:27 +00:00
pinkerton%netscape.com
1ce1ff99f0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16372 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:50:02 +00:00
wtc%netscape.com
ca19426d30 Removed unnecessary -L/lib.
git-svn-id: svn://10.0.0.236/trunk@16371 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:30:43 +00:00
akkana%netscape.com
d58d0a3921 Tracking jfrancis' iterator check-in
git-svn-id: svn://10.0.0.236/trunk@16370 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:18:46 +00:00
jfrancis%netscape.com
1c1c6429fe adding nsContentIterator
git-svn-id: svn://10.0.0.236/trunk@16369 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:17:52 +00:00
jfrancis%netscape.com
fee6efbada First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16368 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 23:16:31 +00:00
brade%netscape.com
c0fb04fc5f (per macdev mtg) always turn on RTTI in all projects
git-svn-id: svn://10.0.0.236/trunk@16367 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 22:57:45 +00:00
wtc%netscape.com
d1ce96d0b6 Minor cleanup/fix in DoScanf.
git-svn-id: svn://10.0.0.236/trunk@16366 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 22:49:47 +00:00
guha%netscape.com
3f23052215 Add mail.c to the repository (not referenced from anywhere yet)
git-svn-id: svn://10.0.0.236/trunk@16365 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 22:49:29 +00:00
wtc%netscape.com
7c5994a202 Misc. changes for Digital Unix and pthreads. Digital Unix's ld does
not understand the -h option but has an equivalent -soname option.
Check for the symbol pthread_attr_init instead of pthread_create in
libpthread because DCE threads also has the symbol pthread_create.


git-svn-id: svn://10.0.0.236/trunk@16364 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 22:48:03 +00:00
pnunn%netscape.com
6592ea720c fix to squelch some mac warnings. -pnunn.
git-svn-id: svn://10.0.0.236/trunk@16363 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 22:42:06 +00:00
guha%netscape.com
cfdde8ce49 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@16362 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 20:51:53 +00:00
mjudge%netscape.com
3820937d83 updating txmgr..
git-svn-id: svn://10.0.0.236/trunk@16361 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 20:38:36 +00:00
waterson%netscape.com
b122062afc Add NameSpaceManagerCID to list of registered CIDs.
git-svn-id: svn://10.0.0.236/trunk@16360 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 19:50:57 +00:00
waterson%netscape.com
75bbf4231c Make sure to attach the newly created column element to the right place.
git-svn-id: svn://10.0.0.236/trunk@16359 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 19:50:18 +00:00
mjudge%netscape.com
73b2bc6983 caps strikes again
git-svn-id: svn://10.0.0.236/trunk@16355 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 19:10:37 +00:00
shaver%netscape.com
483f66118d Now use MODULE instead of MODULE_NAME.
Update README for new libIDL version.
Add -o basename option and use proper output.
Eradicate some final stdout references.
Pretty printing, whee.
New |operator delete| and |IID| stuff for scc.
Support for raw codefrags (``%{ C++\n ... \n%}\n'') and more bufmgmt debugging.
Use IDL_file_set everywhere.


git-svn-id: svn://10.0.0.236/trunk@16354 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:47:39 +00:00
mjudge%netscape.com
6e0b2ad629 txmgr changes not built yet
git-svn-id: svn://10.0.0.236/trunk@16353 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:46:13 +00:00
cyeh%netscape.com
8f536c20d5 fix path problem (that could cause OpenErrorLog() to die) and also
change log name to something more meaningful and to something that
won't collide with a compile log from a previous run


git-svn-id: svn://10.0.0.236/trunk@16352 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:41:44 +00:00
kin%netscape.com
0b5f55908a Removed src directory from list of includes.
git-svn-id: svn://10.0.0.236/trunk@16351 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:39:33 +00:00
kin%netscape.com
fb5695338a Removed src directory from includes list.
git-svn-id: svn://10.0.0.236/trunk@16350 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:39:14 +00:00
kin%netscape.com
5bb6af4f01 Added LLIBS and MISCDEP.
git-svn-id: svn://10.0.0.236/trunk@16349 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:37:46 +00:00
mjudge%netscape.com
5f6331ba4d fixing registry for the range class
git-svn-id: svn://10.0.0.236/trunk@16348 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:34:34 +00:00
mjudge%netscape.com
e19079121c adding in selection
git-svn-id: svn://10.0.0.236/trunk@16347 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:34:14 +00:00
mjudge%netscape.com
68159176d3 adding focus tracker
git-svn-id: svn://10.0.0.236/trunk@16346 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 18:31:13 +00:00
ramiro%netscape.com
7a71f65f31 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@16345 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 16:27:13 +00:00
pierre%netscape.com
72531f0b59 Fix resource path of throbber images
git-svn-id: svn://10.0.0.236/trunk@16344 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 06:42:02 +00:00
troy%netscape.com
0e65aac3d0 Tables now clear the isTopOfPage when appropriate
git-svn-id: svn://10.0.0.236/trunk@16343 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-14 01:24:11 +00:00
guha%netscape.com
5aaac3f56b bunch of fixes to make it run properly under Solaris
git-svn-id: svn://10.0.0.236/trunk@16342 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 23:45:53 +00:00
beard%netscape.com
73e5094949 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16341 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 23:27:52 +00:00
beard%netscape.com
f4eea4abb9 Added .log files, and modification date comparison. Should make average case build times unchanged. This is still not enabled. The MRO and sort scripting additions need to be added to the build suite.
git-svn-id: svn://10.0.0.236/trunk@16340 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 23:24:01 +00:00
mcafee%netscape.com
f7b0720a2d Adding -l build/autoconf flag to autoconf, per cls's comment in the aclocal.m4 log
git-svn-id: svn://10.0.0.236/trunk@16339 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 22:34:17 +00:00
av%netscape.com
e8905988f4 Making object tag to display alternative context
git-svn-id: svn://10.0.0.236/trunk@16338 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:44:55 +00:00
locka%iol.ie
73013502d6 Added Debug menu and menu option to list the IOleCommandTarget supported commands on each control
git-svn-id: svn://10.0.0.236/trunk@16337 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:43:25 +00:00
locka%iol.ie
78980b8e5b Tweaked QueryInterface implementation
git-svn-id: svn://10.0.0.236/trunk@16336 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:41:46 +00:00
locka%iol.ie
f46aba1bae Modified IOleCommandTarget to support the same commands as IE
git-svn-id: svn://10.0.0.236/trunk@16335 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:41:04 +00:00
locka%iol.ie
284bd9d1ad Added preliminary support for windowless controls
git-svn-id: svn://10.0.0.236/trunk@16334 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:39:46 +00:00
beard%netscape.com
0ffd6d37da First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16333 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:12:19 +00:00
beard%netscape.com
7a87a8d596 Now does a list compare of target files before performing a merge pass.
git-svn-id: svn://10.0.0.236/trunk@16332 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 21:11:47 +00:00
beard%netscape.com
bcecb262db Now includes.exp files.
git-svn-id: svn://10.0.0.236/trunk@16331 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 18:33:00 +00:00
beard%netscape.com
560940ca2f Regenerated with GenToc.
git-svn-id: svn://10.0.0.236/trunk@16330 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 18:15:37 +00:00
beard%netscape.com
d0e372deb7 Mac project reconciliation. MANIFESTO.pm is currently disabled.
git-svn-id: svn://10.0.0.236/trunk@16329 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 07:11:44 +00:00
beard%netscape.com
c716c4a913 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16328 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 05:14:29 +00:00
beard%netscape.com
ec4c624a54 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16327 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 05:08:00 +00:00
beard%netscape.com
a4edceb665 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16326 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 05:01:04 +00:00
hyatt%netscape.com
c213bf9385 Fixing a minor drawing bug (filling in of the blank lines in the tree).
git-svn-id: svn://10.0.0.236/trunk@16325 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-13 01:20:35 +00:00
kipp%netscape.com
21b1837275 When verify-reflow-all is enabled, update the display after each reflow and pause for a while
git-svn-id: svn://10.0.0.236/trunk@16323 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:21:05 +00:00
kipp%netscape.com
c8a7ca5e0b Factored out whitespace trimming from horizontal alignment
git-svn-id: svn://10.0.0.236/trunk@16322 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:20:35 +00:00
kipp%netscape.com
79aff1475c Made ListTag more usable for all frame types, not just derivations of nsFrame
git-svn-id: svn://10.0.0.236/trunk@16321 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:20:10 +00:00
kipp%netscape.com
82c8bb51be Moved a #if 0 to get rid of a compiler warning
git-svn-id: svn://10.0.0.236/trunk@16320 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:19:48 +00:00
kipp%netscape.com
85576f2757 Reworked incremental reflow floater handling to place floaters as their state is recovered instead of moving them
git-svn-id: svn://10.0.0.236/trunk@16319 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:19:11 +00:00
kipp%netscape.com
23fbf960e6 Factored out floater sliding from SlideFrames; Added the dy value to the RecoverState method
git-svn-id: svn://10.0.0.236/trunk@16318 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:18:28 +00:00
kipp%netscape.com
ac10ae1a6e Revised ClearFloaters to loop so that all appropriate floaters are cleared
git-svn-id: svn://10.0.0.236/trunk@16317 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:17:58 +00:00
troy%netscape.com
0f21502444 Changed comments to conform to CSS2 guidelines for C-style comments
git-svn-id: svn://10.0.0.236/trunk@16316 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 19:07:38 +00:00
troy%netscape.com
6d649a1f27 Changed inline and block reflow code to reset reflow state's isTopOfPage
data member based on whether IsAdjacentWithTop() is true


git-svn-id: svn://10.0.0.236/trunk@16315 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 17:59:30 +00:00
troy%netscape.com
5b41f50a55 Changed Reflow() to set isTopOfPage in reflow state
git-svn-id: svn://10.0.0.236/trunk@16314 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 17:58:18 +00:00
troy%netscape.com
40180a9345 Added isTopOfPage to nsIFrameReflow
git-svn-id: svn://10.0.0.236/trunk@16313 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 17:57:47 +00:00
rth%cygnus.com
b6e23e71e1 Detect and handle overloaded methods.
git-svn-id: svn://10.0.0.236/trunk@16312 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 08:21:25 +00:00
rth%cygnus.com
3a6c1f822f Re-implement for your legal protection.
git-svn-id: svn://10.0.0.236/trunk@16311 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 08:20:30 +00:00
rth%cygnus.com
602715aa5d Add missing java class include files.
git-svn-id: svn://10.0.0.236/trunk@16310 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 08:18:07 +00:00
rth%cygnus.com
4ff48ea3da Insert directory entries into a SortedTree for searching.
git-svn-id: svn://10.0.0.236/trunk@16309 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 05:23:36 +00:00
rth%cygnus.com
c4a9714f3e (EF_LIBS): Add DebuggerChannel and EFDisassemble.
(JAVAH): Set LD_LIBRARY_PATH.


git-svn-id: svn://10.0.0.236/trunk@16308 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:10:43 +00:00
rth%cygnus.com
47a1d7b033 (MKSHLIB): Must use gcc, not ld, to create shared libraries w/ constructors.
(NSPR_THREAD_LIBS): New.


git-svn-id: svn://10.0.0.236/trunk@16307 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:09:28 +00:00
rth%cygnus.com
e4d95b9e00 (LIBRARY_NAME): Change to EFDisassemble.
git-svn-id: svn://10.0.0.236/trunk@16306 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:08:12 +00:00
rth%cygnus.com
b8c872a73d (DIRS): Wildcard on the cpu, so that processors that do not have
disassemblers can still build.


git-svn-id: svn://10.0.0.236/trunk@16305 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:07:44 +00:00
rth%cygnus.com
32c02678df Use local labels as needed.
git-svn-id: svn://10.0.0.236/trunk@16304 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:06:58 +00:00
rth%cygnus.com
8981c7a2bd (GetPassedException): Abort. The existing "mov ecx,E" thing can not work.
Plus it generated invalid assembly.


git-svn-id: svn://10.0.0.236/trunk@16303 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:06:26 +00:00
rth%cygnus.com
6b2df5a9e9 Streamline INLINE_GET_EBP.
Error if this file is used on anything except x86.


git-svn-id: svn://10.0.0.236/trunk@16302 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:04:01 +00:00
rth%cygnus.com
c103052793 ANSI C++ disallows reinterpret_cast between objects and functions.
git-svn-id: svn://10.0.0.236/trunk@16301 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:02:56 +00:00
rth%cygnus.com
812e904367 Make sure nsinstall gets built before make export tries to use it.
git-svn-id: svn://10.0.0.236/trunk@16300 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 04:02:05 +00:00
cls%seawood.org
33093a91fe Updated to most recent versions from automake 1.2b so that libtool will work properly
git-svn-id: svn://10.0.0.236/trunk@16299 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 03:13:46 +00:00
kipp%netscape.com
4b719d4fb1 Repaired the background image rendering code to properly factor in the dirty-rect with background-position handling (bug #912)
git-svn-id: svn://10.0.0.236/trunk@16298 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 03:06:02 +00:00
kipp%netscape.com
2008c897f6 I disabled selection rendering until it works again
git-svn-id: svn://10.0.0.236/trunk@16297 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 03:05:24 +00:00
cls%seawood.org
42ddaac986 Moved gtk macros into separate file to make way for new macros with conflicting licenses. Requires that autoconf be called with '-l build/autoconf'.
git-svn-id: svn://10.0.0.236/trunk@16296 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 02:41:17 +00:00
cls%seawood.org
f5724875cf Start enforcing the requirement of autoconf 2.12 or higher.
git-svn-id: svn://10.0.0.236/trunk@16295 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 02:39:21 +00:00
leaf%mozilla.org
a034770e1f Adding fix to apprunner link problem. (from braddr@portland.puremagic.com)
git-svn-id: svn://10.0.0.236/trunk@16294 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 02:28:56 +00:00
mcmullen%netscape.com
30f968dd50 Deal with the case of a null string.
git-svn-id: svn://10.0.0.236/trunk@16293 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 02:07:11 +00:00
leaf%mozilla.org
42314a8047 Adding NSPR and client.mak for windows builds, and MozillaLicense just because
git-svn-id: svn://10.0.0.236/trunk@16292 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 02:02:57 +00:00
guha%netscape.com
bd2a632853 another pass at dynamic generation of open directory pages
git-svn-id: svn://10.0.0.236/trunk@16291 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 01:58:15 +00:00
beard%netscape.com
9beefb1f0e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16290 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 01:33:27 +00:00
law%netscape.com
54ddc73d23 Minor fix in operator=
git-svn-id: svn://10.0.0.236/trunk@16289 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 01:28:28 +00:00
scc%netscape.com
6ae6d4c919 VC++4.2 can't use a declaration expression as a test. Oh well. Moved declaration to outside the test.
git-svn-id: svn://10.0.0.236/trunk@16288 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 01:26:11 +00:00
law%netscape.com
06a4324063 Add NS_BASE to cause export from dll on Windows
git-svn-id: svn://10.0.0.236/trunk@16287 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 01:25:32 +00:00
cyeh%netscape.com
342f0ee7ff fix annoying little bug where if you specify an invalid log path, the open file call would fail, and you would silently get no build log.
now we check to see if open() succeeded, and if not, die accordingly.


git-svn-id: svn://10.0.0.236/trunk@16286 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 00:02:38 +00:00
mcmullen%netscape.com
9858d9f31a More windows stuff.
git-svn-id: svn://10.0.0.236/trunk@16285 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:52:31 +00:00
scc%netscape.com
622699edf5 wrong file checked in, checking in the real one (just in case)
git-svn-id: svn://10.0.0.236/trunk@16284 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:49:04 +00:00
scc%netscape.com
0dfcb344e8 Significantly upgraded functionality to automatically call QueryInterface when assigning in incompatible pointers.
git-svn-id: svn://10.0.0.236/trunk@16283 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:43:00 +00:00
mjudge%netscape.com
2f44b6d466 changing the calling to the editor factory
git-svn-id: svn://10.0.0.236/trunk@16282 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:40:01 +00:00
mjudge%netscape.com
700ea1ddd8 adding iid to generated file. this is ok we need this for COM ptrs
git-svn-id: svn://10.0.0.236/trunk@16281 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:38:30 +00:00
mjudge%netscape.com
1bf5aab121 adding iid to the interfaces to support auto query interface
git-svn-id: svn://10.0.0.236/trunk@16280 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:36:35 +00:00
mjudge%netscape.com
264ea86016 adding IID to auto generated files
git-svn-id: svn://10.0.0.236/trunk@16279 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:36:04 +00:00
mjudge%netscape.com
65e0597fad adding IID for now, auto generate will duplicate work that is ok
git-svn-id: svn://10.0.0.236/trunk@16278 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:35:46 +00:00
mcmullen%netscape.com
d634634ab5 More windows tweaks
git-svn-id: svn://10.0.0.236/trunk@16277 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:05:24 +00:00
hyatt%netscape.com
2bd2fc024d Fixing the content model structure and correcting a drawing error
in the tree view.


git-svn-id: svn://10.0.0.236/trunk@16276 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 23:01:09 +00:00
kipp%netscape.com
3c1b246951 Compute correct Y coordinate after clear floaters; fixed bullet positioning bug when placing a bullet next to a block frame that has a carried-out top margin
git-svn-id: svn://10.0.0.236/trunk@16275 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 22:26:45 +00:00
kipp%netscape.com
a29aa1b885 When dealing with a percentage-width HR, don't let it impact the max-element-size.width inappropriately
git-svn-id: svn://10.0.0.236/trunk@16274 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 22:23:18 +00:00
kipp%netscape.com
02d3e99208 Futzed with list item handling a bit
git-svn-id: svn://10.0.0.236/trunk@16273 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 22:22:29 +00:00
waterson%netscape.com
5ee212993e Got rid of NS_DYNAMIC_CAST() macro at scc's prodding.
git-svn-id: svn://10.0.0.236/trunk@16272 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 21:39:18 +00:00
terry%netscape.com
0c80c991ae Added Mac System 8.5.
git-svn-id: svn://10.0.0.236/trunk@16271 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 21:33:36 +00:00
waterson%netscape.com
95c6ebeff9 Got rid of NS_DYNAMIC_CAST() macro -- it's bogus.
git-svn-id: svn://10.0.0.236/trunk@16270 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 20:32:22 +00:00
jfrancis%netscape.com
517982ca42 more preperation for adding tx mgr stuff to mac build
git-svn-id: svn://10.0.0.236/trunk@16269 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 19:25:48 +00:00
buster%netscape.com
be457e5620 fixed a minor bug in incremental reflow where the reflow state's "widthConstraint" wasn't getting set
git-svn-id: svn://10.0.0.236/trunk@16268 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:54:58 +00:00
rth%cygnus.com
f857e60a6a The arch bits call for Linux{ver} not LinuxELF{ver}.
git-svn-id: svn://10.0.0.236/trunk@16267 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:49:27 +00:00
rth%cygnus.com
c5788fe90b Re-implement for your legal protection.
git-svn-id: svn://10.0.0.236/trunk@16266 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:37:20 +00:00
rth%cygnus.com
c3a25ce396 Use a proper sigcontext for Linux, just as is done for BSD.
git-svn-id: svn://10.0.0.236/trunk@16265 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:35:52 +00:00
rth%cygnus.com
eeae032cab Fix bogus gcc x86 asms.
git-svn-id: svn://10.0.0.236/trunk@16264 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:33:48 +00:00
mcmullen%netscape.com
ddd96eff8f And again.
git-svn-id: svn://10.0.0.236/trunk@16263 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:17:22 +00:00
jfrancis%netscape.com
708dad24a0 getting transaction manager ready for addition to mac build
git-svn-id: svn://10.0.0.236/trunk@16262 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:13:11 +00:00
vidur%netscape.com
b0dbe3d498 Work in progress of async loading of SCRIPT and STYLE with SRC attributes. Content sinks can now return a BLOCK_PARSER return code, forcing the parser to block. nsIParser::EnableParser can be used to unblock. Also introduced nsIContentSink::SetParser.
git-svn-id: svn://10.0.0.236/trunk@16261 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 17:02:37 +00:00
pinkerton%netscape.com
7e05adc4f3 Explanation of why this file is obsolete but still in the tree.
git-svn-id: svn://10.0.0.236/trunk@16260 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:39:29 +00:00
pinkerton%netscape.com
1176055d5e Tree view is no longer an nsITreeView but an nsIContentConnector.
git-svn-id: svn://10.0.0.236/trunk@16259 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:36:21 +00:00
pinkerton%netscape.com
5bfa89ff0f use NS_STATIC_CAST.
git-svn-id: svn://10.0.0.236/trunk@16258 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:35:48 +00:00
pinkerton%netscape.com
1fc8a6851a fix a cast with the tree view because nsITreeView doesn't exist anymore.
git-svn-id: svn://10.0.0.236/trunk@16257 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:35:33 +00:00
pinkerton%netscape.com
8787f20110 make tree view implement nsIContentConnector, obsoleting nsITreeView
git-svn-id: svn://10.0.0.236/trunk@16256 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:35:08 +00:00
pinkerton%netscape.com
e389e79aad Make toolbar manager implement nsIContentConnector and prepare for nsIToolbarManager to go away.
git-svn-id: svn://10.0.0.236/trunk@16255 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:34:46 +00:00
pinkerton%netscape.com
4025e77255 Make toolbar implement nsIContentConnector and prepare for nsIToolbar to go away.
git-svn-id: svn://10.0.0.236/trunk@16254 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:34:25 +00:00
pinkerton%netscape.com
657877c4c1 Export nsIContentConnector.h instead of nsITreeView.h
git-svn-id: svn://10.0.0.236/trunk@16253 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:33:40 +00:00
pinkerton%netscape.com
31b61316a8 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16252 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:32:39 +00:00
dcone%netscape.com
2cd6154e04 minor fix for the printers port
git-svn-id: svn://10.0.0.236/trunk@16251 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:09:28 +00:00
dcone%netscape.com
88dfff190c moved the begindocument() so things can be set up before the device context is inited and the size of the printer page is needed.
git-svn-id: svn://10.0.0.236/trunk@16250 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:07:10 +00:00
dcone%netscape.com
a1329a49b0 Fixed it so that a control handle is not made unless a valid windowptr is passed in. This is needed for the printer port.
git-svn-id: svn://10.0.0.236/trunk@16249 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:05:54 +00:00
dcone%netscape.com
1bd5ea0c99 Added an init routine for the Graphic state that takes an nsDrawingSurface so the state will not be initialized to null.
git-svn-id: svn://10.0.0.236/trunk@16248 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:04:23 +00:00
dcone%netscape.com
2ba4d4bfa5 Update routines for creating a rendering context, and fixed the printer routines.
git-svn-id: svn://10.0.0.236/trunk@16247 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 16:03:10 +00:00
kipp%netscape.com
ab5cde8c0a Tweaked reflow status to be legible
git-svn-id: svn://10.0.0.236/trunk@16246 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:53:03 +00:00
kipp%netscape.com
bbdafa23dc Changed breaking behavior so that empty frames don't trigger a break even if the horizontal space is already over committed
git-svn-id: svn://10.0.0.236/trunk@16245 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:50:12 +00:00
kipp%netscape.com
d8afc6ef07 Removed bogus assert that was tripping on spacer-frames; fixed up justification behavior (thanks harish!)
git-svn-id: svn://10.0.0.236/trunk@16244 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:49:07 +00:00
kipp%netscape.com
f4ed82cc78 Repaired frame-util CID
git-svn-id: svn://10.0.0.236/trunk@16243 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:47:23 +00:00
kipp%netscape.com
c52ed4e844 Repaired frame-util IID
git-svn-id: svn://10.0.0.236/trunk@16242 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:47:09 +00:00
kipp%netscape.com
792c1cd7f2 Added FrameUtil IIDs
git-svn-id: svn://10.0.0.236/trunk@16241 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 15:18:39 +00:00
amusil%netscape.com
0a1130270c Adding #ifdefs for USE_CACHE on #includes
git-svn-id: svn://10.0.0.236/trunk@16238 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 05:17:50 +00:00
amusil%netscape.com
cf16810525 Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@16237 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 05:12:58 +00:00
amusil%netscape.com
9913e6cdf2 Added support for the NuCache - used in cases where the stream type is specified "AsFile" (or "AsFileOnly").
#define USE_CACHE in nsPluginHostImpl.cpp to enable.


git-svn-id: svn://10.0.0.236/trunk@16236 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:50:57 +00:00
toshok%hungry.com
72d49f0cd4 we need to fix this, but to get things building i've made the copy constructors public and provided an implementation of them that just PR_ASSERT(0)'s.
git-svn-id: svn://10.0.0.236/trunk@16235 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:41:05 +00:00
toshok%hungry.com
ea272eaf71 anything greater than gcc 2.8 should have terminate already.
git-svn-id: svn://10.0.0.236/trunk@16234 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:10:21 +00:00
toshok%hungry.com
65aff93c06 XDisAsmTable.c is not included in the distribution (for licensing reasons.) don't reference it in the Makefile.
git-svn-id: svn://10.0.0.236/trunk@16233 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:04:19 +00:00
toshok%hungry.com
a34ea1260f add freebsd support.
git-svn-id: svn://10.0.0.236/trunk@16232 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:03:33 +00:00
toshok%hungry.com
0036e5a7c2 allow building without jvmdi
git-svn-id: svn://10.0.0.236/trunk@16231 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:03:13 +00:00
toshok%hungry.com
11e1103860 add FreeBSD support.
git-svn-id: svn://10.0.0.236/trunk@16230 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:01:07 +00:00
toshok%hungry.com
5eddfaefc6 cleanup
git-svn-id: svn://10.0.0.236/trunk@16229 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:00:52 +00:00
toshok%hungry.com
e0eda77346 always turn on BATCH_COMPILATION (ef won't build without it.) and allow building without jvmdi support. to enable jvmdi support, install the jvmdi.h file in ef/Debugger and setenv USE_JVMDI 1
git-svn-id: svn://10.0.0.236/trunk@16228 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 04:00:14 +00:00
toshok%hungry.com
e87e4810ec add support for FreeBSD
git-svn-id: svn://10.0.0.236/trunk@16227 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 03:57:33 +00:00
toshok%hungry.com
9961f53f40 file needed for freebsd port.
git-svn-id: svn://10.0.0.236/trunk@16226 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 03:57:00 +00:00
peterl%netscape.com
781098bb4e added nsNameSpaceManager.cpp & nsCSSStyleAtoms.cpp
git-svn-id: svn://10.0.0.236/trunk@16225 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 03:38:37 +00:00
mcmullen%netscape.com
e0be47d98f More tweaks.
git-svn-id: svn://10.0.0.236/trunk@16224 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 03:17:47 +00:00
guha%netscape.com
004db7d894 first version of dynamic pages for open directory should work now
git-svn-id: svn://10.0.0.236/trunk@16223 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 03:02:20 +00:00
wtc%netscape.com
ffbb8b067f Need to encode the fd type in the NSPR_INHERIT_FDS environment string,
so that in the child process we know whether it is a file, TCP socket,
or UDP socket.


git-svn-id: svn://10.0.0.236/trunk@16222 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:58:31 +00:00
peterl%netscape.com
d713987b42 moved name space management to name space manager, tweaked apis
git-svn-id: svn://10.0.0.236/trunk@16221 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:53:49 +00:00
peterl%netscape.com
ab36157598 added css atoms
git-svn-id: svn://10.0.0.236/trunk@16220 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:51:05 +00:00
peterl%netscape.com
f336f79552 added support for CSS2 selector syntax
git-svn-id: svn://10.0.0.236/trunk@16219 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:50:43 +00:00
peterl%netscape.com
5e907ae2f2 support for CSS2 selector systax
git-svn-id: svn://10.0.0.236/trunk@16218 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:50:01 +00:00
peterl%netscape.com
f289f4b663 added case sensativity switch
git-svn-id: svn://10.0.0.236/trunk@16217 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:48:40 +00:00
toshok%hungry.com
019795499b Fix the burm_STATE_LABEL thing, since the version of burg that I have (and that I assume we'll be using) doesn't use SET_STATE_LABEL - it makes assignments to STATE_LABEL.
git-svn-id: svn://10.0.0.236/trunk@16216 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:48:32 +00:00
peterl%netscape.com
1708b522be sync css selector output to new selector syntax
git-svn-id: svn://10.0.0.236/trunk@16215 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:48:00 +00:00
peterl%netscape.com
eaccb954c9 handle inline style sheet better
git-svn-id: svn://10.0.0.236/trunk@16214 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:47:25 +00:00
peterl%netscape.com
fed2ce07ee fixed base href for inline style sheets
set case sensativity in CSS parser


git-svn-id: svn://10.0.0.236/trunk@16213 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:46:25 +00:00
peterl%netscape.com
6280234f0b backed out prevoius change (not ready for it)
git-svn-id: svn://10.0.0.236/trunk@16212 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:45:25 +00:00
peterl%netscape.com
fe71a331fb added namespace support
git-svn-id: svn://10.0.0.236/trunk@16211 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:42:38 +00:00
toshok%hungry.com
c3757648b3 reorder member initialization to quiet warning.
git-svn-id: svn://10.0.0.236/trunk@16210 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:39:50 +00:00
peterl%netscape.com
59edc94473 removed pseudo class atoms (moved to css atoms)
git-svn-id: svn://10.0.0.236/trunk@16209 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:36:36 +00:00
peterl%netscape.com
2b172a49cd added namespace manager
git-svn-id: svn://10.0.0.236/trunk@16208 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:35:54 +00:00
peterl%netscape.com
5c40f60db7 added name space manager
git-svn-id: svn://10.0.0.236/trunk@16207 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:35:06 +00:00
peterl%netscape.com
f7c42b14ed changed style selector api
git-svn-id: svn://10.0.0.236/trunk@16206 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:33:23 +00:00
peterl%netscape.com
f1b91bd635 fixed default value of vertical align
git-svn-id: svn://10.0.0.236/trunk@16205 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:33:03 +00:00
peterl%netscape.com
8917b0149d added name space atoms
git-svn-id: svn://10.0.0.236/trunk@16204 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:31:51 +00:00
peterl%netscape.com
3b15182d29 added namespace interfaces
git-svn-id: svn://10.0.0.236/trunk@16203 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:30:59 +00:00
peterl%netscape.com
44d27498d4 added namespace manager accessor
git-svn-id: svn://10.0.0.236/trunk@16202 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:30:23 +00:00
peterl%netscape.com
087c4b9fd9 added namespace accessor
git-svn-id: svn://10.0.0.236/trunk@16201 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:30:08 +00:00
peterl%netscape.com
dd4b87c389 added namespace IIDs
git-svn-id: svn://10.0.0.236/trunk@16200 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:29:14 +00:00
peterl%netscape.com
73ba709cb4 switched to new name space APIs
git-svn-id: svn://10.0.0.236/trunk@16199 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 02:28:27 +00:00
mcmullen%netscape.com
f057f1160a Some more tweaks to suit various compilers and platforms.
git-svn-id: svn://10.0.0.236/trunk@16198 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:42:04 +00:00
mjudge%netscape.com
a3d406763f changing symantecs around and making the enumerator return the proper nsISupports
git-svn-id: svn://10.0.0.236/trunk@16197 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:40:01 +00:00
jj%netscape.com
b421b7c102 . Fixed error log file path
. Swapped OpenErrorLog and StopForErrors calls.
r=cyeh


git-svn-id: svn://10.0.0.236/trunk@16196 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:34:18 +00:00
pierre%netscape.com
3b32ebb46e Fixed Resize() and Invalidate() to make xpfe apps much faster
git-svn-id: svn://10.0.0.236/trunk@16195 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:11:23 +00:00
mjudge%netscape.com
4459d111f7 initializing the refcount
git-svn-id: svn://10.0.0.236/trunk@16194 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:04:54 +00:00
mjudge%netscape.com
cee4bdaa4e fixing factory issues
git-svn-id: svn://10.0.0.236/trunk@16193 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 01:03:12 +00:00
nisheeth%netscape.com
bc46c631a2 Added a new method, GetStyleHintForAttributeChange() to nsIHTMLContent.
git-svn-id: svn://10.0.0.236/trunk@16192 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:52:55 +00:00
cls%seawood.org
28d3ec4b12 Make the build optimized by default
git-svn-id: svn://10.0.0.236/trunk@16191 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:29:48 +00:00
kin%netscape.com
2595e48ef9 We no longer statically link libtxmgr.a.
git-svn-id: svn://10.0.0.236/trunk@16190 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:26:05 +00:00
kin%netscape.com
f87d102bdb Modified tests to call nsServiceManager::GetService() to create an
nsITransactionManager.


git-svn-id: svn://10.0.0.236/trunk@16189 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:25:33 +00:00
kin%netscape.com
e46884dd07 Initialize mRefCnt in constructor. Removed useless white space. Commented
out references to NS_TRANSACTIONMANAGER.


git-svn-id: svn://10.0.0.236/trunk@16188 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:24:29 +00:00
kin%netscape.com
cda2c71048 Added EXTRA_DSO_LDOPTS.
git-svn-id: svn://10.0.0.236/trunk@16187 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:23:25 +00:00
kin%netscape.com
8bd500c732 Added SetMaxTransactionCount() method to nsITransactionManager and
nsTransactionManager. Replaced all !NS_SUCCEEDED with NS_FAILED.


git-svn-id: svn://10.0.0.236/trunk@16186 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 00:22:34 +00:00
nisheeth%netscape.com
51147256cd Added a new method, GetStyleHintForAttributeChange() to nsIHTMLContent and implemented it in all the HTML content classes. The method is used by the HTML style sheet to get a style change hint from the content object when an attribute of the content object changes.
git-svn-id: svn://10.0.0.236/trunk@16185 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 23:52:46 +00:00
nisheeth%netscape.com
fef1fc5b4d Changed nsHTMLStyleSheetImpl::AttributeChanged() so that it asks the
content objects for style change hint.  Removed tag specific code in this function.


git-svn-id: svn://10.0.0.236/trunk@16184 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 23:49:13 +00:00
despotdaemon%netscape.com
eed9dc9652 Pseudo-automatic update of changes made by rth@cygnus.com.
git-svn-id: svn://10.0.0.236/trunk@16183 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 23:30:47 +00:00
despotdaemon%netscape.com
3603ef22e0 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16182 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 22:54:36 +00:00
despotdaemon%netscape.com
eba59fcffa Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16181 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 22:51:47 +00:00
terry%netscape.com
ff7a1f2243 Added support for creating owners.html from despot.
git-svn-id: svn://10.0.0.236/trunk@16180 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 22:42:36 +00:00
akkana%netscape.com
623cf5add3 Fix win32 build
git-svn-id: svn://10.0.0.236/trunk@16179 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 20:15:25 +00:00
wtc%netscape.com
e2964d1a20 In PR_JoinThread, we need to call pthread_detach after pthread_join
under DCE threads because DCE threads' pthread_detach does not reclaim
the terminated thread's resources.


git-svn-id: svn://10.0.0.236/trunk@16178 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:58:23 +00:00
buster%netscape.com
0117f09401 support for CSS2 style property "empty-cells"
git-svn-id: svn://10.0.0.236/trunk@16177 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:57:42 +00:00
kmcclusk%netscape.com
5a8fd0f06d Added button to test_pr.html
git-svn-id: svn://10.0.0.236/trunk@16176 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:43:59 +00:00
terry%netscape.com
75fe0bb1e5 Old values for the column-header-cookie could cause problems when trying to tweak several bugs at once.
git-svn-id: svn://10.0.0.236/trunk@16175 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:41:30 +00:00
wtc%netscape.com
8821854755 Adjusted comments and white space.
git-svn-id: svn://10.0.0.236/trunk@16174 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:40:48 +00:00
wtc%netscape.com
a54e16096f Removed redundant #include "macsocket.h" (already included
by prinet.h).


git-svn-id: svn://10.0.0.236/trunk@16173 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:33:28 +00:00
wtc%netscape.com
499507333a Implemented the PR_APPEND and PR_TRUNCATE flags
for PR_Open.


git-svn-id: svn://10.0.0.236/trunk@16172 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 19:19:03 +00:00
akkana%netscape.com
e869ed3096 Clone and CloneContents
git-svn-id: svn://10.0.0.236/trunk@16171 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:58:49 +00:00
kmcclusk%netscape.com
9266103e2b Added test_pr to the set of sample file. test_pr is used to test printing of
form controls.


git-svn-id: svn://10.0.0.236/trunk@16170 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:55:45 +00:00
kmcclusk%netscape.com
7c89b4af6b Removed temporary ReflowWithNoWidget method from nsFormControlFrame.
Reflow without a widget is now handled by the standard Reflow method.


git-svn-id: svn://10.0.0.236/trunk@16169 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:47:02 +00:00
kin%netscape.com
24376dda52 Added nsTransactionManagerFactory.cpp to list of files to build.
git-svn-id: svn://10.0.0.236/trunk@16168 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:25:12 +00:00
kin%netscape.com
215c02c8e0 Added nsTransactionManagerCID.h to list of exports.
git-svn-id: svn://10.0.0.236/trunk@16167 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:24:18 +00:00
kin%netscape.com
6c47e9a11c Initial checkin of file.
git-svn-id: svn://10.0.0.236/trunk@16166 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:23:04 +00:00
kipp%netscape.com
57d57e34c2 Added automated regression testing support to the crawler
git-svn-id: svn://10.0.0.236/trunk@16165 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:05:59 +00:00
kipp%netscape.com
5c1319daaa Added -rd argument handling
git-svn-id: svn://10.0.0.236/trunk@16164 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:05:35 +00:00
kipp%netscape.com
c753afb5f6 Added FrameUtil
git-svn-id: svn://10.0.0.236/trunk@16163 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:05:06 +00:00
jfrancis%netscape.com
37fb4bca3f adding nsFrameUtil.cpp
git-svn-id: svn://10.0.0.236/trunk@16162 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:04:52 +00:00
kipp%netscape.com
2ab19d9126 Added factory CID and impl to create instances of nsIFrameUtil
git-svn-id: svn://10.0.0.236/trunk@16161 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:04:37 +00:00
kipp%netscape.com
2703d3ecab Added nsFrameUtil to the build
git-svn-id: svn://10.0.0.236/trunk@16160 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:04:18 +00:00
kipp%netscape.com
4cb4b05d3c Added nsIFrameUtil to the exports
git-svn-id: svn://10.0.0.236/trunk@16159 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:03:26 +00:00
kipp%netscape.com
b3aeaa58df Added nsIFrameUtil.h
git-svn-id: svn://10.0.0.236/trunk@16158 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 18:01:29 +00:00
rods%netscape.com
60fe4ee625 Added printing methods
git-svn-id: svn://10.0.0.236/trunk@16157 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:53:34 +00:00
kipp%netscape.com
f39da4fc73 Added some code to handle illegal color values more compatabibly
git-svn-id: svn://10.0.0.236/trunk@16156 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:50:43 +00:00
kipp%netscape.com
3d945293a9 Fixed border drawing to not draw zero sized borders
git-svn-id: svn://10.0.0.236/trunk@16155 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:50:11 +00:00
wtc%netscape.com
6824069144 Removed obsolete file macsockclient.c.
git-svn-id: svn://10.0.0.236/trunk@16154 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:44:35 +00:00
kmcclusk%netscape.com
4f4f08da7c Changes to actually print checkbox's and radiobuttons under Windows.
No longer need special offset's during printing. nsFormControlFrame now detects
when to gfx render the widgets.


git-svn-id: svn://10.0.0.236/trunk@16153 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:29:13 +00:00
karnaze%netscape.com
d4a59c0626 fixed bug 1806
git-svn-id: svn://10.0.0.236/trunk@16152 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:22:31 +00:00
wtc%netscape.com
3cff93e11d Made the second argument for PR_Writev a const pointer
(const PRIOVec *iov).
Modified files: prio.h, _unixos.h, primpl.h, rcfileio.cpp, rcfileio.h,
rcio.h, rcnetio.cpp, rcnetio.h, priometh.c, prlayer.c, prsocket.c,
macsockotpt.c, os2sock.c, solaris.c, unix.c, ntio.c, w16sock.c,
w95sock.c, ptio.c.


git-svn-id: svn://10.0.0.236/trunk@16151 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:09:48 +00:00
despotdaemon%netscape.com
d9d9589af3 Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16150 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 17:07:29 +00:00
pinkerton%netscape.com
13f3951615 fix alias creation of AppShell debug shlb by appending the $D to the name.
git-svn-id: svn://10.0.0.236/trunk@16149 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 16:59:42 +00:00
toshok%hungry.com
aef3a93e3a fix warnings by providing empty virtual destructors for classes that needed them, reordering initialization of member variables, and by giving the type uint to all the 'const nFooTypes;' variables.
git-svn-id: svn://10.0.0.236/trunk@16148 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 11:52:47 +00:00
toshok%hungry.com
70f4e55bd6 do it right this time.
git-svn-id: svn://10.0.0.236/trunk@16147 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 11:27:43 +00:00
toshok%hungry.com
9ea5326bfe reverse initialization order to get around compiler warning.
git-svn-id: svn://10.0.0.236/trunk@16146 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 11:25:31 +00:00
toshok%hungry.com
dd142f3cc7 remove trigraph
git-svn-id: svn://10.0.0.236/trunk@16145 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 11:17:47 +00:00
toshok%hungry.com
01dd607e8f add a special rule so that make doesn't attempt on successive builds to compile PrimitiveOperations from PrimitiveOperations.cpp
git-svn-id: svn://10.0.0.236/trunk@16144 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 11:03:29 +00:00
toshok%hungry.com
ef349d84a9 correct (rather serious) warning.
git-svn-id: svn://10.0.0.236/trunk@16143 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 10:51:45 +00:00
waterson%netscape.com
7934068503 Made sure to treat attribute value case-insenstively. Fixed QueryInterface() call.
git-svn-id: svn://10.0.0.236/trunk@16142 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 10:06:37 +00:00
waterson%netscape.com
f2f124c46b Changed assumptions about where to find column info in the content model: specifically, removed the explicit <column> group required for every item. Hyatt, we'll need to talk about this.
git-svn-id: svn://10.0.0.236/trunk@16141 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 10:05:32 +00:00
waterson%netscape.com
d1dac79672 Made sure that attributes keys get tracked case-insensitively. Fixed return values from GetAttribute().
git-svn-id: svn://10.0.0.236/trunk@16140 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 10:03:52 +00:00
waterson%netscape.com
e2228a0485 Added columns. Made some tweaks to use common utility functions.
git-svn-id: svn://10.0.0.236/trunk@16139 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:49:57 +00:00
waterson%netscape.com
80376456c8 Fixed some content model bugs as we start hooking this up to the tree. Added code to generate columns in the content model.
git-svn-id: svn://10.0.0.236/trunk@16138 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:48:17 +00:00
waterson%netscape.com
1ed8a257b1 Added a reminder to do nsIDOMDocument someday.
git-svn-id: svn://10.0.0.236/trunk@16137 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:47:18 +00:00
waterson%netscape.com
02ecfa8eca Created a ton of utility functions to make life easier.
git-svn-id: svn://10.0.0.236/trunk@16136 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:46:32 +00:00
waterson%netscape.com
ffa4be56d2 Added some comments.
git-svn-id: svn://10.0.0.236/trunk@16135 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:45:52 +00:00
waterson%netscape.com
4017ce049c Changed the DEFINE_RDF_VOCAB macro to use char* instead of char[].
git-svn-id: svn://10.0.0.236/trunk@16134 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:45:25 +00:00
waterson%netscape.com
bed6ef42c2 Iterate through children of the <COLUMNS> node, not the original node.
git-svn-id: svn://10.0.0.236/trunk@16133 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:31:52 +00:00
waterson%netscape.com
acc6954db5 Make sure to get the children of the <CHILDREN> node, not the original node.
git-svn-id: svn://10.0.0.236/trunk@16132 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:30:59 +00:00
waterson%netscape.com
ea4b313af5 Make sure to addref the content node in the constructor.
git-svn-id: svn://10.0.0.236/trunk@16131 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:30:18 +00:00
waterson%netscape.com
cc28cd0da3 Force the tree demo to dump the content model before displaying the tree.
git-svn-id: svn://10.0.0.236/trunk@16130 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:29:14 +00:00
toshok%hungry.com
339df3db4c add FREEBSD
git-svn-id: svn://10.0.0.236/trunk@16129 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:09:06 +00:00
toshok%hungry.com
50525701e7 trim down Makefile.
git-svn-id: svn://10.0.0.236/trunk@16128 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:07:31 +00:00
toshok%hungry.com
015b6f10f4 get the Compiler/CodeGenerator/md stuff compiling
git-svn-id: svn://10.0.0.236/trunk@16127 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:06:25 +00:00
toshok%hungry.com
3968183322 the object files for EF are put in $(DIST)/modules/EF/ now. track this change.
git-svn-id: svn://10.0.0.236/trunk@16126 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:04:55 +00:00
toshok%hungry.com
1988f8da64 remove the manifest.mn and rules.mk files, folding them into the Makefile.
git-svn-id: svn://10.0.0.236/trunk@16125 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:04:18 +00:00
toshok%hungry.com
1e5ed62c47 phew. ok. get the config stuff at least limping along. i've used freebsd for this, but linux ought to work as well (even the freebsd stuff isn't perfect yet.)
git-svn-id: svn://10.0.0.236/trunk@16124 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:03:50 +00:00
toshok%hungry.com
a35c8545a2 use the mkdepend from the normal mozilla tree. it's got more portability foo in it.
git-svn-id: svn://10.0.0.236/trunk@16123 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 08:02:59 +00:00
toshok%hungry.com
ceeb2e1e6d fix a warning in generated code.
git-svn-id: svn://10.0.0.236/trunk@16122 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 07:59:47 +00:00
toshok%hungry.com
89d1c68897 add md stuff for freebsd.
git-svn-id: svn://10.0.0.236/trunk@16121 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 07:56:37 +00:00
toshok%hungry.com
e031e3f1b5 add the npl/copyright foo
git-svn-id: svn://10.0.0.236/trunk@16120 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 04:56:00 +00:00
despotdaemon%netscape.com
2cd96d1927 Pseudo-automatic update of changes made by wtc@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16119 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 04:52:08 +00:00
sfraser%netscape.com
e86e6a6910 Convert AppleSingle->binary format.
git-svn-id: svn://10.0.0.236/trunk@16118 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 03:22:27 +00:00
troy%netscape.com
6a4e7032a9 Minor change to the flow of control to make it more readable
git-svn-id: svn://10.0.0.236/trunk@16117 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 03:20:31 +00:00
sfraser%netscape.com
f502b21879 Convert AppleSingle -> binary format
git-svn-id: svn://10.0.0.236/trunk@16116 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 03:20:07 +00:00
troy%netscape.com
09c5c0329a Added print options for controlling whether odd and even pages are printed
git-svn-id: svn://10.0.0.236/trunk@16115 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 03:07:11 +00:00
troy%netscape.com
6a5358e387 Changes to nsPrintOptions
git-svn-id: svn://10.0.0.236/trunk@16114 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 03:06:30 +00:00
davidm%netscape.com
07afcb65be First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16113 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 01:23:18 +00:00
troy%netscape.com
55cb5a040c Fix for bug 1831 where an auto horizontal scrollbar was causing a vertical
scrollbar to be displayed even though it wasn't needed


git-svn-id: svn://10.0.0.236/trunk@16112 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 00:52:58 +00:00
kipp%netscape.com
4e8cd20aad new
git-svn-id: svn://10.0.0.236/trunk@16111 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 00:33:07 +00:00
kipp%netscape.com
78fe4cf1a1 Only zero out the height/ascent/descent if the empty text is not a pre-formatted piece of empty text, otherwise blank lines in PRE sections disappear
git-svn-id: svn://10.0.0.236/trunk@16110 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 00:30:52 +00:00
cmanske%netscape.com
64b1aaca89 Building Editor GUI Manager turned on in Windows build
git-svn-id: svn://10.0.0.236/trunk@16109 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 00:24:40 +00:00
hyatt%netscape.com
e08a99eb10 Nodes now track their correct indentation levels (from the content model).
git-svn-id: svn://10.0.0.236/trunk@16108 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-10 00:21:44 +00:00
kipp%netscape.com
aae87bb6cc Compute percentage base properly
git-svn-id: svn://10.0.0.236/trunk@16107 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:51:39 +00:00
buster%netscape.com
ad5a50d3d6 an even cleaner implementation of InsertRow
git-svn-id: svn://10.0.0.236/trunk@16105 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:30:06 +00:00
akkana%netscape.com
7a2989e97c Turn on guimgr in Unix build
git-svn-id: svn://10.0.0.236/trunk@16104 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:24:42 +00:00
buster%netscape.com
e8c6b1d306 fixed nsHTMLTableElement::InsertRow()
git-svn-id: svn://10.0.0.236/trunk@16103 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:19:12 +00:00
troy%netscape.com
ef6dcd06c6 Changed StartDocument/EndDocument to use the correct device context
git-svn-id: svn://10.0.0.236/trunk@16102 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:12:56 +00:00
guha%netscape.com
9963eb6172 Add opendir files to the repository
git-svn-id: svn://10.0.0.236/trunk@16101 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:08:59 +00:00
hyatt%netscape.com
4e2228aac7 Columns are now grabbed from the content model.
git-svn-id: svn://10.0.0.236/trunk@16100 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 23:08:32 +00:00
troy%netscape.com
4694f541a3 Moved StartDocument/EndDocument calls to document viewer impl's Print() member
function. This fits better with the Mac's printing model


git-svn-id: svn://10.0.0.236/trunk@16099 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 22:36:57 +00:00
troy%netscape.com
56e6a45664 Moved StartDocument/EndDocument calls from page sequence frame to Print(). This
fits better with the Mac printing model


git-svn-id: svn://10.0.0.236/trunk@16098 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 22:36:17 +00:00
cmanske%netscape.com
ab584d15ac Fixing build bustage?
git-svn-id: svn://10.0.0.236/trunk@16097 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 22:19:41 +00:00
jfrancis%netscape.com
b437dbe832 checking in a bit more of deleteContents; hard part still not done.
git-svn-id: svn://10.0.0.236/trunk@16096 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 22:07:00 +00:00
cmanske%netscape.com
ea8761c29b Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@16094 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 21:22:17 +00:00
hyatt%netscape.com
58afbb9b75 My previous checkin is going to break Linux. This checkin should fix the
build bustage.


git-svn-id: svn://10.0.0.236/trunk@16093 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:50:27 +00:00
sfraser%netscape.com
88a68ec8f5 Convert AppleSingle -> binary
git-svn-id: svn://10.0.0.236/trunk@16092 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:48:54 +00:00
sfraser%netscape.com
29b6e1b70d Convert AppleSingle -> binary, turn on debug info, fix library creator.
git-svn-id: svn://10.0.0.236/trunk@16091 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:47:46 +00:00
davidm%netscape.com
912989eaf3 Add code to build XPAppShell to build list
git-svn-id: svn://10.0.0.236/trunk@16090 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:43:50 +00:00
davidm%netscape.com
28fdf086c6 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16089 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:42:35 +00:00
davidm%netscape.com
2389083d3b Updated to use Mac shared libraries
git-svn-id: svn://10.0.0.236/trunk@16088 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:40:18 +00:00
davidm%netscape.com
752b704af0 modifiy initialize to return nsresult rather than an implicit int
git-svn-id: svn://10.0.0.236/trunk@16087 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:39:51 +00:00
sfraser%netscape.com
d5c9b867c7 Turn on debug info in debug target. Shlb creator -> MOZZ
git-svn-id: svn://10.0.0.236/trunk@16086 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:27:00 +00:00
sfraser%netscape.com
53dedba1d6 Convert from AppleSingle to binary format.
git-svn-id: svn://10.0.0.236/trunk@16085 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 20:24:51 +00:00
hyatt%netscape.com
c7cb6abc3b Modifications to make the tree widget talk to nsIContent.
git-svn-id: svn://10.0.0.236/trunk@16084 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:57:15 +00:00
cmanske%netscape.com
0b219df90c Fixed build problems with Editor Gui Manager
git-svn-id: svn://10.0.0.236/trunk@16083 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:57:09 +00:00
hyatt%netscape.com
b348c5d2bc Modified the tree view interface so a content root can be set.
git-svn-id: svn://10.0.0.236/trunk@16082 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:56:55 +00:00
hyatt%netscape.com
338233b8f9 Modifications to make the tree view speak to RDF.
git-svn-id: svn://10.0.0.236/trunk@16081 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:56:30 +00:00
kin%netscape.com
5f2cac374d Modified Undo() and Redo() to throw an error if there is a transaction
on the Do stack.


git-svn-id: svn://10.0.0.236/trunk@16080 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:53:31 +00:00
radha%netscape.com
d9a87cd6eb Added appshell and bootstrap Makefiles to the list
git-svn-id: svn://10.0.0.236/trunk@16079 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:48:49 +00:00
akkana%netscape.com
6d0f552ce0 Fix C++ comment in C file
git-svn-id: svn://10.0.0.236/trunk@16078 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:46:38 +00:00
kin%netscape.com
c712081325 Added aggregation_test(), stress_test(), and aggregation_stress_test().
git-svn-id: svn://10.0.0.236/trunk@16077 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:28:58 +00:00
terry%netscape.com
6217e65ae5 Got rid of some harmless warning messages.
git-svn-id: svn://10.0.0.236/trunk@16076 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:27:37 +00:00
cmanske%netscape.com
230961099c Modified makefiles for new filenames
git-svn-id: svn://10.0.0.236/trunk@16074 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:24:31 +00:00
cmanske%netscape.com
a580001f06 Added new files for Editor Gui Manager
git-svn-id: svn://10.0.0.236/trunk@16073 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:23:49 +00:00
cmanske%netscape.com
ec65f22f1b Changed name of file
git-svn-id: svn://10.0.0.236/trunk@16072 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:23:01 +00:00
akkana%netscape.com
060cfafd1c implementation for CompareEndPoints
git-svn-id: svn://10.0.0.236/trunk@16071 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:21:49 +00:00
sfraser%netscape.com
41ffc846a9 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16070 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:08:54 +00:00
cmanske%netscape.com
cc4786b82e Modified makefiles for Editor Gui Manager
git-svn-id: svn://10.0.0.236/trunk@16069 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:04:11 +00:00
cmanske%netscape.com
ef41f2f2f7 Added Editor GuiManager source files
git-svn-id: svn://10.0.0.236/trunk@16068 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 19:00:35 +00:00
cmanske%netscape.com
796505baac Added public headers for Editor Gui Manager
git-svn-id: svn://10.0.0.236/trunk@16067 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 18:59:31 +00:00
cmanske%netscape.com
4ddb6588f8 Added Gui Manager makefiles
git-svn-id: svn://10.0.0.236/trunk@16066 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 18:56:39 +00:00
akkana%netscape.com
1e7ab9d594 Update Range spec
git-svn-id: svn://10.0.0.236/trunk@16065 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 18:44:26 +00:00
ramiro%netscape.com
ab3a800524 Remove duplicate entries for :
mozilla/Makefile.in
mozilla/configure.in


git-svn-id: svn://10.0.0.236/trunk@16064 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 17:45:13 +00:00
wtc%netscape.com
add34905f7 Removed mention of MAC in the makefile. Mac doesn't use makefles.
git-svn-id: svn://10.0.0.236/trunk@16063 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 17:43:00 +00:00
wtc%netscape.com
57b4ef036a Removed the temporary depend:clean hack.
git-svn-id: svn://10.0.0.236/trunk@16062 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 17:42:06 +00:00
wtc%netscape.com
e476b7f876 Added build support for the C++ wrappers in pr/src/cplus.
Set USE_CPLUS=1 to recurse into that directory.


git-svn-id: svn://10.0.0.236/trunk@16061 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 17:39:37 +00:00
kin%netscape.com
d52fc03869 Fixed off by 1 error that occurs in PopBack() when
(mOrigin + mSize) >= mCapacity.


git-svn-id: svn://10.0.0.236/trunk@16060 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 17:07:20 +00:00
wtc%netscape.com
36f6c7c683 Temporary depend:clean hack to make sure the Tinderbox depend continuous
builds work after a major checkin.


git-svn-id: svn://10.0.0.236/trunk@16058 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 16:45:36 +00:00
wtc%netscape.com
4c71f93c90 This checkin consists on three things:
1. File descriptor inheritance
2. Set thread->md.handle on Win32 for attached native threads.
3. Miscellaneous code cleanup.


git-svn-id: svn://10.0.0.236/trunk@16057 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 16:37:26 +00:00
ramiro%netscape.com
26ae5aef25 Make the get config dir hack more robust. This thing is probably going away
in the xpfe world.
Thanks to rth@cygnus.com (Richard Henderson) for pointing this out.


git-svn-id: svn://10.0.0.236/trunk@16056 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 15:28:19 +00:00
ramiro%netscape.com
3a5245952b Fix bugzilla bug 1822.
Memory clobber on 64-bit host.
Thanks to rth@cygnus.com for catching this and providing a fix.


git-svn-id: svn://10.0.0.236/trunk@16055 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 15:13:42 +00:00
pierre%netscape.com
c43e0c95ac Implemented scrollbars as native controls. Still some bugs, should have live-scrolling, should be proportionnal under 8.5.
git-svn-id: svn://10.0.0.236/trunk@16054 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 13:26:49 +00:00
pierre%netscape.com
fbec6c5006 don't draw when not visible
git-svn-id: svn://10.0.0.236/trunk@16053 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 13:24:26 +00:00
pierre%netscape.com
e23f728ea6 redraw on Scroll()
git-svn-id: svn://10.0.0.236/trunk@16052 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 13:24:09 +00:00
shaver%netscape.com
3704af165d Fixed usage-string typo.
Update to 0.5.7 IDL_tree_property_get API.
Reworked input callback for cleanliness.
Add (not-yet-working) infrastructure for %{ C %} raw blocks.


git-svn-id: svn://10.0.0.236/trunk@16051 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 13:08:29 +00:00
pierre%netscape.com
ea8b8fc593 removed saari's hacks
git-svn-id: svn://10.0.0.236/trunk@16050 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:18:50 +00:00
pierre%netscape.com
1a05cbde32 A bunch of changes: removed saari's hacks, fixed origins, clipping, resize and update
git-svn-id: svn://10.0.0.236/trunk@16049 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:18:30 +00:00
pierre%netscape.com
c8c24c8ec4 don't draw when not visible and don't draw in SetThumbSize() in order to fix a flicker of the horizontal sbar on resize when the text fits into the page
git-svn-id: svn://10.0.0.236/trunk@16048 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:18:03 +00:00
pierre%netscape.com
7915c018e6 removed saari's hack
git-svn-id: svn://10.0.0.236/trunk@16047 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:17:31 +00:00
pierre%netscape.com
ce57119548 A bunch of changes: removed saari's hacks, fixed origins, fixed clipping, fixed offscreen (for simple use like in the ImageButtons only, not for multiple offscreen surfaces like the Blender in the ViewManager), fixed a bug in some drawing functions (DrawEllipse, FillEllipse, DrawArc)
git-svn-id: svn://10.0.0.236/trunk@16046 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:17:06 +00:00
pierre%netscape.com
aab0e25c0f Fixed the "GrowWindow" from DRAW_ON_RESIZE in order to have a minimum window size (Viewer and maybe XPViewer don't support very narrow windows). Added a WaitNextEvent for update events during the DRAW_ON_RESIZE after having fixed a related bug in nsWindow.
git-svn-id: svn://10.0.0.236/trunk@16045 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:16:35 +00:00
pierre%netscape.com
0b48a12c5b Removed the last of the Mac specific hacks added last week
git-svn-id: svn://10.0.0.236/trunk@16044 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:16:15 +00:00
pierre%netscape.com
ca47f2ae5a Copied SetAlphaMask() from Windows in an attempt to fix some problems (it did not but I'm leaving it there because it cannot hurt).
git-svn-id: svn://10.0.0.236/trunk@16043 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:15:44 +00:00
pierre%netscape.com
2883145fe2 Use a better looking font on the Mac
git-svn-id: svn://10.0.0.236/trunk@16042 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:15:22 +00:00
pierre%netscape.com
30222ada44 Removed some include files
git-svn-id: svn://10.0.0.236/trunk@16041 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:14:46 +00:00
pierre%netscape.com
aed880d6cc Added several MakeAlias for xSym files
git-svn-id: svn://10.0.0.236/trunk@16040 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 10:14:06 +00:00
mcmullen%netscape.com
5585c8bf96 Trying to make this build on unix gcc compilers, I have removed all references to std::string, using char* instead. This almost made me cry (not just because of all the work I had to do over again).
git-svn-id: svn://10.0.0.236/trunk@16039 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 08:47:30 +00:00
wtc%netscape.com
b0441c2895 Initial checkin of NSPR C++ wrapper classes (pr/src/cplus).
git-svn-id: svn://10.0.0.236/trunk@16038 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:54:06 +00:00
buster%netscape.com
415d59aa67 tables can now have independent horizontal and vertical cell spacing
("cellspacing" HTML attribute == "border-spacing" CSS property, go figure...)


git-svn-id: svn://10.0.0.236/trunk@16037 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:37:18 +00:00
buster%netscape.com
a85d3c902d cellspacing split out into x and y, HTML attribute sets both to same value
git-svn-id: svn://10.0.0.236/trunk@16036 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:36:32 +00:00
buster%netscape.com
91804a7b1d added implementation for CSS-2 style attributes border-collapse, border-spacing, empty-cells, caption-side
git-svn-id: svn://10.0.0.236/trunk@16035 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:24:50 +00:00
buster%netscape.com
88bb687497 added implementation for CSS-2 style attributes border-collapse, border-spacing, empty-cells, caption-side
this is sufficient for now, but incomplete.  It doesn't handle inherit properly.


git-svn-id: svn://10.0.0.236/trunk@16034 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:24:27 +00:00
fur%netscape.com
5a98423bb8 Moved Win32 build instructions to mozilla.org
git-svn-id: svn://10.0.0.236/trunk@16033 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 05:57:20 +00:00
troy%netscape.com
0a0b7ae6b0 Added new atoms to nsLayoutAtoms for additional named frame child lists
git-svn-id: svn://10.0.0.236/trunk@16032 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 05:30:17 +00:00
mcmullen%netscape.com
0588941742 Tried to make this a little more gcc friendly - created some NS_USING_NAMESPACE/ NS_NAMESPACE ugliness. Sigh.
git-svn-id: svn://10.0.0.236/trunk@16031 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 05:09:28 +00:00
troy%netscape.com
c9e7bd13c8 Fixed a crash when resizing the print preview window
git-svn-id: svn://10.0.0.236/trunk@16029 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 04:26:42 +00:00
waterson%netscape.com
7b2c6f451a Initial revision. Not currently in the build.
git-svn-id: svn://10.0.0.236/trunk@16028 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:51:50 +00:00
kipp%netscape.com
a048610ac8 Backed out one change
git-svn-id: svn://10.0.0.236/trunk@16027 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:40:42 +00:00
kipp%netscape.com
7d60f51dd7 new
git-svn-id: svn://10.0.0.236/trunk@16026 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:40:03 +00:00
mcmullen%netscape.com
54c41190bf Removing because checked into this directory by mistake.
git-svn-id: svn://10.0.0.236/trunk@16025 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:35:52 +00:00
kipp%netscape.com
55710f3285 new
git-svn-id: svn://10.0.0.236/trunk@16024 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:31:08 +00:00
waterson%netscape.com
c1b015aaa9 Content model changes to get the tree widget alive.
git-svn-id: svn://10.0.0.236/trunk@16023 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 03:25:33 +00:00
gagan%netscape.com
d1075553b3 This was causing part of the disappearing cache objects problem. This is now internally handled in the new cache.
git-svn-id: svn://10.0.0.236/trunk@16022 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 02:58:50 +00:00
amusil%netscape.com
e59f502108 Fix for Bug# 1771. Re-ordered the calling into the plugin entry point. Initialize()
for 4x plugin now happens in CreatePlugin().


git-svn-id: svn://10.0.0.236/trunk@16021 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 02:47:03 +00:00
gagan%netscape.com
2bd31be77d Cache changes, bug fixes, etc.
git-svn-id: svn://10.0.0.236/trunk@16020 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 02:43:16 +00:00
pinkerton%netscape.com
0012f434c9 Remove PLStringFuncs.o for new universal headers.
git-svn-id: svn://10.0.0.236/trunk@16019 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:56:57 +00:00
pinkerton%netscape.com
9606099d46 fix for new universal headers. Don't use PLstringfuncs and add an inline helper to the helper namespace which does the same things.
git-svn-id: svn://10.0.0.236/trunk@16018 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:56:36 +00:00
sfraser%netscape.com
53224b3fc9 Fix part of build bustage. (Strange, this built fine with my tools).
git-svn-id: svn://10.0.0.236/trunk@16017 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:30:42 +00:00
dougt%netscape.com
04e9501977 New makefile.win for standalone registry target.
git-svn-id: svn://10.0.0.236/trunk@16016 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:10:28 +00:00
dougt%netscape.com
f5705cdc6e removed standalone references since we now have a fancy new target one
dir above us.


git-svn-id: svn://10.0.0.236/trunk@16015 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:09:21 +00:00
dougt%netscape.com
4b96b224b6 added standalone target. r.leaf
git-svn-id: svn://10.0.0.236/trunk@16014 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:08:28 +00:00
law%netscape.com
f434dd9914 Added Windoze support
git-svn-id: svn://10.0.0.236/trunk@16013 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 01:04:53 +00:00
sfraser%netscape.com
c78482348a Adding nsBlockBandData.cpp
git-svn-id: svn://10.0.0.236/trunk@16012 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 00:26:56 +00:00
sfraser%netscape.com
58f98a359a Fix the timer compare function (need an extra dereference).
git-svn-id: svn://10.0.0.236/trunk@16011 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 00:08:41 +00:00
sfraser%netscape.com
ced13cc404 Remove access path to the root of the mozilla tree, which caused this thing to take forever to load in the IDE.
git-svn-id: svn://10.0.0.236/trunk@16010 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 23:58:23 +00:00
cltbld%netscape.com
cd400f55ba add nsBlockBandData.h per kipp's addition
git-svn-id: svn://10.0.0.236/trunk@16009 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 23:25:30 +00:00
despotdaemon%netscape.com
15f972aef0 Pseudo-automatic update of changes made by davidm@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16008 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 23:07:26 +00:00
despotdaemon%netscape.com
3eddb5fb7f Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@16007 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 23:03:54 +00:00
sar%netscape.com
05dc3133d1 add RaptorAll modules for tinderbox, also clean up a little formatting cruft
git-svn-id: svn://10.0.0.236/trunk@16006 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 23:03:11 +00:00
radha%netscape.com
0ec1a9da0f Add appshell and bootstrap to DIRS list
git-svn-id: svn://10.0.0.236/trunk@16005 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:47:16 +00:00
radha%netscape.com
64cb0235fd Initial checkin
git-svn-id: svn://10.0.0.236/trunk@16004 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:46:35 +00:00
radha%netscape.com
56af85ca53 Initial Checkin
git-svn-id: svn://10.0.0.236/trunk@16003 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:45:58 +00:00
mcmullen%netscape.com
cf8dafefa3 Polished the interfaces, added long comments in the headers.
The next step is checking by Bill Law and Steve Lamm for Win and Unix.  Then it's open season.


git-svn-id: svn://10.0.0.236/trunk@16002 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:45:42 +00:00
mcmullen%netscape.com
a1b4ed0f62 Added nsFileStream.cpp to this project.
Polished the interfaces, added long comments in the headers.

The next step is checking by Bill Law and Steve Lamm for Win and Unix.  Then it's open season.


git-svn-id: svn://10.0.0.236/trunk@16001 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:45:38 +00:00
radha%netscape.com
81a1403853 Initial checkin. Stubs for the unix apprunner
git-svn-id: svn://10.0.0.236/trunk@16000 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:44:55 +00:00
mcmullen%netscape.com
963a718dd7 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15999 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:43:57 +00:00
radha%netscape.com
ae0d8d70da Load the unix nsappshell.so in to the registry
git-svn-id: svn://10.0.0.236/trunk@15998 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:43:52 +00:00
radha%netscape.com
c92f782b69 Initial checkin for Unix apprunner
git-svn-id: svn://10.0.0.236/trunk@15997 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:43:20 +00:00
raman%netscape.com
ede3cc4a41 Bug fix to make ftp:// protocol to work with the new cache code.
git-svn-id: svn://10.0.0.236/trunk@15996 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:11:05 +00:00
kin%netscape.com
5ab61098d8 Fixed bug that prevented transaction item children from being redone.
git-svn-id: svn://10.0.0.236/trunk@15995 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 22:05:23 +00:00
kipp%netscape.com
5f8a1a12d4 new
git-svn-id: svn://10.0.0.236/trunk@15993 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 21:44:22 +00:00
kipp%netscape.com
59ad825d3e Added some debug checks to sizes; keep zero sized items on the same line whenever possible
git-svn-id: svn://10.0.0.236/trunk@15992 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 21:43:42 +00:00
kipp%netscape.com
5014326024 Factored out the block-band-data class; fixed a bug with treating block objects that weren't really nsBlockFrame's like they were (bug #1713)
git-svn-id: svn://10.0.0.236/trunk@15991 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 21:43:15 +00:00
kipp%netscape.com
c79140ae51 Added nsBlockBandData
git-svn-id: svn://10.0.0.236/trunk@15990 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 21:42:35 +00:00
despotdaemon%netscape.com
e2c6346a96 Pseudo-automatic update of changes made by msanz@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15989 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 20:16:12 +00:00
akkana%netscape.com
5bbb9bbf32 GetOwnerDocument should return NS_ERROR_NOT_IMPLEMENTED if it's not going to modify its input
git-svn-id: svn://10.0.0.236/trunk@15986 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:53:25 +00:00
pnunn%netscape.com
7c942df448 update to png version 1.0.2. -pnunn.
git-svn-id: svn://10.0.0.236/trunk@15985 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:44:02 +00:00
pinkerton%netscape.com
927f043691 Don't build NavServices stuff because it doesn't work with the 3.2 universal headers (apple changed a struct).
git-svn-id: svn://10.0.0.236/trunk@15984 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:42:52 +00:00
pnunn%netscape.com
5d972fec0f update to png version 1.0.2. -pnunn. Note: gamma is temporarily disabled.
git-svn-id: svn://10.0.0.236/trunk@15983 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:41:25 +00:00
buster%netscape.com
ab0a080e21 fixed a minor glitch I introduced where nested tables cells were getting
robbed of a few pixels in width in some cases.


git-svn-id: svn://10.0.0.236/trunk@15982 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:18:33 +00:00
waterson%netscape.com
57daa111ab Obsolete.
git-svn-id: svn://10.0.0.236/trunk@15981 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 19:14:43 +00:00
akkana%netscape.com
2d6147c177 Remove old selection code (and fix linux build)
git-svn-id: svn://10.0.0.236/trunk@15980 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:55:00 +00:00
danm%netscape.com
dee66bb417 removed nsSelection.cpp, nsSelectionPoint.cpp, nsSelectionRange.cpp. yell at mjudge if this causes problems.
git-svn-id: svn://10.0.0.236/trunk@15979 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:34:59 +00:00
mjudge%netscape.com
d40094a5a2 changes to default to new selection
git-svn-id: svn://10.0.0.236/trunk@15978 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:26:34 +00:00
mjudge%netscape.com
03ace6e2d1 chagnes to selection
git-svn-id: svn://10.0.0.236/trunk@15977 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:26:06 +00:00
mjudge%netscape.com
a60c78a903 changes to selection
git-svn-id: svn://10.0.0.236/trunk@15976 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:25:47 +00:00
mjudge%netscape.com
3b8b44ad07 changes to remove selection
git-svn-id: svn://10.0.0.236/trunk@15975 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 18:25:27 +00:00
troy%netscape.com
f40c33432f Initial table pagination support
git-svn-id: svn://10.0.0.236/trunk@15974 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 17:57:45 +00:00
raman%netscape.com
3ca530cf7c Bug fix for 928. Check for null address in the URL_s structure.
git-svn-id: svn://10.0.0.236/trunk@15973 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 17:55:03 +00:00
kipp%netscape.com
3e00c5832e backed out last changes
git-svn-id: svn://10.0.0.236/trunk@15972 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 17:33:28 +00:00
kipp%netscape.com
fb782a13db Fix a cut-paste coding error
git-svn-id: svn://10.0.0.236/trunk@15971 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 17:19:17 +00:00
kipp%netscape.com
83eafe11c2 Fixed an improper use of NS_RELEASE
git-svn-id: svn://10.0.0.236/trunk@15970 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 16:08:44 +00:00
kipp%netscape.com
b1ee8580db Updated to latest nsIWebShellContainer API
git-svn-id: svn://10.0.0.236/trunk@15969 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 15:51:42 +00:00
waterson%netscape.com
a6cb66db1e Cleaned up data source construction, made more consistent with other NGLayout modules.
git-svn-id: svn://10.0.0.236/trunk@15968 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 06:53:49 +00:00
waterson%netscape.com
8a398a690e Changed nsRDFDataSource::Initialize to Init to be consistent with the rest of the world.
git-svn-id: svn://10.0.0.236/trunk@15967 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 06:28:36 +00:00
waterson%netscape.com
1db3f68a17 Some stuff to the TO DO list.
git-svn-id: svn://10.0.0.236/trunk@15966 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 06:24:28 +00:00
waterson%netscape.com
95952ef887 Some horrible hackery to get hyatt started on debugging the tree with a real content model.
git-svn-id: svn://10.0.0.236/trunk@15965 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 05:10:35 +00:00
waterson%netscape.com
0d4d36b993 Added CID for RDF tree document.
git-svn-id: svn://10.0.0.236/trunk@15964 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 04:56:10 +00:00
waterson%netscape.com
11fc399841 Fixed a missing refcount.
git-svn-id: svn://10.0.0.236/trunk@15963 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 04:55:25 +00:00
kipp%netscape.com
14ec540a13 Fixed bug #1621 - if a floater was too wide and it was right aligned it would end up positioned off the left edge of the block
git-svn-id: svn://10.0.0.236/trunk@15961 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 03:57:12 +00:00
waterson%netscape.com
76280043c8 Moved the RDF document interfaces out into the open. Added some stuff to make it easier to construct a data source from outside of normal channels.
git-svn-id: svn://10.0.0.236/trunk@15960 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 03:49:14 +00:00
kipp%netscape.com
9e360eec32 Removed check for a band count of when when clearing floaters because if the floater is large the band may only have one trapezoid in it
git-svn-id: svn://10.0.0.236/trunk@15959 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 03:47:44 +00:00
kipp%netscape.com
2898a86645 new
git-svn-id: svn://10.0.0.236/trunk@15958 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 03:36:34 +00:00
kipp%netscape.com
264d8928b8 Implement new NewWebShell API
git-svn-id: svn://10.0.0.236/trunk@15957 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:39:48 +00:00
jfrancis%netscape.com
7d28e05c79 removing tabs; started deleteContents() imp
git-svn-id: svn://10.0.0.236/trunk@15956 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:26:15 +00:00
mcmullen%netscape.com
62ce39a5db Added nsFileSpec.cpp to this project (you also get nsFileStream, but this is all done with templates in a header - this may need to be revisited).
This is the first real checkin of nsFileSpec.*, and the first ever checkin of nsFileStream.h.  This provides typesafe file specifications, interconversions, and full Standard Library support for iostreams, based on these specifications.

The next step is checking by Bill Law and Steve Lamm for Win and Unix.  Then it's open season.


git-svn-id: svn://10.0.0.236/trunk@15955 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:24:19 +00:00
mcmullen%netscape.com
7612b35bc7 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15954 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:22:54 +00:00
sfraser%netscape.com
ec62691775 Added Debug and Tools menus, and hooked up some of the menu items. They don't all work yet.
git-svn-id: svn://10.0.0.236/trunk@15953 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:16:42 +00:00
mcmullen%netscape.com
ce9cf0d08e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15952 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:15:50 +00:00
sfraser%netscape.com
c9a0831caa Don't crash when failing to create dialogs (which we don't have a widget for yet on Mac).
git-svn-id: svn://10.0.0.236/trunk@15951 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 02:15:21 +00:00
kipp%netscape.com
5238173304 Implement new NewWebShell API
git-svn-id: svn://10.0.0.236/trunk@15950 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 01:57:40 +00:00
kipp%netscape.com
4214d0534b Added 2 more arguments to NewWebShell so that new top-level windows could be created properly
git-svn-id: svn://10.0.0.236/trunk@15949 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 01:57:00 +00:00
kipp%netscape.com
923f08db82 Pass in chrome and visibility during web-shell creation
git-svn-id: svn://10.0.0.236/trunk@15948 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 01:56:31 +00:00
pierre%netscape.com
4ff8ec2ffe optimized and cleaned up
git-svn-id: svn://10.0.0.236/trunk@15947 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 01:47:04 +00:00
buster%netscape.com
119726a491 fixed a bug in table-layout:fixed mode
fixed bug fixed a few small bugs


git-svn-id: svn://10.0.0.236/trunk@15946 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 01:00:14 +00:00
buster%netscape.com
bd36f4fc76 fixed default cellspacing and cellpadding
git-svn-id: svn://10.0.0.236/trunk@15945 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 00:59:15 +00:00
kipp%netscape.com
b3d40caef9 new
git-svn-id: svn://10.0.0.236/trunk@15944 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 00:57:45 +00:00
troy%netscape.com
d0f172e81d Improved height calculation when there are floaters. Now we check against
the content area y-most rather than the frame bounds y-most. This ensures
that border and padding are respected along the bottom edge


git-svn-id: svn://10.0.0.236/trunk@15942 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 00:01:12 +00:00
law%netscape.com
182b2b0393 Accept URL on command line
git-svn-id: svn://10.0.0.236/trunk@15941 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 23:35:02 +00:00
waterson%netscape.com
f646a5ae5c Removed obsolete file.
git-svn-id: svn://10.0.0.236/trunk@15940 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 23:18:11 +00:00
kipp%netscape.com
bc8d0e6224 Made image documents layout again
git-svn-id: svn://10.0.0.236/trunk@15939 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 22:29:13 +00:00
kipp%netscape.com
2c0c8a72a7 Disabled fixed height/width ignoring code for shrink-wrap blocks; fixed crash bug with premature deleting of a line
git-svn-id: svn://10.0.0.236/trunk@15938 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 22:28:55 +00:00
kipp%netscape.com
2c7beba568 Added DeleteLine method
git-svn-id: svn://10.0.0.236/trunk@15937 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 22:28:23 +00:00
akkana%netscape.com
38c4a010d7 Change NULL to 0 in NS_RELEASE and NS_IF_RELEASE macros.
This is illegal C++ (at least on machines where NULL == (void*)0)
and breaks some compilers, issues warnings in others.


git-svn-id: svn://10.0.0.236/trunk@15936 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 21:57:57 +00:00
raman%netscape.com
08c4b8f0d0 Bug fix for 1741. For XP_FILE_READ_BIN permission types, set mode as nsRead.
git-svn-id: svn://10.0.0.236/trunk@15935 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 21:49:29 +00:00
shaver%netscape.com
459587fe77 remove dead code, tweak whitespace
git-svn-id: svn://10.0.0.236/trunk@15934 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 20:23:37 +00:00
waterson%netscape.com
042cf627d5 Cleaned up content model generation.
git-svn-id: svn://10.0.0.236/trunk@15933 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 20:09:30 +00:00
kipp%netscape.com
d596ead678 Slightly better handling of left/right block margins
git-svn-id: svn://10.0.0.236/trunk@15932 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:34:41 +00:00
dcone%netscape.com
9f0879552a Changed some attributes on the printer items for the menus
git-svn-id: svn://10.0.0.236/trunk@15931 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:14:33 +00:00
harishd%netscape.com
bf95de173e changed the code that previously accessed mBorderStyle and mBordercolor
with new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15930 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:07:45 +00:00
harishd%netscape.com
9e86b8e8b4 Changed code that previously accessed mBorderStyle and mBorderColor with
new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15929 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:06:55 +00:00
harishd%netscape.com
1abffa47d3 Changed code that previously accessed mBorderStyle and mBorderColor
with new mehtods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15928 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:05:40 +00:00
harishd%netscape.com
1f271c4b88 Included a new DrawDashedSide() function prototype and modified DrawSide() function.
git-svn-id: svn://10.0.0.236/trunk@15927 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:04:39 +00:00
harishd%netscape.com
992a69972a Changed code that previously accessed mBorderStyle and mBorderColor
with new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15926 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:02:13 +00:00
harishd%netscape.com
3184560d3b No change
git-svn-id: svn://10.0.0.236/trunk@15925 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 19:00:45 +00:00
harishd%netscape.com
010e4bd873 Changed code that previously accessed mBorderStyle and mBorderColor
with new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15924 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:56:29 +00:00
harishd%netscape.com
2845bf2e91 Changed code that previously accessed mBorderStyle and mBorderColor
with the new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15923 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:55:19 +00:00
harishd%netscape.com
5928b4de66 Changed all the places that previously accessed mBorderStyle and mBorderColor
with the new methods added in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15922 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:53:07 +00:00
harishd%netscape.com
6642c7f122 changed all the places that previously accessed mBorderStyle and mBorderColor
with the new methods defined in nsStyleSpacing


git-svn-id: svn://10.0.0.236/trunk@15921 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:51:26 +00:00
harishd%netscape.com
7b2eca6c86 Added NS_STYLE_HAS_BORDER_COLOR (0x80)
git-svn-id: svn://10.0.0.236/trunk@15920 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:46:02 +00:00
troy%netscape.com
cf9c18e0c5 Changed wrapping of floated elements so the wrapping happens inside of
ConstructFrameByDisplayType(), and now we only wrap frames of display
type 'block' and 'inline'


git-svn-id: svn://10.0.0.236/trunk@15919 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:44:40 +00:00
harishd%netscape.com
d0a00e5aa9 Made mBorderStyle and mBorderColor arrays as protected members
and added functions GetBorderStyle(), GetBorderColor(), SetBorderStyle(),
SetBorderColor(), and ClearBorderStyleHightBit() in nsStyleSpacing.


git-svn-id: svn://10.0.0.236/trunk@15918 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 18:44:02 +00:00
jfrancis%netscape.com
d4a218b353 fixing IsSameDocument by including nsIDOMDocument.h
git-svn-id: svn://10.0.0.236/trunk@15917 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 17:53:59 +00:00
kipp%netscape.com
e5335645a8 Removed bogus ISupports support
git-svn-id: svn://10.0.0.236/trunk@15916 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 16:17:10 +00:00
kipp%netscape.com
be94800e1a Removed bogus cast
git-svn-id: svn://10.0.0.236/trunk@15915 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 16:16:46 +00:00
jfrancis%netscape.com
64e6b5e6e7 implemetned ComparePointToRange() and IsPointInRange(). Stopped caching ancestor lists. Added standard copy constructor/assignment operator prohibition.
git-svn-id: svn://10.0.0.236/trunk@15914 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 16:11:52 +00:00
rhp%netscape.com
e807c333c6 This is to export the function for stream converter registration in
netlib. This is a temporary change until the XP-COM interface is in
place for this functionality.


git-svn-id: svn://10.0.0.236/trunk@15913 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 13:51:23 +00:00
rhp%netscape.com
5f6b7c7a9f This change is to add a file association for .EML files. These
extensions are setup under WinXX for all RFC822 messages.


git-svn-id: svn://10.0.0.236/trunk@15912 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 13:27:47 +00:00
ramiro%netscape.com
ca40fec6e8 Include "gtklayout.h" only for gtk+ < 1.1.6
git-svn-id: svn://10.0.0.236/trunk@15911 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 06:52:42 +00:00
ramiro%netscape.com
f097a21a0c widget/tests/scribble/Makefile.in:
- Link with -lpwcac -ldbm on all platforms, not just Linux, FreeBSD, and
SunOS.
- Correct linking order: $(PNG_LIBS) needs to be after -limg.

widget/tests/scribble/main.cpp
- Declare extern "C" for the XP_ReBuffer stub.
- Declare main to return int because it does return a value.

Thanks to wtc@netscape.com (Wan-Teh Chang) for the fix.


git-svn-id: svn://10.0.0.236/trunk@15910 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 06:51:26 +00:00
ramiro%netscape.com
9c079a8bd4 Remove accidentally checked in file.
git-svn-id: svn://10.0.0.236/trunk@15909 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 06:49:04 +00:00
ramiro%netscape.com
1480b26681 Ignore the generated makefile
git-svn-id: svn://10.0.0.236/trunk@15908 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 06:45:39 +00:00
beard%netscape.com
6b7b83d3c5 Initial cut at GetReferrer, GetDomain methods. Some enhancements to nsIURL may be needed to do this right.
git-svn-id: svn://10.0.0.236/trunk@15907 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 06:10:12 +00:00
msw%gimp.org
ed6c31de48 Resizing works again, but resizes seem behind by one step.
git-svn-id: svn://10.0.0.236/trunk@15906 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 05:08:00 +00:00
troy%netscape.com
385b6f14aa Initial check-in
git-svn-id: svn://10.0.0.236/trunk@15905 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 04:05:12 +00:00
ramiro%netscape.com
dcc6aa9dd2 Add depend.mk.
git-svn-id: svn://10.0.0.236/trunk@15904 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:58:05 +00:00
troy%netscape.com
4c8f073007 Changed Print() to use nsIPageSequenceFrame. Now we can print to multiple
pages


git-svn-id: svn://10.0.0.236/trunk@15903 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:45:30 +00:00
troy%netscape.com
dcfe7f9e75 Added additional parameter to Display() for specifying which view
should be displayed


git-svn-id: svn://10.0.0.236/trunk@15902 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:44:57 +00:00
troy%netscape.com
a2f34c611a Added support for printing multiple pages
git-svn-id: svn://10.0.0.236/trunk@15901 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:43:02 +00:00
pierre%netscape.com
a0f3334c86 rewrote the GraphicState handling
git-svn-id: svn://10.0.0.236/trunk@15900 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:38:58 +00:00
pierre%netscape.com
65003d55c3 removed the NS_NATIVE_OFFSET_IN_PORT hacks
git-svn-id: svn://10.0.0.236/trunk@15899 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:37:15 +00:00
ramiro%netscape.com
22dbfb815d Completely yank the inline check and blurb as suggested by wtc.
git-svn-id: svn://10.0.0.236/trunk@15898 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:32:51 +00:00
beard%netscape.com
03f544c401 Implemented SetTitle using nsString::ToCString. Will need to revisit when UNICODE window titles are supported.
git-svn-id: svn://10.0.0.236/trunk@15897 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 03:08:07 +00:00
ramiro%netscape.com
21ec4ce15e Fix the depend noise redirection.
Thanks to Tom Lane <tgl@sss.pgh.pa.us> for suggesting the fix.


git-svn-id: svn://10.0.0.236/trunk@15896 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 02:32:25 +00:00
wtc%netscape.com
2ef081b6ea Apply the patch submitted by Joe Keane <jgk@jgk.org> to PR_Poll
so that we use a struct pollfd array allocated on the stack
when caller's poll descriptor array can fit in it.  This avoids
the cost of a malloc and a free call when the poll descriptor
arrays are small.


git-svn-id: svn://10.0.0.236/trunk@15895 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 01:39:48 +00:00
wtc%netscape.com
6e752045ee In _MD_unix_map_open_error, map EOVERFLOW to PR_FILE_TOO_BIG_ERROR.
git-svn-id: svn://10.0.0.236/trunk@15894 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 01:22:31 +00:00
leaf%mozilla.org
d0f6034d92 clobber and checkout rules should work now, but they still need some cleaning.
git-svn-id: svn://10.0.0.236/trunk@15893 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 00:07:54 +00:00
leaf%mozilla.org
392f97db62 making set-timebomb.pl work with shaver's hack in
xfe/xpviewer/src/nsViewerApp.cpp to implement a timebomb.


git-svn-id: svn://10.0.0.236/trunk@15892 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 00:06:19 +00:00
leaf%mozilla.org
052f1129eb shaver's hacked timebomb code; prefs should be made to do this Right.
git-svn-id: svn://10.0.0.236/trunk@15891 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-07 00:04:14 +00:00
rickg%netscape.com
d48b237993 improvements to fix a table bug for cujo.
git-svn-id: svn://10.0.0.236/trunk@15890 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 20:29:29 +00:00
shaver%netscape.com
5d7c8750fd Added varargs support (produces "..." in C++ until we figure out what
nsIVarargs should look like).
IDL return value now becomes a final (but before varargs!) out parameter
_retval in C++.
Prettied up some whitespace.


git-svn-id: svn://10.0.0.236/trunk@15889 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 19:52:21 +00:00
shaver%netscape.com
f176ff7946 Update usage message.
Add #include processing.
Generate #define NS_IFOO_IID_STR for kipp.
More header-generation niceties: #ifndef __nsIFoo_h__, DO NOT EDIT warning
now mentions source filename.
Generate #include in header to match #include in IDL, not by grovelling for
referenced interfaces.
(XXX: Need to polish up memory management.)


git-svn-id: svn://10.0.0.236/trunk@15888 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 18:41:44 +00:00
pavlov%pavlov.net
d1163274af remove all references to TRUE and FALSE and replace them with PR_TRUE and
PR_FALSE (for consistancy)  fix nsTextAreaWidget so that it doesn't default to ReadOnly


git-svn-id: svn://10.0.0.236/trunk@15887 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 15:56:43 +00:00
pavlov%pavlov.net
fda7f9ae59 indent these files so they conform to the style and fix read only and password
fields.


git-svn-id: svn://10.0.0.236/trunk@15886 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 15:42:28 +00:00
pavlov%pavlov.net
9d0eeb338f build TextWidget's correctly.
git-svn-id: svn://10.0.0.236/trunk@15885 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 15:40:48 +00:00
pavlov%pavlov.net
4d6ee6e898 removed unused variables (this one compiles) in nsTextAreaWidget.[ch]
commented out size_allocate in nsWindow.cpp as this doesn't appear to be
needed any more


git-svn-id: svn://10.0.0.236/trunk@15884 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 14:32:20 +00:00
wtc%netscape.com
00941fcdb7 In nsMenu::GetNativeParent, use the GTK_WIDGET macro (defined in
<gtk/gtkwidget.h>) to convert (void *) to (GtkWidget *).


git-svn-id: svn://10.0.0.236/trunk@15883 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 07:08:33 +00:00
ramiro%netscape.com
c4af2d1726 Slowly working towards getting mozilla compiled/linking properly
using the Solaris native compilers.  This patch to configure.in
changes how we create shared libraries for Solaris from "ld" to
"CC", which can deal with templates and other C++ nastiness.

The other change removes the "inline" check, as the results of it
where being used in the wrong way.  It would see that "cc" didn't
understand "inline" and then force a "-Dinline=" option in the
CFLAGS, which are used for both C and C++ compile lines.  As you
can imagine, removing the "inline" keyword from the C++ compiles
was Bad News(tm).

Thanks to Tim Rowley <tor@boojum.cs.brown.edu> for the fix.


git-svn-id: svn://10.0.0.236/trunk@15882 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 07:07:56 +00:00
ramiro%netscape.com
06d94b8e05 Make makedepend less noisy.
git-svn-id: svn://10.0.0.236/trunk@15881 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 07:03:16 +00:00
ramiro%netscape.com
5dcde7cf7d Undo my previous screwup. I thought I was helping...
git-svn-id: svn://10.0.0.236/trunk@15880 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 06:23:31 +00:00
ramiro%netscape.com
1498a660af Fix Pavlov's bustage.
Thanks to Steve Morrison <smorrison@gte.com> for the fix.


git-svn-id: svn://10.0.0.236/trunk@15879 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 06:07:04 +00:00
ramiro%netscape.com
947c778f9f Added a type cast.
Thanks to Wan-Teh Chang <wtc@netscape.com> for the patch.


git-svn-id: svn://10.0.0.236/trunk@15878 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 05:32:57 +00:00
pavlov%pavlov.net
efbddb159f nsText* removed unused class variables.
nsWidget use the nsLookAndFeel values instead of defining the colors again.


git-svn-id: svn://10.0.0.236/trunk@15877 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 04:31:13 +00:00
pavlov%pavlov.net
5a2b6bd4d7 set the horizontal scrollbars to the same size size as the verticle ones
git-svn-id: svn://10.0.0.236/trunk@15876 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 03:48:00 +00:00
pavlov%pavlov.net
cfc7015655 set texts for text boxes correctly. impliment InsertText.
git-svn-id: svn://10.0.0.236/trunk@15875 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 03:14:23 +00:00
wtc%netscape.com
a74070c357 Removed inclusion of MacMemAllocator.h, which is not needed
and will be obsolete.  Also removed unused enum definition.


git-svn-id: svn://10.0.0.236/trunk@15874 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 01:52:20 +00:00
pierre%netscape.com
4f305cff94 Moved the Mac Toolbox initialization from nsToolkit to nsAppShell, the reason being that nsAppShell is destined to be replaced by embedding applications while nsToolkit isn't.
git-svn-id: svn://10.0.0.236/trunk@15873 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:51:16 +00:00
pierre%netscape.com
7fa140165d StartDraw() initializes the rendering context; it allows Update() to pass the rendering context to the children.
git-svn-id: svn://10.0.0.236/trunk@15872 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:37:46 +00:00
pierre%netscape.com
11b0da96a2 temporarily defines NO_DOUBLE_BUFFER if XP_MAC (waiting for the offscreen code to be fixed)
git-svn-id: svn://10.0.0.236/trunk@15871 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:37:25 +00:00
pierre%netscape.com
4f1ccf811f Init() does some clipping and initializes the Pen and TextMode (it's related to changes in nsWindow::StartDraw()). In all the drawing functions, replaced SetPort/SetClip/SetOrigin with StartDraw/EndDraw. More changes to come soon.
git-svn-id: svn://10.0.0.236/trunk@15870 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:37:00 +00:00
pierre%netscape.com
ad57465ba3 added StartDraw(), EndDraw() and mCurrentBuffer. More changes to come soon.
git-svn-id: svn://10.0.0.236/trunk@15869 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:36:35 +00:00
pierre%netscape.com
418f104580 removed the ::IdleControl() stuff (it was intended for edit fields but they have been implemented as LPeriodicals)
git-svn-id: svn://10.0.0.236/trunk@15868 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:36:15 +00:00
troy%netscape.com
6e173bf400 Added nsIPrintStatusCallback
git-svn-id: svn://10.0.0.236/trunk@15867 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-06 00:30:51 +00:00
sfraser%netscape.com
742a738b0d Change BlockZero to memset.
git-svn-id: svn://10.0.0.236/trunk@15866 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:41:14 +00:00
sfraser%netscape.com
f102df4c04 Update project files to remove old mem allocator code, and include new allocators. Also made static debug target for testing purposes.
git-svn-id: svn://10.0.0.236/trunk@15865 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:05:23 +00:00
sfraser%netscape.com
a4f2af2a2b Allocators now use shared heap zones, for better temp mem use. Other minor changes.
git-svn-id: svn://10.0.0.236/trunk@15864 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:04:36 +00:00
sfraser%netscape.com
0f49470216 Adjust prefix files for the new allocators.
git-svn-id: svn://10.0.0.236/trunk@15863 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:03:38 +00:00
sfraser%netscape.com
8e28e511cc Remove all but the basic exports.
git-svn-id: svn://10.0.0.236/trunk@15862 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:02:58 +00:00
sfraser%netscape.com
0133d979ad Remove the Flush_ calls, and tidy up new().
git-svn-id: svn://10.0.0.236/trunk@15861 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:02:10 +00:00
sfraser%netscape.com
c6e76c4b0c Remove the extern Flush_Allocate, and replace call with a malloc.
git-svn-id: svn://10.0.0.236/trunk@15860 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:01:30 +00:00
sfraser%netscape.com
801cd3efdb No longer export FlushAllocator.h. MacMemAllocator.h should also go away when NSPR is fixed.
git-svn-id: svn://10.0.0.236/trunk@15859 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:01:00 +00:00
sfraser%netscape.com
4955f3602d Add a #error to warn that this file should no longer be used. I can't remove it, because NSPR still includes it.
git-svn-id: svn://10.0.0.236/trunk@15858 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 22:00:24 +00:00
sfraser%netscape.com
8c835bf710 Remove XP_MAC include, and commented out call to CallCacheFlushers, which no longer lives in the Mac memory allocators. This needs to be hooked up (by XPapps?) in the new world.
git-svn-id: svn://10.0.0.236/trunk@15857 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 21:58:54 +00:00
sfraser%netscape.com
5a79aa8906 Removed XP_MAC include which is no longer necessary.
git-svn-id: svn://10.0.0.236/trunk@15856 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 21:55:53 +00:00
sfraser%netscape.com
4a69091e53 Adding nsBlockReflowContext.cpp, nsBulletFrame.cpp, nsLineBox.cpp to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@15855 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 21:17:05 +00:00
kipp%netscape.com
8853d35209 nuked
git-svn-id: svn://10.0.0.236/trunk@15854 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 19:21:03 +00:00
kipp%netscape.com
05c833dab3 new
git-svn-id: svn://10.0.0.236/trunk@15853 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 19:13:58 +00:00
kipp%netscape.com
4444943d58 Moved the starting url back to what it was
git-svn-id: svn://10.0.0.236/trunk@15852 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:06:38 +00:00
kipp%netscape.com
7dbf7f2ea1 Removed an unwanted DidReflow call
git-svn-id: svn://10.0.0.236/trunk@15851 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:06:14 +00:00
kipp%netscape.com
5e7cf3bb10 Setup first-letter-style to be off by default
git-svn-id: svn://10.0.0.236/trunk@15850 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:05:52 +00:00
kipp%netscape.com
c45965fd71 Removed handling of block frames (its done by nsBlockReflowContext now)
git-svn-id: svn://10.0.0.236/trunk@15849 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:05:23 +00:00
kipp%netscape.com
0a2fa0e309 Spanked to be a subclass of the nsBaseIBFrame class
git-svn-id: svn://10.0.0.236/trunk@15848 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:04:46 +00:00
kipp%netscape.com
ebbfcde3ed Removed carried-out-margin-flags
git-svn-id: svn://10.0.0.236/trunk@15847 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:04:33 +00:00
kipp%netscape.com
84b644509f Renamed a variable to (hopefully) be more clear what it is
git-svn-id: svn://10.0.0.236/trunk@15846 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:03:53 +00:00
kipp%netscape.com
0f01e4d9fa Made IndentBy public
git-svn-id: svn://10.0.0.236/trunk@15845 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:03:07 +00:00
kipp%netscape.com
ee6282c56c Use FirstChild so the method is more reusable
git-svn-id: svn://10.0.0.236/trunk@15844 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:02:43 +00:00
kipp%netscape.com
fb280caf3e Moved to new Init/ctor seperation
git-svn-id: svn://10.0.0.236/trunk@15843 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:02:26 +00:00
kipp%netscape.com
6771fa0a98 Major spankage; refactored code; common base class for block/inline frames
git-svn-id: svn://10.0.0.236/trunk@15842 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:02:08 +00:00
kipp%netscape.com
850e4ad32e nit
git-svn-id: svn://10.0.0.236/trunk@15841 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:01:41 +00:00
kipp%netscape.com
7bf1ab8bdd Made dtor obviously virtual instead of inherited virtual
git-svn-id: svn://10.0.0.236/trunk@15840 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:01:28 +00:00
kipp%netscape.com
04bd3565f5 Updated
git-svn-id: svn://10.0.0.236/trunk@15839 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:01:11 +00:00
kipp%netscape.com
2692c506e9 Added new source files
git-svn-id: svn://10.0.0.236/trunk@15838 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:00:56 +00:00
kipp%netscape.com
f8097d636a Support variable sized paging again, but only if an nspr log variable is defined
git-svn-id: svn://10.0.0.236/trunk@15837 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 15:58:09 +00:00
kipp%netscape.com
2e8fccc650 Start enums at zero so that debug noise can map them to strings safely
git-svn-id: svn://10.0.0.236/trunk@15836 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 15:57:40 +00:00
ramiro%netscape.com
589595f1b0 This patch set just makes sure that all functions that are
supposed to return values actually do so, to keep the Solaris
native compiler happy.

Thanks to Tim Rowley <tor@cs.brown.edu> for the fix.


git-svn-id: svn://10.0.0.236/trunk@15835 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 11:54:00 +00:00
ramiro%netscape.com
6808efdc69 Add a return to a function which is supposed to return a value,
to keep the Solaris native compiler happy.

Thanks to Tim Rowley <tor@cs.brown.edu> for the fix.


git-svn-id: svn://10.0.0.236/trunk@15834 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 11:50:32 +00:00
ramiro%netscape.com
10fb626733 Comment out the "Building in the srcdir is not supported!" test/warning.
This is no longer needed, since the classic build system is dead.  The
original purpose of this test was for the autoconf build not to clobber the
classic makefiles and them someone checkin them in by mistake.  No longer a
problem.


git-svn-id: svn://10.0.0.236/trunk@15833 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 11:27:50 +00:00
ramiro%netscape.com
e8595e93b6 Have cvs ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@15832 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 11:07:45 +00:00
ramiro%netscape.com
342f381cae Ignore files generated by autoconf.
git-svn-id: svn://10.0.0.236/trunk@15831 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 10:39:46 +00:00
ramiro%netscape.com
7880da4526 Add cvsignore entries for makefiles generated bu autoconf.
git-svn-id: svn://10.0.0.236/trunk@15829 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 09:07:33 +00:00
ramiro%netscape.com
e95667bce5 Remove extraneous Makefile files.
git-svn-id: svn://10.0.0.236/trunk@15828 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 08:19:05 +00:00
wtc%netscape.com
d3cba401e5 Fixed a bug in _MD_Open that incorrectly translates PR_WRONLY to
fsRdPerm.  Thanks to John McMullen <mcmullen@netscape.com> for
reporting this problem.


git-svn-id: svn://10.0.0.236/trunk@15827 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 06:51:33 +00:00
buster%netscape.com
9b1c517bdf fixed cellspacing and cellpadding handling
default cellspacing and cellpadding now comes from the table frame itself
other frames on longer look at the "tableStyle" struct for these values


git-svn-id: svn://10.0.0.236/trunk@15824 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 05:27:21 +00:00
pavlov%pavlov.net
ddde7a7583 Fix some code... its late isn't it? no more random looping due to resizing
code.


git-svn-id: svn://10.0.0.236/trunk@15823 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 03:54:30 +00:00
raman%netscape.com
9c6058cce0 Bug fix for 1420. Get filename from HashTable if fileTok is not NULL. If fileTok is NULL return aName for now. Approved by gagan
git-svn-id: svn://10.0.0.236/trunk@15822 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 03:10:43 +00:00
akkana%netscape.com
d12aa9a2fe Implement InSameDoc
git-svn-id: svn://10.0.0.236/trunk@15821 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 02:19:01 +00:00
wtc%netscape.com
58ce42d7a1 The second argument for GetStyleData needs to be 'const'.
git-svn-id: svn://10.0.0.236/trunk@15820 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 01:47:37 +00:00
wtc%netscape.com
5e71862c5b Miscellaneous porting changes from Brian Ostrom <briano@netscape.com>.
git-svn-id: svn://10.0.0.236/trunk@15819 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 01:41:18 +00:00
toshok%hungry.com
9d21df48aa remove this stragler.
git-svn-id: svn://10.0.0.236/trunk@15818 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 01:37:01 +00:00
kin%netscape.com
9ce78f012e Added transient and coalescing test cases.
git-svn-id: svn://10.0.0.236/trunk@15817 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 01:15:40 +00:00
pierre%netscape.com
6803bae2db Fix optimized build: use png.o instead of pngDebug.o in non-debug target
git-svn-id: svn://10.0.0.236/trunk@15816 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 00:23:29 +00:00
hyatt%netscape.com
35f5abe4cd Oops. Fixing build bustage.
git-svn-id: svn://10.0.0.236/trunk@15815 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 23:55:48 +00:00
terry%netscape.com
8c77919f41 Add "OS/2" to the op_sys field.
git-svn-id: svn://10.0.0.236/trunk@15814 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 23:52:20 +00:00
troy%netscape.com
d6d9c0b157 Temporary change to make sure we don't wrap floated tables in a BODY frame
git-svn-id: svn://10.0.0.236/trunk@15813 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 23:51:16 +00:00
kin%netscape.com
4b75331b5b Added support for nsITransaction::GetIsTransient() method.
git-svn-id: svn://10.0.0.236/trunk@15812 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 23:09:55 +00:00
hyatt%netscape.com
75dec8692f Tweaks.
git-svn-id: svn://10.0.0.236/trunk@15811 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 23:05:50 +00:00
kmcclusk%netscape.com
26d8496fe2 Added Windows printing code for radio buttons.
git-svn-id: svn://10.0.0.236/trunk@15810 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 22:53:45 +00:00
toshok%hungry.com
ccabd40013 wrap -include with ifneq
git-svn-id: svn://10.0.0.236/trunk@15809 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 22:50:22 +00:00
toshok%hungry.com
ca1b4f9323 get rid of the remaining manifest, rules.mk, and config.mk files.
git-svn-id: svn://10.0.0.236/trunk@15808 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 22:37:15 +00:00
despotdaemon%netscape.com
63f4415435 Pseudo-automatic update of changes made by cathleen@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15807 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 22:18:25 +00:00
hyatt%netscape.com
3f6f1f7c0c Added support for vertical dividers.
git-svn-id: svn://10.0.0.236/trunk@15806 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 22:15:47 +00:00
kin%netscape.com
ba7e3a029e Implemented RecoverFromUndoError() and RecoverFromRedoError().
git-svn-id: svn://10.0.0.236/trunk@15805 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:50:09 +00:00
akkana%netscape.com
d64cbe00fc Waterson's definitions to fix Irix build.
git-svn-id: svn://10.0.0.236/trunk@15804 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:36:56 +00:00
pinkerton%netscape.com
391519224a Changed it so that triangle is drawn with lines instead of polygon
because of differences in gfx between platforms.


git-svn-id: svn://10.0.0.236/trunk@15803 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:36:43 +00:00
akkana%netscape.com
f703a277e0 base/src/nscore.h
git-svn-id: svn://10.0.0.236/trunk@15802 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:36:23 +00:00
kin%netscape.com
905266e217 Added test case for error during a redo. Added checks to make sure all
transaction destruction happens in the order we expect.


git-svn-id: svn://10.0.0.236/trunk@15801 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:32:47 +00:00
troy%netscape.com
9fad935195 Changed InsertChild() to use <= (instead of <) for zindex check, and changed
iteration to use sibling pointers


git-svn-id: svn://10.0.0.236/trunk@15800 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:28:52 +00:00
troy%netscape.com
16560ce56e Moved creation of first page frame to frame construction code, and changed
it so the page frame has a view. This makes printing faster and easier


git-svn-id: svn://10.0.0.236/trunk@15799 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 21:04:56 +00:00
sar%netscape.com
9de3d614fc fix build_number target. put build number in this dir instead of in ..\build
git-svn-id: svn://10.0.0.236/trunk@15798 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 20:00:31 +00:00
sar%netscape.com
415aaee658 add build_number target
git-svn-id: svn://10.0.0.236/trunk@15797 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 19:56:48 +00:00
sar%netscape.com
9347a9ee95 add config dir to dirs being traversed
git-svn-id: svn://10.0.0.236/trunk@15796 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 19:55:37 +00:00
kmcclusk%netscape.com
296a0f01fa Added some comments
git-svn-id: svn://10.0.0.236/trunk@15795 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 19:16:58 +00:00
kmcclusk%netscape.com
903dc7d289 Fix for MAC build
git-svn-id: svn://10.0.0.236/trunk@15794 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 19:07:46 +00:00
troy%netscape.com
89bd61bdf7 Moved view creation to frame construction code. Also moved wrapping of
floated and absolutely positioned elements to frame construction code


git-svn-id: svn://10.0.0.236/trunk@15793 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 19:03:44 +00:00
kmcclusk%netscape.com
7f340e3206 Added code to GFX-render checkbox's under Windows when printing.
git-svn-id: svn://10.0.0.236/trunk@15792 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 18:33:34 +00:00
jfrancis%netscape.com
4e5b7ef4d1 fixing up start/end setters, other details
git-svn-id: svn://10.0.0.236/trunk@15791 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 18:21:52 +00:00
kin%netscape.com
33a2cdeec8 Added more test cases.
git-svn-id: svn://10.0.0.236/trunk@15790 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 18:09:06 +00:00
karnaze%netscape.com
6160068f25 added code provided by Micahel Lowe to get system colors for frameset borders (bug 1763)
git-svn-id: svn://10.0.0.236/trunk@15789 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 18:05:30 +00:00
despotdaemon%netscape.com
aea16896a0 Pseudo-automatic update of changes made by cbegle@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15787 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 16:54:06 +00:00
pinkerton%netscape.com
4c90823d92 now draws triangle in upper right to indicate this button has a menu. Draws in gray when the button is disabled.
git-svn-id: svn://10.0.0.236/trunk@15786 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 16:34:56 +00:00
dcone%netscape.com
6af09fc750 Changed some attributes on the printer items for the menus
git-svn-id: svn://10.0.0.236/trunk@15785 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:10:07 +00:00
dcone%netscape.com
f14e81cfda Added some printer support
git-svn-id: svn://10.0.0.236/trunk@15784 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:08:18 +00:00
dcone%netscape.com
34fe19e310 added the nsDeviceContextSpec and factory support for printing support
git-svn-id: svn://10.0.0.236/trunk@15783 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:04:30 +00:00
dcone%netscape.com
60967d461c Added the nsDeviceContextSpecFactory and nsDeviceContextSpec support
git-svn-id: svn://10.0.0.236/trunk@15782 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:03:41 +00:00
dcone%netscape.com
0aea51cac2 Added printing support
git-svn-id: svn://10.0.0.236/trunk@15781 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:02:57 +00:00
dcone%netscape.com
31b62e1cdd First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15780 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 15:02:26 +00:00
waterson%netscape.com
924122b79e Added utility files. Split nsRDFDocument into two subclasses.
git-svn-id: svn://10.0.0.236/trunk@15771 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 10:02:17 +00:00
waterson%netscape.com
cb39a2dc4c Changed RDF document CID.
git-svn-id: svn://10.0.0.236/trunk@15770 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 10:01:42 +00:00
waterson%netscape.com
3327b73315 Initial revision.
git-svn-id: svn://10.0.0.236/trunk@15769 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 10:00:13 +00:00
waterson%netscape.com
e9f3b8d629 Moved child creation over into the document. Added some subclasses to deal with it.
git-svn-id: svn://10.0.0.236/trunk@15768 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 09:59:09 +00:00
waterson%netscape.com
efae90afc3 Split the RDFDocument CID into RDFHTMLDocument and RDFTreeDocument.
git-svn-id: svn://10.0.0.236/trunk@15767 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 09:58:35 +00:00
waterson%netscape.com
288f838db5 Remove #ifdef XP_MAC stuff that was excluding the RDF DLL.
git-svn-id: svn://10.0.0.236/trunk@15766 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 08:58:26 +00:00
waterson%netscape.com
cafbddc21f Add RDF to build.
git-svn-id: svn://10.0.0.236/trunk@15765 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 06:17:10 +00:00
troy%netscape.com
88f9a59ca3 Added a comment about view creation
git-svn-id: svn://10.0.0.236/trunk@15764 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 06:13:18 +00:00
troy%netscape.com
086be65468 Changed view creation to occur when frame initialization occurs
git-svn-id: svn://10.0.0.236/trunk@15763 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 05:56:06 +00:00
ramiro%netscape.com
fcc53f9f48 Add support for 'native' dependancies on systems that include the 'makedepend'
binary by default.  For example, linux freebsd and other unices that have
X11 installed in a reasonable fashion.  The commercial unices will continue
to suck as usual.


git-svn-id: svn://10.0.0.236/trunk@15762 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 05:07:01 +00:00
waterson%netscape.com
09b4935ee9 Cleaned up the last couple of fancy C++ casts. Implemented nsRDFElement::IndexOf().
git-svn-id: svn://10.0.0.236/trunk@15761 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 03:59:54 +00:00
troy%netscape.com
ab5a31d3a8 Removed some commented out old code
git-svn-id: svn://10.0.0.236/trunk@15760 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 03:46:59 +00:00
waterson%netscape.com
2b04d96272 Added nsSelection header files: this is temporary pending mjudge landing new selection stuff, but I need it now to get RDF building on Mac.
git-svn-id: svn://10.0.0.236/trunk@15759 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 03:45:00 +00:00
troy%netscape.com
1595471494 Added NS_RELEASE of col frame pseudo element style context. This fixes a memory leak
git-svn-id: svn://10.0.0.236/trunk@15758 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 03:39:05 +00:00
troy%netscape.com
016e99912d Changed table frame code to call DeleteFrameList() so that the col group
frames are deleted


git-svn-id: svn://10.0.0.236/trunk@15757 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 03:14:28 +00:00
sfraser%netscape.com
3bbad8c38d Dumping out my latest memory manager changes. Still not being built yet. New code includes stats collection, but no way to write out stats at the moment.
git-svn-id: svn://10.0.0.236/trunk@15756 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 02:21:19 +00:00
troy%netscape.com
3b547e08e4 Moved logic that created a BODY frame that forms the cell's content from the
table frame code to the frame construction code


git-svn-id: svn://10.0.0.236/trunk@15755 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 02:08:51 +00:00
waterson%netscape.com
1a3cd25a71 Bunch of whackage. Changed C++ style casts to a macro. Changed NULL to nsnull. Changed the nsRDFDocument to its own class, independent of raptor (black box re-uses raptor parts).
git-svn-id: svn://10.0.0.236/trunk@15754 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 01:54:23 +00:00
pinkerton%netscape.com
195a59af67 lighten the widget bg colors so this things finally looks like macNavigator again.
git-svn-id: svn://10.0.0.236/trunk@15753 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 01:39:36 +00:00
waterson%netscape.com
b909a19ffb Added macros for fancy C++ casts.
git-svn-id: svn://10.0.0.236/trunk@15752 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 01:13:21 +00:00
slamm%netscape.com
81b85141cb Add support for hyatt's treeview.
git-svn-id: svn://10.0.0.236/trunk@15751 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 01:06:58 +00:00
slamm%netscape.com
15f0c43dad Build hyatt's treeview on Unix.
git-svn-id: svn://10.0.0.236/trunk@15750 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 01:06:53 +00:00
despotdaemon%netscape.com
ff536acd28 Pseudo-automatic update of changes made by chuang@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15749 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 00:06:02 +00:00
mjudge%netscape.com
e13b418aa0 that didnt work... mac croaked
git-svn-id: svn://10.0.0.236/trunk@15748 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-04 00:01:09 +00:00
hyatt%netscape.com
e6b24661dd Adding an #ifdef XP_MAC on the window destroy for the tree widget (just to keep
Windows from crashing).


git-svn-id: svn://10.0.0.236/trunk@15747 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:57:44 +00:00
hyatt%netscape.com
569ce3d786 Tweaked the tree colors.
git-svn-id: svn://10.0.0.236/trunk@15746 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:55:15 +00:00
mjudge%netscape.com
e75f4b14dd removing NULL replacing with nsnull
git-svn-id: svn://10.0.0.236/trunk@15745 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:46:36 +00:00
mjudge%netscape.com
61da02c81e changing NULL to nsnull
git-svn-id: svn://10.0.0.236/trunk@15744 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:40:06 +00:00
beard%netscape.com
559a2f1990 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15743 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:34:34 +00:00
beard%netscape.com
8735046452 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15742 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:29:19 +00:00
despotdaemon%netscape.com
adaf914114 Pseudo-automatic update of changes made by chuang@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15741 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:25:03 +00:00
despotdaemon%netscape.com
6b5b269bf6 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@15740 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 23:13:39 +00:00
jfrancis%netscape.com
f28b0461fe more work on grungy range details
git-svn-id: svn://10.0.0.236/trunk@15739 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:59:07 +00:00
beard%netscape.com
62f0aa37fa First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15738 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:36:55 +00:00
kin%netscape.com
2dc88481c6 Added the editor/txmgr makefiles to the list of editor makefiles.
git-svn-id: svn://10.0.0.236/trunk@15737 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:20:34 +00:00
beard%netscape.com
84c016dd2f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15736 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:17:06 +00:00
hyatt%netscape.com
77ff46f4f9 The tree view column pushers disable properly. Hidden/shown columns remember
their desired widths.


git-svn-id: svn://10.0.0.236/trunk@15735 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:15:51 +00:00
waterson%netscape.com
0b35f3e964 Changed upper case RDF to lower case rdf to make consistent with the rest of the builds.
git-svn-id: svn://10.0.0.236/trunk@15734 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:07:16 +00:00
pinkerton%netscape.com
9beb110348 make sure the port is set correctly before we call ::SetOrigin on mouse events.
git-svn-id: svn://10.0.0.236/trunk@15733 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:05:49 +00:00
pinkerton%netscape.com
b0af80a5e7 handle NS_DESTROY message in tree window event handler.
git-svn-id: svn://10.0.0.236/trunk@15732 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 22:05:17 +00:00
waterson%netscape.com
bc334f6a33 Added mozilla/layout/html/style/src to the list of MANIFEST-ed directories. This makes sure that nsIHTMLStyleSheet and nsIHTMLCSSStyleSheet are exported.
git-svn-id: svn://10.0.0.236/trunk@15731 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:48:45 +00:00
mjudge%netscape.com
bcb1a29e8f new selection change to come ifdefs going in
git-svn-id: svn://10.0.0.236/trunk@15730 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:48:32 +00:00
mjudge%netscape.com
a7016e173a changed call for editor to include a call for the classid editor as well
git-svn-id: svn://10.0.0.236/trunk@15729 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:47:22 +00:00
mjudge%netscape.com
0b731fb2af new enumerator interface change
git-svn-id: svn://10.0.0.236/trunk@15728 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:46:51 +00:00
mjudge%netscape.com
7cfb36e5d7 changing enumerator interface again
git-svn-id: svn://10.0.0.236/trunk@15727 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:46:27 +00:00
mjudge%netscape.com
046ac87d8d changing enumerator interface
git-svn-id: svn://10.0.0.236/trunk@15726 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:46:06 +00:00
mjudge%netscape.com
f19d69e4a0 changing use of selection
git-svn-id: svn://10.0.0.236/trunk@15725 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:45:26 +00:00
mjudge%netscape.com
307185c34e new use of enumerator class changed IsDone to return NS_COMFALSE if not done
git-svn-id: svn://10.0.0.236/trunk@15724 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:44:54 +00:00
mjudge%netscape.com
383bba0f13 changing exports of new CIDs for selection
git-svn-id: svn://10.0.0.236/trunk@15723 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:44:12 +00:00
mjudge%netscape.com
e68a9d1ff0 changing selection code
git-svn-id: svn://10.0.0.236/trunk@15722 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:43:32 +00:00
mjudge%netscape.com
56057bdbde new collection export instead of nsISelection
git-svn-id: svn://10.0.0.236/trunk@15721 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:42:58 +00:00
mjudge%netscape.com
91ee1e24fd exporting new cid files
git-svn-id: svn://10.0.0.236/trunk@15720 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:41:07 +00:00
fur%netscape.com
8a43aa3ae0 Initial check-in of ElectricalFire, a Java JIT compiler.
git-svn-id: svn://10.0.0.236/trunk@15719 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 21:10:47 +00:00
waterson%netscape.com
b0eacc489e A better fix.
git-svn-id: svn://10.0.0.236/trunk@15718 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:50:21 +00:00
waterson%netscape.com
b9ca3d1232 Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@15717 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:47:01 +00:00
waterson%netscape.com
7005ad4675 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15716 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:28:15 +00:00
waterson%netscape.com
a4f4d45462 File Removed.
git-svn-id: svn://10.0.0.236/trunk@15715 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:26:33 +00:00
leaf%mozilla.org
a1ca7300c3 readding the xpcom/tools/Makefile rule. xpcom/tools needs to be made before
xpcom/tools/idl/Makefile.


git-svn-id: svn://10.0.0.236/trunk@15714 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:26:22 +00:00
waterson%netscape.com
57bc8c82e6 Expose nsWellFormedDTD via the factory.
git-svn-id: svn://10.0.0.236/trunk@15713 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:22:19 +00:00
waterson%netscape.com
85034a850f Export style sheets, nsPresShell, and nsTextNode via the factory.
git-svn-id: svn://10.0.0.236/trunk@15712 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:21:40 +00:00
waterson%netscape.com
ddfb3f25e0 Added initializers that can be used from the repository. Export nsIHTMLStyleSheet.h.
git-svn-id: svn://10.0.0.236/trunk@15711 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:20:35 +00:00
waterson%netscape.com
c4b7624c9b Added initializer that can be used from the repository.
git-svn-id: svn://10.0.0.236/trunk@15710 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:19:46 +00:00
buster%netscape.com
28547e48be minor optimizations and cleanup. removed constructors that did nothing.
git-svn-id: svn://10.0.0.236/trunk@15709 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 20:19:01 +00:00
pollmann%netscape.com
dbed102059 Allow option groups to contain options when building the content model
git-svn-id: svn://10.0.0.236/trunk@15708 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 19:33:12 +00:00
hyatt%netscape.com
b62fdf33fb Improvements to tree widget tester.
git-svn-id: svn://10.0.0.236/trunk@15707 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 19:13:53 +00:00
jfrancis%netscape.com
d87021fc1a adding nsRange.cpp to the project, again. it's always better the second time around.
git-svn-id: svn://10.0.0.236/trunk@15706 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 18:21:45 +00:00
buster%netscape.com
8b5b151f2d added table pseudo-style contenxts
git-svn-id: svn://10.0.0.236/trunk@15705 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 18:03:28 +00:00
buster%netscape.com
104395fa1f the inner table frame now maintains 2 child lists: the main child lists that holds rowgroups and unknown frame
types, and mColGroups. Besides being cleaner and easier to maintain, this should speed some things up slightly
     because I don't have to check display types every time I iterate through colgroup frames.  I *know*
     mColGroups contains only colgroups.  I might do the same for rowgroups (that is, keep unknown frame types
     in their own list as well.)  But that's optional.
the inner table frame used to incorrectly create actual content objects for anonymous colgroups and cols.  Now,
     it just creates frames as appropriate, not content.  To support this, I added some pseudo style contexts and
     related atoms.


git-svn-id: svn://10.0.0.236/trunk@15704 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 18:01:35 +00:00
buster%netscape.com
46aa659021 added atoms for table pseudo style contexts
git-svn-id: svn://10.0.0.236/trunk@15703 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 18:00:42 +00:00
pinkerton%netscape.com
eb08a77817 turn on tree view command for win and macos.
git-svn-id: svn://10.0.0.236/trunk@15702 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 17:59:25 +00:00
pinkerton%netscape.com
91b0f90740 handle view source and tree view file menu commands.
git-svn-id: svn://10.0.0.236/trunk@15701 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 17:59:13 +00:00
pinkerton%netscape.com
eb562f6887 added view source and view tree menu items for demo purposes.
git-svn-id: svn://10.0.0.236/trunk@15700 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 17:58:44 +00:00
shaver%netscape.com
f5b3bec414 Add generated file warning.
Remove excessive #include "nsISupports.h" generation.
Interfaces are public:, accessors are pure (= 0).


git-svn-id: svn://10.0.0.236/trunk@15699 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 17:38:55 +00:00
jfrancis%netscape.com
5fbc38d8cc fixing bad goto (as if there were good ones?)
git-svn-id: svn://10.0.0.236/trunk@15698 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 17:25:00 +00:00
troy%netscape.com
5dc9f4f4a8 Added NS_RELEASE to fix leak of a HTML style element
git-svn-id: svn://10.0.0.236/trunk@15697 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 16:46:56 +00:00
terry%netscape.com
d60bb4659d Fixed bug 1746 -- make it say "Submit query" instead of "Submit".
git-svn-id: svn://10.0.0.236/trunk@15696 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 16:31:10 +00:00
terry%netscape.com
671a288996 Reworked the rep_platform and op_sys fields. BEWARE; this includes
some changes to the database schema!


git-svn-id: svn://10.0.0.236/trunk@15695 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 16:10:52 +00:00
jfrancis%netscape.com
9c7b15c912 adding some private helper functionality that is going to change soon...
git-svn-id: svn://10.0.0.236/trunk@15694 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 15:02:37 +00:00
leaf%mozilla.org
cb1d23c2aa Removed some kruft and added a pull_config to pull_all so pull_nglayout doesn't
die. More splitting needs to be done (taking up some of the things that nglayout.mak
does but shouldn't be doing)... but that's for another early morning.


git-svn-id: svn://10.0.0.236/trunk@15693 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 12:28:26 +00:00
hyatt%netscape.com
a600c5fcb5 Hacked the viewer so that the tree widget can be launched from the File menu.
Only works on Windows currently.


git-svn-id: svn://10.0.0.236/trunk@15692 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 10:12:30 +00:00
jfrancis%netscape.com
c6102dbf54 putting Akkana's implementation back in; fixed compile-time errors
git-svn-id: svn://10.0.0.236/trunk@15691 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 09:51:05 +00:00
jfrancis%netscape.com
19234409ed taking out the factory extern cruft that we only needed before we had shared libs working on the mac. Long live the shared lib conversion!
git-svn-id: svn://10.0.0.236/trunk@15690 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 09:35:38 +00:00
jfrancis%netscape.com
5312ddf123 cleaning up library dependencies, and added xpcom.shlb
git-svn-id: svn://10.0.0.236/trunk@15689 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 09:34:37 +00:00
leaf%mozilla.org
e5639c0739 there's no xpcom/toolsMakefile.in , so don't try and make the Makefile
git-svn-id: svn://10.0.0.236/trunk@15687 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 08:44:14 +00:00
troy%netscape.com
4edf9f0135 Removed explict call of base class constructor
git-svn-id: svn://10.0.0.236/trunk@15686 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 07:22:31 +00:00
troy%netscape.com
f511034628 Removed explicit call of base class constructor because it was
making Unix compilers unhappy


git-svn-id: svn://10.0.0.236/trunk@15685 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 07:20:59 +00:00
wtc%netscape.com
0e55a232b4 Added a static cast from void* to GtkWidget*.
git-svn-id: svn://10.0.0.236/trunk@15684 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:35:05 +00:00
shaver%netscape.com
8accf45608 Fix indentation, which was my fault and not andrewv's.
Add nsISupports to the always-include list.
Clean up interface generation code, and then mess it up again with
IID handling.


git-svn-id: svn://10.0.0.236/trunk@15683 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:33:59 +00:00
troy%netscape.com
01f27b2a31 Added Init() member function to nsIFrame
git-svn-id: svn://10.0.0.236/trunk@15682 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:31:43 +00:00
wtc%netscape.com
2c8f8fff45 The GetFont method of nsIFontMetrics takes a const pointer reference
as argument, so we must pass a const pointer reference to it.


git-svn-id: svn://10.0.0.236/trunk@15681 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:29:56 +00:00
despotdaemon%netscape.com
f8d265ea3f Pseudo-automatic update of changes made by dawn@cannibal.mi.org.
git-svn-id: svn://10.0.0.236/trunk@15680 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:07:21 +00:00
despotdaemon%netscape.com
5e302713d5 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15679 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:01:59 +00:00
despotdaemon%netscape.com
7710d61b16 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15678 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:00:01 +00:00
saari%netscape.com
5698cd65df Mac - Temporarly turning off the passing down of rendering contexts to children during updates to facilitate a hack that improves rendering. The hack is getting around the Windows centric XP code.
git-svn-id: svn://10.0.0.236/trunk@15677 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 04:26:46 +00:00
nisheeth%netscape.com
a769382e80 Added /FR flag for WIN32 builds to generate code browsing info if
MOZ_BROWSE_INFO is set in the environment.


git-svn-id: svn://10.0.0.236/trunk@15676 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 04:26:40 +00:00
nisheeth%netscape.com
a93af06938 Added a browse_info target to the windows make file to support
generation of the .BSC browse info file from all the .SBR files
that get generated by the MSVC compiler.


git-svn-id: svn://10.0.0.236/trunk@15675 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 04:25:14 +00:00
saari%netscape.com
dec07bc825 Mac only hackery to make rendering better.
git-svn-id: svn://10.0.0.236/trunk@15674 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 04:24:54 +00:00
joki%netscape.com
053d2832d4 Fix cursor bug which caused cursor to be set once per child view on each mousemove
git-svn-id: svn://10.0.0.236/trunk@15673 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 03:07:16 +00:00
pinkerton%netscape.com
c781700b61 replace NS_IMETHOD with expanded version to make vc6 happy.
git-svn-id: svn://10.0.0.236/trunk@15672 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:45:40 +00:00
rpotts%netscape.com
169eccca7e Temp file to populate the repository (until it becomes persistent...
git-svn-id: svn://10.0.0.236/trunk@15671 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:38:19 +00:00
rpotts%netscape.com
0a9440f28b Application launcher...
git-svn-id: svn://10.0.0.236/trunk@15670 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:37:46 +00:00
rpotts%netscape.com
bd56204091 Windows makefile...
git-svn-id: svn://10.0.0.236/trunk@15669 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:37:24 +00:00
rpotts%netscape.com
cb02290217 public headers for the Application SHell services...
git-svn-id: svn://10.0.0.236/trunk@15668 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:36:47 +00:00
rpotts%netscape.com
14c137e472 Application Shell services...
git-svn-id: svn://10.0.0.236/trunk@15667 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:35:53 +00:00
pinkerton%netscape.com
55d40f31ea move the tree and toolbar files into their own group.
git-svn-id: svn://10.0.0.236/trunk@15666 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:27:41 +00:00
pinkerton%netscape.com
9af474e202 general cleanup, change PaintLines() to PaintRows(), cleaned up cntr.
git-svn-id: svn://10.0.0.236/trunk@15665 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:27:24 +00:00
pinkerton%netscape.com
fe975b655e make the toolbar inherit from the dataModelWidget class like the trees.
git-svn-id: svn://10.0.0.236/trunk@15664 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:26:39 +00:00
pinkerton%netscape.com
fa6414062a clean up a warning and some comments.
git-svn-id: svn://10.0.0.236/trunk@15663 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:26:10 +00:00
pinkerton%netscape.com
724463c7a0 moved eDMImageLoaded constant here because this is the only place it is used.
git-svn-id: svn://10.0.0.236/trunk@15662 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:25:50 +00:00
pinkerton%netscape.com
24277cfac1 reshuffled some things to remove include dependancies, etc.
git-svn-id: svn://10.0.0.236/trunk@15661 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:25:26 +00:00
rpotts%netscape.com
ba6ba6906a Windows makefile...
git-svn-id: svn://10.0.0.236/trunk@15660 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:17:32 +00:00
pierre%netscape.com
ce14f70107 Making nsMacRepository.h obsolete: the shared lib conversion is done.
git-svn-id: svn://10.0.0.236/trunk@15659 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 01:06:00 +00:00
sfraser%netscape.com
af6b5cff3e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15658 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:45:32 +00:00
kin%netscape.com
86a31102c0 Fixed crash bug when calling PeekUndoStack() or PeekRedoStack() when the stacks
are empty. Fixed bug that allowed mMaxLevelsOfUndo + 1 entries on the undo
stack.


git-svn-id: svn://10.0.0.236/trunk@15657 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:41:44 +00:00
pinkerton%netscape.com
aa2bbcf32f added nsJSUtils.cpp to base for vidur.
git-svn-id: svn://10.0.0.236/trunk@15656 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:36:06 +00:00
vidur%netscape.com
c0cd474b21 Fixed unitialized value problem.
git-svn-id: svn://10.0.0.236/trunk@15655 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:34:44 +00:00
vidur%netscape.com
8675dc74ce Slimmed down DOM code by creating a few utility functions for conversion, etc. Fixed bug 1656 - bug in generator with an enum value of 0.
git-svn-id: svn://10.0.0.236/trunk@15654 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:33:00 +00:00
sfraser%netscape.com
e09a7f3f67 File Removed.
git-svn-id: svn://10.0.0.236/trunk@15653 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 00:26:44 +00:00
hyatt%netscape.com
f6f73127c3 Removal of the mutable keyword (to keep VC4.2 happy), and a fix to make
sure the folder and trigger images load for everyone.


git-svn-id: svn://10.0.0.236/trunk@15652 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 23:04:55 +00:00
leaf%mozilla.org
362a53efb2 fixed mismatched quotes.
git-svn-id: svn://10.0.0.236/trunk@15651 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 22:30:52 +00:00
leaf%mozilla.org
304afd24c1 backing out bad change
git-svn-id: svn://10.0.0.236/trunk@15650 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 22:24:09 +00:00
leaf%mozilla.org
9700526d67 we must descend editor/ no matter what now.
git-svn-id: svn://10.0.0.236/trunk@15649 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 22:13:21 +00:00
leaf%mozilla.org
00349f60b8 adding the editor/public header export makefiles to the default makefile list
git-svn-id: svn://10.0.0.236/trunk@15648 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 22:08:05 +00:00
leaf%mozilla.org
a9c6dd2da4 adding the editor/Makefile.in and editor/public to SeaMonkeyBrowser
git-svn-id: svn://10.0.0.236/trunk@15647 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 21:50:19 +00:00
kin%netscape.com
df6b542687 Fix for build bustage on Unix. Put in missing '$'.
git-svn-id: svn://10.0.0.236/trunk@15646 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 21:25:41 +00:00
kin%netscape.com
c142f19e2d Fix for Unix build bustage. We only build the editor core code if
MOZ_EDITOR is set, otherwise, we just export the editor interfaces.


git-svn-id: svn://10.0.0.236/trunk@15645 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 21:24:25 +00:00
pavlov%pavlov.net
dd963bbea3 removed extranious #include "gtklayout.h"'s and #ifndef GTK_HAVE_FEATURES_1_1_6
in gtklayout.c and nsWidget.h so that we use the gtklayout from gtk 1.1.6 if
available.


git-svn-id: svn://10.0.0.236/trunk@15643 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:54:34 +00:00
shaver%netscape.com
0913f32ec7 Updated README.
Better arg handling and now lower-case mode flags.
andrewv's fixes to lose dependency on IDLN_ enum order (but not his changes
to indentation settings!).


git-svn-id: svn://10.0.0.236/trunk@15642 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:53:27 +00:00
pinkerton%netscape.com
bc13eb0ae4 add the files to build the xpfe tree view.
git-svn-id: svn://10.0.0.236/trunk@15641 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:49:27 +00:00
pinkerton%netscape.com
39aa690f7a export the tree view.
git-svn-id: svn://10.0.0.236/trunk@15640 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:49:06 +00:00
pinkerton%netscape.com
1f78dc5000 add the tree view to the widget factory.
git-svn-id: svn://10.0.0.236/trunk@15639 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:48:55 +00:00
pinkerton%netscape.com
3224d9619e fix PRBool and an unwanted assignment in an if().
git-svn-id: svn://10.0.0.236/trunk@15638 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 19:48:28 +00:00
kin%netscape.com
942aef5be1 Fix for build bustage on Unix.
git-svn-id: svn://10.0.0.236/trunk@15637 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 18:02:06 +00:00
mjudge%netscape.com
5be79f43a9 forgot one file for ngEditor
git-svn-id: svn://10.0.0.236/trunk@15636 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:59:03 +00:00
kin%netscape.com
548f97b224 Added GetTransaction() method.
git-svn-id: svn://10.0.0.236/trunk@15635 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:40:56 +00:00
kin%netscape.com
c499a4300e Updated TestTransaction methods to match changes to nsITransaction interface.
Started implementation of simple test.


git-svn-id: svn://10.0.0.236/trunk@15634 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:40:25 +00:00
kin%netscape.com
3cf483c706 Fix for build bustage on Unix.
git-svn-id: svn://10.0.0.236/trunk@15633 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:39:40 +00:00
kin%netscape.com
8d81669ab7 Added implementations for new Clear(), PeekUndoStack(), and PeekRedoStack()
interface methods. Added support for transaction merging/coalescing, and
max number of undos.


git-svn-id: svn://10.0.0.236/trunk@15632 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:39:09 +00:00
kin%netscape.com
79b9defb35 Added Clear(), PeekUndoStack(), and PeekRedoStack() methods to interface.
git-svn-id: svn://10.0.0.236/trunk@15631 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:37:16 +00:00
kin%netscape.com
4eed82b09a Added Merge() method to interface.
git-svn-id: svn://10.0.0.236/trunk@15630 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:36:46 +00:00
akkana%netscape.com
16b950c06e For mjudge: Remove NGEDITOR defines
git-svn-id: svn://10.0.0.236/trunk@15629 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 17:20:54 +00:00
wtc%netscape.com
cb295c0441 Added extern "C" for XP_ReBuffer().
git-svn-id: svn://10.0.0.236/trunk@15628 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:52:08 +00:00
wtc%netscape.com
773ba841c6 Link with -lpwcac -ldbm on all platforms, not just FreeBSD, Linux, and
SunOS.


git-svn-id: svn://10.0.0.236/trunk@15627 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:51:45 +00:00
wtc%netscape.com
bc83a7b897 Link with -lpwcac -ldbm on all platforms, not just on FreeBSD, Linux,
and SunOS.


git-svn-id: svn://10.0.0.236/trunk@15626 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:49:27 +00:00
wtc%netscape.com
d45ab8ecf7 This checkin (under mozilla/layout) is all about 'const'. Digital Unix's
C++ compiler is strict about getting 'const' right.  Most of the changes
are to add 'const' to the type casts for the second argument of the
GetStyleData method, which wants a const reference.


git-svn-id: svn://10.0.0.236/trunk@15625 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:45:20 +00:00
dcone%netscape.com
b5ce78f2af Changed the name so the file can be used on the Mac
git-svn-id: svn://10.0.0.236/trunk@15624 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:06:31 +00:00
chuckb%netscape.com
793e08b58b two bug fixes.
git-svn-id: svn://10.0.0.236/trunk@15623 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 10:56:43 +00:00
pierre%netscape.com
cda7b1f93b Make an alias of the WASTELib library in the 'dist' directory
git-svn-id: svn://10.0.0.236/trunk@15622 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 10:17:36 +00:00
pierre%netscape.com
b26e325161 changed eMetric_TextFieldHeight to 16 from 30
git-svn-id: svn://10.0.0.236/trunk@15621 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 10:15:55 +00:00
pierre%netscape.com
b2b5f6973f removed the 2 Resize() methods
git-svn-id: svn://10.0.0.236/trunk@15620 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 10:15:41 +00:00
pierre%netscape.com
9acc3cde2c Update() receives the rendering context as a parameter and passes it to the children
git-svn-id: svn://10.0.0.236/trunk@15619 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 10:15:22 +00:00
hyatt%netscape.com
fbb73d31d8 Eliminated my usage of the "mutable" keyword, since VC4.2 chokes on it.
git-svn-id: svn://10.0.0.236/trunk@15618 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 07:20:39 +00:00
saari%netscape.com
ae67adc529 Fix build breakage.
Added mozilla/layout/base/nsPringContext.cpp to layout.mcp to mirror Troy's addition to the build today.


git-svn-id: svn://10.0.0.236/trunk@15617 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 04:59:15 +00:00
saari%netscape.com
ad5ae66745 Fixing build breakage.
nsRegionMac API changed on me.


git-svn-id: svn://10.0.0.236/trunk@15616 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 04:26:16 +00:00
troy%netscape.com
26a1c5f759 Added ID for nsIPageSequenceFrame
git-svn-id: svn://10.0.0.236/trunk@15614 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 03:53:01 +00:00
troy%netscape.com
f8f4d4ce45 Changed Print() to use a print context instead of a galley mode
context


git-svn-id: svn://10.0.0.236/trunk@15613 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 03:26:37 +00:00
troy%netscape.com
d7e61a86d5 Added PrintContext class and changed document viewer impl to use it instead
of a galley mode context


git-svn-id: svn://10.0.0.236/trunk@15612 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 03:21:55 +00:00
saari%netscape.com
2788df097d fixed hand merge error
git-svn-id: svn://10.0.0.236/trunk@15611 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:51:48 +00:00
saari%netscape.com
cfbf3d475a ----------------------------------------
mozilla/widget/public/nsIWidget.h
- Added some more #defines for GetNativeData. I don't like this and want to remove them ASAP.


git-svn-id: svn://10.0.0.236/trunk@15610 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:45:08 +00:00
saari%netscape.com
69e1ee819d ----------------------------------------
mozilla/widget/src/mac/nsMacWindow.cpp
- Line 112: fixed bug with rect bottom not being set correctly


git-svn-id: svn://10.0.0.236/trunk@15609 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:43:19 +00:00
saari%netscape.com
297d9f5ae5 This is the first in what will probably be a series of checkins addressing rendering on the Mac.
Changed files:
----------------------------------------
mozilla/gfx/src/mac/nsRenderingContextMac.h
mozilla/gfx/src/mac/nsRenderingContextMac.cpp 

- Major changes to the Mac rendering context implementation. nsRenderingContextMac now keeps the majority of its state in a GraphicsState object, not in member variables. Setting ports and origins is now a more tightly controlled process. Offscreen buffers don't work correctly yet.

To Do:
- Remove ::SetOrigin calls from most nsRenderingContextMac drawing methods
- Some old variables need to be fully obsoleted
- Offscreen GWorlds currently do not work correctly. This will be addressed shortly.

----------------------------------------

mozilla/widget/src/mac/nsMacWindow.cpp
- Line 112: fixed bug with rect bottom not being set correctly
----------------------------------------
mozilla/widget/public/nsIWidget.h
- Added some more #defines for GetNativeData. I don't like this and want to remove them ASAP.


/\/\/\/\/\//\

mozilla/widget/src/mac/nsWindow.h
mozilla/widget/src/mac/nsWindow.cpp
- Added mMacPortRelativeRegion
----------------------------------------
mozilla/widget/src/mac/nsScrollbar.cpp
- Support the new nsWindow constructs
----------------------------------------


git-svn-id: svn://10.0.0.236/trunk@15608 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:42:19 +00:00
wtc%netscape.com
a155e44fc1 The mktime routine in MetroWerks MSL C Runtime Library on the Mac
uses midnight 1 Jan 1900 as the epoch.  So we need to adjust its
return value to the NSPR epoch.  Thanks to Brendan Eich and Chris
Yeh for this fix.


git-svn-id: svn://10.0.0.236/trunk@15607 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:35:27 +00:00
sar%netscape.com
1ca4c61fe1 add needed top level makefiles to SeamonkeyCore for win and linux --sarah
git-svn-id: svn://10.0.0.236/trunk@15606 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:29:11 +00:00
saari%netscape.com
69c1d2263e This is the first in what will probably be a series of checkins addressing rendering on the Mac.
Changed files:
----------------------------------------
mozilla/gfx/src/mac/nsRenderingContextMac.h
mozilla/gfx/src/mac/nsRenderingContextMac.cpp 

- Major changes to the Mac rendering context implementation. nsRenderingContextMac now keeps the majority of its state in a GraphicsState object, not in member variables. Setting ports and origins is now a more tightly controlled process. Offscreen buffers don't work correctly yet.

To Do:
- Remove ::SetOrigin calls from most nsRenderingContextMac drawing methods
- Some old variables need to be fully obsoleted
- Offscreen GWorlds currently do not work correctly. This will be addressed shortly.

----------------------------------------

mozilla/widget/src/mac/nsMacWindow.cpp
- Line 112: fixed bug with rect bottom not being set correctly
----------------------------------------
mozilla/widget/public/nsIWidget.h
- Added some more #defines for GetNativeData. I don't like this and want to remove them ASAP.


/\/\/\/\/\//\

mozilla/widget/src/mac/nsWindow.h
mozilla/widget/src/mac/nsWindow.cpp
- Added mMacPortRelativeRegion
----------------------------------------
mozilla/widget/src/mac/nsScrollbar.cpp
- Support the new nsWindow constructs
----------------------------------------


git-svn-id: svn://10.0.0.236/trunk@15605 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:26:08 +00:00
joki%netscape.com
2973fa0b43 Fix mouseover/mouseout firing crash when hitting bad frame.
git-svn-id: svn://10.0.0.236/trunk@15604 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:14:58 +00:00
waterson%netscape.com
624c0b68fb Added rdf to LINCS.
git-svn-id: svn://10.0.0.236/trunk@15603 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 02:13:49 +00:00
hyatt%netscape.com
7884d6c986 Fixing the widget factory for tree views.
git-svn-id: svn://10.0.0.236/trunk@15602 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:45:15 +00:00
hyatt%netscape.com
2d805bdda3 Fixing the widget factory for the tree view.
git-svn-id: svn://10.0.0.236/trunk@15601 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:44:53 +00:00
hyatt%netscape.com
3f71118adc The tree view interface.
git-svn-id: svn://10.0.0.236/trunk@15600 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:44:24 +00:00
hyatt%netscape.com
07509a869b Initial checkin of the tree widget and the data model architecture (that will
be used for toolbars and trees).


git-svn-id: svn://10.0.0.236/trunk@15599 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:43:26 +00:00
waterson%netscape.com
d6b5ad35ae #ifdef out XP_MAC stuff for now.
git-svn-id: svn://10.0.0.236/trunk@15598 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:42:17 +00:00
hyatt%netscape.com
b3bdab2165 Deletion of outdated tree widget and toolbar interfaces and updating of
the appropriate makefiles.


git-svn-id: svn://10.0.0.236/trunk@15597 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:38:54 +00:00
wtc%netscape.com
dc6fc49a76 In the struct-emulated version of LL_I2L, added a PRInt32 cast
to make sure we are right shifting a signed integer (in case
someone passes in an unsigned).


git-svn-id: svn://10.0.0.236/trunk@15596 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:37:59 +00:00
michaelp%netscape.com
a7bf3aae35 fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@15595 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:08:43 +00:00
briano%netscape.com
48e5eec02e Fix for NetBSD. Bugzilla#1421.
git-svn-id: svn://10.0.0.236/trunk@15594 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 01:08:00 +00:00
waterson%netscape.com
b52159df93 Added rdf dir to pull_lizard.
git-svn-id: svn://10.0.0.236/trunk@15593 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:57:34 +00:00
waterson%netscape.com
2c2e4e2e6f Added mozilla/rdf to the pull.
git-svn-id: svn://10.0.0.236/trunk@15592 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:50:42 +00:00
peterl%netscape.com
5a6b69acb5 Added nsLayoutAtoms.cpp
git-svn-id: svn://10.0.0.236/trunk@15591 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:49:52 +00:00
briano%netscape.com
3d2cb56ff4 Fix for OpenBSD. Bugzilla#1407.
git-svn-id: svn://10.0.0.236/trunk@15590 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:45:24 +00:00
peterl%netscape.com
2709b267b2 added inline style sheet support for contained HTML
git-svn-id: svn://10.0.0.236/trunk@15589 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:39:10 +00:00
peterl%netscape.com
d2cbd9f116 changed media type to atom
moved body fixup rule to body element


git-svn-id: svn://10.0.0.236/trunk@15588 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:38:33 +00:00
peterl%netscape.com
da11cf6bba changed media type to atom
git-svn-id: svn://10.0.0.236/trunk@15587 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:38:14 +00:00
peterl%netscape.com
121ee0330e added media support to child sheet iteration
changed medium type to atoms


git-svn-id: svn://10.0.0.236/trunk@15586 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:37:32 +00:00
michaelp%netscape.com
55952d5861 added GetNativeRegion() and GetRegionComplexity() methods.
git-svn-id: svn://10.0.0.236/trunk@15585 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:36:56 +00:00
peterl%netscape.com
87cce2df33 added media support to import
git-svn-id: svn://10.0.0.236/trunk@15584 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:36:37 +00:00
michaelp%netscape.com
f7f8b8ea47 added FlushFontCache() method.
git-svn-id: svn://10.0.0.236/trunk@15583 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:36:08 +00:00
peterl%netscape.com
4c21a94564 changed medium type to atom
git-svn-id: svn://10.0.0.236/trunk@15582 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:36:00 +00:00
peterl%netscape.com
69b84cb501 added inline style sheet accessor
git-svn-id: svn://10.0.0.236/trunk@15581 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:35:41 +00:00
peterl%netscape.com
c57d0b3d20 fixed decoration style of del
git-svn-id: svn://10.0.0.236/trunk@15580 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:35:26 +00:00
peterl%netscape.com
69005e00ea changed media to uppercase atoms
git-svn-id: svn://10.0.0.236/trunk@15579 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:35:03 +00:00
peterl%netscape.com
949754eac9 added inline style rule accessor
git-svn-id: svn://10.0.0.236/trunk@15578 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:34:31 +00:00
peterl%netscape.com
5683510533 moved body fixup rule into content
git-svn-id: svn://10.0.0.236/trunk@15577 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:34:06 +00:00
peterl%netscape.com
f6827b4dbf added inline style accessor
git-svn-id: svn://10.0.0.236/trunk@15576 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:33:12 +00:00
peterl%netscape.com
49167d870c added nsLayoutAtoms
git-svn-id: svn://10.0.0.236/trunk@15575 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:32:20 +00:00
peterl%netscape.com
fb4e7e9f66 added medium type
git-svn-id: svn://10.0.0.236/trunk@15574 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:31:31 +00:00
peterl%netscape.com
360a98a0b6 added media support
git-svn-id: svn://10.0.0.236/trunk@15573 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:30:42 +00:00
peterl%netscape.com
b5041bf15f added nslayoutatoms.h
git-svn-id: svn://10.0.0.236/trunk@15572 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:29:42 +00:00
waterson%netscape.com
ebd8214cae Allow nsWellFormedDTD to handle text/rdf.
git-svn-id: svn://10.0.0.236/trunk@15571 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:29:31 +00:00
peterl%netscape.com
5e0087b970 new file
git-svn-id: svn://10.0.0.236/trunk@15570 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:29:29 +00:00
peterl%netscape.com
4cd6b9a5c2 changed medium type to atom
git-svn-id: svn://10.0.0.236/trunk@15569 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:29:16 +00:00
waterson%netscape.com
6302648ac7 Added CIDs and register factory hacks for RDF classes.
git-svn-id: svn://10.0.0.236/trunk@15568 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:28:58 +00:00
peterl%netscape.com
c46cc4c8bd added medium accessor
git-svn-id: svn://10.0.0.236/trunk@15567 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:28:57 +00:00
waterson%netscape.com
d689488fcf Added factory method for RDF documents.
git-svn-id: svn://10.0.0.236/trunk@15566 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:28:27 +00:00
waterson%netscape.com
f05115f79d Added text/rdf as a valid mimetype.
git-svn-id: svn://10.0.0.236/trunk@15565 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:27:46 +00:00
waterson%netscape.com
720efb2c9f Added rdf directory to the build.
git-svn-id: svn://10.0.0.236/trunk@15564 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:23:18 +00:00
waterson%netscape.com
d304426918 Added rdf to the build.
git-svn-id: svn://10.0.0.236/trunk@15563 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:22:44 +00:00
waterson%netscape.com
8abda9e59d Added mozilla/rdf/include, mozilla/layout/xml/document/public, and mozilla/layout/xml/content/public to list of dirs that get manifested. Still not adding rdf to the Mac build due to linkage problems that need to be sorted out.
git-svn-id: svn://10.0.0.236/trunk@15562 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:21:44 +00:00
waterson%netscape.com
45b40ebd32 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15561 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 00:20:07 +00:00
guha%netscape.com
4ddb6e500b More Comments
git-svn-id: svn://10.0.0.236/trunk@15560 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 23:51:27 +00:00
guha%netscape.com
ffce913f89 Comments, fix for MSVC 4.2
git-svn-id: svn://10.0.0.236/trunk@15559 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 23:43:06 +00:00
waterson%netscape.com
84e0a4e62c Exposed nsCSSParser via layout factory.
git-svn-id: svn://10.0.0.236/trunk@15558 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 23:29:16 +00:00
beard%netscape.com
77c537c697 Moved to shared libraries, building in mozilla/dist, linking against many fewer libraries.
git-svn-id: svn://10.0.0.236/trunk@15557 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 22:25:36 +00:00
jfrancis%netscape.com
a9ae7e0fa1 moving nsRangeList.cpp to the right place in the project
git-svn-id: svn://10.0.0.236/trunk@15556 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 22:05:27 +00:00
jfrancis%netscape.com
34c2754f49 moving nsDocumentfragment.cpp to the right place in the project
git-svn-id: svn://10.0.0.236/trunk@15555 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 22:00:18 +00:00
wtc%netscape.com
e2b7d6fd95 Undefine _PR_HAVE_SOCKADDR_LEN because struct sockaddr doesn't have
the sa_len field on NEXTSTEP/OPENSTEP.  Thanks to Balazs Pataki for
<pataki@ovid.aszi.sztaki.hu> for confirming this.


git-svn-id: svn://10.0.0.236/trunk@15554 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 21:53:37 +00:00
despotdaemon%netscape.com
078a6cfb9a Pseudo-automatic update of changes made by sfraser@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15553 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 21:48:31 +00:00
mjudge%netscape.com
d999cf6a12 fix for mac no ')'
git-svn-id: svn://10.0.0.236/trunk@15552 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 21:39:13 +00:00
mjudge%netscape.com
82fc10e60f didnt check in the one file i needed!! not my day
git-svn-id: svn://10.0.0.236/trunk@15551 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 21:04:33 +00:00
mjudge%netscape.com
dba04650ad fixing mac build bustages
git-svn-id: svn://10.0.0.236/trunk@15550 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:58:53 +00:00
despotdaemon%netscape.com
1d60fe6ee0 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@15549 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:57:48 +00:00
mjudge%netscape.com
8c66b5b1ca casting like mad
git-svn-id: svn://10.0.0.236/trunk@15548 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:56:29 +00:00
mjudge%netscape.com
d5762e5956 fixing build bustage!
git-svn-id: svn://10.0.0.236/trunk@15547 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:28:34 +00:00
mjudge%netscape.com
44945155f0 fixing bug in windows code for build
git-svn-id: svn://10.0.0.236/trunk@15546 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:20:40 +00:00
mjudge%netscape.com
a3ceb6c4f4 fixing mac build bustage
git-svn-id: svn://10.0.0.236/trunk@15545 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:17:01 +00:00
beard%netscape.com
fcb872004a Uses shared libraries, targets get built in mozilla/dist/viewer[Debug].
git-svn-id: svn://10.0.0.236/trunk@15544 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 20:00:35 +00:00
waterson%netscape.com
f2455e1b1d Fixed some bugs in the content sink that'd been introduced when I pulled the simple content sink out of the document content sink.
git-svn-id: svn://10.0.0.236/trunk@15543 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:58:24 +00:00
waterson%netscape.com
4b0c6d9d96 Added RemoveDataSource() to the database interface in preparation for doing db management with XML processing instructions.
git-svn-id: svn://10.0.0.236/trunk@15542 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:57:49 +00:00
waterson%netscape.com
69723cfd45 Fixed some reference counting bugs.
git-svn-id: svn://10.0.0.236/trunk@15541 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:57:36 +00:00
troy%netscape.com
b16b9b9f48 Removed hack of having page size based on viewport size
git-svn-id: svn://10.0.0.236/trunk@15540 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:38:29 +00:00
akkana%netscape.com
ad036d51d2 nsIRangeList shouldn't have been here. Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@15539 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:34:50 +00:00
mjudge%netscape.com
dac2ae4941 including proper thing
git-svn-id: svn://10.0.0.236/trunk@15538 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:18:52 +00:00
akkana%netscape.com
9f5d2a5f08 Change Element to Node
git-svn-id: svn://10.0.0.236/trunk@15537 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:15:00 +00:00
mjudge%netscape.com
a9dc677a36 need to include the nsIDOMElement.h dont know why this worked on windows
git-svn-id: svn://10.0.0.236/trunk@15536 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:14:18 +00:00
leaf%mozilla.org
da35f4a530 adding nsIRangeList.h to exports list
git-svn-id: svn://10.0.0.236/trunk@15535 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 19:08:02 +00:00
kin%netscape.com
017db1e661 Implemented transaction aggregation, modified code to use nsTransactionItem.
git-svn-id: svn://10.0.0.236/trunk@15534 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 18:38:52 +00:00
kin%netscape.com
224e02e4d8 Initial version of file.
git-svn-id: svn://10.0.0.236/trunk@15533 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 18:35:49 +00:00
akkana%netscape.com
ff2b34c29a Fix IDOMRange spec
git-svn-id: svn://10.0.0.236/trunk@15532 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 18:21:05 +00:00
akkana%netscape.com
5d4099f328 Pull and build the editor as well as the browser
git-svn-id: svn://10.0.0.236/trunk@15531 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 18:20:03 +00:00
mjudge%netscape.com
55ee01fd41 changes nsRangeList to be an implementation of nsICollection
git-svn-id: svn://10.0.0.236/trunk@15530 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 18:00:02 +00:00
mjudge%netscape.com
4e5b37987c fixing tests to use the enumerator correctly
git-svn-id: svn://10.0.0.236/trunk@15529 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:58:50 +00:00
mjudge%netscape.com
ba58fd80a6 fixing enumerator to do the right thing
git-svn-id: svn://10.0.0.236/trunk@15528 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:58:27 +00:00
mjudge%netscape.com
b3753f3f95 changes enumerator to do the right thing
git-svn-id: svn://10.0.0.236/trunk@15527 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:58:10 +00:00
mjudge%netscape.com
9e56baf6ba changing nsIRangeList to nsICollection
git-svn-id: svn://10.0.0.236/trunk@15526 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:57:42 +00:00
mjudge%netscape.com
75c2f03476 removing nsIRangeList.h
git-svn-id: svn://10.0.0.236/trunk@15525 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:56:56 +00:00
mjudge%netscape.com
d3096f7ed2 removing nsIRangeList.h
git-svn-id: svn://10.0.0.236/trunk@15524 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:55:58 +00:00
mjudge%netscape.com
9972f8c67c making big changes to enumerator class and adding nsICollection
git-svn-id: svn://10.0.0.236/trunk@15523 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:55:08 +00:00
mjudge%netscape.com
d3fcc0bcb7 collection interface
git-svn-id: svn://10.0.0.236/trunk@15522 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 17:50:57 +00:00
kipp%netscape.com
0bbef0f75e new
git-svn-id: svn://10.0.0.236/trunk@15521 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 16:13:49 +00:00
chuckb%netscape.com
a0c58ff4a6 Parsers for controls returned by password policy
git-svn-id: svn://10.0.0.236/trunk@15520 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 11:16:37 +00:00
chuckb%netscape.com
be850ead5b removeValue does not work
git-svn-id: svn://10.0.0.236/trunk@15519 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 11:12:11 +00:00
chuckb%netscape.com
dc79edd3fb bug fix
git-svn-id: svn://10.0.0.236/trunk@15518 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 11:08:34 +00:00
chuckb%netscape.com
1eac6a342c Parsers for controls returned by password policy
git-svn-id: svn://10.0.0.236/trunk@15517 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 11:06:52 +00:00
chuckb%netscape.com
f22c209229 Generic parser for a control containing only a string
git-svn-id: svn://10.0.0.236/trunk@15516 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 11:06:26 +00:00
waterson%netscape.com
c7c31d1f6e Added some comments on the factory methods.
git-svn-id: svn://10.0.0.236/trunk@15515 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 10:54:12 +00:00
waterson%netscape.com
5af73a8a75 Factored the RDF content sink into a document content sink (used with the NGLayout content model) and a simple content sink (which can be used without a document).
git-svn-id: svn://10.0.0.236/trunk@15514 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 10:52:38 +00:00
wtc%netscape.com
e63535aece Corrected a typo. The "1" (one) in "armv41" should be an "l" (ell).
Thanks to Brian Ostrom <briano@netscape.com> for pointing this out.


git-svn-id: svn://10.0.0.236/trunk@15513 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 08:30:02 +00:00
wtc%netscape.com
646c6edb93 We also need to define the poll-related error reporting functions
if we are using our emulated poll().  This patch is contributed by
Jeremy Lea <reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@15512 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 07:31:15 +00:00
wtc%netscape.com
2c43676866 Undefine _PR_POLL_AVAILABLE for pthreads. libc_r doesn't have
poll().  The poll() in libc is not thread-safe, so we can't use
it with pthreads.  This patch is contributed by Jeremy Lea
<reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@15511 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 07:25:28 +00:00
waterson%netscape.com
b3809c1004 Updated MANIFEST for landing of RDF_19981124_BRANCH.
git-svn-id: svn://10.0.0.236/trunk@15510 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 06:18:25 +00:00
waterson%netscape.com
feedbd576c Got RDF compiling and running on Linux.
git-svn-id: svn://10.0.0.236/trunk@15509 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 06:10:18 +00:00
waterson%netscape.com
edda2a753c Fixed some cruft that egcs didn't like.
git-svn-id: svn://10.0.0.236/trunk@15508 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 06:09:23 +00:00
gagan%netscape.com
657a985e84 Delayed the cache cleanup to 15 minutes periodicity.
git-svn-id: svn://10.0.0.236/trunk@15507 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 05:40:16 +00:00
troy%netscape.com
8cdbd84223 Changed to handle StyleChanged incremental reflow command
git-svn-id: svn://10.0.0.236/trunk@15506 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 05:17:12 +00:00
gagan%netscape.com
0f3b93aeb6 Was not pulling in env changes from config.mak because of the missing include.
git-svn-id: svn://10.0.0.236/trunk@15505 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 04:46:24 +00:00
gagan%netscape.com
2e43bbedea Switching on NU_CACHE by default. Use set NO_NU_CACHE=1 to switch it off. Windows only.
git-svn-id: svn://10.0.0.236/trunk@15504 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 04:44:31 +00:00
gagan%netscape.com
57fd48f904 Switching on NU_CACHE by default. Use set NO_NU_CACHE=1 to switch it off.
git-svn-id: svn://10.0.0.236/trunk@15503 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 04:43:46 +00:00
fur%netscape.com
687f1ec19e Compiler-generated file shouldn't be checked in
git-svn-id: svn://10.0.0.236/trunk@15502 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 04:23:35 +00:00
beard%netscape.com
cb9ba7b0e8 Fixed non-debug target to build in mozilla/dist/viewer.
git-svn-id: svn://10.0.0.236/trunk@15501 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 04:03:47 +00:00
waterson%netscape.com
8a5dd554af Removed obsolete files.
git-svn-id: svn://10.0.0.236/trunk@15500 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:51:09 +00:00
waterson%netscape.com
a93768c259 Obsolete.
git-svn-id: svn://10.0.0.236/trunk@15499 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:48:33 +00:00
waterson%netscape.com
0d67609952 Cleaned up unnecessary stuff that was being exported.
git-svn-id: svn://10.0.0.236/trunk@15498 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:47:35 +00:00
waterson%netscape.com
866c72398c Initial revision.
git-svn-id: svn://10.0.0.236/trunk@15497 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:27:53 +00:00
waterson%netscape.com
09e224434a Added NPL. Removed tests dir for now.
git-svn-id: svn://10.0.0.236/trunk@15496 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:26:17 +00:00
michaelp%netscape.com
de4186f177 fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@15495 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:20:31 +00:00
waterson%netscape.com
a3506cd378 Landed changes from RDF_19981124_BRANCH. This is still not in the build.
git-svn-id: svn://10.0.0.236/trunk@15494 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:01:35 +00:00
raman%netscape.com
72c8c66977 Deleted unnecessary nsCCapsManager:: from the prototype
git-svn-id: svn://10.0.0.236/trunk@15493 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 03:00:42 +00:00
wtc%netscape.com
c509066038 Checked in Patrick Beard's temporary workaround (to use GetSharedLibrary
instead of NSGetSharedLibrary) because NSGetSharedLibrary is broken.


git-svn-id: svn://10.0.0.236/trunk@15492 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 02:56:29 +00:00
michaelp%netscape.com
3fbc2c9f07 updated for new blending API.
git-svn-id: svn://10.0.0.236/trunk@15491 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 02:16:14 +00:00
michaelp%netscape.com
5a970927aa revised blending APIs.
git-svn-id: svn://10.0.0.236/trunk@15490 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 02:15:44 +00:00
wtc%netscape.com
f40b5e2f3c Temporarily commented out the poll() wrapper for Linux, because
glibc 2.0.7 on Debian 2.0 Linux doesn't have __syscall_poll defined.
This problem was reported by Adam Sulmicki <adam@cfar.umd.edu>.


git-svn-id: svn://10.0.0.236/trunk@15489 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 02:10:44 +00:00
beard%netscape.com
ead1995fea Build bustage, was referencing non-debug libraries in debug target.
git-svn-id: svn://10.0.0.236/trunk@15488 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:55:01 +00:00
beard%netscape.com
6fd1db89c0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15487 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:51:22 +00:00
jfrancis%netscape.com
825ac7ea0e The first step to good mental health is to realize that you have a build problem.
redo'ing NSRuntime.shlb includes to use debug in debug target, opt in opt target.


git-svn-id: svn://10.0.0.236/trunk@15486 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:22:13 +00:00
michaelp%netscape.com
7164868c5a fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@15485 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:18:32 +00:00
beard%netscape.com
7f1c280849 More build bustage fixes.
git-svn-id: svn://10.0.0.236/trunk@15484 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:17:03 +00:00
beard%netscape.com
4be58ddc21 More build bustage fixes.
git-svn-id: svn://10.0.0.236/trunk@15483 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:06:33 +00:00
beard%netscape.com
a042fb01d9 Trying to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@15482 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 01:02:32 +00:00
beard%netscape.com
3cc3dcdf67 Mac shared library migration. Fixed some entries that were pointing to the debug build. Argh.
git-svn-id: svn://10.0.0.236/trunk@15481 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 00:44:07 +00:00
cyeh%netscape.com
5aedad152f applied fix from Bruce Mitchener (bruce@cybersight.com) to fix test
for --with-fullcircle. AC_TRY_LINK is still busted though, don't know why


git-svn-id: svn://10.0.0.236/trunk@15480 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 23:51:08 +00:00
beard%netscape.com
9ec220b936 Mac shared library migration. Moved PowerPlant earlier.
git-svn-id: svn://10.0.0.236/trunk@15479 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 23:39:17 +00:00
locka%iol.ie
de14ab7fe2 Added binary flag for icons in build broke on other machines
git-svn-id: svn://10.0.0.236/trunk@15478 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:59:43 +00:00
locka%iol.ie
ec309b6d17 Added binary flag for icons in build broke on other machines
git-svn-id: svn://10.0.0.236/trunk@15477 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:57:21 +00:00
locka%iol.ie
b2cc66ade7 Changed project to statically link to MFC
git-svn-id: svn://10.0.0.236/trunk@15476 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:53:49 +00:00
karnaze%netscape.com
070596fafe fixed bug 1613 (leak in nsFrameSetFrame::CalculateRowCol)
git-svn-id: svn://10.0.0.236/trunk@15475 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:37:52 +00:00
beard%netscape.com
810f6cfdf2 Mac shared library migration.
git-svn-id: svn://10.0.0.236/trunk@15474 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:15:00 +00:00
beard%netscape.com
57c4d48cc4 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15473 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 22:14:25 +00:00
waterson%netscape.com
ad06dd696e Fix Unix bustage.
git-svn-id: svn://10.0.0.236/trunk@15472 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 21:17:59 +00:00
sar%netscape.com
55bd7b2825 fix seaMonkeyEditor module some, and add SeaMonkeyAll that tinderbox and Bonsai can track
git-svn-id: svn://10.0.0.236/trunk@15471 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 19:48:39 +00:00
buster%netscape.com
9fef29179c fixed a bug for tables with complicated colspans and fixed widths
git-svn-id: svn://10.0.0.236/trunk@15470 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 19:06:33 +00:00
karnaze%netscape.com
a937455d91 fixed bug 1696
git-svn-id: svn://10.0.0.236/trunk@15466 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 18:19:21 +00:00
pinkerton%netscape.com
755d662e57 added nsDocumentFragment.cpp to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@15465 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 17:51:01 +00:00
buster%netscape.com
826b9af0fe fixed some nested table layout problems
git-svn-id: svn://10.0.0.236/trunk@15463 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 15:10:20 +00:00
cls%seawood.org
2428418e65 Tweaks to allow building SeaMonkeyBrowser w/o the editor.
git-svn-id: svn://10.0.0.236/trunk@15462 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 10:39:37 +00:00
vidur%netscape.com
2c5fe78039 Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@15457 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 08:47:27 +00:00
mjudge%netscape.com
2bacfb39ef blah
git-svn-id: svn://10.0.0.236/trunk@15456 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 08:36:47 +00:00
mjudge%netscape.com
228419a714 factory needs work
git-svn-id: svn://10.0.0.236/trunk@15455 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 08:35:45 +00:00
mjudge%netscape.com
d9467a0b51 fixing problem in editfactory
git-svn-id: svn://10.0.0.236/trunk@15454 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 08:25:44 +00:00
mjudge%netscape.com
6706cc4291 bug in editor. blowing up a little :(
git-svn-id: svn://10.0.0.236/trunk@15453 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 08:05:45 +00:00
vidur%netscape.com
b5d3af627a docfrag test
git-svn-id: svn://10.0.0.236/trunk@15452 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 07:59:37 +00:00
vidur%netscape.com
a8e89e05c1 Moved nsGenericElement to base directory. Added basic support for document fragments.
git-svn-id: svn://10.0.0.236/trunk@15451 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 07:59:11 +00:00
cls%seawood.org
f83fb62ba0 Call motif_detect scripts only if building with motif toolkit. Thanks to bert hubert <ahu@vvtp.tn.tudelft.nl> for the suggestion.
Fixed $CC evaluation problem when calling motif_detect scripts.  It should now work for multi-word $CC.
Removed extraneous gtk version variables.


git-svn-id: svn://10.0.0.236/trunk@15450 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 06:42:36 +00:00
mjudge%netscape.com
a254701232 do not try to link the ender library
git-svn-id: svn://10.0.0.236/trunk@15449 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 06:15:54 +00:00
msw%gimp.org
1df8ed18a5 Rewrote the resize handler. This fixes the crashes at startup. There are
still conditions to make this go into infinite loop.
All callbacks/event handlers now return proper values.


git-svn-id: svn://10.0.0.236/trunk@15448 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 05:53:17 +00:00
mjudge%netscape.com
1166ec86f8 adding nsRangeList.cpp to list of files to compile
git-svn-id: svn://10.0.0.236/trunk@15447 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 05:29:53 +00:00
mjudge%netscape.com
d1e65e0250 need to go into the editor dir. autoconf messed me up
git-svn-id: svn://10.0.0.236/trunk@15446 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 04:57:29 +00:00
mjudge%netscape.com
5ec37a3f55 added the editor directory to the unix builds
git-svn-id: svn://10.0.0.236/trunk@15444 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 04:04:49 +00:00
mjudge%netscape.com
2236aabe4b added editor as an include dir
git-svn-id: svn://10.0.0.236/trunk@15443 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 04:00:19 +00:00
jfrancis%netscape.com
66122f1a54 [sfraser checking in as jfrancis]
Temporarily comment out EDITOR_DLL-related stuff until Mac is building editor, to fix build bustage.


git-svn-id: svn://10.0.0.236/trunk@15442 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 03:04:00 +00:00
jfrancis%netscape.com
62c9b472da [sfraser checking in as jfrancis]
added nsRangeList.cpp, turned on debug info for debug targets, as build bustage fixage.


git-svn-id: svn://10.0.0.236/trunk@15441 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 03:02:52 +00:00
mjudge%netscape.com
8cd09d02d4 added nsRange to unix
git-svn-id: svn://10.0.0.236/trunk@15440 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 03:00:26 +00:00
mjudge%netscape.com
74937901fd export this header for nsIRangeList
git-svn-id: svn://10.0.0.236/trunk@15439 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 02:57:59 +00:00
mjudge%netscape.com
fd2aad9c57 should fix unix
git-svn-id: svn://10.0.0.236/trunk@15433 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 02:11:00 +00:00
mjudge%netscape.com
d5e3a66787 should be fixed
git-svn-id: svn://10.0.0.236/trunk@15432 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 02:01:00 +00:00
msw%gimp.org
142c2bdecf Really fix Unix build bustage. r,a=shaver@netscape.com
git-svn-id: svn://10.0.0.236/trunk@15431 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-30 00:29:45 +00:00
jfrancis%netscape.com
e1ca11a4a3 adding edtor lib entrty, even though we aren't actually linking it in yet.
git-svn-id: svn://10.0.0.236/trunk@15430 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 23:57:59 +00:00
jfrancis%netscape.com
6e9d095783 adding editor MANIFEST
git-svn-id: svn://10.0.0.236/trunk@15429 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 23:52:10 +00:00
jfrancis%netscape.com
e61a2c1e87 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15428 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 23:50:20 +00:00
mjudge%netscape.com
0035bfa567 fixing files for stupid hack in nsComFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@15427 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 23:19:24 +00:00
jfrancis%netscape.com
8e6753a6a9 adding nsIRangeList.h
git-svn-id: svn://10.0.0.236/trunk@15426 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:45:27 +00:00
mjudge%netscape.com
e85b747984 nsIRangeList.h
git-svn-id: svn://10.0.0.236/trunk@15425 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:35:13 +00:00
mjudge%netscape.com
4521f79b15 adding editor to the build
git-svn-id: svn://10.0.0.236/trunk@15424 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:30:29 +00:00
mjudge%netscape.com
62a90ef301 updating to add editor as a directory
git-svn-id: svn://10.0.0.236/trunk@15423 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:20:42 +00:00
mjudge%netscape.com
fd249a3e63 adding editor to the build
git-svn-id: svn://10.0.0.236/trunk@15422 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:13:27 +00:00
mjudge%netscape.com
1822ec4f9e new rangelist.cpp file
git-svn-id: svn://10.0.0.236/trunk@15421 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:12:27 +00:00
mjudge%netscape.com
70a6c4541a need to make rangelist.cpp
git-svn-id: svn://10.0.0.236/trunk@15420 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:11:49 +00:00
mjudge%netscape.com
66cae3341e new rangelist factory needs to be registered
git-svn-id: svn://10.0.0.236/trunk@15419 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:11:06 +00:00
mjudge%netscape.com
4918390790 exporting nsIRangeList.h
git-svn-id: svn://10.0.0.236/trunk@15418 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:02:50 +00:00
mjudge%netscape.com
166ae39262 export nsIDOMRange.h
git-svn-id: svn://10.0.0.236/trunk@15417 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 22:00:46 +00:00
mjudge%netscape.com
fe47a3bb8e tabbing
git-svn-id: svn://10.0.0.236/trunk@15416 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 21:59:52 +00:00
msw%gimp.org
cd5658de00 Fixed broken Unix build. Approved by shaver@netscape.com
git-svn-id: svn://10.0.0.236/trunk@15415 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 21:13:19 +00:00
rickg%netscape.com
11a2e32bd8 fixed bug #1070
git-svn-id: svn://10.0.0.236/trunk@15414 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 19:52:55 +00:00
locka%iol.ie
1f6de8dc3c Updated to use CControlSite - a homegrown control site class
git-svn-id: svn://10.0.0.236/trunk@15413 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 18:33:31 +00:00
locka%iol.ie
4d246212e5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@15412 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 18:08:59 +00:00
locka%iol.ie
42c2b7310a Added NS_INIT_REFCNT() to constructor
git-svn-id: svn://10.0.0.236/trunk@15411 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 18:06:34 +00:00
locka%iol.ie
fb503f3bd5 Added ControlSite.cpp & ControlSite.h
git-svn-id: svn://10.0.0.236/trunk@15410 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 18:05:04 +00:00
locka%iol.ie
a0b2f4d68b Implemented IOleCommandTarget and stubs for printing support
git-svn-id: svn://10.0.0.236/trunk@15409 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 18:03:43 +00:00
locka%iol.ie
03ee7d87c7 First working version
git-svn-id: svn://10.0.0.236/trunk@15408 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-29 17:59:46 +00:00
vidur%netscape.com
bf493acab1 Added nsDocumentFragment to build. Fixed bug 1256 - the content sink is flushed as soon as it encounters a script tag.
git-svn-id: svn://10.0.0.236/trunk@15407 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 23:51:06 +00:00
ramiro%netscape.com
e7ca2be12c Renamed the viewer from 'main' to 'viewer'
git-svn-id: svn://10.0.0.236/trunk@15404 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 22:18:24 +00:00
karnaze%netscape.com
7455cb021a changed frameset layout algorithm. fixed bugs 728, 1075, 1494 and half of 1486
git-svn-id: svn://10.0.0.236/trunk@15399 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 18:59:38 +00:00
morse%netscape.com
508b2fc134 fix single-signon problems
git-svn-id: svn://10.0.0.236/trunk@15398 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 17:19:38 +00:00
morse%netscape.com
bf3fc1efe8 fix single-signon problem
git-svn-id: svn://10.0.0.236/trunk@15397 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 17:16:47 +00:00
shaver%netscape.com
6486c53a49 Added NPL everywhere (ooops!).
Handle enums.
Output idents properly in IDL comments.


git-svn-id: svn://10.0.0.236/trunk@15396 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 16:52:24 +00:00
michaelp%netscape.com
1428cec472 fixed memory leak.
git-svn-id: svn://10.0.0.236/trunk@15391 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 04:24:46 +00:00
michaelp%netscape.com
19eb838ffd fixed resource leak.
git-svn-id: svn://10.0.0.236/trunk@15390 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 04:24:15 +00:00
michaelp%netscape.com
84bebdcae2 fixed duplicate resource free.
git-svn-id: svn://10.0.0.236/trunk@15389 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 04:23:23 +00:00
michaelp%netscape.com
ce13283356 added missing NS_INIT_REFCNT().
git-svn-id: svn://10.0.0.236/trunk@15388 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 04:21:40 +00:00
msw%gimp.org
0c74cc81dc Unhorked Unix non-editor build.
git-svn-id: svn://10.0.0.236/trunk@15387 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 03:28:39 +00:00
mjudge%netscape.com
6c6a833e89 modifying
git-svn-id: svn://10.0.0.236/trunk@15385 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 01:46:56 +00:00
mjudge%netscape.com
0df2af35fe ok this will break the editor, I will have to learn how to register the IIDs of the editor in the registry!!
git-svn-id: svn://10.0.0.236/trunk@15384 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 01:42:51 +00:00
mjudge%netscape.com
6fffbd0142 removed non production code
git-svn-id: svn://10.0.0.236/trunk@15383 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 01:28:00 +00:00
mjudge%netscape.com
7410278224 updating the editor public dir. must change all access methods now
git-svn-id: svn://10.0.0.236/trunk@15382 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 01:20:24 +00:00
mjudge%netscape.com
19263c1621 just broke the mac build. I will tell jfrancis!
git-svn-id: svn://10.0.0.236/trunk@15381 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-28 01:19:53 +00:00
shaver%netscape.com
d9379bb5ea Error message cleanups, including insertion of line/file info in initial
buffer, to make errors give correct line-number data.
Strip comments.  (Still need to handle doc comments correctly.)


git-svn-id: svn://10.0.0.236/trunk@15379 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-27 16:39:45 +00:00
kipp%netscape.com
5390fd74b1 Disabled the timebomb on the tip
git-svn-id: svn://10.0.0.236/trunk@15378 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-27 15:54:14 +00:00
shaver%netscape.com
88c5dff3d3 Updated README now includes Win32 libIDL/glib URLs, and mention of msw's
GTK+/glib 1.1.5.
Generate #includes for interfaces to which we refer.
Output inheritance data.
Switch to PRUnichar * for wstring, and char * for string.
in params that become pointer types get const'd.


git-svn-id: svn://10.0.0.236/trunk@15377 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 21:03:03 +00:00
mcafee%netscape.com
e7e4e89ca6 Adding support for Rhapsody
git-svn-id: svn://10.0.0.236/trunk@15374 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 19:47:01 +00:00
scc%netscape.com
6b8ab9fbf3 Final changes to be used in production code (though currently only allowed in Composer module). Stripped tabs, replaced with spaces; made internal macro prefix; some final naming decisions (s/func/getter/). Good luck Composer team.
git-svn-id: svn://10.0.0.236/trunk@15373 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 19:28:42 +00:00
kipp%netscape.com
c98e60be06 Port to revised pres-context API
git-svn-id: svn://10.0.0.236/trunk@15372 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:14:41 +00:00
kipp%netscape.com
12f3900c32 Fixed to not subtract out borders/padding when unconstrained height reflow is occuring
git-svn-id: svn://10.0.0.236/trunk@15371 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:14:17 +00:00
kipp%netscape.com
90deabb695 disabled another printf; use web-shell destroy to properly whack the sub-webshell
git-svn-id: svn://10.0.0.236/trunk@15370 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:13:13 +00:00
kipp%netscape.com
fd2798ed60 Compute combined area properly
git-svn-id: svn://10.0.0.236/trunk@15369 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:11:23 +00:00
kipp%netscape.com
ebb0b9f0d8 Fixed verify reflow to avoid creating reflow commands during a verify reflow
git-svn-id: svn://10.0.0.236/trunk@15368 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:11:02 +00:00
kipp%netscape.com
03e51bc9c4 XPCOMized more of the API; added new operator to avoid future bugs; implement Stop method
git-svn-id: svn://10.0.0.236/trunk@15367 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:10:10 +00:00
kipp%netscape.com
76c0c7a5e2 XPCOMize more of the API; added Stop method
git-svn-id: svn://10.0.0.236/trunk@15366 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:08:44 +00:00
kipp%netscape.com
5f76ab669f whitespace tweak
git-svn-id: svn://10.0.0.236/trunk@15365 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:08:27 +00:00
kipp%netscape.com
8e9a8f6894 Removed bogus include
git-svn-id: svn://10.0.0.236/trunk@15364 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:08:08 +00:00
kipp%netscape.com
444a1435da Hide some noise; pass on Stop to content-viewer
git-svn-id: svn://10.0.0.236/trunk@15363 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:06:47 +00:00
kipp%netscape.com
4a22e5141c XPCOMize API; added Stop method
git-svn-id: svn://10.0.0.236/trunk@15362 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:06:25 +00:00
kipp%netscape.com
d9b72da670 Removed duplicate init
git-svn-id: svn://10.0.0.236/trunk@15361 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:06:08 +00:00
kipp%netscape.com
90be7a9a74 XPCOMize the methods; added Stop
git-svn-id: svn://10.0.0.236/trunk@15360 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:03:42 +00:00
kipp%netscape.com
2a73c19d2a Expose WalkTheStack
git-svn-id: svn://10.0.0.236/trunk@15359 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 18:03:20 +00:00
peterl%netscape.com
983d848263 made css style sheet public (for mac)
git-svn-id: svn://10.0.0.236/trunk@15357 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 05:17:03 +00:00
peterl%netscape.com
924bee3843 removed processimport
git-svn-id: svn://10.0.0.236/trunk@15356 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 05:16:43 +00:00
peterl%netscape.com
acd26bce38 added media support to @import
git-svn-id: svn://10.0.0.236/trunk@15355 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 05:16:22 +00:00
peterl%netscape.com
8c5f87d7f3 backed out previous change
git-svn-id: svn://10.0.0.236/trunk@15354 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 04:54:11 +00:00
peterl%netscape.com
721a073075 deal with const issues on unix compilers
git-svn-id: svn://10.0.0.236/trunk@15353 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 04:53:49 +00:00
rickg%netscape.com
f163d7e8e4 also enabled better null document support
git-svn-id: svn://10.0.0.236/trunk@15352 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 04:14:06 +00:00
peterl%netscape.com
c9ab26763f hopefully fixed build bustage
git-svn-id: svn://10.0.0.236/trunk@15351 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 04:07:58 +00:00
rickg%netscape.com
327d9295a8 removed non-essential DTD calls
git-svn-id: svn://10.0.0.236/trunk@15350 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 04:04:08 +00:00
peterl%netscape.com
40dcb95b43 fix unix build
git-svn-id: svn://10.0.0.236/trunk@15349 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 03:45:50 +00:00
rickg%netscape.com
77f4a49baa cleaned up DTD api's
git-svn-id: svn://10.0.0.236/trunk@15348 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 03:35:24 +00:00
rickg%netscape.com
56aaafad6f removed unnecessary API's
git-svn-id: svn://10.0.0.236/trunk@15347 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 03:21:55 +00:00
rickg%netscape.com
76329e0097 improvements to recursive parser calls
git-svn-id: svn://10.0.0.236/trunk@15346 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 02:56:40 +00:00
rickg%netscape.com
78d79cf0d2 improvements to recursively parser calls
git-svn-id: svn://10.0.0.236/trunk@15345 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 02:55:59 +00:00
peterl%netscape.com
8907fc654c removed simple rule, added unknown rule
git-svn-id: svn://10.0.0.236/trunk@15344 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 02:32:48 +00:00
sar%netscape.com
ce37c3484b backing out akkana's changes. this will fix build bustage on the mac
git-svn-id: svn://10.0.0.236/trunk@15343 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 02:30:44 +00:00
peterl%netscape.com
383116acf6 style change notification support
git-svn-id: svn://10.0.0.236/trunk@15337 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:34:53 +00:00
peterl%netscape.com
eb0e68e55b handle whitespace in url() better
git-svn-id: svn://10.0.0.236/trunk@15336 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:30:51 +00:00
peterl%netscape.com
8bf6a015e5 connected style sheet better (added content node & properties)
git-svn-id: svn://10.0.0.236/trunk@15335 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:29:10 +00:00
peterl%netscape.com
39e7ccb9fc added change notification support
git-svn-id: svn://10.0.0.236/trunk@15334 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:24:52 +00:00
peterl%netscape.com
6504e8fe4b added style sheet properties
git-svn-id: svn://10.0.0.236/trunk@15333 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:24:32 +00:00
peterl%netscape.com
09bc113e28 fixed bug in font family enumeration
git-svn-id: svn://10.0.0.236/trunk@15332 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:22:04 +00:00
law%netscape.com
3f61274bf3 Fixed 'Phonebook' button and stripped out some stuff from non-debug version to save space
git-svn-id: svn://10.0.0.236/trunk@15331 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:21:46 +00:00
peterl%netscape.com
0b40994da0 made text decorations minimum size of 1 pixel
git-svn-id: svn://10.0.0.236/trunk@15330 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:21:22 +00:00
peterl%netscape.com
bf2d444100 updated to new version of CSSOM interfaces
git-svn-id: svn://10.0.0.236/trunk@15329 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:20:04 +00:00
peterl%netscape.com
226561ff6f new CSSOM interfaces
git-svn-id: svn://10.0.0.236/trunk@15328 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:18:57 +00:00
peterl%netscape.com
f7d360a0f0 made pointer conversion more friendly to const methods
git-svn-id: svn://10.0.0.236/trunk@15327 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 01:18:21 +00:00
beard%netscape.com
553570efc5 Consistent spacing
git-svn-id: svn://10.0.0.236/trunk@15326 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-26 00:21:54 +00:00
akkana%netscape.com
fcc377cf71 Implementation of the easy parts
git-svn-id: svn://10.0.0.236/trunk@15325 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 23:20:29 +00:00
wtc%netscape.com
a374e6bf4c Bugzilla bug #1664: removed an unnecessary strdup call in
NSGetSharedLibrary.  Thanks to Patrick Beard <beard@netscape.com>
for the bug report.


git-svn-id: svn://10.0.0.236/trunk@15322 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 22:25:21 +00:00
rickg%netscape.com
e01fa50744 changed startup URL
git-svn-id: svn://10.0.0.236/trunk@15321 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 22:00:24 +00:00
law%netscape.com
61fb09f59b Disable inoperative stuff
git-svn-id: svn://10.0.0.236/trunk@15320 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 21:23:02 +00:00
wtc%netscape.com
577817af39 Removed -D_PR_NEED_FAKE_POLL from FreeBSD.mk and NEXTSTEP.mk. This
macro is defined internally.
In _freebsd.h, include poll.h if poll is available.
Thanks to Jeremy Lea <reg@shale.csir.co.za> for suggesting the patches.


git-svn-id: svn://10.0.0.236/trunk@15319 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 21:01:14 +00:00
rickg%netscape.com
7b9a495531 changed top 100 sites to Test Sites
git-svn-id: svn://10.0.0.236/trunk@15315 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 20:28:27 +00:00
shaver%netscape.com
9e45f0515d make Makefiles for xpidl
git-svn-id: svn://10.0.0.236/trunk@15314 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 20:03:57 +00:00
mcafee%netscape.com
825e28958b Added mhanni@sprintmail.com's suggestion as a comment, pending someone finding out of this works
git-svn-id: svn://10.0.0.236/trunk@15313 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 20:02:26 +00:00
shaver%netscape.com
2bc42328ed Added support for char, wchar and wstring types.
Fixed long long nits.
Make methods pure virtual.
Use pointers and not references.
Remove useless header.c.


git-svn-id: svn://10.0.0.236/trunk@15312 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 19:12:50 +00:00
kipp%netscape.com
b31f7790b2 new
git-svn-id: svn://10.0.0.236/trunk@15311 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 19:07:17 +00:00
locka%iol.ie
03d6a73a56 Added IOleCommandTarget
git-svn-id: svn://10.0.0.236/trunk@15310 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 18:54:07 +00:00
buster%netscape.com
79920f1ff6 2 Nav4 compatibility additions:
1. width=0 is treated as width=auto, not width=min
2. empty cells <td></td> are assigned a width of (2*borderWidth + 2*cellspacing + 3) pixels
The "3" is a fudge factor added by Nav and IE.


git-svn-id: svn://10.0.0.236/trunk@15309 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 18:43:56 +00:00
kipp%netscape.com
246dfaaf94 Removed related-links menu from windows
git-svn-id: svn://10.0.0.236/trunk@15308 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 18:42:47 +00:00
kipp%netscape.com
d09b42a9e1 Brought verify-reflow back to life
git-svn-id: svn://10.0.0.236/trunk@15307 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 18:41:02 +00:00
karnaze%netscape.com
e0d2e68693 fixed the crash on bug 1588 (rsac.org). There is still a scrolling problem
git-svn-id: svn://10.0.0.236/trunk@15306 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 18:11:26 +00:00
shaver%netscape.com
f8cfaf6d4d revert pavlov's changes at his request
git-svn-id: svn://10.0.0.236/trunk@15305 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 17:50:35 +00:00
kipp%netscape.com
8e7b6b1767 Fixed IsScrollable to take an extra argument so that we would only create scroll-frames around blocks using the webshells criteria if it's the body frame (bug #1608)
git-svn-id: svn://10.0.0.236/trunk@15304 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 16:41:06 +00:00
pavlov%pavlov.net
3b39f6e3df remove my last commit. these caused more bugs than they were intended to
catch


git-svn-id: svn://10.0.0.236/trunk@15303 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 12:51:53 +00:00
cltbld%netscape.com
ef49d0fb32 fix checkout of nsprpub. -D negates tag call, so dir wasn't being pulled. this should fix build bustage too.
git-svn-id: svn://10.0.0.236/trunk@15296 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 08:15:02 +00:00
vidur%netscape.com
ebef0f10a9 New class nsDocumentFragment
git-svn-id: svn://10.0.0.236/trunk@15295 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 08:14:47 +00:00
cyeh%netscape.com
574bba6b75 oooops. back out everything by commenting it out until i can fix
it next week.


git-svn-id: svn://10.0.0.236/trunk@15294 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 05:48:38 +00:00
shaver%netscape.com
c1a29cb53b C++ class decls need a semicolon
git-svn-id: svn://10.0.0.236/trunk@15293 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 04:54:02 +00:00
shaver%netscape.com
3b8e66c9f3 Added input callback, in preparation for autogenerating __declspec(inhibit)
and doing the doc comment thing.
Generate method declarations.
More stdout -> state->file fixes.


git-svn-id: svn://10.0.0.236/trunk@15292 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 04:19:59 +00:00
kipp%netscape.com
7d4fb7d8d3 Fixed compilation bug with method signature not matching baseclass method
git-svn-id: svn://10.0.0.236/trunk@15291 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 04:14:55 +00:00
michaelp%netscape.com
05a6bdf469 fixed bug where computing *need* for vert/horz scrollbar did not take into
account the fact that there might be a need for the other scrollbar too.
it used to be that if it knew that it *did* need a vert/horz scrollbar it
would take the other one into account properly. it was just in making the
initial decision that there was an error.


git-svn-id: svn://10.0.0.236/trunk@15290 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 03:32:00 +00:00
cyeh%netscape.com
68cda70ad6 make it so that if it can't actually find the talkback lib, it fails.
previously, if it didn't fail properly


git-svn-id: svn://10.0.0.236/trunk@15289 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 03:16:59 +00:00
cyeh%netscape.com
98e35964f3 added mozilla/lib/mac/PowerPlant to RaptorMac
git-svn-id: svn://10.0.0.236/trunk@15288 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 03:08:13 +00:00
michaelp%netscape.com
db5101c6cd fixed non-painting controls on certain resize operations in xpviewer.
git-svn-id: svn://10.0.0.236/trunk@15287 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:52:04 +00:00
akkana%netscape.com
09aa40f079 Fix C++ comment for Irix build
git-svn-id: svn://10.0.0.236/trunk@15286 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:50:20 +00:00
rickg%netscape.com
dc71142bfc change Parse(nsString&...) so that an empy string doesn't start process
git-svn-id: svn://10.0.0.236/trunk@15285 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:41:17 +00:00
pavlov%pavlov.net
026c0325c1 fix twipstopixels and got the scrollbars being sized correctly.
git-svn-id: svn://10.0.0.236/trunk@15284 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:35:59 +00:00
pavlov%pavlov.net
bef2cc3023 updated gtklayout code. Added lots of assertions to the widget code
git-svn-id: svn://10.0.0.236/trunk@15283 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:34:40 +00:00
rickg%netscape.com
463a920a7c changed the default start page, yet again
git-svn-id: svn://10.0.0.236/trunk@15282 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:19:58 +00:00
rickg%netscape.com
988e0eb906 fixed bugs 1203, 1067, 1169, 1125, 647
git-svn-id: svn://10.0.0.236/trunk@15281 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 02:19:22 +00:00
jfrancis%netscape.com
026c88790f added nsIDOMRange.h
git-svn-id: svn://10.0.0.236/trunk@15280 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 01:38:46 +00:00
jfrancis%netscape.com
f090f81a9f removing the accidentally copied "AUTOGENERATED - Do Not Edit" warning
git-svn-id: svn://10.0.0.236/trunk@15279 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 01:34:59 +00:00
jfrancis%netscape.com
162d8e834d added nsRange.cpp
git-svn-id: svn://10.0.0.236/trunk@15278 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 01:22:35 +00:00
jfrancis%netscape.com
9bf4a9e3bf cleanup
git-svn-id: svn://10.0.0.236/trunk@15277 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 01:21:42 +00:00
jfrancis%netscape.com
1d7e344048 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15276 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 00:33:59 +00:00
locka%iol.ie
7082061c64 Added ControlSite.cpp
git-svn-id: svn://10.0.0.236/trunk@15275 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 00:13:12 +00:00
locka%iol.ie
85d4e7103e Added header notice
git-svn-id: svn://10.0.0.236/trunk@15274 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 00:06:22 +00:00
locka%iol.ie
65b4fc67fc Added BeforeNavigate2 and NavigateComplete2 event firing
git-svn-id: svn://10.0.0.236/trunk@15273 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 00:03:28 +00:00
locka%iol.ie
67d6bba8c1 ActiveX control site
git-svn-id: svn://10.0.0.236/trunk@15272 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-25 00:01:44 +00:00
shaver%netscape.com
04135aee13 Generate getter/setter/`is'er for attributes.
Report errors (and warnings).
Send output to state->file properly, instead of stdout (although state->file
is always stdout right now!).


git-svn-id: svn://10.0.0.236/trunk@15271 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 23:16:49 +00:00
locka%iol.ie
ab8c795267 Fixed mistyped macro
git-svn-id: svn://10.0.0.236/trunk@15270 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 22:44:35 +00:00
law%netscape.com
360079e452 Adding program icon
git-svn-id: svn://10.0.0.236/trunk@15269 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 22:15:40 +00:00
kipp%netscape.com
2121f2be81 Fixed the bleeping build
git-svn-id: svn://10.0.0.236/trunk@15268 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:33:18 +00:00
cyeh%netscape.com
8d254d5529 add support for fullcircle libraries and headers
git-svn-id: svn://10.0.0.236/trunk@15267 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:27:42 +00:00
akkana%netscape.com
ad57b60bfc Add include line
git-svn-id: svn://10.0.0.236/trunk@15266 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:24:40 +00:00
akkana%netscape.com
9e0660d38e Implementation file for nsIDOMRange
git-svn-id: svn://10.0.0.236/trunk@15265 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:20:11 +00:00
law%netscape.com
623ee9b222 Fix for ss: bug #1444) nsBrowserWindow.cpp
git-svn-id: svn://10.0.0.236/trunk@15264 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:17:41 +00:00
joki%netscape.com
3ad8c4966f Implement document.URL access
git-svn-id: svn://10.0.0.236/trunk@15263 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 21:07:43 +00:00
buster%netscape.com
0f72cc9354 removed debug output
git-svn-id: svn://10.0.0.236/trunk@15262 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 20:40:43 +00:00
joki%netscape.com
f6295e142b Add missing coordinate transform to getFrameForPoint
git-svn-id: svn://10.0.0.236/trunk@15261 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 20:31:21 +00:00
rickg%netscape.com
4102309f80 fixed bug #1203
git-svn-id: svn://10.0.0.236/trunk@15260 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 20:23:46 +00:00
akkana%netscape.com
25c035a6d5 range shouldn't inherit from node
git-svn-id: svn://10.0.0.236/trunk@15259 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 19:58:40 +00:00
jfrancis%netscape.com
10b78cb8ec First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15258 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 19:43:21 +00:00
buster%netscape.com
37ca805909 bug 1520 (www.mirabilis.com)
the problem was the way table layout apportioned height from a rowspanning cell.
Now, we do 2 things correctly:
1) we handle rows with rowspanning cells and no other cells.
2) we divide the height of a rowspanning cell proportionately to the rows spanned, where the proportion is defined by
the max height of a cell in that row that has no effective rowspan.

the partial fix for bug 1431 has to do with dividing width between percent-width and fixed-width columns in the same
table. You won't see any better layout for this page (ww.boston.com) as a result of the code I added.  The rest of this
fix is a bit risky, so I'm waiting until after stability push.


git-svn-id: svn://10.0.0.236/trunk@15257 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 19:41:33 +00:00
mjudge%netscape.com
5aee685650 changing makefiles to build test apps on win32
git-svn-id: svn://10.0.0.236/trunk@15256 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 19:26:45 +00:00
karnaze%netscape.com
dbdc6ce081 fixed bug 1504 (memory leak of select elements)
git-svn-id: svn://10.0.0.236/trunk@15254 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 18:54:26 +00:00
cyeh%netscape.com
318d1c5621 change to pull mozilla/modules/libpref from the tip instead of XPCOM_BRANCH
change to pull mozilla/nsprpub from NSPR_RELEASE_3_0 tag
Fix stop ship bug #1577, approved kipp


git-svn-id: svn://10.0.0.236/trunk@15253 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 18:16:41 +00:00
rods%netscape.com
da0a53c2df Added paint method for printing (and possible future owner draw)
git-svn-id: svn://10.0.0.236/trunk@15252 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 14:57:09 +00:00
rpotts%netscape.com
7964c78293 removed invalid asserts for the STANDALONE_IMAGELIB...
git-svn-id: svn://10.0.0.236/trunk@15235 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 10:55:53 +00:00
joki%netscape.com
f87bae1385 ifdef out some broken code in SetActiveLink until I have time to fix it.
git-svn-id: svn://10.0.0.236/trunk@15234 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 08:13:55 +00:00
joki%netscape.com
765dbfd39b Add click event support for every element and initial keypress event support
git-svn-id: svn://10.0.0.236/trunk@15233 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 07:46:58 +00:00
joki%netscape.com
bab0e9e908 Add keypress event type to nsGUIEvent
git-svn-id: svn://10.0.0.236/trunk@15232 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 07:45:26 +00:00
joki%netscape.com
24bd25bf39 Have javascript call regular alert instead of dumping to console.
git-svn-id: svn://10.0.0.236/trunk@15231 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 07:44:39 +00:00
akkana%netscape.com
a4563a7a82 Add Range object
git-svn-id: svn://10.0.0.236/trunk@15230 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 03:06:53 +00:00
pavlov%pavlov.net
618f017f6a fixed my assertions
git-svn-id: svn://10.0.0.236/trunk@15229 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:43:07 +00:00
rickg%netscape.com
10d57d98ad fixed call to ToInteger() to respect the error code
git-svn-id: svn://10.0.0.236/trunk@15228 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:39:36 +00:00
rickg%netscape.com
7dbb22e801 fixed bug 1312
git-svn-id: svn://10.0.0.236/trunk@15227 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:38:50 +00:00
rickg%netscape.com
69aa236de9 changed ToInteger() so that it returns an error properly
git-svn-id: svn://10.0.0.236/trunk@15226 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:38:21 +00:00
joki%netscape.com
196391fbbd Send a reasonable value for the JS useragent on Windows.
git-svn-id: svn://10.0.0.236/trunk@15225 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:29:46 +00:00
rpotts%netscape.com
c87e4a1883 Added a missing NS_RELEASE which was causing the URL and webshell to hang around...
git-svn-id: svn://10.0.0.236/trunk@15224 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:07:27 +00:00
pavlov%pavlov.net
1da1e5ae82 import of new gtk code by Owen Taylor <otaylor@redhat.com>. This code should
support GTK_NO_WINDOW widgets now.


git-svn-id: svn://10.0.0.236/trunk@15223 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:06:29 +00:00
karnaze%netscape.com
b8beac0eaf <frame> now uses <base> for its src attribute
git-svn-id: svn://10.0.0.236/trunk@15222 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 02:01:45 +00:00
wtc%netscape.com
d769d9c9c4 _MD_FreeSegment should call free (instead of DisposePtr) to deallocate
the memory allocated by _MD_AllocSegment using malloc.  Thanks to
Simon Fraser <sfraser@netscape.com> for the bug report and fix.


git-svn-id: svn://10.0.0.236/trunk@15221 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:59:41 +00:00
kipp%netscape.com
c863d7b29b made it easier to see if the parser is working
git-svn-id: svn://10.0.0.236/trunk@15220 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:48:04 +00:00
kipp%netscape.com
9e72a38944 Made the test work again
git-svn-id: svn://10.0.0.236/trunk@15219 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:47:44 +00:00
kipp%netscape.com
0ddab1d0ce Use Pushback to put back the right character
git-svn-id: svn://10.0.0.236/trunk@15218 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:47:19 +00:00
kipp%netscape.com
e2045ab733 new regression test
git-svn-id: svn://10.0.0.236/trunk@15217 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:43:46 +00:00
akkana%netscape.com
1b25d1e7f2 Range specification
git-svn-id: svn://10.0.0.236/trunk@15216 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:39:47 +00:00
pavlov%pavlov.net
dbd7561c05 Added assertions to the gfx code so that we can find xp bugs easier
git-svn-id: svn://10.0.0.236/trunk@15215 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:32:12 +00:00
wtc%netscape.com
f9841381ad Fixed a bug in Mac's PR_IntervalNow() and PR_TicksPerSecond(). A
tick is one millisecond on the Mac.
Files changed: _macos.h, mactime.c.
Also removed a temporary comment-out in prinrval.c.


git-svn-id: svn://10.0.0.236/trunk@15214 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:31:07 +00:00
larryh%netscape.com
ad35ad2b55 BugSplat 335862
git-svn-id: svn://10.0.0.236/trunk@15213 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:26:00 +00:00
despotdaemon%netscape.com
831f12aaec Pseudo-automatic update of changes made by namachi@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15212 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:10:34 +00:00
cyeh%netscape.com
49dfdd1b63 activate timebomb for technology demonstration.
THIS NEEDS TO BE REMOVED LATER


git-svn-id: svn://10.0.0.236/trunk@15211 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 01:08:47 +00:00
despotdaemon%netscape.com
46472d8f2f Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15209 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:53:48 +00:00
kin%netscape.com
42d0fcd52b Modified transaction manager to use nsTransactionStacks.
git-svn-id: svn://10.0.0.236/trunk@15208 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:45:21 +00:00
kin%netscape.com
5a539f9ae2 Added nsTransactionStack.cpp to list of files to build.
git-svn-id: svn://10.0.0.236/trunk@15206 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:44:29 +00:00
kin%netscape.com
e7f3da5c59 Initial checkin of file.
git-svn-id: svn://10.0.0.236/trunk@15205 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:43:31 +00:00
jfrancis%netscape.com
45589e7d34 keeping the mac in synch
git-svn-id: svn://10.0.0.236/trunk@15204 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:28:20 +00:00
jfrancis%netscape.com
853b4f59e4 fixing compilation errors
git-svn-id: svn://10.0.0.236/trunk@15203 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:26:32 +00:00
wtc%netscape.com
60608cd6ce Temporarily ifdef out assertions for the Mac while I debug the
problem.


git-svn-id: svn://10.0.0.236/trunk@15202 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:25:25 +00:00
jfrancis%netscape.com
4add115a39 fixing include file typo
git-svn-id: svn://10.0.0.236/trunk@15201 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:19:41 +00:00
mcafee%netscape.com
c56fa67994 Added -DMOZ_FULLCIRCLE logic for release builds
git-svn-id: svn://10.0.0.236/trunk@15200 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:16:43 +00:00
kipp%netscape.com
35d1ba3e17 Made IFRAME a container (like it should have been) so that it can contain the content that isn't being rendered (because we support iframe's)
git-svn-id: svn://10.0.0.236/trunk@15198 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:11:54 +00:00
mcafee%netscape.com
fe8fbe0ec3 Fixing include directory for fullcircle stuff
git-svn-id: svn://10.0.0.236/trunk@15197 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:09:29 +00:00
michaelp%netscape.com
6313915e19 reduced scollbar flashing.
git-svn-id: svn://10.0.0.236/trunk@15196 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 00:06:46 +00:00
michaelp%netscape.com
6ca45d2e06 backout changes i didn't want to commit.
git-svn-id: svn://10.0.0.236/trunk@15195 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:50:17 +00:00
michaelp%netscape.com
ddee55a0ed fixed display of black or garbage when resizing scrolled scrollingviews.
git-svn-id: svn://10.0.0.236/trunk@15194 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:43:08 +00:00
pavlov%pavlov.net
6f3d289878 remove shadow from menubar to provide a consistant look.
git-svn-id: svn://10.0.0.236/trunk@15193 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:41:47 +00:00
pavlov%pavlov.net
94dd42f645 require gtk 1.1.5
git-svn-id: svn://10.0.0.236/trunk@15190 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:41:29 +00:00
rickg%netscape.com
6752d7e6e3 changed start page per chofmann's request
git-svn-id: svn://10.0.0.236/trunk@15189 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:22:34 +00:00
rickg%netscape.com
30087fabde fixed bug #1513
git-svn-id: svn://10.0.0.236/trunk@15188 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:11:22 +00:00
buster%netscape.com
3c5a5e590a changed the logic for reflowing cells whose height is changed due to a
height attribute.


git-svn-id: svn://10.0.0.236/trunk@15187 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:07:40 +00:00
vidur%netscape.com
13c578a455 Allow application/x-javascript for type in SCRIPT tags
git-svn-id: svn://10.0.0.236/trunk@15186 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:06:57 +00:00
mcafee%netscape.com
1d466b186a Printing out FCInitialize status for debugging, hope that's Ok.
git-svn-id: svn://10.0.0.236/trunk@15185 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:04:04 +00:00
sman%netscape.com
31ef51dc4c fixed instructions
git-svn-id: svn://10.0.0.236/trunk@15184 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:55:32 +00:00
mcafee%netscape.com
171e0d2d6c Printing out FCInitialize status for debugging, hope that's Ok.
git-svn-id: svn://10.0.0.236/trunk@15183 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:22:39 +00:00
kipp%netscape.com
8c86fef2cd Let style override the cursor choice when using an image map
git-svn-id: svn://10.0.0.236/trunk@15182 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:21:13 +00:00
kipp%netscape.com
bf83ca5a6e Walk up the content-parent so that style is applied appropriately for cursor selection
git-svn-id: svn://10.0.0.236/trunk@15181 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:20:50 +00:00
mjudge%netscape.com
39745ca900 build breakage... oops
git-svn-id: svn://10.0.0.236/trunk@15180 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:02:18 +00:00
mjudge%netscape.com
bc6f9c5357 adding contextloader
git-svn-id: svn://10.0.0.236/trunk@15179 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:00:55 +00:00
mjudge%netscape.com
65c64c5a3f context loader will be used for keybindings
git-svn-id: svn://10.0.0.236/trunk@15178 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 22:00:29 +00:00
mjudge%netscape.com
f288875f23 putting in changes for selection in editor. fixing problem akkana has had?
git-svn-id: svn://10.0.0.236/trunk@15177 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:53:14 +00:00
wtc%netscape.com
e5315cfb95 Handle the sa_len field of struct sockaddr correctly on platforms
whose struct sockaddr has that field.  Thanks to Bert Driehuis
<driehuis@playbeing.org> for suggesting this fix.


git-svn-id: svn://10.0.0.236/trunk@15176 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:22:07 +00:00
wtc%netscape.com
084a0cbfd3 Added 'else true;" to the if statement in our shell scripts because
QNX's shell doesn't work correctly without it.


git-svn-id: svn://10.0.0.236/trunk@15175 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:20:38 +00:00
kipp%netscape.com
c454cd08ea Factored IsReplaced into a throw-away method; fixed containing-block discovery to use IsPercentageBase method
git-svn-id: svn://10.0.0.236/trunk@15174 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:11:57 +00:00
kipp%netscape.com
f308031baa Use correct reflow-state to find the containing-block's width for text-indent (bug #1048)
git-svn-id: svn://10.0.0.236/trunk@15173 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:11:19 +00:00
shaver%netscape.com
a08a107a6d first xpidl stuff
git-svn-id: svn://10.0.0.236/trunk@15172 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 21:02:31 +00:00
kipp%netscape.com
e3e78619d0 Fixed up handling of form element attributes slightly to match navigators handling of ALIGN; this is compatible with nav/IE and with the HTML4 DTD (because ALIGN is deprecated)
git-svn-id: svn://10.0.0.236/trunk@15171 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 19:33:22 +00:00
leaf%mozilla.org
a556a33161 added mozilla/modules/softupdt to SeaMonkeyBrowser module
git-svn-id: svn://10.0.0.236/trunk@15170 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 19:28:06 +00:00
michaelp%netscape.com
fe7797d4be added STRICT to list of preprocessor macros.
git-svn-id: svn://10.0.0.236/trunk@15169 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 19:00:08 +00:00
kipp%netscape.com
11eb094755 Added code in to not consume events if the anchor has no HREF attribute. This prevents <A NAME=...> containers from eating events
git-svn-id: svn://10.0.0.236/trunk@15168 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:45:00 +00:00
karnaze%netscape.com
12cd5750b9 fixed bug 1479 (wsj.com crash)
git-svn-id: svn://10.0.0.236/trunk@15167 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:37:46 +00:00
danm%netscape.com
d413bc2696 tweak change from last rev, which was close, but misbehaved.
git-svn-id: svn://10.0.0.236/trunk@15166 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:34:50 +00:00
kipp%netscape.com
2571922a9d Added some debug noise (disabled by default) for image loading
git-svn-id: svn://10.0.0.236/trunk@15165 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:18:34 +00:00
kipp%netscape.com
9292a738ca Added some debug noise (disabled by default) for document creation
git-svn-id: svn://10.0.0.236/trunk@15164 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:18:08 +00:00
cls%seawood.org
8ec77484d4 Use MOZ_USER_DIR since it's already setup.
git-svn-id: svn://10.0.0.236/trunk@15163 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:13:39 +00:00
cls%seawood.org
9882158615 Check for libraries before functions and fixed detection of -c -o problem. Thanks to Tim Rice <tim@trr.metro.NET> for pointing those out.
Modified hcc & hcpp to work for any compiler that doesn't support -c -o, not just Unixware.   They expect the real compiler to be the first argument now.


git-svn-id: svn://10.0.0.236/trunk@15162 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 17:12:39 +00:00
leaf%mozilla.org
5de60a0010 Whacked set-timebomb.pl to whack nsNetService.cpp to kill seamonkey's
networking.


git-svn-id: svn://10.0.0.236/trunk@15161 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 11:16:32 +00:00
vidur%netscape.com
097c7c3402 Partial fix for bug 1256. A script context should always be created for each new script global object.
git-svn-id: svn://10.0.0.236/trunk@15160 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 08:09:11 +00:00
rickg%netscape.com
ef03ca1113 improvements to entity parsing and viewing
git-svn-id: svn://10.0.0.236/trunk@15159 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 08:01:14 +00:00
wtc%netscape.com
e9708a17e4 A jumbo checkin, consisting of:
1. Ports to older revisions of some Unix variants, e.g., BSD/OS 1.1,
   OSF1 V2.0, etc., contributed by Brian Ostrom <briano@netscape.com>.
2. QNX port, also contributed by Brian Ostrom.
3. New macro USE_MACH_DYLD to represent the dynamic library loading
   API of NEXTSTEP and Rhapsody.
4. On platforms whose socket address has the sa_len field, make a
   copy of the PRNetAddr argument for PR_Bind, PR_Connect, and PR_SendTo
   and set its sa_len before passing it to the system calls.  This
   fix is suggested by Bert Driehuis <driehuis@playbeing.org>.
5. Removed the unused field _lockf64 of struct _MD_IOVector.  Not
   every Unix platform has lockf, and the POSIX file locking API
   uses fcntl.


git-svn-id: svn://10.0.0.236/trunk@15158 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 06:33:00 +00:00
mcafee%netscape.com
48478d4ef7 Switching to cvs module checkout, moved nspr checkout to nspr target.
git-svn-id: svn://10.0.0.236/trunk@15157 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 05:50:02 +00:00
troy%netscape.com
5b79c87173 Added missing NS_RELEASE() to GetWidget() function
git-svn-id: svn://10.0.0.236/trunk@15156 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 04:41:51 +00:00
mcafee%netscape.com
eaad124a3b Moving client.mk to SeaMonkeyBrowser, fixing nglayout.mk
git-svn-id: svn://10.0.0.236/trunk@15155 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 04:18:22 +00:00
buster%netscape.com
792b1982ba #ifdef NS_DEUG references to _CrtSetDbgFlag
git-svn-id: svn://10.0.0.236/trunk@15154 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 04:09:06 +00:00
troy%netscape.com
ea321d77ca Added some casts to make the 6.0 compiler happy
git-svn-id: svn://10.0.0.236/trunk@15153 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:43:49 +00:00
michaelp%netscape.com
b3420da9fc made the stars 'n comets animation the default for the throbber.
git-svn-id: svn://10.0.0.236/trunk@15152 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:30:24 +00:00
mcafee%netscape.com
5f9edfc930 Changes needed to build on Linux
git-svn-id: svn://10.0.0.236/trunk@15151 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:24:25 +00:00
michaelp%netscape.com
43576b4ce6 changed ::ReleaseDC() call in RealizeFont() key off of the same thing that
it used to conditionally call ::GetDC(). strictly speaking this change was
not necessary. i did it to make the code look a bit cleaner and accomodate
the situation where a device context is Init()ed with a null widget handle.
a device context of that sort is questionable, but that issue can be
addressed separately.


git-svn-id: svn://10.0.0.236/trunk@15150 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:14:38 +00:00
michaelp%netscape.com
c85498fefa fixed a bunch of resource leaks exposed by the xpviewer and made
HDC state propagation in SetupDC() more complete.


git-svn-id: svn://10.0.0.236/trunk@15149 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:12:16 +00:00
michaelp%netscape.com
f85fa148e2 changed for drawing surface HDC ownership setting.
git-svn-id: svn://10.0.0.236/trunk@15148 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:11:16 +00:00
michaelp%netscape.com
b4939bef55 added data member to drawing surface to determine HDC ownership.
git-svn-id: svn://10.0.0.236/trunk@15147 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 03:10:10 +00:00
law%netscape.com
d9a95dea3e Add reload button logic and reset home page
git-svn-id: svn://10.0.0.236/trunk@15146 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 02:32:32 +00:00
vidur%netscape.com
44b9de5c38 Fix for bug 940. location.href can take a relative URL.
git-svn-id: svn://10.0.0.236/trunk@15145 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 01:09:27 +00:00
raman%netscape.com
1adb26bf9e XP_COM interfaces for JS calls into CAPS
git-svn-id: svn://10.0.0.236/trunk@15144 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 00:27:00 +00:00
locka%iol.ie
eb5b6c8750 Implemented folder picker dialog
git-svn-id: svn://10.0.0.236/trunk@15142 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 00:03:58 +00:00
amusil%netscape.com
5445c054f5 Fix for Bug 1416. Moving the call of the plugin entry point into Initialize (after the mPluginManager is set up).
This is so that NPN calls can get resolved if the plugin makes them in the entry point routine.


git-svn-id: svn://10.0.0.236/trunk@15137 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 23:13:44 +00:00
chuckb%netscape.com
5b6c955aac Merge from LDAPCSDK_19981015_BRANCH
git-svn-id: svn://10.0.0.236/trunk@15134 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 22:03:18 +00:00
pavlov%pavlov.net
1ad44df641 fixed rickg@netscape.com's broken code.
git-svn-id: svn://10.0.0.236/trunk@15133 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 16:48:18 +00:00
terry%netscape.com
ce44f10b4e More shuffling of owners.
git-svn-id: svn://10.0.0.236/trunk@15132 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 15:54:40 +00:00
rpotts%netscape.com
c3501aad62 fix up the places where the C and C++ memory managers were being mixed for allocs and frees...
git-svn-id: svn://10.0.0.236/trunk@15131 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 09:32:06 +00:00
rpotts%netscape.com
c6027a56e5 Force the URL exit routine to be called via a PLEvent. This insures that the LIBNET() lock is not being held during the call...
git-svn-id: svn://10.0.0.236/trunk@15130 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 09:31:10 +00:00
rpotts%netscape.com
bf86d61fe6 Disable async Winsock notifications until we figure out why it exhausts *all* system resources on Win95...
git-svn-id: svn://10.0.0.236/trunk@15129 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 09:30:00 +00:00
rpotts%netscape.com
e020eaf4ef Return NS_BINDING_FAILED if nw stream was created...
git-svn-id: svn://10.0.0.236/trunk@15128 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 09:28:44 +00:00
rpotts%netscape.com
7182d2a5d0 Add a missing NS_RELEASE(...) for a QI(...)
git-svn-id: svn://10.0.0.236/trunk@15127 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 09:27:30 +00:00
buster%netscape.com
2ae8193b78 fixed the aweful nested table problems
git-svn-id: svn://10.0.0.236/trunk@15126 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 08:56:19 +00:00
rickg%netscape.com
27b9a14618 changed start page to netcenter
git-svn-id: svn://10.0.0.236/trunk@15125 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 08:19:56 +00:00
rickg%netscape.com
ba8fd871ca fixed bug 1140; temp fix to 1321
git-svn-id: svn://10.0.0.236/trunk@15124 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 08:01:28 +00:00
cyeh%netscape.com
8d0560f175 remove old template modules Client50Browser and Client50MailNews. Add module
MozillaLicense, which should be included with every logical source
code component. (need to go back and check that major components, such
as NSPR include the LEGAL and LICENSE document.)

Create first pass for SeaMonkey modules. They are not active yet, but
this will allow them to be hacked on by multiple people and tested until
correct.


git-svn-id: svn://10.0.0.236/trunk@15123 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 05:18:43 +00:00
msw%gimp.org
f220464167 A _horrible_ hack to make fonts readable. Needs much work here.
git-svn-id: svn://10.0.0.236/trunk@15122 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 04:48:47 +00:00
pavlov%pavlov.net
b2b11721da fix transparent icons and flipped the nscolor to gdkcolor R and B colors
git-svn-id: svn://10.0.0.236/trunk@15121 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 04:43:24 +00:00
troy%netscape.com
3cbfe7948e Changed Destroy() to release references to and destroy its child
web shells. This fixes it so we don't leak all of the web shells for
frameset documents


git-svn-id: svn://10.0.0.236/trunk@15120 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 03:11:26 +00:00
jevering%netscape.com
385b20fd17 fixed fullsoft lib name
git-svn-id: svn://10.0.0.236/trunk@15119 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 01:20:32 +00:00
jevering%netscape.com
8ca3acc624 corrected the fullsoft lib name.
git-svn-id: svn://10.0.0.236/trunk@15118 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 01:19:21 +00:00
terry%netscape.com
7d6cf072ef valeski is no longer here; gagan now owns 'Networking Library'.
git-svn-id: svn://10.0.0.236/trunk@15117 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 01:17:08 +00:00
terry%netscape.com
c8fbb3bd3b Patch from Sam Ziegler <sam@ziegler.org>: fix some typos.
git-svn-id: svn://10.0.0.236/trunk@15116 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 01:12:09 +00:00
michaelp%netscape.com
4091ac9352 changed UserAgent string reporting.
git-svn-id: svn://10.0.0.236/trunk@15115 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-22 00:22:35 +00:00
pavlov%pavlov.net
870924220c Setup the X hints for when mozilla is minimized. Added icon.
git-svn-id: svn://10.0.0.236/trunk@15109 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 21:49:17 +00:00
rickg%netscape.com
481c1194fb fixed containment bugs, which corrects problems with www.majorleaguebaseball.com
git-svn-id: svn://10.0.0.236/trunk@15108 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 21:06:29 +00:00
troy%netscape.com
36cc15c205 Added missing NS_RELEASE of the content object in GetMarginHeight()
git-svn-id: svn://10.0.0.236/trunk@15107 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 17:30:41 +00:00
troy%netscape.com
d8e49916cf Added NS_RELEASE to fixed memory leak after calling ChildAt()
git-svn-id: svn://10.0.0.236/trunk@15106 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 17:22:31 +00:00
kipp%netscape.com
0100dd306f Fix up painting issue; if we end up with a negative damage area then convert to damaging everything
git-svn-id: svn://10.0.0.236/trunk@15105 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 17:21:18 +00:00
jfrancis%netscape.com
f789e191d5 shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@15104 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 08:29:45 +00:00
rickg%netscape.com
2954c4d855 assertions for bug 1375 and better autodetection code
git-svn-id: svn://10.0.0.236/trunk@15102 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 07:48:49 +00:00
raman%netscape.com
3ed308bf62 Added building of caps to the windows and unix build system
git-svn-id: svn://10.0.0.236/trunk@15101 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 06:05:24 +00:00
troy%netscape.com
b060981c1a Improved efficiency by avoiding the dreadfully slow NS_MakeAbsoluteURL() and
only setting the image loader's URL and base URL for the initial reflow


git-svn-id: svn://10.0.0.236/trunk@15100 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 04:04:41 +00:00
rickg%netscape.com
1fb036086d last tweak needed to get entities right again
git-svn-id: svn://10.0.0.236/trunk@15099 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 03:57:03 +00:00
kipp%netscape.com
ce366ccfba Fixed scroll-frame code to properly fill in the max-element-size
git-svn-id: svn://10.0.0.236/trunk@15098 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 03:52:01 +00:00
morse%netscape.com
b7adafbd1d moved string to allxpstr.h for sake of i18n
git-svn-id: svn://10.0.0.236/trunk@15097 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 03:10:43 +00:00
morse%netscape.com
48d2490554 change for single signon
git-svn-id: svn://10.0.0.236/trunk@15096 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 03:09:44 +00:00
rickg%netscape.com
893185a1b7 fixed bug 1125
git-svn-id: svn://10.0.0.236/trunk@15095 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 02:49:25 +00:00
rickg%netscape.com
9e4fe268ba fixed bug 1125
git-svn-id: svn://10.0.0.236/trunk@15094 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 02:48:01 +00:00
mcmullen%netscape.com
04e07a582a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@15093 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:24:55 +00:00
vidur%netscape.com
d08fcd1057 Added XML factories to the xpviewer registry
git-svn-id: svn://10.0.0.236/trunk@15092 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:22:24 +00:00
kin%netscape.com
2fd3bd374a Quick test to see if the first pass transaction manager code is working.
git-svn-id: svn://10.0.0.236/trunk@15091 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:21:14 +00:00
joki%netscape.com
ab15534e85 Adding nsJSSecurityManager.cpp to project
git-svn-id: svn://10.0.0.236/trunk@15090 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:14:16 +00:00
kin%netscape.com
09cda0dcb4 First pass implementations of Do, Undo, and Redo.
git-svn-id: svn://10.0.0.236/trunk@15089 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:02:55 +00:00
cls%seawood.org
2fb7c44769 Linux shouldn't need the mkdetect scripts any longer. Get rid of bogus motif dependency as well.
git-svn-id: svn://10.0.0.236/trunk@15088 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 01:00:00 +00:00
rpotts%netscape.com
9a8b6f2684 Fixed up the throbber to stay animating throughout the document load... Found a better fix for the statusbar not showing up until the first resize.
git-svn-id: svn://10.0.0.236/trunk@15087 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:55:54 +00:00
buster%netscape.com
4b922cdb2b removed the resolution of table pseudo-style until we can test it and
actually use it.  this was just a memory leak.


git-svn-id: svn://10.0.0.236/trunk@15086 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:53:03 +00:00
cls%seawood.org
bfc1cc9428 Removed redundant check for ios::bin. Replaced hardcoded check for 1.1.2 with $GTK_VERSION.
git-svn-id: svn://10.0.0.236/trunk@15085 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:48:32 +00:00
cyeh%netscape.com
79654fb86d Removing static makefiles as a part of the transition to Autoconf. I have taken great
care to only remove makefiles affailiated with building nglayout. I have also verified that
the build at this point in time succesfully builds with autoconf.

If you must recover one of these makefiles, you can use the static tag STATIC_MAKEFILES.
If I removed a makefile that you need, please e-mail cyeh@netscape.com.


git-svn-id: svn://10.0.0.236/trunk@15084 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:34:32 +00:00
radha%netscape.com
88479ed20c Comment off menu items that don't work
Add a "Navigator" Menu item to communicator menu and let it bring up
a browser window


git-svn-id: svn://10.0.0.236/trunk@15083 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:24:41 +00:00
larryh%netscape.com
ad9deb3a69 BugZilla #1473
git-svn-id: svn://10.0.0.236/trunk@15082 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:20:16 +00:00
joki%netscape.com
fe983ab777 Fixing a submit/reset event bug, frame destruction reentrancy bug, and an imagemap bug.
git-svn-id: svn://10.0.0.236/trunk@15081 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:19:36 +00:00
joki%netscape.com
581ca7e7ca Adding initial bit for the JS security system
git-svn-id: svn://10.0.0.236/trunk@15080 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-21 00:12:33 +00:00
despotdaemon%netscape.com
0b171bcddd Pseudo-automatic update of changes made by gem@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15079 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:59:24 +00:00
larryh%netscape.com
591896de41 fix compile error introduced with OS/2 port
git-svn-id: svn://10.0.0.236/trunk@15078 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:56:29 +00:00
michaelp%netscape.com
12392ea64e fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@15077 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:54:29 +00:00
despotdaemon%netscape.com
5f76d16dea Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@15076 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:54:16 +00:00
sar%netscape.com
dbbec2bbca adding mozilla/caps to RaptorDist. I know this is all going to get shuffled when the modules are realigned, but this is the best place to put it for now. --sarah
git-svn-id: svn://10.0.0.236/trunk@15075 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:51:40 +00:00
mcafee%netscape.com
d7b620533f Adding Talkback initialization & include/link stuff. Wrapped in MOZ_FULLCIRCLE=1
git-svn-id: svn://10.0.0.236/trunk@15074 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:33:53 +00:00
pnunn%netscape.com
edfeb525c4 png is an interal format... -pnunn
git-svn-id: svn://10.0.0.236/trunk@15073 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:33:46 +00:00
pnunn%netscape.com
e14d007f27 png is an internal format.... -pnunn
git-svn-id: svn://10.0.0.236/trunk@15072 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:32:44 +00:00
pnunn%netscape.com
16ccc2b700 png is an internal format..... -pnunn
git-svn-id: svn://10.0.0.236/trunk@15071 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:32:12 +00:00
pnunn%netscape.com
5423f91a18 ...png is an internal format. -pnunn.
git-svn-id: svn://10.0.0.236/trunk@15070 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:31:42 +00:00
morse%netscape.com
5f712de818 fix up indentation
git-svn-id: svn://10.0.0.236/trunk@15069 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:31:17 +00:00
troy%netscape.com
021ed0f162 Added nsHTMLAtoms::wrappedFramePseudo and changed ConstructFrame() to use
it instead of nsHTMLAtoms::columnPseudo


git-svn-id: svn://10.0.0.236/trunk@15068 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:27:59 +00:00
srinivas%netscape.com
d81bdb762d Fixed breakage of C++ build rule in previous checkin.
git-svn-id: svn://10.0.0.236/trunk@15067 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:19:54 +00:00
mcafee%netscape.com
0e51f60e05 Adding Talkback initialization & include/link stuff. Wrapped in MOZ_FULLCIRCLE=1
git-svn-id: svn://10.0.0.236/trunk@15066 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:14:22 +00:00
cyeh%netscape.com
2a77f20528 forgot the continuation character.
git-svn-id: svn://10.0.0.236/trunk@15065 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:10:59 +00:00
buster%netscape.com
bb8cc936f0 removed a spurious GetContent that was the cause of a memory leak
git-svn-id: svn://10.0.0.236/trunk@15064 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:10:47 +00:00
gagan%netscape.com
fe370c4af2 Fixed the NSPR spelling change warning (PRDirectorySeparator).
git-svn-id: svn://10.0.0.236/trunk@15063 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:10:23 +00:00
gagan%netscape.com
2d7ce54418 NuCache lib added.
git-svn-id: svn://10.0.0.236/trunk@15062 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:09:25 +00:00
waterson%netscape.com
52e0706e80 Updated for new interfaces.
git-svn-id: svn://10.0.0.236/trunk@15061 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:07:34 +00:00
gagan%netscape.com
fa23a2e423 We were unnecessarily checking cache entries for local resources. This should speed things up...
git-svn-id: svn://10.0.0.236/trunk@15060 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 23:03:39 +00:00
law%netscape.com
402be50ca4 Make statusbar appear without requiring window resize
git-svn-id: svn://10.0.0.236/trunk@15059 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:34:12 +00:00
kipp%netscape.com
29dc17dcda Use revised GetContainingBlockContentWidth method
git-svn-id: svn://10.0.0.236/trunk@15058 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:28:00 +00:00
kipp%netscape.com
699867e794 Support margins on the child frame
git-svn-id: svn://10.0.0.236/trunk@15057 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:27:33 +00:00
kipp%netscape.com
a207569b1c Work around more bugs in the style context code and use old margin calculations; factored get-containing-block-width better
git-svn-id: svn://10.0.0.236/trunk@15056 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:27:21 +00:00
kipp%netscape.com
8212a41c48 Disable fixed behavior when we are shrink wrapping so that floating tables (for example) can ignore their width if necessary
git-svn-id: svn://10.0.0.236/trunk@15055 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:24:20 +00:00
kipp%netscape.com
62773d21fe Made HTML a block (which it is going to be someday) so that percentage margins in the BODY will be computed correctly
git-svn-id: svn://10.0.0.236/trunk@15054 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:21:38 +00:00
cls%seawood.org
e2dbbb9c72 License issues supposedly have been cleared up so aclocal.m4 can stay.
git-svn-id: svn://10.0.0.236/trunk@15053 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:14:16 +00:00
rickg%netscape.com
fb379a12ba updated docs for nsString class usage
git-svn-id: svn://10.0.0.236/trunk@15052 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 22:11:09 +00:00
cyeh%netscape.com
996e83b704 added aclocal.m4 to RaptorUnix for autoconf
git-svn-id: svn://10.0.0.236/trunk@15051 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:57:20 +00:00
morse%netscape.com
680e1bf71b more fixes for change-of-password form
git-svn-id: svn://10.0.0.236/trunk@15050 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:57:04 +00:00
rickg%netscape.com
f7801b5a39 fixed broken entities
git-svn-id: svn://10.0.0.236/trunk@15049 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:34:20 +00:00
buster%netscape.com
f8aed9d5de took out a dumb debug printf
git-svn-id: svn://10.0.0.236/trunk@15048 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:09:54 +00:00
buster%netscape.com
3e6c71822b put in a VERY temporary work-around for some crashes we're seeing as a
result of table style context's display type != TABLE


git-svn-id: svn://10.0.0.236/trunk@15047 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:08:06 +00:00
buster%netscape.com
81056561c2 added :TABLE pseudo-style
git-svn-id: svn://10.0.0.236/trunk@15046 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:06:59 +00:00
buster%netscape.com
38df9d7aff added tablePseudo
git-svn-id: svn://10.0.0.236/trunk@15045 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 21:05:31 +00:00
kin%netscape.com
fbb3c4f42e Corrected comments for Do(), Undo(), and Redo().
git-svn-id: svn://10.0.0.236/trunk@15044 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 20:59:40 +00:00
despotdaemon%netscape.com
9f52a9cb6d Pseudo-automatic update of changes made by cmanske@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15043 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 20:53:21 +00:00
despotdaemon%netscape.com
61f08efe95 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@15042 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 20:44:42 +00:00
despotdaemon%netscape.com
4d245f36af Pseudo-automatic update of changes made by jwz@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@15041 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 20:31:21 +00:00
srinivas%netscape.com
efc84ef9fb Enable OS/2 builds with IBM's compiler (Visualage) and gcc port of OS/2 (emx).
Checkin for Eric Olson <Eric.Olson@Sympatico.CA> and Henry <sobotka@axess.com>.


git-svn-id: svn://10.0.0.236/trunk@15040 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 20:17:20 +00:00
mjudge%netscape.com
4561166339 changing names for nsEditorMouseListener ect
git-svn-id: svn://10.0.0.236/trunk@15038 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 19:30:50 +00:00
kipp%netscape.com
4078a9579e Removed a bogus assert
git-svn-id: svn://10.0.0.236/trunk@15037 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 19:28:44 +00:00
dcone%netscape.com
e06798ffdf Another small fix, to take out unnessasary code.
git-svn-id: svn://10.0.0.236/trunk@15036 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 19:26:06 +00:00
msw%gimp.org
056cca1ba8 Change the test for GTK+-1.1.3 to 1.1.2, as we should be able to build against
1.1.2 and that is the version that is on most boxes.  Approved by
shaver@netscape.com


git-svn-id: svn://10.0.0.236/trunk@15035 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 19:25:04 +00:00
terry%netscape.com
1d5e9c99f5 Backed out Andrew's patch -- turns out it was doing quoting sublty wrong.
git-svn-id: svn://10.0.0.236/trunk@15034 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 19:18:37 +00:00
dcone%netscape.com
93daf60388 deleted duplicate from nsIImage.h - no longer needed
git-svn-id: svn://10.0.0.236/trunk@15033 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:55:50 +00:00
kipp%netscape.com
70d4da59f6 Use proper calls to refresh the display (however, at this time the view manager is busted so it won't work)
git-svn-id: svn://10.0.0.236/trunk@15032 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:53:48 +00:00
kin%netscape.com
e5331aea39 Initial checkin of files.
git-svn-id: svn://10.0.0.236/trunk@15031 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:36:05 +00:00
kipp%netscape.com
ea00d06377 Removed the url comparison test that's no longer needed now that crawling is hooked to the EndLoadURL notification
git-svn-id: svn://10.0.0.236/trunk@15030 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:35:21 +00:00
kipp%netscape.com
11905db186 Fixed QueryInterface to do the right thing
git-svn-id: svn://10.0.0.236/trunk@15029 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:27:47 +00:00
kipp%netscape.com
a69dbcce53 Moved crawling code into EndLoadURL; eliminated bogus cast that hid the fact that the class wasn't implementing nsIStreamObserver
git-svn-id: svn://10.0.0.236/trunk@15028 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:27:14 +00:00
kipp%netscape.com
def484af1b Added EndLoadURL and fixed interface bogosity
git-svn-id: svn://10.0.0.236/trunk@15027 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:26:41 +00:00
kipp%netscape.com
8b6d12bcba pass on EndLoadURL to the crawler
git-svn-id: svn://10.0.0.236/trunk@15026 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:26:16 +00:00
kipp%netscape.com
f044481b68 Added -v argument to log crawler behavior
git-svn-id: svn://10.0.0.236/trunk@15025 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:25:55 +00:00
kipp%netscape.com
a40b0cff3a Pass on EndLoadURL to the app
git-svn-id: svn://10.0.0.236/trunk@15024 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:25:29 +00:00
kin%netscape.com
f9645c5674 Added QueryInterface() implementation.
git-svn-id: svn://10.0.0.236/trunk@15022 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:04:57 +00:00
kin%netscape.com
fce2d30102 Removed '_' from IID defines to conform to naming conventions used in nglayout.
git-svn-id: svn://10.0.0.236/trunk@15021 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 18:04:03 +00:00
kipp%netscape.com
18ec528130 Added support for StyleChanged reflow reason
git-svn-id: svn://10.0.0.236/trunk@15020 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:41:44 +00:00
kipp%netscape.com
4c0e7bb48f Temporary workaround for style issue
git-svn-id: svn://10.0.0.236/trunk@15019 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:39:11 +00:00
dcone%netscape.com
6b3aca698d Took out all blending code, and updated to coding standards, general cleanup
git-svn-id: svn://10.0.0.236/trunk@15018 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:37:18 +00:00
kipp%netscape.com
b7526778d2 Use new classname for base class; port to updated nsLeafFrame methods
git-svn-id: svn://10.0.0.236/trunk@15017 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:22:08 +00:00
kipp%netscape.com
da8bad5359 Port to updated nsLeafFrame methods
git-svn-id: svn://10.0.0.236/trunk@15016 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:21:49 +00:00
kipp%netscape.com
0ded33a37e Removed a compiler warning
git-svn-id: svn://10.0.0.236/trunk@15015 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:21:22 +00:00
kipp%netscape.com
8e874e3769 Added mBorderPadding to cache computed value in case percentages are used; renamed class to nsImageFrame
git-svn-id: svn://10.0.0.236/trunk@15014 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:21:02 +00:00
kipp%netscape.com
b08cebd76d Use revised API's for computing the border/padding
git-svn-id: svn://10.0.0.236/trunk@15013 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:20:29 +00:00
kipp%netscape.com
257cb2e34e Define new API's to compute margin/border/padding/border+padding and handle percentages correctly
git-svn-id: svn://10.0.0.236/trunk@15012 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:19:26 +00:00
kipp%netscape.com
74b2e97658 Use revised API's to get percentage padding/borders value right
git-svn-id: svn://10.0.0.236/trunk@15011 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:18:58 +00:00
kipp%netscape.com
4d8d60d08d Use revised margin calculation api's; center blocks that have auto margins
git-svn-id: svn://10.0.0.236/trunk@15010 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:18:12 +00:00
kipp%netscape.com
115cd2b9ad Use Get methods from style context instead of deprecated methods
git-svn-id: svn://10.0.0.236/trunk@15009 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:13:28 +00:00
kipp%netscape.com
07371bd0cd Updated leaf api's to better support caching of computed border/padding when percentages are used
git-svn-id: svn://10.0.0.236/trunk@15008 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:13:02 +00:00
kipp%netscape.com
b5fd638826 Added mBorderPadding to cache computed value in case percentages are used
git-svn-id: svn://10.0.0.236/trunk@15007 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:12:39 +00:00
kipp%netscape.com
b982296c15 Added mBorderPadding to cache computed value in case percentages are used; renamed class to nsImageFrame
git-svn-id: svn://10.0.0.236/trunk@15006 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 17:12:25 +00:00
dcone%netscape.com
5a1fd4591f Fixed some warnings, slight rework of the taghandling classes.
git-svn-id: svn://10.0.0.236/trunk@15005 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 15:38:18 +00:00
alecf%netscape.com
7724082a1f don't pass static classes as function parameters
git-svn-id: svn://10.0.0.236/trunk@15004 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 09:45:39 +00:00
alecf%netscape.com
5e3cc9c98d fix casting problems for gcc 2.7.2.3
git-svn-id: svn://10.0.0.236/trunk@15003 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 09:29:58 +00:00
troy%netscape.com
c3380a7354 Added temporary workaround to image frame code to compensate for the fact
that HandleEvent() and GetCursor() are being called with the point not being
translated to the frame's local coordinate space


git-svn-id: svn://10.0.0.236/trunk@15002 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 06:31:55 +00:00
jfrancis%netscape.com
104d6e8c39 missed a source file. added nsView.cpp to project
git-svn-id: svn://10.0.0.236/trunk@15001 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 06:28:50 +00:00
jfrancis%netscape.com
4f2c73564d shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@15000 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 06:05:20 +00:00
jfrancis%netscape.com
76a3c8bde7 shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@14999 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:53:16 +00:00
jfrancis%netscape.com
47ed79a28a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14998 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:52:48 +00:00
troy%netscape.com
c80a6013b3 Removed some #include lines that are no longer needed
git-svn-id: svn://10.0.0.236/trunk@14997 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:22:45 +00:00
jfrancis%netscape.com
4906266ba1 moved view code to view project, included view lib here.
git-svn-id: svn://10.0.0.236/trunk@14996 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:21:57 +00:00
jfrancis%netscape.com
432fc0cc14 moved view code to view project, included view lib here
git-svn-id: svn://10.0.0.236/trunk@14995 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:15:24 +00:00
jfrancis%netscape.com
a949aa4d62 adding view to layout projects
git-svn-id: svn://10.0.0.236/trunk@14994 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:14:39 +00:00
morse%netscape.com
c44866825a fixes for change-of-password form
git-svn-id: svn://10.0.0.236/trunk@14993 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:03:36 +00:00
jfrancis%netscape.com
afed7afdb1 mac shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@14992 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:02:56 +00:00
jfrancis%netscape.com
91f873177c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14991 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:02:20 +00:00
morse%netscape.com
90633f4353 fix for single signon
git-svn-id: svn://10.0.0.236/trunk@14990 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 05:01:32 +00:00
pavlov%pavlov.net
9d41cbaec7 small bug fix.
git-svn-id: svn://10.0.0.236/trunk@14989 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 04:42:03 +00:00
troy%netscape.com
dc4177b6c9 Fixed ref counting problem in stub_GraphProgressDestroy()
git-svn-id: svn://10.0.0.236/trunk@14988 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 04:28:06 +00:00
pavlov%pavlov.net
296103f679 initial files for the tab widget
git-svn-id: svn://10.0.0.236/trunk@14987 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 04:27:32 +00:00
rickg%netscape.com
caa5d11b3c fix or partial fix to lots of bugs
git-svn-id: svn://10.0.0.236/trunk@14986 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 03:42:54 +00:00
pavlov%pavlov.net
b4cde81bb0 make sure we return a value for all of the NS_IMETHODIMP methods
git-svn-id: svn://10.0.0.236/trunk@14985 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 03:30:49 +00:00
pavlov%pavlov.net
b9b7dff7f0 unrevert the changes reverted earlier (build with static gtk libraries)
git-svn-id: svn://10.0.0.236/trunk@14984 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 03:25:59 +00:00
despotdaemon%netscape.com
6a92d7d074 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14983 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 02:36:57 +00:00
despotdaemon%netscape.com
d2acf69e40 Pseudo-automatic update of changes made by claudius@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14982 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 02:30:38 +00:00
alecf%netscape.com
fab1d9d3bb nsTimerExpired should be a C function that returns a gint (i.e. a GtkFunction)
which returns 0 on success


git-svn-id: svn://10.0.0.236/trunk@14981 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 02:03:57 +00:00
akkana%netscape.com
613c9d4260 more fixes for the irix autoconf build
git-svn-id: svn://10.0.0.236/trunk@14980 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 02:00:14 +00:00
mjudge%netscape.com
07924a7062 build bustage
git-svn-id: svn://10.0.0.236/trunk@14979 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:17:16 +00:00
saari%netscape.com
6f8340d89e Just a comment on nsWindow's mBounds member
git-svn-id: svn://10.0.0.236/trunk@14978 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:10:44 +00:00
buster%netscape.com
7b0e777c46 removed obsolete include of nsTableFrame
git-svn-id: svn://10.0.0.236/trunk@14977 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:04:43 +00:00
beard%netscape.com
f4e8d45219 xpcomDebug.exp only included in debug target, xpcom.exp in both.
git-svn-id: svn://10.0.0.236/trunk@14976 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:04:17 +00:00
buster%netscape.com
055399aac1 handles "height" attribute
git-svn-id: svn://10.0.0.236/trunk@14975 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:03:45 +00:00
beard%netscape.com
beeb760db7 Added nsServiceManager static method exports.
git-svn-id: svn://10.0.0.236/trunk@14974 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:03:42 +00:00
buster%netscape.com
6f5b201dbe implemented table height algorithms. also made a slight modification to
the way a table finds its container's width.


git-svn-id: svn://10.0.0.236/trunk@14973 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:01:25 +00:00
kin%netscape.com
d2516ee78e Updated nsITransaction and nsITransactionManager to match current spec.
git-svn-id: svn://10.0.0.236/trunk@14972 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 00:43:07 +00:00
kin%netscape.com
24520dc1e1 Added nsITransactionListener.h to list of EXPORTS.
git-svn-id: svn://10.0.0.236/trunk@14971 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 00:42:20 +00:00
kin%netscape.com
91002c329b Initial checkin of file.
git-svn-id: svn://10.0.0.236/trunk@14970 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 00:41:43 +00:00
mjudge%netscape.com
785aeb3d68 editor changes not in inclusion
git-svn-id: svn://10.0.0.236/trunk@14968 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 00:02:11 +00:00
mjudge%netscape.com
8422a7b923 editor changes
git-svn-id: svn://10.0.0.236/trunk@14967 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 00:01:15 +00:00
despotdaemon%netscape.com
72a165b2bd Pseudo-automatic update of changes made by glynn@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14966 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 23:55:32 +00:00
mjudge%netscape.com
1961369c00 fixing future possible bustage even though tree is red. I will watch carefully
git-svn-id: svn://10.0.0.236/trunk@14965 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 23:25:58 +00:00
srinivas%netscape.com
c33c58e68b Fixed a typo in previous checkin.
git-svn-id: svn://10.0.0.236/trunk@14964 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 23:09:01 +00:00
srinivas%netscape.com
c02c8d8708 Enable OS/2 builds with IBM's compiler (Visualage) and gcc port of OS/2 (emx).
Checkin for Eric Olson <Eric.Olson@Sympatico.CA> and Henry <sobotka@axess.com>.


git-svn-id: svn://10.0.0.236/trunk@14963 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 22:20:31 +00:00
kin%netscape.com
8f709a1d84 Changed all occurrences of transactionManager to nsTransactionManager.
git-svn-id: svn://10.0.0.236/trunk@14962 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:58:58 +00:00
pinkerton%netscape.com
295a1367c6 Added SetCursor() override so that we will change the cursor when layout tells us.
git-svn-id: svn://10.0.0.236/trunk@14961 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:54:35 +00:00
kin%netscape.com
f5e4fd9944 Renamed transactionManager.{cpp,h} to nsTransactionManager.{cpp,h}.
git-svn-id: svn://10.0.0.236/trunk@14960 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:51:57 +00:00
kin%netscape.com
cf4c82ae3a Renamed files to nsTransactionManager.{h,cpp}.
git-svn-id: svn://10.0.0.236/trunk@14959 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:51:13 +00:00
kin%netscape.com
c1a1122be7 Initial checkin of file.
git-svn-id: svn://10.0.0.236/trunk@14958 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:43:21 +00:00
msw%gimp.org
bd8ac5c0c7 This is a hack to service the PLEventQueue that nsWebShell posts events to
such as anchor clicking.  This is only a temporary fix.  We need some other
way to do this.


git-svn-id: svn://10.0.0.236/trunk@14957 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 21:12:02 +00:00
law%netscape.com
f5fae695c7 Adding support for 'view source'
git-svn-id: svn://10.0.0.236/trunk@14956 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 20:41:01 +00:00
scc%netscape.com
5c994d7aa4 some changes to better conform to our coding standards; removed the facility for assigning in without AddRef-ing, outside of the context of a function call; added some comparison operators for working with raw pointers; preprocessor-ized the bool type for compilers without
git-svn-id: svn://10.0.0.236/trunk@14955 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 20:26:12 +00:00
law%netscape.com
c7f2e93dfe Adding support for 'view source'
git-svn-id: svn://10.0.0.236/trunk@14954 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 19:15:30 +00:00
kipp%netscape.com
38fb3310d6 Improved the regression dump data somewhat
git-svn-id: svn://10.0.0.236/trunk@14953 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 18:51:53 +00:00
kipp%netscape.com
6eb8511825 Override FrameForPoint so that floaters/bullets get events
git-svn-id: svn://10.0.0.236/trunk@14952 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 18:09:57 +00:00
kipp%netscape.com
9ac80e4d0f Factored out FrameForPoint code into one that takes a particular list
git-svn-id: svn://10.0.0.236/trunk@14951 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 18:09:03 +00:00
kipp%netscape.com
84410733de Made nsString::Insert actually support the count=-1 default argument
git-svn-id: svn://10.0.0.236/trunk@14950 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:58:30 +00:00
kipp%netscape.com
7380c40198 Added XMLQuote to quote special characters; changed MakeFrameName to avoid needing quoting
git-svn-id: svn://10.0.0.236/trunk@14949 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:55:22 +00:00
kipp%netscape.com
f8626bbd26 Fixed up the web-crawler to only trigger crawls on a document being loaded, not on one of it's images; support -o even w/o a filter; use the regression dump for -o instead of list
git-svn-id: svn://10.0.0.236/trunk@14948 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:24:13 +00:00
kipp%netscape.com
9642cfd1e6 Removed some noise
git-svn-id: svn://10.0.0.236/trunk@14947 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:23:27 +00:00
kipp%netscape.com
b527c7f026 Added DumpRegressionData; revised ListTag; added GetFrameName
git-svn-id: svn://10.0.0.236/trunk@14946 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:22:29 +00:00
cls%seawood.org
a96c8177ca Ooops, got my versions of configure.in confused.
git-svn-id: svn://10.0.0.236/trunk@14945 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:16:56 +00:00
cls%seawood.org
054c58515e Pavlov's changes are reverted until the license issues with aclocal.m4 have been settled.
git-svn-id: svn://10.0.0.236/trunk@14944 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 16:49:09 +00:00
cls%seawood.org
a3fde4f8bc Oops, premature commit last time. Try this one.
git-svn-id: svn://10.0.0.236/trunk@14941 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 06:33:10 +00:00
raman%netscape.com
841ba0b23b Backing out my last changes.
git-svn-id: svn://10.0.0.236/trunk@14940 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 06:31:14 +00:00
cls%seawood.org
5755d2cc70 Moved nsHTMLTags.h from EXTRA_EXPORTS to EXPORTS.
git-svn-id: svn://10.0.0.236/trunk@14939 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 06:23:35 +00:00
cls%seawood.org
414a725af1 Start pulling aclocal.m4 with the build
git-svn-id: svn://10.0.0.236/trunk@14938 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:44:20 +00:00
kipp%netscape.com
c6936d76d1 Fix build bustage (hopefully)
git-svn-id: svn://10.0.0.236/trunk@14937 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:37:59 +00:00
raman%netscape.com
bec5f1bf26 Added caps (capabilities based secure system for JVM plug-in and JS) to the build process
git-svn-id: svn://10.0.0.236/trunk@14936 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:36:46 +00:00
msw%gimp.org
3161812f83 Implemented the start of the text widget onkey callback. You can now type
URLs in the location field of xpviewer and hit enter.


git-svn-id: svn://10.0.0.236/trunk@14935 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:33:13 +00:00
cls%seawood.org
e2a4876f5e Removed the automatic check for the generate target. If we're going to check generated files into cvs, don't continue to generate them in the build
git-svn-id: svn://10.0.0.236/trunk@14934 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:23:42 +00:00
raman%netscape.com
f100d4f1c2 Changes to make caps into a DLL. Defined all strings in this file until there is a replacement for allxpstr.h
git-svn-id: svn://10.0.0.236/trunk@14933 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:22:28 +00:00
raman%netscape.com
5c8396fb31 Deleted obsolete messages
git-svn-id: svn://10.0.0.236/trunk@14932 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:21:37 +00:00
raman%netscape.com
d69036224b Deleted obsolete messages
git-svn-id: svn://10.0.0.236/trunk@14931 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 05:21:36 +00:00
pavlov%pavlov.net
8d18addb26 add --enable-static-gtk flag which will link the binaries with static gtk
libraries.  added aclocal.m4 with gtk's gtk check stuff which checks for GTK
properly.


git-svn-id: svn://10.0.0.236/trunk@14930 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 04:35:31 +00:00
troy%netscape.com
ac75bce1c1 Changed to make sure we mark the absolutely positioned element's view as
having transparent content if the visibility is hidden


git-svn-id: svn://10.0.0.236/trunk@14929 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 04:26:51 +00:00
troy%netscape.com
72f91661b7 Fixed it so that we don't ignore painting child frames of a parent frame
thas has "visibility:hidden", because child elements can override their
parent's visibility


git-svn-id: svn://10.0.0.236/trunk@14928 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 03:52:29 +00:00
joki%netscape.com
b01a5a7be7 Adding more backwards compat DOM support (event.which, pageX, and pageY)
git-svn-id: svn://10.0.0.236/trunk@14927 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 03:20:21 +00:00
cls%seawood.org
dd13058b68 Since $(DEPENDENCIES) is not generated for OS2 or NT, do not try to include the file.
git-svn-id: svn://10.0.0.236/trunk@14926 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 03:09:23 +00:00
cls%seawood.org
c3c39fac3d Don't bother checking for X libs or X toolkits when --without-x is specified.
git-svn-id: svn://10.0.0.236/trunk@14925 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 03:08:30 +00:00
akkana%netscape.com
3dc6756b1d Get Irix autoconf build a bit farther along -- thanks to var@sgi.com
git-svn-id: svn://10.0.0.236/trunk@14924 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 02:24:28 +00:00
kin%netscape.com
e9b5fcd32e Added stubs.
git-svn-id: svn://10.0.0.236/trunk@14923 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 02:05:16 +00:00
kin%netscape.com
88ba816ef0 Updated documenation.
git-svn-id: svn://10.0.0.236/trunk@14922 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 01:40:53 +00:00
troy%netscape.com
e82def0806 Fix for bug #1265. For incremental reflow now checks for the case where the new
height is smaller than the old height and makes sure we erase the entire area


git-svn-id: svn://10.0.0.236/trunk@14921 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 01:39:07 +00:00
joki%netscape.com
471346da0d Fire button on every click as opposed to every other.
git-svn-id: svn://10.0.0.236/trunk@14920 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 01:31:22 +00:00
joki%netscape.com
63292505da Modify event flow to avoid walking into trashed frames.
git-svn-id: svn://10.0.0.236/trunk@14919 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 00:43:36 +00:00
joki%netscape.com
eb8fbe519b Prevent multiple firings of DOM click events on buttons.
git-svn-id: svn://10.0.0.236/trunk@14918 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 00:42:38 +00:00
kin%netscape.com
af74d44f60 Fixed DEPTH entries.
git-svn-id: svn://10.0.0.236/trunk@14917 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 00:12:56 +00:00
kipp%netscape.com
475de74c3e Use new methods in nsHTMLReflowState to discover the proper width to base the text-indent percentage on (bug #1048)
git-svn-id: svn://10.0.0.236/trunk@14915 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 00:00:18 +00:00
kipp%netscape.com
d2c756191e Added two new utility methods on nsHTMLReflowState for finding a containing block's reflow state and for finding a containing blocks content width
git-svn-id: svn://10.0.0.236/trunk@14914 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:59:49 +00:00
wtc%netscape.com
d3ec260e4d NEXT port. Contributed by Balazs Pataki (balazs.pataki@sztaki.hu).
git-svn-id: svn://10.0.0.236/trunk@14911 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:53:21 +00:00
michaelp%netscape.com
e0cadc24c9 fixed bug where a view with opacity set to 0.0f would cause the area where it
is to never be drawn.


git-svn-id: svn://10.0.0.236/trunk@14910 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:50:28 +00:00
troy%netscape.com
3fb74be141 Changed Reflow() to make sure that the child is sized at least as big as the max size
we gave it as part of the reflow command


git-svn-id: svn://10.0.0.236/trunk@14909 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:49:44 +00:00
despotdaemon%netscape.com
55accca3f1 Pseudo-automatic update of changes made by hshaw@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14908 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:40:13 +00:00
briano%netscape.com
4b7e76ea29 Took out the superfluous second inclusion of rules.mk.
git-svn-id: svn://10.0.0.236/trunk@14907 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:18:29 +00:00
briano%netscape.com
59981c7ed4 Change for QNX. Might as well get it in while this file still exists....
git-svn-id: svn://10.0.0.236/trunk@14906 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:16:29 +00:00
despotdaemon%netscape.com
8d09a5cf40 Pseudo-automatic update of changes made by friedman@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14905 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 23:02:48 +00:00
srinivas%netscape.com
6568d14851 Conditionally compile pthread priority call;
checkin for Jeremy Lea <reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@14904 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:58:55 +00:00
srinivas%netscape.com
9d208681d0 Enable use of poll system call for FreeBSD 3.0.0-RELEASE;
checkin for Jeremy Lea <reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@14903 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:57:33 +00:00
srinivas%netscape.com
3274bf855b Implement poll for those platforms that don't support the system call.
git-svn-id: svn://10.0.0.236/trunk@14902 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:56:06 +00:00
srinivas%netscape.com
6e404c3359 Enable ELF builds and use of poll system call for FreeBSD 3.0.0-RELEASE;
checkin for Jeremy Lea <reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@14901 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:54:11 +00:00
srinivas%netscape.com
f8ae164f7d Enable ELF builds FreeBSD 3.0.0-RELEASE; checkin for
Jeremy Lea <reg@shale.csir.co.za>.


git-svn-id: svn://10.0.0.236/trunk@14900 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:51:51 +00:00
kin%netscape.com
661e233361 Makefile.in and config modifications to allow us to build the new NGT based
editor.


git-svn-id: svn://10.0.0.236/trunk@14899 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:35:21 +00:00
kin%netscape.com
76b3eae965 Initial checkin of files.
git-svn-id: svn://10.0.0.236/trunk@14898 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:29:44 +00:00
troy%netscape.com
d1175e5cd7 Fixed SetInitialChildList() so "frame" doesn't get reset after processing
the legend frame


git-svn-id: svn://10.0.0.236/trunk@14896 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:14:55 +00:00
cls%seawood.org
abd049c6b1 Added include for platform.h inside MOZILLA_CLIENT ifdef. Approved by shaver@netscape.com
git-svn-id: svn://10.0.0.236/trunk@14895 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:14:44 +00:00
buster%netscape.com
4c8bd867e7 Proportional column width based on HTML attributes is now implemented. proportional "multilength" syntax ("1*")
now works on COL and COLGROUP.  Bug 1128.


git-svn-id: svn://10.0.0.236/trunk@14894 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:10:02 +00:00
mjudge%netscape.com
2b3d3c6797 smart pointer updates
git-svn-id: svn://10.0.0.236/trunk@14893 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:09:52 +00:00
locka%iol.ie
ca58a74aad Added #define that removes requirement for atl.dll to be installed on host machine
git-svn-id: svn://10.0.0.236/trunk@14892 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 22:04:58 +00:00
cls%seawood.org
c8ab8eae29 Added -DMOZILLA_CLIENT define. Fixed problem with ios::binary cache values. Removed directory already exists error when manually making objdirs.
git-svn-id: svn://10.0.0.236/trunk@14891 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 21:54:38 +00:00
pavlov%pavlov.net
11495b160d Made all of these icons transparent. This should make things look much nicer
on different colored toolbars.


git-svn-id: svn://10.0.0.236/trunk@14889 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 21:20:50 +00:00
mcmullen%netscape.com
3914646b67 Fixed some warnings.
git-svn-id: svn://10.0.0.236/trunk@14887 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 20:49:15 +00:00
pnunn%netscape.com
5213031269 All image container states in il_image_complete() are now handled explicitly in
a switch, not by asserts. -pn


git-svn-id: svn://10.0.0.236/trunk@14885 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 20:24:40 +00:00
kin%netscape.com
31ec7310fa Changes neccessary to build on Unix.
git-svn-id: svn://10.0.0.236/trunk@14884 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 20:20:08 +00:00
kin%netscape.com
c265209704 Added pull_editor target.
git-svn-id: svn://10.0.0.236/trunk@14883 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 20:10:12 +00:00
pinkerton%netscape.com
aad7c2c534 add platform.h
git-svn-id: svn://10.0.0.236/trunk@14882 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 19:19:02 +00:00
mjudge%netscape.com
b7621fa804 changes to editor
git-svn-id: svn://10.0.0.236/trunk@14881 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 19:18:47 +00:00
kin%netscape.com
f7bae9c38d Fixes that allow us to compile on Linux.
git-svn-id: svn://10.0.0.236/trunk@14880 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 19:16:10 +00:00
kin%netscape.com
d059afc819 Added COM_auto_ptr.h to EXPORTS list.
git-svn-id: svn://10.0.0.236/trunk@14879 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 19:14:56 +00:00
cls%seawood.org
53616ae431 Updated checks for solaris. Started using platform.h.
git-svn-id: svn://10.0.0.236/trunk@14878 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 18:32:52 +00:00
cls%seawood.org
b648eda516 Changed LCFLAGS to CFLAGS
git-svn-id: svn://10.0.0.236/trunk@14877 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 18:29:18 +00:00
cls%seawood.org
81a132b6f5 Updated check for Solaris and added multiple include check
git-svn-id: svn://10.0.0.236/trunk@14876 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 18:28:27 +00:00
cls%seawood.org
57c8cfc299 Only use libC is not using the GNU c++ compiler.
git-svn-id: svn://10.0.0.236/trunk@14875 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 17:29:38 +00:00
troy%netscape.com
6d4ad48e4d Removed spaces around '::'
git-svn-id: svn://10.0.0.236/trunk@14874 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 16:20:39 +00:00
jfrancis%netscape.com
19903b9dd0 shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@14873 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 06:36:44 +00:00
buster%netscape.com
cb259330a3 impl of DOM table.deleteRow
git-svn-id: svn://10.0.0.236/trunk@14872 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 06:30:13 +00:00
troy%netscape.com
3a125ad21a Added some constants to use when referring to child list name indices
git-svn-id: svn://10.0.0.236/trunk@14871 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 06:13:58 +00:00
buster%netscape.com
894ea8272b impl for DOM table.InsertRow
git-svn-id: svn://10.0.0.236/trunk@14870 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 06:06:37 +00:00
terry%netscape.com
6127274b46 Wasn't handling spaces in components or versions correctly.
git-svn-id: svn://10.0.0.236/trunk@14869 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:38:43 +00:00
cls%seawood.org
ede0c5f277 Added DLL_SUFFIX fixes. Thanks to Jeremy Lea <reg@shale.csir.co.za> for the patch.
git-svn-id: svn://10.0.0.236/trunk@14868 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:35:46 +00:00
joki%netscape.com
8eaf3892a5 Adding new generated DOM header
git-svn-id: svn://10.0.0.236/trunk@14867 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:34:23 +00:00
cls%seawood.org
1692c26f63 Added DLL_SUFFIX fixes. Thanks to Jeremy Lea <reg@shale.csir.co.za> for the patches.
Removed dummy Makefiles from AC_OUTPUT and called mkdir manually.


git-svn-id: svn://10.0.0.236/trunk@14866 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:34:13 +00:00
troy%netscape.com
8c7ca57e9f Changed Init() to addref mAppShell and mPrefs, because that's what the other
overloaded Init() does and because the destructor will do a release


git-svn-id: svn://10.0.0.236/trunk@14865 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:31:03 +00:00
joki%netscape.com
f1462f4d55 Reworking internal event code to use nsIFrame::GetFrameForPoint
Adding new functionality through nsEventStateManager (cursor change, enter/exit events, tab navig)


git-svn-id: svn://10.0.0.236/trunk@14864 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:25:26 +00:00
morse%netscape.com
f48f2d5568 update for single signon
git-svn-id: svn://10.0.0.236/trunk@14863 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:59:50 +00:00
janc%netscape.com
11a796f577 New css parser test
git-svn-id: svn://10.0.0.236/trunk@14862 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:42:37 +00:00
janc%netscape.com
145c53c8dc update css parser test
git-svn-id: svn://10.0.0.236/trunk@14861 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:40:13 +00:00
janc%netscape.com
84bfaf5802 update CSS Parser test
git-svn-id: svn://10.0.0.236/trunk@14860 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:39:13 +00:00
morse%netscape.com
8b86d09e16 update for single signon
git-svn-id: svn://10.0.0.236/trunk@14859 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:38:13 +00:00
morse%netscape.com
225430c9fb updates for single signon
git-svn-id: svn://10.0.0.236/trunk@14858 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:35:47 +00:00
troy%netscape.com
9cb560bf11 Removed mFlags from nsBodyFrame and now we use the mFlags defined by
nsBlockFrame


git-svn-id: svn://10.0.0.236/trunk@14857 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:16:03 +00:00
troy%netscape.com
e6e0bfb280 Fixed a couple of cases where I missed calling the base class
git-svn-id: svn://10.0.0.236/trunk@14856 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 04:06:19 +00:00
pavlov%pavlov.net
84e44d7068 made the gdkcolor to nscolor code a tad cleaner. removed the
gtk_layout_freeze and gtk_layout_thaw calls as the object being resized was
not always a layout.


git-svn-id: svn://10.0.0.236/trunk@14855 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 03:58:54 +00:00
pavlov%pavlov.net
d541dcc7f7 Impliment SetLineStyle and DrawPolyline
git-svn-id: svn://10.0.0.236/trunk@14854 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 03:56:41 +00:00
troy%netscape.com
1d92304a59 Removed mChildCount member data
git-svn-id: svn://10.0.0.236/trunk@14853 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 03:44:08 +00:00
troy%netscape.com
221b0b3bfd Made sure the block's SetFlags() member function is called. This fixes shrink
wrapping so it works again


git-svn-id: svn://10.0.0.236/trunk@14852 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 03:27:04 +00:00
jfrancis%netscape.com
da170b8a62 more shared lib conversion work.
git-svn-id: svn://10.0.0.236/trunk@14851 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:44:02 +00:00
jfrancis%netscape.com
910475eaff more shared lib conversion work
git-svn-id: svn://10.0.0.236/trunk@14850 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:43:45 +00:00
jfrancis%netscape.com
65163288e7 Shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@14849 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:33:58 +00:00
jfrancis%netscape.com
cea6b1e716 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14848 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:33:41 +00:00
peterl%netscape.com
0604ddadab cursor style cleanup
git-svn-id: svn://10.0.0.236/trunk@14847 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:23:39 +00:00
beard%netscape.com
c300ac1865 Checking out mozilla/modules/libpref from the tip.
git-svn-id: svn://10.0.0.236/trunk@14846 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:20:16 +00:00
peterl%netscape.com
01c47ed171 cleaned up cursor style handling
git-svn-id: svn://10.0.0.236/trunk@14845 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:11:54 +00:00
peterl%netscape.com
8f073ecf34 use proper pseudo tag for text style contexts
git-svn-id: svn://10.0.0.236/trunk@14844 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:11:27 +00:00
peterl%netscape.com
95f66c00f4 cleaned up cursor handling
git-svn-id: svn://10.0.0.236/trunk@14843 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:10:45 +00:00
peterl%netscape.com
79bb1b728a added text pseudo tag
git-svn-id: svn://10.0.0.236/trunk@14842 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:09:53 +00:00
peterl%netscape.com
0b3a3301bc remove style_cursor_inherit
git-svn-id: svn://10.0.0.236/trunk@14841 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:08:45 +00:00
peterl%netscape.com
733c6bf720 fixed comment
git-svn-id: svn://10.0.0.236/trunk@14840 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:08:30 +00:00
peterl%netscape.com
d2592b689c tweaked x-height guess for true-type fonts
git-svn-id: svn://10.0.0.236/trunk@14839 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 02:07:40 +00:00
beard%netscape.com
4d5736b807 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14838 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:54:25 +00:00
janc%netscape.com
400672e2a6 New CSS Parser test.
git-svn-id: svn://10.0.0.236/trunk@14837 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:53:02 +00:00
beard%netscape.com
a2c5d6d24e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14836 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:46:22 +00:00
cls%seawood.org
2912fcef5c Added #include <iostream.h> to ios::binary check.
git-svn-id: svn://10.0.0.236/trunk@14835 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:38:20 +00:00
beard%netscape.com
f3218e3cf8 Took out PL_VectorAssertValid for non-debug build.
git-svn-id: svn://10.0.0.236/trunk@14834 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:36:28 +00:00
beard%netscape.com
ffcb90e3f3 Added xpcomDebug.exp to xpcomDebug.shlb target.
git-svn-id: svn://10.0.0.236/trunk@14833 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:35:54 +00:00
beard%netscape.com
eb9aa87814 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14832 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:28:37 +00:00
janc%netscape.com
9406c923de New CSS Parser Test
git-svn-id: svn://10.0.0.236/trunk@14831 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:24:30 +00:00
janc%netscape.com
0f44af8a5f New CSS Parser test.
git-svn-id: svn://10.0.0.236/trunk@14830 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 01:15:17 +00:00
janc%netscape.com
ef3968a967 New CSS Parser test
git-svn-id: svn://10.0.0.236/trunk@14829 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 00:58:49 +00:00
jfrancis%netscape.com
b3f2408262 shared lib conversion, phase 1
git-svn-id: svn://10.0.0.236/trunk@14828 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 00:55:05 +00:00
jfrancis%netscape.com
5fd90b887b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14827 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 00:54:26 +00:00
mjudge%netscape.com
f1990d8cbf editor changes will not affect build. working on typing
git-svn-id: svn://10.0.0.236/trunk@14826 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 00:49:02 +00:00
pinkerton%netscape.com
7f42b90636 Don't use screenbits.bounds for determining constraints on moving or growing windows. Use bounding rect of GetGrayRgn().
git-svn-id: svn://10.0.0.236/trunk@14825 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 00:46:22 +00:00
amusil%netscape.com
be4a82caa2 Bug fix for 1201. Now use the size parameters from the object tag as a determinant of size.
git-svn-id: svn://10.0.0.236/trunk@14824 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 23:29:20 +00:00
buster%netscape.com
91eb39eb1e impl for DOM methods table.create(THead|TFoot|Caption) and deleteCaption
git-svn-id: svn://10.0.0.236/trunk@14823 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 23:09:59 +00:00
locka%iol.ie
c7a10c77bd Added a default page to load when control is first created
git-svn-id: svn://10.0.0.236/trunk@14822 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:39:31 +00:00
locka%iol.ie
dacae6cd8b Added MozillaControl.html to release folder
git-svn-id: svn://10.0.0.236/trunk@14821 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:38:43 +00:00
dcone%netscape.com
02dc0521cb updated steve clarks changes, added genericElementCollection
git-svn-id: svn://10.0.0.236/trunk@14820 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:38:03 +00:00
locka%iol.ie
7222ab1c34 Added default page to load when control is first shown (it will improve!)
git-svn-id: svn://10.0.0.236/trunk@14819 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:37:10 +00:00
cls%seawood.org
06cc09cf31 Removed redundant test. Thanks to Chris <dexter@dns.ci.columbia.mo.us> for pointing this out.
git-svn-id: svn://10.0.0.236/trunk@14818 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:32:35 +00:00
kipp%netscape.com
18241f0edb Revised max-element-size computation somewhat so that floaters are accounted for better
git-svn-id: svn://10.0.0.236/trunk@14817 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:28:51 +00:00
buster%netscape.com
5b723aeb9c new module
git-svn-id: svn://10.0.0.236/trunk@14816 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:20:59 +00:00
cls%seawood.org
355a8b20f1 CFLAGS wasn't getting set properly due to ordering problems with config.mk
git-svn-id: svn://10.0.0.236/trunk@14815 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 22:20:25 +00:00
buster%netscape.com
673f0e2046 renamed TableElementCollection to GenericElementCollection, and factored it into
it's own module for reuse.


git-svn-id: svn://10.0.0.236/trunk@14814 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 21:40:38 +00:00
alecf%netscape.com
d04489f3ff make build instructions a little more clear, and add URL
for more information


git-svn-id: svn://10.0.0.236/trunk@14811 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 20:00:57 +00:00
pinkerton%netscape.com
d99502389c Added comments that these are the default implementations and that they can (and should) be replaced by embedding applications.
git-svn-id: svn://10.0.0.236/trunk@14810 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:34:47 +00:00
pinkerton%netscape.com
a25d78a7ef since nsMacMessagePump is back (as a default imp), export it as well.
git-svn-id: svn://10.0.0.236/trunk@14809 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:22:05 +00:00
pinkerton%netscape.com
8b26bfe9a2 moving default imps of message pump and app shell back into widget. This uses those instead of its own.
git-svn-id: svn://10.0.0.236/trunk@14808 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:21:29 +00:00
pinkerton%netscape.com
7982d20f9b moving default imps of message pump and app shell back into widget. This once again uses those instead of providing its own.
git-svn-id: svn://10.0.0.236/trunk@14807 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:20:57 +00:00
pinkerton%netscape.com
ec770e398c Move default imps of AppShell and MessagePump back into widget. Clients may still provide their own.
git-svn-id: svn://10.0.0.236/trunk@14806 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:20:06 +00:00
pinkerton%netscape.com
13254b3c93 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14805 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 17:19:01 +00:00
cls%seawood.org
fc53174a4f Added check for ios::binary which seems to just be the new ANSI/ISO standard for ios::bin .
git-svn-id: svn://10.0.0.236/trunk@14804 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 16:53:02 +00:00
troy%netscape.com
663a7d26dc Changed the body to be a subclass of nsBlockFrame rather than contain a
block frame


git-svn-id: svn://10.0.0.236/trunk@14803 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 16:37:39 +00:00
buster%netscape.com
5bd3d8a5e5 implementation of rows() and tBodies()
git-svn-id: svn://10.0.0.236/trunk@14802 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 16:32:29 +00:00
kipp%netscape.com
fb66524089 Made SetTitle call ReduceEntities for bug #1398
git-svn-id: svn://10.0.0.236/trunk@14801 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 16:29:25 +00:00
blizzard%appliedtheory.com
5477366e93 clean up transparent image rendering. Also, make sure that the XImage is
free'ed after rendering and that the gc is placed back into a sane state.


git-svn-id: svn://10.0.0.236/trunk@14800 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 15:32:13 +00:00
msw%gimp.org
2e2473f9bc First pass of alpha support in images by Chris Blizzard, fixed for endian
problems.  There is still a little work left to do on this.


git-svn-id: svn://10.0.0.236/trunk@14799 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 09:08:10 +00:00
cls%seawood.org
1d0cab6cc7 Silly mistake. Yes, we still want to call buildwho.pl
git-svn-id: svn://10.0.0.236/trunk@14798 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:58:56 +00:00
msw%gimp.org
e7ea193c8d Implemented Invalidate class members, reverted Resize funkiness
git-svn-id: svn://10.0.0.236/trunk@14797 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:57:27 +00:00
troy%netscape.com
af98c8b1d4 Fixed CreateWrapperFrame() so it resets the geometric and content parent pointers
of the frame being wrapped


git-svn-id: svn://10.0.0.236/trunk@14796 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:47:06 +00:00
jfrancis%netscape.com
22444ae9fd Added shared lib targets
git-svn-id: svn://10.0.0.236/trunk@14795 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:38:30 +00:00
jfrancis%netscape.com
b80ec268a0 Shared Lib conversion
git-svn-id: svn://10.0.0.236/trunk@14794 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:37:42 +00:00
jfrancis%netscape.com
5b3e72e2a1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14793 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 05:26:28 +00:00
pierre%netscape.com
25fc70f015 fix build: added nsGenericDOMHTMLCollection.cpp
git-svn-id: svn://10.0.0.236/trunk@14790 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 03:23:02 +00:00
pierre%netscape.com
cf3a92af33 Fix Mac build: added nsIDOMNSDocument.h
git-svn-id: svn://10.0.0.236/trunk@14785 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 03:09:30 +00:00
troy%netscape.com
c3c113628e Fixed problem that caused Mac build to break
git-svn-id: svn://10.0.0.236/trunk@14784 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 02:37:47 +00:00
vidur%netscape.com
f99db26085 New interface nsIDOMNSDocument
git-svn-id: svn://10.0.0.236/trunk@14783 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 02:37:19 +00:00
vidur%netscape.com
0dae27ae27 Moved document.styleSheets from HTML-specific interface to generic Document interface
git-svn-id: svn://10.0.0.236/trunk@14782 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 02:19:28 +00:00
vidur%netscape.com
c67a7ad987 Changes to allow disabling and enabling of style sheets. Introduced ReconstructFrames to nsIFrameConstructor. CSSStyleSheets now remember their document. Temporary fix to allow text content inside CSS tables.
git-svn-id: svn://10.0.0.236/trunk@14781 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 02:14:38 +00:00
akkana%netscape.com
fb957e4152 An include was missing, breaking the Irix build
git-svn-id: svn://10.0.0.236/trunk@14780 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 02:09:12 +00:00
msw%gimp.org
2ecb1c8140 Resizes are faster, deleted old Motif code in nsWindow::Scroll
git-svn-id: svn://10.0.0.236/trunk@14779 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:30:27 +00:00
kipp%netscape.com
e8f8e26932 Added missing init of the net-file's refcnt
git-svn-id: svn://10.0.0.236/trunk@14777 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:21:04 +00:00
pinkerton%netscape.com
fa6c94850f fix in SupportsNativeWidgets() to draw so we can continue working, but things are not fixed for real. Read the comment in that method for more details.
git-svn-id: svn://10.0.0.236/trunk@14775 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:08:01 +00:00
kipp%netscape.com
fdd6ed4330 Fixed up incremental reflow for content-changed and removed floaters
git-svn-id: svn://10.0.0.236/trunk@14773 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:04:45 +00:00
kipp%netscape.com
a1d94ad86e Added in nsHTMLReflowState argument to ReflowFrame so that callers can properly initialize it
git-svn-id: svn://10.0.0.236/trunk@14772 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:04:21 +00:00
kipp%netscape.com
9b3d386967 Tidy up; added some tracing
git-svn-id: svn://10.0.0.236/trunk@14771 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:03:59 +00:00
kipp%netscape.com
e8e77859cb Removed DidReflow hack again
git-svn-id: svn://10.0.0.236/trunk@14770 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:03:41 +00:00
kipp%netscape.com
5e936efd0f Look on all lists for frames
git-svn-id: svn://10.0.0.236/trunk@14769 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:03:28 +00:00
pierre%netscape.com
672e98385c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14768 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 01:03:16 +00:00
cls%seawood.org
0659b986f3 Added check for DLL_SUFFIX. Thanks to Jeremy Lea <reg@shale.csir.co.za> for supplying the patch.
Changed gtk lib check to depend entirely upon the output from gtk-config.


git-svn-id: svn://10.0.0.236/trunk@14766 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-17 00:23:25 +00:00
wtc%netscape.com
26858ad13e Bugzilla bug #122: Checked in the NetBSD patch submitted by
Frank van der Linden (frank@wins.uva.nl).
ftp://ftp.netbsd.org/pub/NetBSD/misc/fvdl/mozilla/diff-19981008.001
Modified files: Makefile, Makefile.in.


git-svn-id: svn://10.0.0.236/trunk@14765 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 23:44:55 +00:00
wtc%netscape.com
28d4ab0218 Added Alec Flett's comments on the version of glibc2/sparc whose
setjmp/longjmp works.


git-svn-id: svn://10.0.0.236/trunk@14764 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 23:39:10 +00:00
buster%netscape.com
15ea380e94 work in progress for full DOM support for tables
git-svn-id: svn://10.0.0.236/trunk@14763 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 23:31:24 +00:00
troy%netscape.com
34fb009ccf Changed Reflow() to deal with reflow commands targeted at the root frame
git-svn-id: svn://10.0.0.236/trunk@14761 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 23:16:03 +00:00
cls%seawood.org
c24fcea5b1 Added check to make sure user only specifies supported toolkits.
git-svn-id: svn://10.0.0.236/trunk@14760 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 23:02:40 +00:00
rods%netscape.com
2d2e1d5946 Added a check for a NULL nsIDeviceContextSpec. This happens when the user "cancels"
out of the print dialog.


git-svn-id: svn://10.0.0.236/trunk@14759 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 22:25:57 +00:00
rods%netscape.com
8cacf168e5 Added checks for null objects so printing would work.
git-svn-id: svn://10.0.0.236/trunk@14758 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 22:18:30 +00:00
cls%seawood.org
126128120e DSO_CFLAGS defaults to -fPIC only if using gcc, otherwise it's set to -KPIC.
git-svn-id: svn://10.0.0.236/trunk@14757 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 22:11:17 +00:00
raman%netscape.com
c88302e2b7 Bug fixes from MozillaClassic branch, plus changes to build caps without rdf
git-svn-id: svn://10.0.0.236/trunk@14756 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 21:57:13 +00:00
cls%seawood.org
0728bcc724 Actually set GTK_VERSION. Thanks to Chris <dexter@dns.ci.columbia.mo.us> for pointing out this oversight.
git-svn-id: svn://10.0.0.236/trunk@14755 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 21:50:33 +00:00
troy%netscape.com
62a6e8e1fe Made sure NS_BODY_THE_BODY flag is set for the body wrapper frame we
create for XML documents


git-svn-id: svn://10.0.0.236/trunk@14754 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 21:48:13 +00:00
troy%netscape.com
75c8461a9c Added null pointer check in DidSetStyleContext(). This keeps us from crashing
on XML documents


git-svn-id: svn://10.0.0.236/trunk@14753 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 21:45:24 +00:00
hyatt%netscape.com
8ee2eaab39 Tweaking interfaces to move some functionality out of the treedatamodel and into the base.
git-svn-id: svn://10.0.0.236/trunk@14750 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 20:53:27 +00:00
hyatt%netscape.com
018a52aac8 GetWidget and SetWidget weren't doing proper AddRef and Release. Fixed the
code.


git-svn-id: svn://10.0.0.236/trunk@14749 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 20:39:09 +00:00
hyatt%netscape.com
44a586b358 Added SetOpenState.
git-svn-id: svn://10.0.0.236/trunk@14748 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 20:11:06 +00:00
cyeh%netscape.com
baf1f2e463 remove dependence on mozilla classic style features (MOZ_MEDIUM)
git-svn-id: svn://10.0.0.236/trunk@14747 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 20:00:53 +00:00
hyatt%netscape.com
8779cbca5c Fixing SetOpenState so that it really works.
git-svn-id: svn://10.0.0.236/trunk@14746 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 19:53:05 +00:00
terry%netscape.com
d96970ce3c Patch by Andrew Anderson <andrew@redhat.com>. Many minor bugfixes and cleanup.
git-svn-id: svn://10.0.0.236/trunk@14745 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 19:43:50 +00:00
michaelp%netscape.com
bff62c7d82 fixed problem with vertical scrollbar not always appearing.
git-svn-id: svn://10.0.0.236/trunk@14744 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 19:42:53 +00:00
jfrancis%netscape.com
d8abdbf2f0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14742 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 19:30:48 +00:00
jfrancis%netscape.com
2703380897 adding scott's XP_COM auto_pointer header to xpcom exports.
git-svn-id: svn://10.0.0.236/trunk@14741 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 19:08:50 +00:00
terry%netscape.com
e7821fe48e mozillazine has changed its format; cope with the new format.
git-svn-id: svn://10.0.0.236/trunk@14740 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:58:24 +00:00
pinkerton%netscape.com
803d9e359a Turn on debugging info for message sink and text area cpp files.
git-svn-id: svn://10.0.0.236/trunk@14739 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:45:30 +00:00
cls%seawood.org
620b2a5402 Removed kludge that removed generated files from srcdir
git-svn-id: svn://10.0.0.236/trunk@14738 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:39:49 +00:00
troy%netscape.com
497e834006 Reinstated hack to have the placeholder frame forward the DidReflow() notification
to the floated frame. Needed until the block frame properly handles FirstChild()
and returns the list of floated frames


git-svn-id: svn://10.0.0.236/trunk@14737 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:33:21 +00:00
leaf%mozilla.org
d692bbe45b Removing include of icondata.h, which doesn't seem to exist for xpfe yet.
git-svn-id: svn://10.0.0.236/trunk@14736 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:17:33 +00:00
dcone%netscape.com
b6260dbbdd Updated and tested the taghandling finding mechanism
git-svn-id: svn://10.0.0.236/trunk@14735 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 18:13:09 +00:00
troy%netscape.com
62e0e3c71a Split class declaration out into a separate header file so the body frame
can be a derived class


git-svn-id: svn://10.0.0.236/trunk@14734 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 17:11:12 +00:00
buster%netscape.com
067db66354 added storage in styleTable for a column's width contribution from cells that
have colspan>1.


git-svn-id: svn://10.0.0.236/trunk@14733 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 06:47:24 +00:00
buster%netscape.com
aeee0e2b41 irrationally-specified table (one where the width attributes of various rows don't add up to the same value,
and/or to the width attribute on the table itself), the rule is to try to give the column the largest value
assigned to it by any cell intersecting that column.
Separate storage is maintained for a column's natural desired width (width from any source other than a cell
with a colspan) and the maximum contribution to the column's width from any cell with a colspan.


git-svn-id: svn://10.0.0.236/trunk@14732 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 06:46:00 +00:00
vidur%netscape.com
b0070d4d60 First pass to allow HTML forms to be embedded inside XML documents.
git-svn-id: svn://10.0.0.236/trunk@14731 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 06:16:17 +00:00
beard%netscape.com
991d915062 Added ConvertToLocalCoordinates, WindowToLocalCoordinate for converting from window (device) coordinates to widget coordinates. Moved some calls from Destroy to the destructor to deal with a refcounting bug.
git-svn-id: svn://10.0.0.236/trunk@14730 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 23:31:37 +00:00
beard%netscape.com
6c99d5aed6 Added ConvertToLocalCoordinates, WindowToLocalCoordinate for converting from window (device) coordinates to widget coordinates.
git-svn-id: svn://10.0.0.236/trunk@14729 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 23:30:19 +00:00
pavlov%pavlov.net
5ff1e9a95f removed unused files
git-svn-id: svn://10.0.0.236/trunk@14728 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 22:27:32 +00:00
beard%netscape.com
5ea03f970d Fixed SetThumbSize to not crash when mContext == NULL.
git-svn-id: svn://10.0.0.236/trunk@14727 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 21:58:09 +00:00
beard%netscape.com
33bc4f922b Changed COLOR8TOCOLOR16 to an inline function that simply returns (color8 << 8) | color8. This properly maps 0xFF to 0xFFFF, etc.
git-svn-id: svn://10.0.0.236/trunk@14726 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 21:56:40 +00:00
briano%netscape.com
f9d7538c2b MP-RAS 2.03 doesn't have sys/bitypes.h.
git-svn-id: svn://10.0.0.236/trunk@14725 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 21:47:01 +00:00
pavlov%pavlov.net
af89faa093 removed some debugging messages
git-svn-id: svn://10.0.0.236/trunk@14724 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 19:32:54 +00:00
pavlov%pavlov.net
97b10e9705 removed lots of printf's that were no longer needed
git-svn-id: svn://10.0.0.236/trunk@14723 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 19:32:36 +00:00
pavlov%pavlov.net
274e6e4f5e more work on the resizing. this works a tad better
git-svn-id: svn://10.0.0.236/trunk@14722 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 18:59:09 +00:00
pavlov%pavlov.net
49e4bc2251 Initial work on resizing. This works somewhat
git-svn-id: svn://10.0.0.236/trunk@14721 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 18:28:16 +00:00
msw%gimp.org
9aed506fc8 Oops - scrolling was set up backwards.
git-svn-id: svn://10.0.0.236/trunk@14720 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:30:31 +00:00
locka%iol.ie
bef4f8aa2f Added extra button
git-svn-id: svn://10.0.0.236/trunk@14719 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:18:36 +00:00
locka%iol.ie
061edb5b7e Added extra button to scan folders (still disabled)
git-svn-id: svn://10.0.0.236/trunk@14718 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:18:06 +00:00
locka%iol.ie
a72805248d *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@14717 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:16:55 +00:00
locka%iol.ie
16420a9327 Added NPL header
git-svn-id: svn://10.0.0.236/trunk@14716 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:13:49 +00:00
locka%iol.ie
4e6321a667 Added NPL header
Fixed problem caused by typedef int32 disappearing from winsock.h


git-svn-id: svn://10.0.0.236/trunk@14715 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:09:20 +00:00
locka%iol.ie
10a2edf355 Added NPL header
Added extra diagnostics


git-svn-id: svn://10.0.0.236/trunk@14714 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:07:04 +00:00
locka%iol.ie
daada24abe Fixed trace bug
Added NPL header


git-svn-id: svn://10.0.0.236/trunk@14713 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 17:04:58 +00:00
cls%seawood.org
bf6ec432b8 Better handling of the -c -o problem. Thanks to Tim Rice <tim@trr.metro.NET> for the patch
git-svn-id: svn://10.0.0.236/trunk@14712 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 09:55:01 +00:00
cls%seawood.org
283d3705d8 Added --with-gtk-config=$location_of_gtk-config.
Added version checking for gtk.
Added check for GNU CC for setting DSO_LDOPTS for solaris and freebsd.
If compiler doesn't support -c -o, then use ${topsrcdir}/build/{hcc,hcpp}.
Cleaned up missing nspr error message.


git-svn-id: svn://10.0.0.236/trunk@14711 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 09:42:57 +00:00
cls%seawood.org
93ddf67399 Added GTK_CONFIG
git-svn-id: svn://10.0.0.236/trunk@14710 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 09:12:37 +00:00
cls%seawood.org
88a10a469b Build xpfe by default now.
git-svn-id: svn://10.0.0.236/trunk@14709 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 09:12:03 +00:00
cls%seawood.org
00192c135f Added build/hcc & build/hcpp to pull_autoconf
git-svn-id: svn://10.0.0.236/trunk@14708 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 09:11:35 +00:00
briano%netscape.com
9eff91466b Fix for platforms that have PRInt64 defined as a struct.
git-svn-id: svn://10.0.0.236/trunk@14707 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:56:19 +00:00
briano%netscape.com
a91760319f Fix for overly anal-retentive compilers.
git-svn-id: svn://10.0.0.236/trunk@14706 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:47:18 +00:00
briano%netscape.com
4bbb85313c Fix to shut up the compilers on OSF/1.
git-svn-id: svn://10.0.0.236/trunk@14705 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:46:54 +00:00
briano%netscape.com
aef7ac5a48 Fix for a variety of nit-picking compilers.
git-svn-id: svn://10.0.0.236/trunk@14704 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:40:32 +00:00
briano%netscape.com
479882883f Fixes for AIXV3.
git-svn-id: svn://10.0.0.236/trunk@14703 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:39:27 +00:00
briano%netscape.com
28512fe231 Fixes for various non-Linux platforms that no one but me cares about.
git-svn-id: svn://10.0.0.236/trunk@14702 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:36:41 +00:00
briano%netscape.com
700c4a1593 Minor tweaks for 5.3 and 5.4.
git-svn-id: svn://10.0.0.236/trunk@14701 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:27:17 +00:00
briano%netscape.com
72c3310865 Support building on 3.2.5 in case someone has to.
git-svn-id: svn://10.0.0.236/trunk@14700 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 08:25:19 +00:00
pavlov%pavlov.net
257f830305 Impliment the key press events
git-svn-id: svn://10.0.0.236/trunk@14699 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:38:43 +00:00
msw%gimp.org
f7e05da556 Initial scrolling support - it's jumpy, but it works
git-svn-id: svn://10.0.0.236/trunk@14698 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:24:57 +00:00
mjudge%netscape.com
9946ad5ea4 fixing test app for lame windows compiler
git-svn-id: svn://10.0.0.236/trunk@14697 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:09:51 +00:00
mjudge%netscape.com
864d194dba adding the void ** back in. windows compiler is lame.
git-svn-id: svn://10.0.0.236/trunk@14696 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:08:56 +00:00
mjudge%netscape.com
ea2e4366fa editor changes that will not affect build! gooooo mike
git-svn-id: svn://10.0.0.236/trunk@14695 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:04:45 +00:00
mjudge%netscape.com
040421894c editor changes are being prepared. SHOULD NOT EFFECT BUILD
git-svn-id: svn://10.0.0.236/trunk@14694 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 07:04:02 +00:00
pavlov%pavlov.net
1280035af5 add and remove items correctly. this fixes crashes on pages with comboboxes
git-svn-id: svn://10.0.0.236/trunk@14693 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 06:22:03 +00:00
mjudge%netscape.com
148521fbb4 oops messed up the build. fixing...
git-svn-id: svn://10.0.0.236/trunk@14692 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 04:13:14 +00:00
scc%netscape.com
70163ae70a operator void** is superfluous; removed. Added operator* to support clients who (against better advice) write getter functions that look like this GetSomething(T*& result)
git-svn-id: svn://10.0.0.236/trunk@14691 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 02:10:04 +00:00
kipp%netscape.com
1f8a32ffdb Removed extraneous bullet padding that was left-over from the pre-pseudo-style days
git-svn-id: svn://10.0.0.236/trunk@14690 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 01:17:05 +00:00
kipp%netscape.com
ab8a0f8a42 Attempt to compute max-element-size better
git-svn-id: svn://10.0.0.236/trunk@14689 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 01:13:44 +00:00
kipp%netscape.com
42ebf96e27 Tidy the max-element-size code
git-svn-id: svn://10.0.0.236/trunk@14688 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 01:13:25 +00:00
kipp%netscape.com
3dc450bf61 Cleaned up OL/UL margins
git-svn-id: svn://10.0.0.236/trunk@14687 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 01:13:00 +00:00
pavlov%pavlov.net
454a4f22b8 Remove debugging message and set the scrollbar size
git-svn-id: svn://10.0.0.236/trunk@14686 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 00:57:21 +00:00
pavlov%pavlov.net
604aeb8534 patch from Owen Taylor <otaylor@redhat.com> to fix fix the GBR->RGB conversion
for images.


git-svn-id: svn://10.0.0.236/trunk@14685 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 00:53:10 +00:00
kipp%netscape.com
faa8c9c0eb Properly walk up the tree to find the real color
git-svn-id: svn://10.0.0.236/trunk@14684 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 00:20:52 +00:00
kipp%netscape.com
7200077d4d Repaired Get3DColors code to work properly; added in extra code to make sure we never return the passed in color as one of the output colors
git-svn-id: svn://10.0.0.236/trunk@14683 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-15 00:20:27 +00:00
pavlov%pavlov.net
8c1ac53b4d convert BGR colors to RGB for tables and such. We now draw images, text, etc
correctly, and we don't crash (at least not usually).  Images are not
converted from BGR to RGB yet, but they will be shortly.


git-svn-id: svn://10.0.0.236/trunk@14682 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 23:47:41 +00:00
kipp%netscape.com
9f2054c505 Added some more null-pointer checking to DOM methods
git-svn-id: svn://10.0.0.236/trunk@14681 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 22:51:43 +00:00
kipp%netscape.com
4b86830d22 Fixed bug #1257: the bug was that we were overrunning the transformers malloc'd buffer because the mBufferLength was never being updated
git-svn-id: svn://10.0.0.236/trunk@14680 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 22:27:50 +00:00
kipp%netscape.com
8e672b6551 Removed and unused member variable
git-svn-id: svn://10.0.0.236/trunk@14679 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 22:27:06 +00:00
kipp%netscape.com
6f7a324458 Fixed frame-removed crash case (when we run out kids); bug #691
git-svn-id: svn://10.0.0.236/trunk@14678 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 21:57:38 +00:00
pavlov%pavlov.net
7c905feb11 use gtk styles for the look and feel. this makes everything look much more
together.  use the correct window when we create the GC for nsWidgets, and
move one of the callbacks into the correct place.


git-svn-id: svn://10.0.0.236/trunk@14677 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 21:08:27 +00:00
kipp%netscape.com
9e3eceabae Basic support for :first-letter pseudo-elements
git-svn-id: svn://10.0.0.236/trunk@14676 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 21:01:26 +00:00
pavlov%pavlov.net
4b8b51488c use the gdkrgb colormap/visual for the widget creation. put nscoord() around
two doubles in nsGtkEventHandler to fix a compiler warning.  call gdk_rgb_init
in nsAppShell and not in the gfx stuff multiple times


git-svn-id: svn://10.0.0.236/trunk@14675 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:40:31 +00:00
pavlov%pavlov.net
35061f6ecd use NS_TO_X to convert the pixel to gdkrgb type. this may not be what we want
to do here though.


git-svn-id: svn://10.0.0.236/trunk@14674 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:39:04 +00:00
kipp%netscape.com
8c16e2eebc Eliminated NewFrame
git-svn-id: svn://10.0.0.236/trunk@14673 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:28:34 +00:00
kipp%netscape.com
db993de7c6 Modified List code to list floater list and bullet better; support multiple child lists; manage floater list properly
git-svn-id: svn://10.0.0.236/trunk@14672 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:28:11 +00:00
kipp%netscape.com
8a35c19883 Removed hacks that were mostly block-frame bug workarounds
git-svn-id: svn://10.0.0.236/trunk@14671 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:26:57 +00:00
kipp%netscape.com
5eac8852a3 DidReflow now supports multiple child lists; added DeleteFrameList helper method
git-svn-id: svn://10.0.0.236/trunk@14670 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 19:25:34 +00:00
waterson%netscape.com
9179bddb5a Initial revision.
git-svn-id: svn://10.0.0.236/trunk@14669 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 08:58:29 +00:00
waterson%netscape.com
01dc10a642 Fixed misc column bugs.
git-svn-id: svn://10.0.0.236/trunk@14668 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 08:54:54 +00:00
waterson%netscape.com
d2e07dfe1a Fixed an IID mis-definition.
git-svn-id: svn://10.0.0.236/trunk@14667 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 08:54:16 +00:00
waterson%netscape.com
ab3dc72646 Got GetNthItem() working.
git-svn-id: svn://10.0.0.236/trunk@14666 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 08:13:25 +00:00
msw%gimp.org
968efffd3e Draw directly onto windows, not on a pixmap
git-svn-id: svn://10.0.0.236/trunk@14665 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 06:35:25 +00:00
michaelp%netscape.com
96d71286a4 fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@14661 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:58:09 +00:00
waterson%netscape.com
2225952138 Hooked up InitFromResource() in a sort of half-assed way I'm not sure I understand.
git-svn-id: svn://10.0.0.236/trunk@14660 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:56:01 +00:00
waterson%netscape.com
c11eb2fede Misc. cleanup.
git-svn-id: svn://10.0.0.236/trunk@14659 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:55:48 +00:00
kipp%netscape.com
c631ba58e3 Fixed typo
git-svn-id: svn://10.0.0.236/trunk@14657 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:31:29 +00:00
briano%netscape.com
3b34eb52b3 Created a special-case macro for OSF/1 2.0 (hey, _someone_ might still be using it) so we can pass the compiler the -x cxx flag, which is required by the old 2.0 cxx compiler.
git-svn-id: svn://10.0.0.236/trunk@14656 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:26:55 +00:00
briano%netscape.com
28dcbca00a Added Frank van der Linden's (frank@wins.uva.nl) requested changes.
git-svn-id: svn://10.0.0.236/trunk@14654 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:22:43 +00:00
pavlov%pavlov.net
0d0c995122 fix for removing children, add gtk_exit() to the exit call of nsAppShell and
redid a few move functions


git-svn-id: svn://10.0.0.236/trunk@14653 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:15:06 +00:00
michaelp%netscape.com
7c96d12312 changes to support printing architecture and actual printing under windows.
git-svn-id: svn://10.0.0.236/trunk@14651 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 02:05:13 +00:00
michaelp%netscape.com
1fe751e205 added new xpcom objects to registry. i'm really getting tired of this hack...
git-svn-id: svn://10.0.0.236/trunk@14650 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:59:49 +00:00
michaelp%netscape.com
1f112558cd changes to support printing.
git-svn-id: svn://10.0.0.236/trunk@14649 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:58:34 +00:00
michaelp%netscape.com
25149e78ea changes for pixel scaling/printing.
git-svn-id: svn://10.0.0.236/trunk@14647 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:52:27 +00:00
pavlov%pavlov.net
b0ed8266ad Fix the Font methods. This allows the pages to be rendered.. under something
so we still can't see it.. i'm looking


git-svn-id: svn://10.0.0.236/trunk@14646 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:43:27 +00:00
pavlov%pavlov.net
f6b7bf5869 fix gtklayout so that it removes children properly. add a few more debugging
messages to nsWidget and nsWindow


git-svn-id: svn://10.0.0.236/trunk@14645 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:42:42 +00:00
bjorn%netscape.com
70ddc60ea9 Removing files to restructure the typelib stuff.
git-svn-id: svn://10.0.0.236/trunk@14644 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 01:22:50 +00:00
scc%netscape.com
6250806e51 fixed for IRIX (doesn't like new-style casts)
git-svn-id: svn://10.0.0.236/trunk@14642 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:35:48 +00:00
vidur%netscape.com
eea563e7fd Added Xlink support
git-svn-id: svn://10.0.0.236/trunk@14641 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:22:10 +00:00
vidur%netscape.com
19d3032d70 Added support for XLink - simple links and show=replace or new. Modified nsILinkHandler interface.
git-svn-id: svn://10.0.0.236/trunk@14640 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:21:19 +00:00
waterson%netscape.com
e54ec51180 Added nsIRDFResource interface to clean up some internal downcasting kludges and stop their evil propagation.
git-svn-id: svn://10.0.0.236/trunk@14639 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:19:00 +00:00
waterson%netscape.com
1980ba8ade Initial revision.
git-svn-id: svn://10.0.0.236/trunk@14638 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:17:58 +00:00
joki%netscape.com
5f606a33e0 Modify cursor types from default to inherit (they're the same internally right now)
git-svn-id: svn://10.0.0.236/trunk@14637 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-14 00:00:03 +00:00
joki%netscape.com
0d29052c82 Modify cursor setting code to check css cursor setting for containers.
git-svn-id: svn://10.0.0.236/trunk@14636 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 23:58:52 +00:00
karnaze%netscape.com
44efd97f78 bug 1374 (hometown.aol.com crash on resize)
git-svn-id: svn://10.0.0.236/trunk@14635 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 23:44:50 +00:00
karnaze%netscape.com
d94c8fd321 bug 1226 for form control with native widgets. Other controls are still not working.
git-svn-id: svn://10.0.0.236/trunk@14634 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 23:13:42 +00:00
karnaze%netscape.com
65b6034ae6 bug 1357 involving a hidden control not getting submitted
git-svn-id: svn://10.0.0.236/trunk@14633 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 23:10:52 +00:00
vidur%netscape.com
ac22156a81 Generic HTML collection base class
git-svn-id: svn://10.0.0.236/trunk@14622 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:30:23 +00:00
leaf%mozilla.org
b53becbefd Checking in a fix for linux builds.
git-svn-id: svn://10.0.0.236/trunk@14621 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:16:07 +00:00
dcone%netscape.com
4c70822459 New tag handling code added
git-svn-id: svn://10.0.0.236/trunk@14620 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:14:45 +00:00
mcmullen%netscape.com
7d8ba2670e Commenting out previous change for now.
git-svn-id: svn://10.0.0.236/trunk@14619 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:06:10 +00:00
wtc%netscape.com
4c2f42d2a9 Specify -R <path> if LIBRUNPATH is defined in the environment.
Contributed by Frank van der Linden (frank@wins.uva.nl).


git-svn-id: svn://10.0.0.236/trunk@14618 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:05:33 +00:00
mcmullen%netscape.com
3c3462c43b Put the first error in the perl console as well as the log file.
git-svn-id: svn://10.0.0.236/trunk@14617 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:01:21 +00:00
mcmullen%netscape.com
2da0c905a3 Work around a CW Pro4 bug. If the CW Find window is in front before you start, and you try to use an applevent to walk the list of open
documents, you will fail.  Running the build script in this case would open each of the projects in turn, but fail to attempt to build them or to close
them again.  The output will say something like "building foo / building bar / ... / build complete".  Nothing would be built, and the log file would show no
errors. 

This change will stop the build, instead of just barreling ahead
regardless, in the case when the Find window bug is encountered.


git-svn-id: svn://10.0.0.236/trunk@14616 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 22:01:01 +00:00
despotdaemon%netscape.com
801a094046 Pseudo-automatic update of changes made by mcmullen@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14615 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 21:56:47 +00:00
troy%netscape.com
b33787056b Changed GetLoadImageFailed() so it checks with the image loader rather
than just using the value of mLoadImageFailed. Fixes bug #1287


git-svn-id: svn://10.0.0.236/trunk@14614 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 21:31:50 +00:00
troy%netscape.com
d0270485ee Changed Notify() to call NotifyError() if the notification type is
nsImageNotification_kAborted. This ensures that the NS_IMAGE_LOAD_STATUS_ERROR
load status bit is set and that the frame gets repainted


git-svn-id: svn://10.0.0.236/trunk@14613 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 21:21:15 +00:00
akkana%netscape.com
85c7f6764a xpfe is now in nglayout.mk, doesn't need to be pulled by client.mk
git-svn-id: svn://10.0.0.236/trunk@14612 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 21:03:26 +00:00
rjc%netscape.com
fd1e1b4987 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14611 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:47:53 +00:00
despotdaemon%netscape.com
46f0aab451 Pseudo-automatic update of changes made by rudman@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14610 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:39:12 +00:00
rickg%netscape.com
7ac80c8417 incrmental improvement in view-source for better text-run handling
git-svn-id: svn://10.0.0.236/trunk@14609 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:16:05 +00:00
scc%netscape.com
56449b02df SOLARIS _does_ support member using declarations, so modify the test to let them through
git-svn-id: svn://10.0.0.236/trunk@14608 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:07:25 +00:00
scc%netscape.com
b1e51f2dd8 fixed order of declarations (confused SOLARIS compiler) and return types of AddRef and Release to match in the unfortunate case that the compiler does not support member using declarations
git-svn-id: svn://10.0.0.236/trunk@14607 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:06:43 +00:00
pinkerton%netscape.com
e94b269309 get rid of "hiding inherited virtual method" warnings on CanContain() by making it const like it's parent class.
git-svn-id: svn://10.0.0.236/trunk@14606 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 20:04:27 +00:00
alecf%netscape.com
96298d61de implement fe_GetConfigDir
git-svn-id: svn://10.0.0.236/trunk@14605 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 19:46:00 +00:00
rickg%netscape.com
8694b27dc6 added tag handling support for future use
git-svn-id: svn://10.0.0.236/trunk@14604 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 19:45:09 +00:00
alecf%netscape.com
c2bf93f15a updated to allow for one-step building
git-svn-id: svn://10.0.0.236/trunk@14603 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 19:42:43 +00:00
scc%netscape.com
c9a93fd103 unified compiler dependent code (removed from unit-tests, inserted in header); fixed for egcs-1.1 well known bug (member using declarations don't work)
git-svn-id: svn://10.0.0.236/trunk@14602 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 19:41:24 +00:00
rickg%netscape.com
1b71e25bc6 added nsITagHandler for future use
git-svn-id: svn://10.0.0.236/trunk@14601 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 19:20:47 +00:00
troy%netscape.com
98bfa2a63c Added check for SRC being an empty string
git-svn-id: svn://10.0.0.236/trunk@14598 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 18:38:16 +00:00
matt%netscape.com
0aa5613660 Re-updated to CW 4.0 - we need it at this level so that the Mac tinderbox doesn't get wedged.
git-svn-id: svn://10.0.0.236/trunk@14597 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 18:28:59 +00:00
troy%netscape.com
ae5da1b1b1 Changed it so that if there's a NULL URL then we set the mLoadImageFailed
flag and don't try and load the broken image URL. Only on Windows for now
until Mac and Unix support the image icons


git-svn-id: svn://10.0.0.236/trunk@14596 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 17:00:54 +00:00
pavlov%pavlov.net
867d43cb50 Fix gtklayout child sizing problems, add gtk_widget_set_name to all of the
widgets for a bunch of debugging into that is being printf'd.  Fixed most all
of nsListBox so that it works correctly.  We now have widgets working! yippie!
I almost have gfx working too... heehee :-)


git-svn-id: svn://10.0.0.236/trunk@14595 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 16:37:03 +00:00
pavlov%pavlov.net
72065479ef add nsRegionGTK to the factory. this fixes some major region related
problems.


git-svn-id: svn://10.0.0.236/trunk@14594 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 16:29:46 +00:00
scc%netscape.com
5a3153856f Fixed for VC++ 4.2 (no template function specifiers at the call site)
git-svn-id: svn://10.0.0.236/trunk@14593 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 12:33:58 +00:00
rjc%netscape.com
7a87714ce1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14590 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 08:56:09 +00:00
rjc%netscape.com
cf60a27d14 Include a few more essential header files.
git-svn-id: svn://10.0.0.236/trunk@14589 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 08:53:29 +00:00
troy%netscape.com
a0ba51c52c Changed Notify() to handle nsImageNotification_kAborted and set the image load
status to NS_IMAGE_LOAD_STATUS_ERROR


git-svn-id: svn://10.0.0.236/trunk@14588 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 06:24:33 +00:00
troy%netscape.com
b4ea688607 Fixed a crash when using File|Exit from the print preview window
git-svn-id: svn://10.0.0.236/trunk@14587 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 05:53:47 +00:00
troy%netscape.com
b7fc0e639a Removed an assert that was incorrect and that triggered when print
previewing test1


git-svn-id: svn://10.0.0.236/trunk@14586 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 05:17:08 +00:00
rickg%netscape.com
a1a662c891 fixed a crash that someone missed
git-svn-id: svn://10.0.0.236/trunk@14585 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 04:58:35 +00:00
rickg%netscape.com
11309dbf4e allow view-source on XML
git-svn-id: svn://10.0.0.236/trunk@14583 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 04:36:46 +00:00
troy%netscape.com
e8b6cc2769 Added a scroll frame for print preview
git-svn-id: svn://10.0.0.236/trunk@14582 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 04:22:23 +00:00
troy%netscape.com
13ef91147a Cleaned up ConstructXMLRootFrame() and added some XXX comments
git-svn-id: svn://10.0.0.236/trunk@14581 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 03:43:15 +00:00
cls%seawood.org
070ad923bf Previously reset endsection in the wrong place.
git-svn-id: svn://10.0.0.236/trunk@14580 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 03:17:09 +00:00
waterson%netscape.com
27adcac439 Added some good COM citizenry to the node factory methods.
git-svn-id: svn://10.0.0.236/trunk@14579 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:59:56 +00:00
waterson%netscape.com
ded0a6e1d4 Fixed outbound/inbound mixup for traversing the arcs in Open(). Fixed some bugs in Open() for adding kids to a node.
git-svn-id: svn://10.0.0.236/trunk@14578 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:59:12 +00:00
waterson%netscape.com
3b85146b00 Got rid of Initialize().
git-svn-id: svn://10.0.0.236/trunk@14577 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:57:58 +00:00
waterson%netscape.com
98fe67ef0e Got rid of Initialize() method and just moved that code into InitFromURL(). Added default initializers for the arc info.
git-svn-id: svn://10.0.0.236/trunk@14576 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:57:33 +00:00
waterson%netscape.com
e7adb06e88 A complete hack to get the bookmark file.
git-svn-id: svn://10.0.0.236/trunk@14575 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:54:39 +00:00
waterson%netscape.com
9711ca18f6 Hack to use rdf:bookmarks rather than NC:Bookmarks as to top of the bookmark tree. This is mostly for the Raptor demo until I can get Guha to look at it.
git-svn-id: svn://10.0.0.236/trunk@14574 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:53:50 +00:00
vidur%netscape.com
a9e72c3c46 Temporary fix when scroll frame is created unsized. The real fix will come from michaelp.
git-svn-id: svn://10.0.0.236/trunk@14573 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:50:24 +00:00
akkana%netscape.com
64e5b75a45 Put back the old pwd code; otherwise it crashes if MOZILLA_HOME isn't set
git-svn-id: svn://10.0.0.236/trunk@14572 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:49:19 +00:00
vidur%netscape.com
c5e9198c6b Null check for prefs. The MozillaControl doesn't set up prefs correctly quite yet (and might never will).
git-svn-id: svn://10.0.0.236/trunk@14571 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:47:33 +00:00
gagan%netscape.com
61ff9414d7 Getting this to build on BSD. See bugzilla bug #122. Thanks Frank van der Linden (frank@wins.uva.nl)
git-svn-id: svn://10.0.0.236/trunk@14570 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:47:10 +00:00
sar%netscape.com
6eeabfbf5c add mozilla/editor to the RaptorDist module at the request of mjudge
git-svn-id: svn://10.0.0.236/trunk@14569 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:21:58 +00:00
troy%netscape.com
fc79083fd3 Added ListTag() member function
git-svn-id: svn://10.0.0.236/trunk@14568 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:20:31 +00:00
akkana%netscape.com
6173d15046 Fix more build bustage (IRIX)
git-svn-id: svn://10.0.0.236/trunk@14567 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:12:55 +00:00
wtc%netscape.com
b813447f3a Merged the NetBSD patch contributed by Frank van der Linden
(frank@wins.uva.nl).
ftp://ftp.netbsd.org/pub/NetBSD/misc/fvdl/mozilla/diff-19981008.001


git-svn-id: svn://10.0.0.236/trunk@14566 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 02:12:38 +00:00
kin%netscape.com
23dd013f7e Fixed library name typo to fix build bustage on Unix.
git-svn-id: svn://10.0.0.236/trunk@14564 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 01:33:29 +00:00
cls%seawood.org
affaf49581 Added support for multiple status reports in a single email.
Added keyword END to mark the end of a status report.


git-svn-id: svn://10.0.0.236/trunk@14563 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 01:27:02 +00:00
cls%seawood.org
27198ed45e Added MPL header and changed version to SNAP.
git-svn-id: svn://10.0.0.236/trunk@14562 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 01:25:48 +00:00
waterson%netscape.com
8501856240 Added code to expand children.
git-svn-id: svn://10.0.0.236/trunk@14561 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 00:54:53 +00:00
scc%netscape.com
709841f25f Fixed (unit-tests only) for VC++ 4.2 (no 'explicit')
git-svn-id: svn://10.0.0.236/trunk@14560 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 00:34:41 +00:00
despotdaemon%netscape.com
b8c6f31bc0 Pseudo-automatic update of changes made by jj@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14559 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 00:34:09 +00:00
despotdaemon%netscape.com
55ba7e082c Pseudo-automatic update of changes made by ssu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14558 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 00:33:20 +00:00
akkana%netscape.com
8195367fcf Define gAppContext -- fix crash on startup
git-svn-id: svn://10.0.0.236/trunk@14557 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-13 00:23:16 +00:00
jfrancis%netscape.com
ad491433a9 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14556 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:59:32 +00:00
vidur%netscape.com
a61e198b1a XML example with scripting
git-svn-id: svn://10.0.0.236/trunk@14555 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:57:54 +00:00
vidur%netscape.com
64cb975c74 Added script handling to XML content sink. Made sure frame construction by tag wasn't done for XML.
git-svn-id: svn://10.0.0.236/trunk@14554 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:55:47 +00:00
vidur%netscape.com
300e345ba6 Added support for CDATA sections.
git-svn-id: svn://10.0.0.236/trunk@14553 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:54:37 +00:00
shaver%netscape.com
d9f2935397 add proper QI and Create calls for RO text widget
git-svn-id: svn://10.0.0.236/trunk@14552 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:54:34 +00:00
vidur%netscape.com
da54dfbcc2 Changed get/setDOMAttribute to get/setAttribute in generated script glue class. This is temporary!! It may get lost in a later checkin since the change was made manually and not through the generator
git-svn-id: svn://10.0.0.236/trunk@14551 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:53:46 +00:00
despotdaemon%netscape.com
133b3c3a62 Pseudo-automatic update of changes made by bienvenu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14550 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:44:38 +00:00
waterson%netscape.com
30b9ca8ac1 Added one-time initialization for RDF.
git-svn-id: svn://10.0.0.236/trunk@14549 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:39:25 +00:00
kipp%netscape.com
bf9dbe6a89 Actually advance the dest pointer so a copy occurs (doh!)
git-svn-id: svn://10.0.0.236/trunk@14548 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:33:12 +00:00
kipp%netscape.com
4e26047e39 Fixed a memory leak with text editing
git-svn-id: svn://10.0.0.236/trunk@14547 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:31:38 +00:00
despotdaemon%netscape.com
9ef484d2bc Pseudo-automatic update of changes made by mscott@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14546 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:30:58 +00:00
despotdaemon%netscape.com
e9b5fa559c Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@14545 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:26:39 +00:00
despotdaemon%netscape.com
50629c5c9b Pseudo-automatic update of changes made by ppandit@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14544 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:11:13 +00:00
troy%netscape.com
48a7503df3 Cleaned up the way construction of the root frame happens for XML documents.
We no longer create a pseudo root element


git-svn-id: svn://10.0.0.236/trunk@14543 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 23:03:35 +00:00
waterson%netscape.com
6c8193b779 Minor tweaks to get factory working.
git-svn-id: svn://10.0.0.236/trunk@14542 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:46:41 +00:00
despotdaemon%netscape.com
337529ba36 Pseudo-automatic update of changes made by namachi@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14541 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:44:33 +00:00
despotdaemon%netscape.com
ab1e3c2ad7 Pseudo-automatic update of changes made by lpham@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14540 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:41:22 +00:00
despotdaemon%netscape.com
f2eed8a581 Pseudo-automatic update of changes made by ducarroz@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14539 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:33:03 +00:00
joki%netscape.com
a9b12553ca DOM Support: nsHTMLDocument body property
git-svn-id: svn://10.0.0.236/trunk@14538 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:25:51 +00:00
kipp%netscape.com
4004ea6d2a Fixed margin collapsing bug
git-svn-id: svn://10.0.0.236/trunk@14537 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:24:46 +00:00
despotdaemon%netscape.com
4dfa3fc915 Pseudo-automatic update of changes made by chrisf@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14536 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:21:51 +00:00
waterson%netscape.com
5edf0d404d Rename nsRDFCIDs.h to nsRDFCID.h to be consistent with the rest of the world.
git-svn-id: svn://10.0.0.236/trunk@14535 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:20:08 +00:00
mjudge%netscape.com
762c599ef7 this works with the new autopointers
git-svn-id: svn://10.0.0.236/trunk@14534 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:18:43 +00:00
waterson%netscape.com
aab295e1ca One more time. Deal with interface inheiritance by delegation. Sucks, but...oh well.
git-svn-id: svn://10.0.0.236/trunk@14533 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:13:31 +00:00
despotdaemon%netscape.com
c755099887 Pseudo-automatic update of changes made by takacs@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@14532 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 22:02:46 +00:00
despotdaemon%netscape.com
812befb862 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@14531 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:50:49 +00:00
joki%netscape.com
40f25eb994 Get rid of old comment.
git-svn-id: svn://10.0.0.236/trunk@14530 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:35:46 +00:00
joki%netscape.com
2a777b6656 Fix bug where the DOM event bubbling process was overriding previous event status codes.
git-svn-id: svn://10.0.0.236/trunk@14529 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:35:27 +00:00
pinkerton%netscape.com
bc413017e9 Replacing message pump with message sink. The pump is "client" code and has been moved out there to better separate the event handling.
git-svn-id: svn://10.0.0.236/trunk@14528 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:25:26 +00:00
pinkerton%netscape.com
9651a64926 moving message pump and app shell into "client" code because they should not be a part of the widget library.
git-svn-id: svn://10.0.0.236/trunk@14527 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:24:53 +00:00
pinkerton%netscape.com
21d40ad4ca Separate the event loop in the client from the nglayout/widget provided code. Now creates a message pump (client side) and a message sink (nglayout side) for event handling.
git-svn-id: svn://10.0.0.236/trunk@14526 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:24:16 +00:00
pinkerton%netscape.com
f073c1311e export nsMacMessageSink instead to separate the client from the internals of the event loop.
git-svn-id: svn://10.0.0.236/trunk@14525 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:23:02 +00:00
pinkerton%netscape.com
402a4f0911 Moved into viewer, since these are "client" routines and don't belong under
Widget.


git-svn-id: svn://10.0.0.236/trunk@14524 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:22:24 +00:00
pinkerton%netscape.com
0d9eab1aa6 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14523 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:20:36 +00:00
buster%netscape.com
ed61619f6b fixed a tiny bug in handling unexpected frames in a row
git-svn-id: svn://10.0.0.236/trunk@14521 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:04:41 +00:00
buster%netscape.com
839e25fcb5 rowgroup pseudo-frames for rows inserted directly into a table
git-svn-id: svn://10.0.0.236/trunk@14520 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 20:45:28 +00:00
alecf%netscape.com
8e0cfd8ffe fix for unix bustage
git-svn-id: svn://10.0.0.236/trunk@14519 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 20:27:31 +00:00
mjudge%netscape.com
6a6baf3e9c adding the test_com_auto_ptr.exe as a new test
git-svn-id: svn://10.0.0.236/trunk@14518 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 20:07:28 +00:00
mjudge%netscape.com
76dc70335a modifying makefile.win to export the new com_auto_ptr.h file
git-svn-id: svn://10.0.0.236/trunk@14517 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 20:05:41 +00:00
scc%netscape.com
1331dc468c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14516 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 20:00:51 +00:00
alecf%netscape.com
bb62bc17af fix autoconf bustage for new xml layout stuff
git-svn-id: svn://10.0.0.236/trunk@14515 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 19:37:08 +00:00
beard%netscape.com
623bf257e4 Prints the name of the target being built as well.
git-svn-id: svn://10.0.0.236/trunk@14514 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 19:34:14 +00:00
alecf%netscape.com
d71c278a30 fix Solaris/gcc bustage
git-svn-id: svn://10.0.0.236/trunk@14513 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 19:19:09 +00:00
buster%netscape.com
eeaf9cbedd col and colgroup attribute handling
colgroup pseudo frame for cols inserted directly into a table.  More like this to come...


git-svn-id: svn://10.0.0.236/trunk@14512 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 18:37:28 +00:00
kipp%netscape.com
71662f0d55 Fixed some serious bugs in list bullet placement that prevented some relatively easy cases from working at all; this fixes up most outside list bullet cases
git-svn-id: svn://10.0.0.236/trunk@14511 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 18:19:22 +00:00
kipp%netscape.com
f8f00d8bd7 init the html atoms too...(temporary)
git-svn-id: svn://10.0.0.236/trunk@14510 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 18:16:25 +00:00
vidur%netscape.com
596f5264bb Modified stylesheet
git-svn-id: svn://10.0.0.236/trunk@14509 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 17:17:48 +00:00
vidur%netscape.com
cc5477eb92 new
git-svn-id: svn://10.0.0.236/trunk@14508 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 16:36:02 +00:00
kipp%netscape.com
0300e60d1f Fixed list numbering to work again (whoops!); added support for display: compact (just the beginnings); more work-in-progress for :first-letter support
git-svn-id: svn://10.0.0.236/trunk@14507 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 16:32:56 +00:00
kipp%netscape.com
25b61d53b3 Support for display: compact
git-svn-id: svn://10.0.0.236/trunk@14506 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 16:32:19 +00:00
kipp%netscape.com
152ed9b709 Some support for first-letter style
git-svn-id: svn://10.0.0.236/trunk@14505 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 16:31:38 +00:00
waterson%netscape.com
9f81df589a Slugfest to get HT wired up thru C++ interfaces.
git-svn-id: svn://10.0.0.236/trunk@14504 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 08:56:20 +00:00
vidur%netscape.com
28b563ea1c Added new interface nsIHTMLContentContainer
git-svn-id: svn://10.0.0.236/trunk@14503 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 07:56:13 +00:00
vidur%netscape.com
84598f1f88 Factored GetAttributStyleSheet method into separate nsHTMLContentContainer interface that can be implemented by both HTML and XML document classes.
git-svn-id: svn://10.0.0.236/trunk@14502 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 07:54:12 +00:00
vidur%netscape.com
a4e3cbd63e Got rid of bogus dependency on XMLContent
git-svn-id: svn://10.0.0.236/trunk@14501 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 07:06:47 +00:00
pinkerton%netscape.com
8d48b89986 Use the correct prefix files to pick up all our settings.
git-svn-id: svn://10.0.0.236/trunk@14499 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 06:00:05 +00:00
pinkerton%netscape.com
f938f75ace Added specific mac toolbox include files (and helper macros) not covered in the widget prefix file.
git-svn-id: svn://10.0.0.236/trunk@14498 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 05:59:31 +00:00
pinkerton%netscape.com
718cf50bfc First Checked In.
git-svn-id: svn://10.0.0.236/trunk@14497 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 05:57:33 +00:00
troy%netscape.com
a7875d7a01 Changed slightly the check for whether the vertical scrollbar will be hidden.
This way it works better for XML documents that have an initial value for the
overflow property


git-svn-id: svn://10.0.0.236/trunk@14494 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 03:56:57 +00:00
cyeh%netscape.com
7bb05bddbe first pass to remove http://warp links and update bonsai documentation
to be more outsider friendly.


git-svn-id: svn://10.0.0.236/trunk@14491 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 02:30:55 +00:00
waterson%netscape.com
db5b17eb18 Added forward decl of nsIDMItem.
git-svn-id: svn://10.0.0.236/trunk@14490 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 02:11:07 +00:00
waterson%netscape.com
1b98afa5c7 Added nsRDFCIDs.h, which contains class IDs for RDF objects.
git-svn-id: svn://10.0.0.236/trunk@14489 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 02:09:56 +00:00
pinkerton%netscape.com
5e19627971 Add xml/layout files.
git-svn-id: svn://10.0.0.236/trunk@14488 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 01:05:48 +00:00
hyatt%netscape.com
ab50ba4f97 Added a method for counting columns in the tree.
git-svn-id: svn://10.0.0.236/trunk@14487 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 01:03:25 +00:00
pinkerton%netscape.com
b62a3ba585 Add nsViewSourceHTML.cpp to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@14486 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 01:01:35 +00:00
pinkerton%netscape.com
f3a24bb255 add nsWellFormedDTD.h to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@14485 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 01:01:22 +00:00
pinkerton%netscape.com
42adb0b502 Fix build bustage. Add xml/document files and nsGenericElement.cpp
git-svn-id: svn://10.0.0.236/trunk@14484 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 01:00:58 +00:00
kin%netscape.com
ca083bb777 Removed nsEditorInterfaces.h from list EXPORTS.
git-svn-id: svn://10.0.0.236/trunk@14483 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 00:16:46 +00:00
kin%netscape.com
2dcd0bdd06 Removed gui from list of directories to build.
git-svn-id: svn://10.0.0.236/trunk@14482 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 00:16:08 +00:00
mjudge%netscape.com
35e4aa0583 we now have a DLL!!!
git-svn-id: svn://10.0.0.236/trunk@14481 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 00:15:58 +00:00
hyatt%netscape.com
038b04e513 Added initializers to the DataModel. Changed the interface hierarchy
again (after much debate).


git-svn-id: svn://10.0.0.236/trunk@14479 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 00:02:26 +00:00
alecf%netscape.com
92a895b642 fix autoconf bustage
git-svn-id: svn://10.0.0.236/trunk@14478 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 23:48:24 +00:00
bjorn%netscape.com
63114a760a New support for typeinformation and typelibraries. nsISupports.h has an
additional definition NS_DECL_ISUPPORTS_EXPORTED, which exports the threesome.
This is not yet part of the build. It will be picked up by support code in
mozilla/js/src/xpcom.


git-svn-id: svn://10.0.0.236/trunk@14477 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 23:46:21 +00:00
pavlov%pavlov.net
156ff8d3cc implimentation of nsDialog, few scrollbar fixes
git-svn-id: svn://10.0.0.236/trunk@14476 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 23:09:04 +00:00
pavlov%pavlov.net
fb993cf19e implimentation for DrawString for PRUnichar characters.
git-svn-id: svn://10.0.0.236/trunk@14475 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 23:08:19 +00:00
leaf%mozilla.org
281d42392a Landing the XPCOM_BRANCH.
git-svn-id: svn://10.0.0.236/trunk@14474 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:29:18 +00:00
karnaze%netscape.com
738d621f23 dump content/frames/views traverses web shells
git-svn-id: svn://10.0.0.236/trunk@14473 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:22:18 +00:00
hyatt%netscape.com
f55cde9494 Adding the toolbar widget interface to the data model.
git-svn-id: svn://10.0.0.236/trunk@14472 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:10:50 +00:00
vidur%netscape.com
a4f9082955 Added XML display support.
git-svn-id: svn://10.0.0.236/trunk@14470 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:07:55 +00:00
vidur%netscape.com
467ad26d42 Added XML display support. Creation of XML document for text/xml and application/xml
git-svn-id: svn://10.0.0.236/trunk@14468 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:07:03 +00:00
vidur%netscape.com
118281d675 Added XML display support. Split nsGenericHTMLElement into generic and HTML-specific components. Minor style modification. New XML classes and interfaces.
git-svn-id: svn://10.0.0.236/trunk@14467 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:06:16 +00:00
vidur%netscape.com
38bf6d6724 Added XML display support. Added NotifyError method to nsIContentSink
git-svn-id: svn://10.0.0.236/trunk@14466 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:04:42 +00:00
vidur%netscape.com
4b5a532b07 Added XML display support. Creation of XML elements through the DOM
git-svn-id: svn://10.0.0.236/trunk@14465 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:03:59 +00:00
hyatt%netscape.com
6a0247d42a New tree widget interface.
git-svn-id: svn://10.0.0.236/trunk@14464 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:03:19 +00:00
hyatt%netscape.com
4225eba31e Added nsITreeDMWidget interface.
git-svn-id: svn://10.0.0.236/trunk@14463 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 22:03:02 +00:00
cyeh%netscape.com
ec09d088bb remove checkout ui and set it so that it just builds. checkout routines have been moved to "PullNGlayout.pl"
git-svn-id: svn://10.0.0.236/trunk@14462 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 21:42:28 +00:00
waterson%netscape.com
e1efbf6233 Added forward declaration of nsIDMItem. Made sure that we actually
define NS_IDMWIDGET_IID here.


git-svn-id: svn://10.0.0.236/trunk@14457 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 20:58:23 +00:00
mjudge%netscape.com
1e92f72645 changes for better naming conventions of interfaces and their implementation
git-svn-id: svn://10.0.0.236/trunk@14456 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 20:48:57 +00:00
mjudge%netscape.com
5dabcba40d changes to get autopointers to work
git-svn-id: svn://10.0.0.236/trunk@14455 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 20:44:02 +00:00
rickg%netscape.com
208f37c790 enabled view-source
git-svn-id: svn://10.0.0.236/trunk@14454 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 20:31:45 +00:00
15374 changed files with 24 additions and 4226424 deletions

View File

@@ -1 +0,0 @@
CVSROOT/history

View File

@@ -1,19 +0,0 @@
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
#
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
#
# File format:
#
# [<whitespace>]<filename><whitespace><error message><end-of-line>
#
# comment lines begin with '#'
passwd
readers
commitcheck.pl
dolog.pl
FilesToNotExport
cvsmailfilter.pl

View File

@@ -1,159 +0,0 @@
#!/tools/ns/bin/perl5.004 --
# DO NOT EDIT THIS FILE! You must instead go to http://cvs-mirror.mozilla.org/webtools/despot, and
# tweak things from there.
$mode{'15'} = 'Restricted';
$branch{'15'} = 'ColorSync_19980824_BRANCH';
$fullname{'15'} = 'ColorSync Branch';
$blessed{'15'} = [];
$super{'15'} = ['ebb3%apple.com','pinkerton%netscape.com','pnunn%netscape.com','saari%netscape.com',];
$mode{'4'} = 'Open';
$branch{'4'} = 'HEAD';
$fullname{'4'} = 'default';
$defaultid = '4';
$mode{'3'} = 'Closed';
$branch{'3'} = 'HEAD';
$fullname{'3'} = 'despotaccess';
$blessed{'3'} = [];
$super{'3'} = ['despotdaemon%netscape.com',];
$mode{'21'} = 'Open';
$branch{'21'} = 'HEAD';
$fullname{'21'} = 'gnomefe';
$mode{'12'} = 'Open';
$branch{'12'} = 'HEAD';
$fullname{'12'} = 'jpeg';
$mode{'18'} = 'Open';
$branch{'18'} = 'HEAD';
$fullname{'18'} = 'macfe';
$mode{'19'} = 'Open';
$branch{'19'} = 'HEAD';
$fullname{'19'} = 'mozilla-toplevel';
$mode{'24'} = 'Restricted';
$branch{'24'} = 'HEAD';
$fullname{'24'} = 'nsprpub';
$blessed{'24'} = [];
$super{'24'} = ['raman%netscape.com','wtc%netscape.com','srinivas%netscape.com','larryh%netscape.com','gordon%netscape.com',];
sub GetT {
($b,$_) = (@_);
if ($b eq 'ColorSync_19980824_BRANCH') {
}
if ($b eq 'HEAD') {
if (m:^CVSROOT/commitcheck\.pl$:) {return '3';}
if (m:^CVSROOT/passwd$:) {return '3';}
if (m:^jpeg/.*$:) {return '12';}
if (m:^mozilla/[^/]*$:) {return '19';}
if (m:^mozilla/cmd/gnomefe/.*$:) {return '21';}
if (m:^nsprpub/.*$:) {return '24';}
}
return '';
}
$debug = 0;
$origrepository = shift(@ARGV);
@files = @ARGV;
$envcvsroot = $ENV{'CVSROOT'};
open( REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
$repository =~ s:^$envcvsroot/::;
$doit = 0;
$| = 1;
if( $debug){
print STDERR "----------------------------------------------\n";
print STDERR "files: @files\n";
print STDERR "origrepository: $origrepository\n";
print STDERR " repository: $repository\n";
print STDERR "----------------------------------------------\n";
}
open(ENT, "<CVS/Entries" );
while( <ENT> ){
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
if ($tag =~ /^T(.*)$/) {
$fbranch{$fn} = $1;
}
}
close ENT;
foreach $f (@files) {
$b = "";
if (defined $fbranch{$f}) {$b = $fbranch{$f};}
if ($b eq "") {$b = "HEAD";}
$t = GetT($b, "$repository/$f");
if ($debug) {
print STDERR "GetT returned '$t' for '$repository/$f' branch '$b'\n";
}
if ($t eq "") {
$t = $defaultid;
}
if (!defined $mode{$t} || $mode{$t} eq "Open") {
next;
}
if ($debug) {
print STDERR "Checking twig $t\n";
}
# OK, we have a match. See if we're allowed to checkin here.
if ($username eq "") {
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
if ($debug) {
print STDERR "Username is $username\n";
print STDERR "getlogin returns " . getlogin . "\n";
print STDERR '(getpwuid($<))[0] returns ' . (getpwuid($<))[0] . "\n";
print STDERR "Environment:\n";
foreach $key (sort(keys %ENV)) {
print STDERR $key, '=', $ENV{$key}, "\n";
}
}
}
$ok = 0;
$s = $super{$t};
foreach $u (@$s) {
if ($debug) {
print STDERR "Checking against super $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
if ($mode{$t} eq "Restricted") {
$b = $blessed{$t};
foreach $u (@$b) {
if ($debug) {
print STDERR "Checking against blessed $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
}
if (!$ok) {
print STDERR "You may not check into partition $fullname{$t}\n";
print STDERR "the file $repository/$f on branch $b\n";
print STDERR "If you think you should be allowed to, send mail to\n";
print STDERR "one of the below people:\n";
$s = $super{$t};
foreach $u (@$s) {
$u =~ s/%/@/;
print STDERR " $u\n";
}
exit 1;
}
}
exit 0;

View File

@@ -1,16 +0,0 @@
# The "commitinfo" file is used to control pre-commit checks.
# The filter on the right is invoked with the repository and a list
# of files to check. A non-zero exit of the filter program will
# cause the commit to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".
ALL $CVSROOT/CVSROOT/commitcheck.pl

View File

@@ -1,6 +0,0 @@
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no
# Set `PreservePermissions' to `yes' to save file status information
# in the repository.
#PreservePermissions=no

View File

@@ -1,25 +0,0 @@
.gdbinit
.HSancillary
.Makedepend
.makedepend
.MCC_Cache_FAT
.MCC_Global_History
.md
.pure
made
make.log
make.dep
nuke
_jmc
*.class
.depends
.d
manifest.mnw
_gen
_stubs
*_DBG.OBJ
*_DBG_EDT.OBJ
*_OPT.OBJ
*_OPT_EDT.OBJ
so_locations
*.flc

View File

@@ -1,24 +0,0 @@
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin;export PATH
(
URL="subdir=`dirname $1`&files=`basename $1`"
echo "Subject: $1"
echo 'Content-Type: text/html; charset=us-ascii'
echo 'Content-Transfer-Encoding: 7bit'
echo 'Content-Disposition: inline'
TMP=/tmp/cvsmf.$$
trap "rm -f $TMP" 0 1 2 15
cat > $TMP
BRANCH=`sed -n 's@^Revision/Branch: \(.*\)@\1@p' $TMP`
if test -n "$BRANCH"; then
URL="$URL&branch=$BRANCH"
fi
echo '<A HREF="http://warp.netscape.com/webtools/bonsai/cvsview2.cgi?'$URL'&command=DIRECTORY">View differences</A><BR>\n'
) | mail $2

View File

@@ -1,145 +0,0 @@
#! /tools/ns/bin/perl5.004
# -*- Mode: perl; indent-tabs-mode: nil -*-
# Arguments:
#
# -u <url> Base URL for the Bonsai directory; "/cvsview2.cgi" will get
# appended to this with appropriate args.
# -h <hostname> Host whose SMTP server we will contact to send mail.
# -s <string> String specifying dir and filenames. As generated by "%s"
# in a CVSROOT/loginfo file
# -f <file> A regexp. If present, then only checkins to files whose
# name (without the directory) matches the regexp will generate mail.
#
# The remaining args are email addresses of people who should get notified.
use Socket;
sub get_response_code {
my ($expecting) = @_;
# if ($flag_debug) {
# print STDERR "SMTP: Waiting for code $expecting\n";
# }
while (1) {
my $line = <S>;
# if ($flag_debug) {
# print STDERR "SMTP: $line";
# }
if ($line =~ /^[0-9]*-/) {
next;
}
if ($line =~ /(^[0-9]*) /) {
my $code = $1;
if ($code == $expecting) {
# if ($flag_debug) {
# print STDERR "SMTP: got it.\n";
# }
return;
}
die "Bad response from SMTP -- $line";
}
}
}
my $debug = 0;
my $mailhost = "127.0.0.1";
my $urlbase = "";
my $cvsargs = "";
my $cvsroot = "";
my @mailto;
my $fileregexp = "";
while (@ARGV) {
my $arg = shift @ARGV;
if ($arg eq '-d') {
$debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} elsif ($arg eq '-u') {
$urlbase = shift @ARGV;
} elsif ($arg eq '-s') {
$cvsargs = shift @ARGV;
} elsif ($arg eq '-f') {
$fileregexp = shift @ARGV;
} else {
push(@mailto, $arg);
}
}
my $url = "";
if ($urlbase ne "" && $cvsargs ne "") {
my @list = split(/ /, $cvsargs);
my $dir = shift @list;
if ($fileregexp ne "") {
if (grep(m/$fileregexp/, @list) <= 0) {
exit;
}
}
$url = $urlbase . "/cvsview2.cgi?command=DIRECTORY&subdir=$dir&files=" .
join('+', @list);
}
my $message = "";
while (<>) {
my $line = $_;
if ($line =~ m@^Revision/Branch: (.*)$@) {
if ($url ne "") {
$url .= "&branch=$1";
}
}
$message .= $line;
}
if ($url ne "") {
if ($cvsroot ne "") {
$url .= "&root=$cvsroot";
}
$message = "Diffs: $url\n\n" . $message;
}
chop(my $hostname = `hostname`);
my ($remote,$port, $iaddr, $paddr, $proto, $line);
$remote = $mailhost;
$port = 25;
if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
die "No port" unless $port;
$iaddr = inet_aton($remote) || die "no host: $remote";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(S, $paddr) || die "connect: $!";
select(S); $| = 1; select(STDOUT);
get_response_code(220);
print S "EHLO $hostname\n";
get_response_code(250);
print S "MAIL FROM: cvsmailfilter@$hostname\n";
get_response_code(250);
foreach $i (@mailto) {
print S "RCPT TO: $i\n";
get_response_code(250);
}
print S "DATA\n";
get_response_code(354);
print S "Subject: $cvsargs\n";
print S "\n";
print S $message . "\n";
print S ".\n";
get_response_code(250);
print S "QUIT\n";
close(S);

View File

@@ -1,23 +0,0 @@
# This file affects handling of files based on their names.
#
# The -t/-f options allow one to treat directories of files
# as a single file, or to transform a file in other ways on
# its way in and out of CVS.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
#*.gif -k 'b'

View File

@@ -1,270 +0,0 @@
#! /tools/ns/bin/perl5
use Socket;
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
$envcvsroot = $ENV{'CVSROOT'};
$cvsroot = $envcvsroot;
$flag_debug = 0;
$flag_tagcmd = 0;
$repository = '';
$repository_tag = '';
$mailhost = 'localhost';
@mailto=();
@changed_files = ();
@added_files = ();
@removed_files = ();
@log_lines = ();
@outlist = ();
$STATE_NONE = 0;
$STATE_CHANGED = 1;
$STATE_ADDED = 2;
$STATE_REMOVED = 3;
$STATE_LOG = 4;
&process_args;
if ($flag_debug ){
print STDERR "----------------------------------------------\n";
print STDERR "LOGINFO:\n";
print STDERR " pwd:" . `pwd` . "\n";
print STDERR " Args @ARGV\n";
print STDERR " CVSROOT: $cvsroot\n";
print STDERR " who: $username\n";
print STDERR " Repository: $repository\n";
print STDERR " mailto: @mailto\n";
print STDERR "----------------------------------------------\n";
}
if ($flag_tagcmd) {
&process_tag_command;
} else {
&get_loginfo;
&process_cvs_info;
}
if( $flag_debug){
print STDERR "----------------------------------------------\n";
print STDERR @outlist;
print STDERR "----------------------------------------------\n";
}
&mail_notification;
0;
sub process_args {
while (@ARGV) {
$arg = shift @ARGV;
if ($arg eq '-d') {
$flag_debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-t') {
$flag_tagcmd = 1;
last; # Keep the rest in ARGV; they're handled later.
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} else {
push(@mailto, $arg);
}
}
if( $repository eq '' ){
open( REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
}
$repository =~ s:^$cvsroot/::;
$repository =~ s:^$envcvsroot/::;
if (!$flag_tagcmd) {
if( open( REP, "<CVS/Tag") ) {
$repository_tag = <REP>;
chop($repository_tag);
close(REP);
}
}
}
sub get_loginfo {
if( $flag_debug){
print STDERR "----------------------------------------------\n";
}
# Iterate over the body of the message collecting information.
#
while (<STDIN>) {
chop; # Drop the newline
if( $flag_debug){
print STDERR "$_\n";
}
if (/^In directory/) {
next;
}
if (/^Modified Files/) { $state = $STATE_CHANGED; next; }
if (/^Added Files/) { $state = $STATE_ADDED; next; }
if (/^Removed Files/) { $state = $STATE_REMOVED; next; }
if (/^Log Message/) { $state = $STATE_LOG; next; }
s/^[ \t\n]+//; # delete leading whitespace
s/[ \t\n]+$//; # delete trailing whitespace
if ($state == $STATE_CHANGED) { push(@changed_files, split); }
if ($state == $STATE_ADDED) { push(@added_files, split); }
if ($state == $STATE_REMOVED) { push(@removed_files, split); }
if ($state == $STATE_LOG) { push(@log_lines, $_); }
}
if( $flag_debug){
print STDERR "----------------------------------------------\n"
. "changed files: @changed_files\n"
. "added files: @added_files\n"
. "removed files: @removed_files\n";
print STDERR "----------------------------------------------\n";
}
}
sub process_cvs_info {
local($d,$fn,$rev,$mod_time,$sticky,$tag,$stat,@d,$l,$rcsfile);
if (!open(ENT, "<CVS/Entries.Log" )) {
open(ENT, "<CVS/Entries");
}
$time = time;
while( <ENT> ){
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
$stat = 'C';
for $i (@changed_files, "BEATME.NOW", @added_files ) {
if( $i eq "BEATME.NOW" ){ $stat = 'A'; }
if($i eq $fn ){
$rcsfile = "$envcvsroot/$repository/$fn,v";
if( ! -r $rcsfile ){
$rcsfile = "$envcvsroot/$repository/Attic/$fn,v";
}
open(LOG, "/tools/ns/bin/rlog -N -r$rev $rcsfile |")
|| print STDERR "dolog.pl: Couldn't run rlog\n";
while(<LOG>){
if (/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
}
}
close( LOG );
push(@outlist, ("$stat|$time|$username|$cvsroot|$repository|$fn|$rev|$sticky|$tag|$lines_added|$lines_removed\n"));
}
}
}
close(ENT);
for $i (@removed_files) {
push( @outlist, ("R|$time|$username|$cvsroot|$repository|$i|||$repository_tag\n"));
}
push (@outlist, "LOGCOMMENT\n");
push (@outlist, join("\n",@log_lines));
push (@outlist, "\n:ENDLOGCOMMENT\n");
}
sub process_tag_command {
local($str,$part,$time);
$time = time;
$str = "Tag|$cvsroot|$time";
while (@ARGV) {
$part = shift @ARGV;
$str .= "|" . $part;
}
push (@outlist, ("$str\n"));
}
sub do_commitinfo {
}
sub get_response_code {
my ($expecting) = @_;
# if ($flag_debug) {
# print STDERR "SMTP: Waiting for code $expecting\n";
# }
while (1) {
my $line = <S>;
# if ($flag_debug) {
# print STDERR "SMTP: $line";
# }
if ($line =~ /^[0-9]*-/) {
next;
}
if ($line =~ /(^[0-9]*) /) {
my $code = $1;
if ($code == $expecting) {
# if ($flag_debug) {
# print STDERR "SMTP: got it.\n";
# }
return;
}
die "Bad response from SMTP -- $line";
}
}
}
sub mail_notification {
chop(my $hostname = `hostname`);
my ($remote,$port, $iaddr, $paddr, $proto, $line);
$remote = $mailhost;
$port = 25;
if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
die "No port" unless $port;
$iaddr = inet_aton($remote) || die "no host: $remote";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(S, $paddr) || die "connect: $!";
select(S); $| = 1; select(STDOUT);
get_response_code(220);
print S "EHLO $hostname\n";
get_response_code(250);
print S "MAIL FROM: bonsai-daemon@$hostname\n";
get_response_code(250);
foreach $i (@mailto) {
print S "RCPT TO: $i\n";
get_response_code(250);
}
print S "DATA\n";
get_response_code(354);
# Get one line starting with "354 ".
if ($flag_tagcmd) {
print S "Subject: cvs tag in $repository\n";
} else {
print S "Subject: cvs commit to $repository\n";
}
print S "\n";
print S @outlist, "\n";
print S ".\n";
get_response_code(250);
print S "QUIT\n";
close(S);
}

View File

@@ -1,21 +0,0 @@
# The "editinfo" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,32 +0,0 @@
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
ALL $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /m/mozilla-mirror bonsai-new-checkin-daemon@warp.mcom.com
ALL $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /cvsroot bonsai-new-checkin-daemon@lounge.mozilla.org
ALL $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /cvsroot bonsai@tinderbox.seawood.org
# mozilla/webtools $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /cvsroot webtools-changed@warp.mcom.com
mozilla/webtools $CVSROOT/CVSROOT/cvsmailfilter.pl -u http://cvs-mirror.mozilla.org/webtools/bonsai -r /cvsroot -s %s webtools-changed@warp.mcom.com
CVSROOT $CVSROOT/CVSROOT/cvsmailfilter.pl -u http://cvs-mirror.mozilla.org/webtools/bonsai -r /cvsroot -s %s -f modules cyeh@netscape.com sar@netscape.com leaf@netscape.com donm@netscape.com

View File

@@ -1,470 +0,0 @@
# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.
######################################################################
#
# Modules for Browser50, which includes nglayout engine. PLACEHOLDER
#
Browser50All -a \
Raptor
######################################################################
#
# Modules for MailClient50, which includes nglayout engine. PLACEHOLDER
#
MailClient50All -a \
Raptor
######################################################################
#
# Modules for the MozillaClassic Browser, based on the original
# layout engine. If you wish to develop on the Mozilla Classic
# codebase, pull using these modules and using the branch tag
# MozillaSourceClassic_19981026_BRANCH.
# These modules should be considered obsolete.
#
MozillaSource -a \
MozillaSourceWin \
MozillaSourceMac \
MozillaSourceUnix
MozillaSourceWin -a \
MozillaSourceCommon \
MozillaSourceWinOnly
MozillaSourceMac -a \
MozillaSourceCommon \
MozillaSourceMacOnly
MozillaSourceUnix -a \
MozillaSourceCommon \
MozillaSourceUnixOnly \
mozilla/cmd/xfe \
mozilla/cmd/gnomefe \
mozilla/cmd/qtfe \
mozilla/cmd/ybfe
MozillaSourceMotif -a \
MozillaSourceCommon \
mozilla/cmd/xfe \
MozillaSourceUnixOnly
MozillaSourceQtfe -a \
MozillaSourceCommon \
mozilla/cmd/qtfe \
MozillaSourceUnixOnly
MozillaSourceGnomefe -a \
MozillaSourceCommon \
mozilla/cmd/gnomefe \
MozillaSourceUnixOnly
MozillaSourceYbfe -a \
MozillaSourceCommon \
mozilla/cmd/ybfe \
MozillaSourceUnixOnly
MozillaSourceCommon -a \
mozilla/LEGAL \
mozilla/LICENSE \
mozilla/base \
mozilla/build \
mozilla/include \
mozilla/caps \
mozilla/jpeg \
JSClient \
mozilla/lib/htmldlgs \
mozilla/lib/layout \
mozilla/lib/libcnv \
mozilla/lib/libdom \
mozilla/lib/libi18n \
mozilla/lib/liblayer \
mozilla/lib/libmisc \
mozilla/lib/libmime \
mozilla/lib/libmocha \
mozilla/lib/libnet \
mozilla/lib/libparse \
mozilla/lib/libpics \
mozilla/lib/libpwcac \
mozilla/lib/libstyle \
mozilla/lib/mailto \
mozilla/lib/plugin \
mozilla/lib/xlate \
mozilla/lib/xp \
mozilla/modules/calendar \
mozilla/modules/edtplug/classes \
mozilla/modules/edtplug/src \
mozilla/modules/edtplug/include \
mozilla/modules/libfont/classes \
mozilla/modules/libfont/public \
mozilla/modules/libfont/src \
mozilla/modules/libhook \
mozilla/modules/libimg \
mozilla/modules/libnls \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/progress/src \
mozilla/modules/rdf \
mozilla/modules/schedulr \
mozilla/modules/security/freenav \
mozilla/modules/softupdt/classes \
mozilla/modules/softupdt/include \
mozilla/modules/softupdt/src \
mozilla/modules/xml \
mozilla/modules/zlib/src \
mozilla/nav-java/stubs \
mozilla/network \
mozilla/nsprpub \
mozilla/privacy \
mozilla/xpcom \
mozilla/l10n \
mozilla/dbm \
mozilla/README
MozillaSourceWinOnly -a \
mozilla/client.mak \
mozilla/cmd/makefile.win \
mozilla/cmd/wincom \
mozilla/cmd/winfe \
mozilla/config \
mozilla/lib/makefile.win \
mozilla/modules/coreincl \
mozilla/modules/edtplug/makefile.win \
mozilla/makefile.win \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/makefile.win \
mozilla/modules/libfont/producers/makefile.win \
mozilla/modules/libfont/producers/win \
mozilla/modules/libfont/producers/win/classes \
mozilla/modules/libfont/producers/win/classes/netscape \
mozilla/modules/libfont/producers/win/classes/netscape/fonts \
mozilla/modules/libfont/producers/win/src \
mozilla/modules/makefile.win \
mozilla/modules/progress/makefile.win \
mozilla/modules/progress/public \
mozilla/modules/security/makefile.win \
mozilla/modules/softupdt/makefile.win \
mozilla/modules/zlib/makefile.win \
mozilla/nav-java/makefile.win \
JavaStubWin
MozillaSourceUnixOnly -a \
mozilla/Makefile \
mozilla/Makefile.in \
mozilla/configure.in \
mozilla/cmd/Makefile \
mozilla/cmd/Makefile.in \
mozilla/cmd/stubfe \
mozilla/cmd/unixfe \
mozilla/config/.cvsignore \
mozilla/config/AIX.mk \
mozilla/config/BSD_OS.mk \
mozilla/config/DGUX.mk \
mozilla/config/FreeBSD.mk \
mozilla/config/HP-UX.mk \
mozilla/config/IRIX.mk \
mozilla/config/Linux.mk \
mozilla/config/NCR.mk \
mozilla/config/NEC.mk \
mozilla/config/NEWS-OS.mk \
mozilla/config/NEXTSTEP.mk \
mozilla/config/NetBSD.mk \
mozilla/config/OSF1.mk \
mozilla/config/OpenBSD.mk \
mozilla/config/QNX.mk \
mozilla/config/Rhapsody.mk \
mozilla/config/SCOOS.mk \
mozilla/config/SINIX.mk \
mozilla/config/SunOS.mk \
mozilla/config/SunOS4.mk \
mozilla/config/SunOS5.mk \
mozilla/config/UNIXWARE.mk \
mozilla/config/common.mk \
mozilla/config/config.mk \
mozilla/config/coreconf.mk \
mozilla/config/rules.mk \
mozilla/config/Makefile \
mozilla/config/Makefile.in \
mozilla/config/autoconf.mk.in \
mozilla/config/bdate.c \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/bsdecho.c \
mozilla/config/clobber_miss.pl \
mozilla/config/config.guess \
mozilla/config/cvsco.pl \
mozilla/config/fastcwd.pl \
mozilla/config/gtscc.c \
mozilla/config/makecopy.c \
mozilla/config/mangle.c \
mozilla/config/mantomak.c \
mozilla/config/mkdepend \
mozilla/config/mkdetect \
mozilla/config/nfspwd.pl \
mozilla/config/nodl.pl \
mozilla/config/nsinstall.c \
mozilla/config/outofdate.pl \
mozilla/config/pathsub.c \
mozilla/config/pathsub.h \
mozilla/config/pkg2dpth.pl \
mozilla/config/ports \
mozilla/config/revdepth.pl \
mozilla/config/set-timebomb.pl \
mozilla/config/sj.pl \
mozilla/lib/Makefile \
mozilla/lib/Makefile.in \
mozilla/modules/edtplug/Makefile \
mozilla/modules/edtplug/Makefile.in \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/Makefile \
mozilla/modules/libfont/Makefile.in \
mozilla/modules/libfont/producers/Makefile \
mozilla/modules/libfont/producers/Makefile.in \
mozilla/modules/Makefile \
mozilla/modules/Makefile.in \
mozilla/modules/progress/Makefile \
mozilla/modules/progress/Makefile.in \
mozilla/modules/progress/public \
mozilla/modules/security/Makefile \
mozilla/modules/security/Makefile.in \
mozilla/modules/softupdt/Makefile \
mozilla/modules/softupdt/Makefile.in \
mozilla/modules/zlib/Makefile \
mozilla/modules/zlib/Makefile.in \
mozilla/nav-java/Makefile \
mozilla/nav-java/Makefile.in \
mozilla/lib/mariner \
JavaStubUnix
MozillaSourceMacOnly -a \
mozilla/config/mac \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/mac-set-timebomb.pl \
mozilla/cmd/macfe \
mozilla/lib/mac/AutoAdmin \
mozilla/lib/mac/Includes \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/patches \
mozilla/lib/mac/PowerPlant \
mozilla/lib/mac/UserInterface \
mozilla/modules/coreincl \
mozilla/modules/edtplug/macbuild \
mozilla/modules/libfont \
mozilla/modules/progress/macbuild \
mozilla/modules/progress/public \
mozilla/modules/softupdt/macbuild \
mozilla/modules/zlib/macbuild \
mozilla/lib/mariner \
JavaStubMac
JavaStubAll -a \
JavaStubWin \
JavaStubMac \
JavaStubUnix
JavaStubCore -a \
mozilla/sun-java/stubs/include \
mozilla/sun-java/stubs/src
JavaStubMac -a \
JavaStubCore \
mozilla/sun-java/stubs/macbuild \
mozilla/sun-java/stubs/macjri
JavaStubUnix -a \
JavaStubCore \
mozilla/sun-java/Makefile \
mozilla/sun-java/Makefile.in \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/Makefile \
mozilla/sun-java/stubs/Makefile.in
JavaStubWin -a \
JavaStubCore \
mozilla/sun-java/makefile.win \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/makefile.win
######################################################################
#
# Modules for the raptor layout effort. Note that raptor dist is temporary
# until raptor is integrated into the mainline build.
#
RaptorDoc -a \
mozilla/LICENSE \
mozilla/LEGAL \
mozilla/README/nglayout
RaptorDist -a \
mozilla/configure.in \
mozilla/Makefile.in \
mozilla/base \
mozilla/build \
mozilla/config \
mozilla/dbm \
mozilla/include \
mozilla/jpeg \
mozilla/js \
mozilla/lib/liblayer \
mozilla/lib/libpwcac \
mozilla/lib/xp \
mozilla/modules/libimg \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/security/freenav \
mozilla/modules/zlib \
mozilla/nav-java \
mozilla/network \
mozilla/nsprpub \
mozilla/rdf \
mozilla/sun-java \
mozilla/xpcom \
mozilla/xpfe
RaptorLayout -a \
mozilla/dom \
mozilla/gfx \
mozilla/htmlparser \
mozilla/layout \
mozilla/view \
mozilla/webshell \
mozilla/widget
Raptor -a \
RaptorDoc \
RaptorDist \
RaptorLayout
RaptorWin -a \
Raptor \
mozilla/nglayout.mak
RaptorUnix -a \
Raptor \
mozilla/nglayout.mk
RaptorMac -a \
Raptor \
mozilla/build/mac \
mozilla/cmd/macfe/applevnt \
mozilla/cmd/macfe/central \
mozilla/cmd/macfe/gui \
mozilla/cmd/macfe/include \
mozilla/cmd/macfe/pch \
mozilla/cmd/macfe/projects \
mozilla/cmd/macfe/utility \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib
#######################################################################
# Modules for the Directory SDK. There are two users of the libldap
# Mozilla and the DirectorySDK. Maintained by Chuck Boatwright
# cboatwri@netscape.com
#
DirectorySDKSource -a \
DirectorySDKSourceCommon \
DirectorySDKSourceBuild
DirectorySDKSourceC -a \
mozilla/directory/ldapsdk.mak \
mozilla/directory/ldapsdk.mk \
mozilla/directory/buildsdk.txt \
mozilla/directory/Makefile \
mozilla/directory/c-sdk
DirectorySDKSourceJava -a \
mozilla/directory/buildjsdk.txt \
mozilla/directory/java-sdk
DirectorySDKSourceCommon -a \
DirectorySDKSourceC \
DirectorySDKSourceJava
DirectorySDKSourceBuild -a \
mozilla/config \
mozilla/nsprpub
PerLDAP -a \
mozilla/directory/perldap
#######################################################################
# Modules for the Messenging Server SDK. Code maintained by Prasad Yendluri
# (prasad@netscape.com)
#
MessagingSDK -a \
mozilla/msgsdk
#######################################################################
# Modules for Calendar client.
# (spider@netscape.com)
#
CalendarClient -a \
mozilla/calendar \
mozilla/modules/calendar \
mozilla/htmlparser \
mozilla/gconfig \
mozilla/gfx \
mozilla/widget \
mozilla/xpfc \
mozilla/view
#######################################################################
# Modules for the JavaScript
# (fur@netscape.com)
#
JSRef -a \
mozilla/js/src
JSClient -a \
mozilla/js/Makefile \
mozilla/js/Makefile.in \
mozilla/js/makefile.win \
mozilla/js/src \
mozilla/js/macbuild \
mozilla/js/jsd

View File

@@ -1,12 +0,0 @@
# The "notify" file controls where notifications from watches set by
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
# a regular expression which is tested against the directory that the
# change is being made to, relative to the $CVSROOT. If it matches,
# then the remainder of the line is a filter program that should contain
# one occurrence of %s for the user to notify, and information on its
# standard input.
#
# "ALL" or "DEFAULT" can be used in place of the regular expression.
#
# For example:
#ALL mail %s -s "CVS notification"

View File

@@ -1,189 +0,0 @@
# DO NOT EDIT THIS FILE! You must instead go to http://warp/mozilla.org, and
# tweak things from there.
agulbra%troll.no:lETTiVluCyWos:cvsuser
akkana%netscape.com:/6KEK8AoMvE26:cvsuser
alecf%netscape.com:xY/EzwiSEg43U:cvsuser
amusil%netscape.com:WOEqI48Qb5sRw:cvsuser
andrew%redhat.com:Q5vhhvO.ksq/E:cvsuser
angus%netscape.com:.GdZ9/RdE2/4A:cvsuser
anthonyd%netscape.com:NXsj33UUPHog6:cvsuser
aoki%netscape.com:eU12jN9/L2XPw:cvsuser
arshad%netscape.com:FdntM58EL9wNI:cvsuser
atotic%netscape.com:gB8uLX/re/w76:cvsuser
av%netscape.com:fiIbkAqwtYUxg:cvsuser
beard%netscape.com:2Eed7KIBNPtL6:cvsuser
benito%netscape.com:FhdZqd0dMufZs:cvsuser
bjorn%netscape.com:AXNpUjWR2SG7w:cvsuser
blipkin%netscape.com:aoT2t1E1F7rw.:cvsuser
blizzard%appliedtheory.com:ZUJJ6wG6Pq6rA:cvsuser
blythe%netscape.com:lksvhBWBkJ.v2:cvsuser
bobj%netscape.com:836g7PhtJ6fgE:cvsuser
brade%netscape.com:4.X28OrG.kfsg:cvsuser
brendan%netscape.com:q5aR3MqARGBMA:cvsuser
briano%netscape.com:zaJaSkn.pVbvc:cvsadm
buster%netscape.com:youoZiIMCpF.2:cvsuser
byrd%netscape.com:Nx4tVRTT0pPcE:cvsuser
cata%netscape.com:QXbqCOqTPrcs2:cvsuser
chuang%netscape.com:/b9cmH8WA89RM:cvsuser
chuckb%netscape.com:i37zDOwgdHowo:cvsadm
cls%seawood.org:YLAr7ajnaXezg:cvsuser
cltbld%netscape.com:M337.7eKMF4AE:cvsuser
clu%netscape.com:DcMdXCk.GsnxI:cvsuser
cmanske%netscape.com:R.P5edTIrMFp.:cvsuser
coop%netscape.com:7ZcX7KjDNdBGU:cvsuser
cpatrick%netscape.com:DF5FaodPgStbs:cvsuser
cyeh%netscape.com:iNnj4gHaxZYB2:cvsadm
danda%netscape.com:9VJdsEJaBY9pU:cvsuser
danm%netscape.com:3h6FdkzmMqnyA:cvsuser
davidm%netscape.com:Hhlc.CypYeea6:cvsuser
dbragg%netscape.com:k34vc.FRrLRYI:cvsuser
dcone%netscape.com:dWcV1sBlGlAHU:cvsuser
ddrinan%netscape.com:U2jxjptrCGQio:cvsuser
despotdaemon%netscape.com:zJJgZOGMRo/FE:cvsadm
dfm%netscape.com:JoCJCNXM06GNs:cvsuser
dhiren%netscape.com:oGwYcygFQ2L1Y:cvsuser
dionisio%netscape.com:3r8nWtL3w76U2:cvsuser
don%netscape.com:UUf/QmbJJbUfU:cvsuser
donley%tekka.wwa.com:ZdWwac/UPNyG.:cvsuser
donm%netscape.com:GE8t.bok/JKxI:cvsadm
dougt%netscape.com:6Dpld8jLb0Mcg:cvsuser
dp%netscape.com:jt.S0eDMnQVDo:cvsuser
dveditz%netscape.com:S1X7iuOVZr0tI:cvsuser
ebb3%apple.com:cx3pnlvIifGmc:cvsuser
ebina%netscape.com:3sJ7F5oRt6v/A:cvsuser
erik%netscape.com:.yO3dSzx4Ixf.:cvsuser
eyork%netscape.com:VrUopS3iDoSJc:cvsuser
freier%netscape.com:ff3KADRoprJ6I:cvsuser
friedman%netscape.com:spbzxH1g5zBi2:cvsadm
ftang%netscape.com:cjA4Oe7qangyQ:cvsuser
fur%netscape.com:mYz4lGMkt02.6:cvsadm
gagan%netscape.com:aJDYc91m7tmpI:cvsuser
gem%netscape.com:iZGJz9M21/I7A:cvsuser
gordon%netscape.com:MCComT.xg8/GM:cvsuser
guha%netscape.com:preQNO31mmT/Y:cvsuser
hardts%netscape.com:NXZ.kungSY0.g:cvsuser
harish%netscape.com:6NzUiwHrF2piQ:cvsuser
harishd%netscape.com:A0zdbDQ36sqs.:cvsuser
harrison%netscape.com:87pyepe7ggJRk:cvsuser
henrit%netscape.com:jcmMU719A.JOg:cvsuser
hoi%netscape.com:MbyE84dZhZ2jc:cvsuser
hshaw%netscape.com:GOj61Z.SgYAaE:cvsuser
hyatt%netscape.com:/Sepj5wnpvupA:cvsuser
janc%netscape.com:qR35CNfwuC.nk:cvsuser
jar%netscape.com:EtliR6wGfxygA:cvsuser
jband%netscape.com:jc1KB4qvBDWxE:cvsuser
jdunn%netscape.com:./EIGNOFh.Znc:cvsuser
jefft%netscape.com:IFFpUmO.Z/4rA:cvsuser
jevering%netscape.com:qbV9dBT/6f6CA:cvsuser
jfrancis%netscape.com:n8gH7es/9NB6U:cvsuser
jg%netscape.com:gimPrIwXcAep2:cvsuser
jgellman%netscape.com:6JURNSBc2gPew:cvsuser
joki%netscape.com:MnZq0Nx3SCImc:cvsuser
jonas.utterstrom%vittran.norrnod.se:Yq1pP.nR9EEcY:cvsuser
jonm%netscape.com:wwKtYZbjSiNoM:cvsuser
jsun%netscape.com:coq.3Xx7ARTjs:cvsuser
jsw%netscape.com:SIElaupaBmL2E:cvsuser
jwz%mozilla.org:OdVBvbcKAZC5c:cvsuser
karnaze%netscape.com:C.H2iRqFy7CnY:cvsuser
kin%netscape.com:RexUJ7MbhHOeE:cvsuser
kipp%netscape.com:E3A/rPcOagw5.:cvsadm
kmcclusk%netscape.com:KiXYwpHlCP1nE:cvsuser
kostello%netscape.com:ra7kxKDBHytHc:cvsuser
larryh%netscape.com:HzwqCjpBbMmhM:cvsuser
law%netscape.com:QQU7Gc4FME9Ek:cvsuser
leaf%mozilla.org:u8bmgbEVjQQ6k:cvsadm
leaf%netscape.com:mpuxvp6/BLA02:cvsuser
leif%netscape.com:T8QO0FEdoLHd2:cvsuser
locka%iol.ie:Odt22ztoqh7Pc:cvsuser
ltabb%netscape.com:4967GySWBBDZA:cvsadm
mahesht%netscape.com:Ir6f1vCY1i7vM:cvsuser
malmer%netscape.com:FoAPcM.Uz/pV2:cvsuser
mang%netscape.com:Q9kkGtwjE/5AM:cvsuser
martinl%netscape.com:AeYccd2rbGj7.:cvsuser
matt%netscape.com:HV1zrCvpyT7Mk:cvsuser
mcafee%netscape.com:Y/0zK7Dff2W8.:cvsuser
mccabe%netscape.com:3rKv1ZMBpeR36:cvsuser
michaelp%netscape.com:66bcmtbVqkuyw:cvsuser
mjudge%netscape.com:jBw1nVC8B7WBc:cvsuser
mlm%netscape.com:yJOMGm6lMkvAg:cvsuser
montulli%netscape.com:EIxZtSVBHlSpE:cvsuser
morse%netscape.com:1f8Ob4wB7JJ5I:cvsuser
mscott%netscape.com:mmrBNWezFxbvM:cvsuser
msw%gimp.org:KB4CGqyGWzK5w:cvsuser
mtoy%netscape.com:7U9WCoU6Kauhg:cvsuser
mwelch%netscape.com:zIlUxCyR4XTng:cvsuser
neeti%netscape.com:q2ekT3ZhwHrKg:cvsuser
nelsonb%netscape.com:5sKUWBAwkkj9k:cvsuser
nhotta%netscape.com:7PCA6ZeTK24HQ:cvsuser
nisheeth%netscape.com:e69IbM7hbpN1c:cvsuser
norris%netscape.com:hbKSEw6zIzn8A:cvsuser
nsl%cybertech.apple.com:sGIRI7YDfQ2eA:cvsuser
paquin%netscape.com:UwvbqhTlD92VQ:cvsuser
pavlov%pavlov.net:Wm/3gCaQhXNLo:cvsuser
peterl%netscape.com:8x3YXhSeI77Sc:cvsuser
petitta%netscape.com:hlSgMh.8gEOXc:cvsuser
phil%netscape.com:5YBncVVSJHGO.:cvsuser
pierre%netscape.com:/6xa.CBcV07tE:cvsuser
pinkerton%netscape.com:SXjRJmDJDtb1U:cvsuser
pnunn%netscape.com:VjAEnG0V6mLLY:cvsuser
pollmann%netscape.com:CB4NlijAkP2IM:cvsuser
prasad%netscape.com:3ALA5FiQ3U2Ps:cvsuser
preed%verinet.com:b4eDfN0tWKiYY:cvsuser
priya%netscape.com:SiT1fy1pZ560Q:cvsuser
putterman%netscape.com:CRfRGZi9Nrtg6:cvsuser
racham%netscape.com:G3oNVDE5uCV0o:cvsuser
radha%netscape.com:E8m/i8B0sIO5k:cvsuser
raman%netscape.com:VOcpWGKv4t/ic:cvsuser
ramiro%netscape.com:04T/4Hcs1Yr/c:cvsadm
relliott%netscape.com:loQf9BFNFb/.M:cvsuser
repka%netscape.com:wAJzqYywvn8BU:cvsuser
rhp%netscape.com:f7mepbLzOmKn6:cvsuser
ricardob%netscape.com:lB44zzvcOCcVY:cvsuser
rickg%netscape.com:uMGnseYPj2sYI:cvsuser
rjc%netscape.com:RVRRe0F5Be03c:cvsuser
robinf%netscape.com:qsizhSBd/KLxw:cvsuser
rods%netscape.com:0IcCge9UaI6V6:cvsuser
roeber%netscape.com:OMLOrWoQVFZwQ:cvsadm
rogerl%netscape.com:EOrmrYUfmdcOk:cvsuser
rpotts%netscape.com:S0L.1Z15bd0qA:cvsuser
saari%netscape.com:NxeVoGafqJ9S2:cvsuser
sar%netscape.com:MndAm1QiY.J4o:cvsadm
scc%netscape.com:QULo1ogrbwco2:cvsuser
scullin%netscape.com:NJ/I8RQ1Nlkws:cvsuser
sdagley%netscape.com:PvYFZiRMRKuG.:cvsuser
selmer%netscape.com:0a0Zn2Mtb9RMM:cvsuser
sfraser%netscape.com:IAmCKsl7a6LdU:cvsuser
shanjian%netscape.com:QB8g/ScTxKRkI:cvsuser
shaver%netscape.com:I4.grysVnENVM:cvsadm
sk%netscape.com:N.81P8Ox01.sE:cvsuser
slamm%netscape.com:KcUViF6GjKwtU:cvsuser
sman%netscape.com:gHR2VdSKyaV0Q:cvsuser
sol%netscape.com:NcyHBr55nteOw:cvsuser
spence%netscape.com:TXvWv7U1aKTfo:cvsuser
spider%netscape.com:sEOPi/ICZeJ6.:cvsuser
srilatha%netscape.com:vn.P0HO0ippg2:cvsuser
srinivas%netscape.com:S7u05VkFOtTeQ:cvsuser
sspitzer%netscape.com:JlQHq8F/C8kV6:cvsuser
stever%netscape.com:veCWvWkeusc5o:cvsuser
sudu%netscape.com:c3GHytVzhAT.o:cvsuser
tague%netscape.com:4kUZyqe/S5VaI:cvsuser
takacs%netscape.com:Ok.u7XqX2BaR6:cvsuser
tao%netscape.com:/6NoGVqWXpDC6:cvsuser
tarah%netscape.com:RY5NZCULYhagI:cvsuser
tcrowe%netscape.com:mq7wUMii.8yag:cvsuser
terry%netscape.com:sYyehWIbexkrI:cvsadm
tgl%sss.pgh.pa.us:rr7pe1GPkjIw6:cvsuser
thom%netscape.com:if3C1jgoSESew:cvsuser
timm%netscape.com:5WvY0NY080alM:cvsuser
tomw%netscape.com:EOgwDqDZKOEVU:cvsuser
toshok%hungry.com:45BYKXpLObZ..:cvsuser
troy%netscape.com:Vr9m0vnQR52kY:cvsuser
val4%cornell.edu:JYd1hWOCx8yZQ:cvsuser
valeski%netscape.com:UQIy1R23X0tnc:cvsuser
vidur%netscape.com:QSvSExpE4HwEE:cvsuser
waldemar%netscape.com:hrfmZUyM.cQqw:cvsuser
waqar%netscape.com:ZDCcCNztuV9uA:cvsuser
warren%netscape.com:b0lSiwRxkyoKE:cvsuser
waterson%netscape.com:UMOoIwsZgkNEM:cvsuser
wtc%netscape.com:qv4XOpmSQjJG2:cvsuser
wynholds%netscape.com:P8iDbiX0p6xzQ:cvsuser

View File

@@ -1,13 +0,0 @@
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT. For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

View File

@@ -1,20 +0,0 @@
# The "taginfo" file is used to control pre-tag checks.
# The filter on the right is invoked with the following arguments:
#
# $1 -- tagname
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
# $3 -- repository
# $4-> file revision [file revision ...]
#
# A non-zero exit of the filter program will cause the tag to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@@ -1,21 +0,0 @@
# The "verifymsg" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,74 +0,0 @@
@echo off
rem * To set up your local build read and customize this batch file.
rem * You shouldn't have to touch anything but "set" statements
rem * Batch file contributed by Lucas Gonze (lucas@gonze.com) and
rem * Rick Ekle (rele@iconect.net)
rem * This stuff forces us to not reset the environment variables more
rem * than once. It would cause some vars to get longer than 127 chars
rem * (the longest possible batch line) to run this stuff more than once.
if "%1%" == "-force" goto skiptest
if "%MOZBUILD%" == "ALREADYDONE" goto alldone
:skiptest
echo setting up environment...
set MOZBUILD=ALREADYDONE
rem * if this isn't set properly your build will get
rem * "file './config/WIN' not found"
set MOZ_BITS=32
set MOZ_GOLD=1
set MOZ_MEDIUM=1
set NO_SECURITY=1
set NSPR20=1
rem * don't set this if you want to make an optimized release build
set MOZ_DEBUG=1
rem * set if running NT 3.51, don't set otherwise
rem * set MOZ_NT=351
rem * location of resulting executable and totally optional.
rem * If you don't set this, mozilla.exe will be generated into
rem * mozilla\cmd\winfe\mkfiles32\x86dbg (or x86rel for optimized builds)
rem * set MOZ_OUT=d:\bin
rem * top of your tree, drive letter and path, i.e. set d:\mozilla_src.
rem * The topmost directory under this should be mozilla
rem * so if you extracted zip file to z:\foo, this should be z:\foo
set MOZ_SRC=d:\moz\
rem * location of the bin directory containing your GNU tools. The build
rem * looks for MOZ_TOOLS\bin\gmake.exe, so after you download and unpack
rem * wintools.zip, make some directory called "bin", put your new
rem * uname.exe, shmsdos.exe, and gmake.exe in it, and set MOZ_TOOLS to
rem * the place where you put it.
set MOZ_TOOLS=d:
rem * where to find cp.exe and rm.exe, aka gnu tools for windows
set gnuTools=D:\CDK\H-I386~1\bin
rem * the important thing is that your new moz tools should be first
SET PATH=%MOZ_TOOLS%\bin;%gnuTools%;%PATH%
rem * if you are running VC++ 5.0 or higher, this will prevent the build
rem * from trying to pick up uuid2.lib, which only exists in previous
rem * versions of vc++.
set _MSC_VER=1100
rem * vcvars32.bat is created by visual c++ install to
rem * enable command line builds
echo setting up visual c++ environment...
call d:\bin\vcvars32.bat
:alldone
@echo environment set up, building mozilla...
rem * uncomment these to make the script build as well
rem cd %MOZ_SRC%
rem cd mozilla
rem nmake -f client.mak

View File

@@ -1,26 +0,0 @@
Building NSPR on Windows NT Using Netscape's gmake and Other Tools
This directory contains the following tools:
- gmake.exe: GNU make 3.74, modified to use shmsdos.exe as the shell
- shmsdos.exe: a lightweight shell developed by Netscape programmers.
It has most of the file manipulation operations (such as cp,
rm, mkdir as well as Netscape's own nsinstall) as built-in
commands, so even if you have these
file utilities installed on your NT machine, they won't be invoked
by gmake and shmsdos. Also, since shmsdos is not a full-blown
shell and its built-in file commands are not fully compatible
with the true Unix file utilities, our makefiles have had to
avoid some features of sh and work around the incompatibilities
on Windows NT.
- uname.exe: this uname.exe returns the OS as "WINNT", which is what
our makefiles assume. Do not use a uname.exe that returns other
strings, such as "Windows_NT".
Binaries for the x86 processors can be found in the 'x86' subdirectory.
Binaries for the alpha processors can be found in the 'alpha'
subdirectory.
INSTALLATION:
Install gmake.exe, shmsdos.exe, and uname.exe in any directory.
Add that directory to your Path environment variable.

Binary file not shown.

Binary file not shown.

View File

@@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

File diff suppressed because it is too large Load Diff

View File

@@ -1,176 +0,0 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made.
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

View File

@@ -1,62 +0,0 @@
#
# GNU Makefile for building gmake.exe on WIN32
# This is the top-level makefile. It only does the optimized build.
#
CSRCS = ar.c \
arscan.c \
commands.c \
default.c \
dir.c \
expand.c \
file.c \
function.c \
getloadavg.c \
getopt.c \
getopt1.c \
implicit.c \
job.c \
main.c \
misc.c \
read.c \
remake.c \
remote-stub.c \
rule.c \
signame.c \
variable.c \
version.c \
vpath.c
OBJS = $(CSRCS:.c=.obj) glob/fnmatch.obj glob/glob.obj
CC = cl
CFLAGS = $(CC_SWITCHES) $(INCLUDES) $(DEFINES) $(CC_OUTPUTS)
CC_SWITCHES = -nologo -ML -W3 -O2
INCLUDES = -I. -Iglob
DEFINES = -DWIN32 -DNDEBUG -D_CONSOLE -DNETSCAPE -DHAVE_CONFIG_H
CC_OUTPUTS = -Fpgmake.pch -YX -c
LINK = link
LINK_FLAGS = -nologo -subsystem:console \
-incremental:no -machine:I386 -out:$@
all: gmake.exe
build_glob:
cd glob; $(MAKE)
gmake.exe: build_glob $(OBJS)
$(LINK) $(LINK_FLAGS) $(OBJS)
%.obj: %.c
$(CC) $(CFLAGS) $<
clean:
cd glob; $(MAKE) $@
rm -rf $(OBJS) gmake.pch gmake.exe

View File

@@ -1,307 +0,0 @@
# NOTE: If you have no `make' program at all to process this makefile, run
# `build.sh' instead.
#
# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make 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, or (at your option)
# any later version.
#
# GNU Make 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 GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Makefile for GNU Make
#
# Ultrix 2.2 make doesn't expand the value of VPATH.
VPATH = @srcdir@
# This must repeat the value, because configure will remove `VPATH = .'.
srcdir = @srcdir@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
# Define these for your system as follows:
# -DNO_ARCHIVES To disable `ar' archive support.
# -DNO_FLOAT To avoid using floating-point numbers.
# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2.
# Some compilers apparently accept this
# without complaint but produce losing code,
# so beware.
# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
# See also `config.h'.
defines = @DEFS@ -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\"
# Which flavor of remote job execution support to use.
# The code is found in `remote-$(REMOTE).c'.
REMOTE = @REMOTE@
# If you are using the GNU C library, or have the GNU getopt functions in
# your C library, you can comment these out.
GETOPT = getopt.o getopt1.o
GETOPT_SRC = $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/getopt.h
# If you are using the GNU C library, or have the GNU glob functions in
# your C library, you can comment this out. GNU make uses special hooks
# into the glob functions to be more efficient (by using make's directory
# cache for globbing), so you must use the GNU functions even if your
# system's C library has the 1003.2 glob functions already. Also, the glob
# functions in the AIX and HPUX C libraries are said to be buggy.
GLOB = glob/libglob.a
# If your system doesn't have alloca, or the one provided is bad, define this.
ALLOCA = @ALLOCA@
ALLOCA_SRC = $(srcdir)/alloca.c
# If your system needs extra libraries loaded in, define them here.
# System V probably need -lPW for alloca. HP-UX 7.0's alloca in
# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use
# alloca.c instead on those machines.
LOADLIBES = @LIBS@
# Any extra object files your system needs.
extras = @LIBOBJS@
# Common prefix for machine-independent installed files.
prefix = @prefix@
# Common prefix for machine-dependent installed files.
exec_prefix = @exec_prefix@
# Directory to install `make' in.
bindir = $(exec_prefix)/bin
# Directory to find libraries in for `-lXXX'.
libdir = $(exec_prefix)/lib
# Directory to search by default for included makefiles.
includedir = $(prefix)/include
# Directory to install the Info files in.
infodir = $(prefix)/info
# Directory to install the man page in.
mandir = $(prefix)/man/man$(manext)
# Number to put on the man page filename.
manext = 1
# Prefix to put on installed `make' binary file name.
binprefix =
# Prefix to put on installed `make' man page file name.
manprefix = $(binprefix)
# Whether or not make needs to be installed setgid.
# The value should be either `true' or `false'.
# On many systems, the getloadavg function (used to implement the `-l'
# switch) will not work unless make is installed setgid kmem.
install_setgid = @NEED_SETGID@
# Install make setgid to this group so it can read /dev/kmem.
group = @KMEM_GROUP@
# Program to install `make'.
INSTALL_PROGRAM = @INSTALL_PROGRAM@
# Program to install the man page.
INSTALL_DATA = @INSTALL_DATA@
# Generic install program.
INSTALL = @INSTALL@
# Program to format Texinfo source into Info files.
MAKEINFO = makeinfo
# Program to format Texinfo source into DVI files.
TEXI2DVI = texi2dvi
# Programs to make tags files.
ETAGS = etags -w
CTAGS = ctags -w
objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
rule.o implicit.o default.o variable.o expand.o function.o \
vpath.o version.o ar.o arscan.o signame.o remote-$(REMOTE).o \
$(GLOB) $(GETOPT) $(ALLOCA) $(extras)
srcs = $(srcdir)/commands.c $(srcdir)/job.c $(srcdir)/dir.c \
$(srcdir)/file.c $(srcdir)/getloadavg.c $(srcdir)/misc.c \
$(srcdir)/main.c $(srcdir)/read.c $(srcdir)/remake.c \
$(srcdir)/rule.c $(srcdir)/implicit.c $(srcdir)/default.c \
$(srcdir)/variable.c $(srcdir)/expand.c $(srcdir)/function.c \
$(srcdir)/vpath.c $(srcdir)/version.c \
$(srcdir)/remote-$(REMOTE).c \
$(srcdir)/ar.c $(srcdir)/arscan.c \
$(srcdir)/signame.c $(srcdir)/signame.h $(GETOPT_SRC) \
$(srcdir)/commands.h $(srcdir)/dep.h $(srcdir)/file.h \
$(srcdir)/job.h $(srcdir)/make.h $(srcdir)/rule.h \
$(srcdir)/variable.h $(ALLOCA_SRC) $(srcdir)/config.h.in
.SUFFIXES:
.SUFFIXES: .o .c .h .ps .dvi .info .texinfo
all: make
info: make.info
dvi: make.dvi
# Some makes apparently use .PHONY as the default goal if it is before `all'.
.PHONY: all check info dvi
make.info: make.texinfo
$(MAKEINFO) -I$(srcdir) $(srcdir)/make.texinfo -o make.info
make.dvi: make.texinfo
$(TEXI2DVI) $(srcdir)/make.texinfo
make.ps: make.dvi
dvi2ps make.dvi > make.ps
make: $(objs)
$(CC) $(LDFLAGS) $(objs) $(LOADLIBES) -o make.new
mv -f make.new make
# -I. is needed to find config.h in the build directory.
.c.o:
$(CC) $(defines) -c -I. -I$(srcdir) -I$(srcdir)/glob \
$(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
# For some losing Unix makes.
SHELL = /bin/sh
@SET_MAKE@
glob/libglob.a: FORCE config.h
cd glob; $(MAKE) libglob.a
FORCE:
tagsrcs = $(srcs) $(srcdir)/remote-*.c
TAGS: $(tagsrcs)
$(ETAGS) $(tagsrcs)
tags: $(tagsrcs)
$(CTAGS) $(tagsrcs)
.PHONY: install installdirs
install: installdirs \
$(bindir)/$(binprefix)make $(infodir)/make.info \
$(mandir)/$(manprefix)make.$(manext)
installdirs:
$(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(mandir)
$(bindir)/$(binprefix)make: make
$(INSTALL_PROGRAM) make $@.new
@if $(install_setgid); then \
if chgrp $(group) $@.new && chmod g+s $@.new; then \
echo "chgrp $(group) $@.new && chmod g+s $@.new"; \
else \
echo "$@ needs to be owned by group $(group) and setgid;"; \
echo "otherwise the \`-l' option will probably not work."; \
echo "You may need special privileges to install $@."; \
fi; \
else true; fi
# Some systems can't deal with renaming onto a running binary.
-rm -f $@.old
-mv $@ $@.old
mv $@.new $@
$(infodir)/make.info: make.info
if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
for file in $${dir}/make.info*; do \
name="`basename $$file`"; \
$(INSTALL_DATA) $$file \
`echo $@ | sed "s,make.info\$$,$$name,"`; \
done
# Run install-info only if it exists.
# Use `if' instead of just prepending `-' to the
# line so we notice real errors from install-info.
# We use `$(SHELL) -c' because some shells do not
# fail gracefully when there is an unknown command.
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
install-info --infodir=$(infodir) $$dir/make.info; \
else true; fi
$(mandir)/$(manprefix)make.$(manext): make.man
$(INSTALL_DATA) $(srcdir)/make.man $@
loadavg: loadavg.c config.h
$(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \
loadavg.c $(LOADLIBES) -o $@
# We copy getloadavg.c into a different file rather than compiling it
# directly because some compilers clobber getloadavg.o in the process.
loadavg.c: getloadavg.c
ln $(srcdir)/getloadavg.c loadavg.c || \
cp $(srcdir)/getloadavg.c loadavg.c
check-loadavg: loadavg
@echo The system uptime program believes the load average to be:
-uptime
@echo The GNU load average checking code believes:
./loadavg
check: check-loadavg
.PHONY: clean realclean distclean mostlyclean
clean: glob-clean
-rm -f make loadavg *.o core make.dvi
distclean: clean glob-realclean
-rm -f Makefile config.h config.status build.sh stamp-config
-rm -f config.log config.cache
-rm -f TAGS tags
-rm -f make.?? make.??s make.log make.toc make.*aux
-rm -f loadavg.c
realclean: distclean
-rm -f make.info*
mostlyclean: clean
.PHONY: glob-clean glob-realclean
glob-clean glob-realclean:
cd glob; $(MAKE) $@
Makefile: config.status $(srcdir)/Makefile.in
$(SHELL) config.status
glob/Makefile: config.status $(srcdir)/glob/Makefile.in
$(SHELL) config.status
config.h: stamp-config ;
stamp-config: config.status $(srcdir)/config.h.in
$(SHELL) config.status
touch stamp-config
#configure: configure.in aclocal.m4
# cd $(srcdir) && autoconf $(ACFLAGS)
#config.h.in: configure.in aclocal.m4
# cd $(srcdir) && autoheader $(ACFLAGS)
# This tells versions [3.59,3.63) of GNU make not to export all variables.
.NOEXPORT:
# The automatically generated dependencies below may omit config.h
# because it is included with ``#include <config.h>'' rather than
# ``#include "config.h"''. So we add the explicit dependency to make sure.
$(objs): config.h
# Automatically generated dependencies will be put at the end of the file.
# Automatically generated dependencies.
commands.o : commands.c make.h dep.h commands.h file.h variable.h job.h
job.o: job.c make.h commands.h job.h file.h variable.h
dir.o: dir.c make.h
file.o: file.c make.h commands.h dep.h file.h variable.h
misc.o: misc.c make.h dep.h
main.o: main.c make.h commands.h dep.h file.h variable.h job.h getopt.h
read.o: read.c make.h commands.h dep.h file.h variable.h glob/glob.h
remake.o: remake.c make.h commands.h job.h dep.h file.h
rule.o : rule.c make.h config.h commands.h dep.h file.h variable.h rule.h
implicit.o : implicit.c make.h rule.h dep.h file.h
default.o: default.c make.h rule.h dep.h file.h commands.h variable.h
variable.o : variable.c make.h commands.h variable.h dep.h file.h
expand.o: expand.c make.h commands.h file.h variable.h
function.o: function.c make.h variable.h dep.h commands.h job.h
vpath.o : vpath.c make.h file.h variable.h
version.o: version.c
ar.o : ar.c make.h file.h dep.h
arscan.o: arscan.c make.h
signame.o: signame.c signame.h
remote-stub.o : remote-stub.c make.h commands.h
getopt.o: getopt.c getopt.h
getopt1.o : getopt1.c getopt.h
getloadavg.o: getloadavg.c

View File

@@ -1,557 +0,0 @@
GNU make NEWS -- history of user-visible changes. 26 January 1995
Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
See the end for copying conditions.
Please send GNU make bug reports to bug-gnu-utils@prep.ai.mit.edu.
Version 3.73
* Converted to use Autoconf version 2, so `configure' has some new options.
See INSTALL for details.
* You can now send a SIGUSR1 signal to Make to toggle printing of debugging
output enable by -d, at any time during the run.
Version 3.72
* DJ Delorie has ported Make to MS-DOS using the GO32 extender.
He is maintaining the DOS port, not the GNU Make maintainer;
please direct bugs and questions for DOS to <djgpp@sun.soe.clarkson.edu>.
MS-DOS binaries are available for FTP from oak.oakland.edu:pub/msdos/djgpp.
* The `MAKEFLAGS' variable (in the environment or in a makefile) can now
contain variable definitions itself; these are treated just like
command-line variable definitions. Make will automatically insert any
variable definitions from the environment value of `MAKEFLAGS' or from
the command line, into the `MAKEFLAGS' value exported to children. The
`MAKEOVERRIDES' variable previously included in the value of `$(MAKE)'
for sub-makes is now included in `MAKEFLAGS' instead. As before, you can
reset `MAKEOVERRIDES' in your makefile to avoid putting all the variables
in the environment when its size is limited.
* If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of
a rule if it has changed when its commands exit with a nonzero status,
just as when the commands get a signal.
* The automatic variable `$+' is new. It lists all the dependencies like
`$^', but preserves duplicates listed in the makefile. This is useful
for linking rules, where library files sometimes need to be listed twice
in the link order.
* You can now specify the `.IGNORE' and `.SILENT' special targets with
dependencies to limit their effects to those files. If a file appears as
a dependency of `.IGNORE', then errors will be ignored while running the
commands to update that file. Likewise if a file appears as a dependency
of `.SILENT', then the commands to update that file will not be printed
before they are run. (This change was made to conform to POSIX.2.)
Version 3.71
* The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(<D)', `$(?D)', and
`$(^D)' now omit the trailing slash from the directory name. (This change
was made to comply with POSIX.2.)
* The source distribution now includes the Info files for the Make manual.
There is no longer a separate distribution containing Info and DVI files.
* You can now set the variables `binprefix' and/or `manprefix' in
Makefile.in (or on the command line when installing) to install GNU make
under a name other than `make' (i.e., ``make binprefix=g install''
installs GNU make as `gmake').
* The built-in Texinfo rules use the new variables `TEXI2DVI_FLAGS' for
flags to the `texi2dvi' script, and `MAKEINFO_FLAGS' for flags to the
Makeinfo program.
* The exit status of Make when it runs into errors is now 2 instead of 1.
The exit status is 1 only when using -q and some target is not up to date.
(This change was made to comply with POSIX.2.)
Version 3.70
* It is no longer a fatal error to have a NUL character in a makefile.
You should never put a NUL in a makefile because it can have strange
results, but otherwise empty lines full of NULs (such as produced by
the `xmkmf' program) will always work fine.
* The error messages for nonexistent included makefiles now refer to the
makefile name and line number where the `include' appeared, so Emacs's
C-x ` command takes you there (in case it's a typo you need to fix).
Version 3.69
* Implicit rule search for archive member references is now done in the
opposite order from previous versions: the whole target name `LIB(MEM)'
first, and just the member name and parentheses `(MEM)' second.
* Make now gives an error for an unterminated variable or function reference.
For example, `$(foo' with no matching `)' or `${bar' with no matching `}'.
* The new default variable `MAKE_VERSION' gives the version number of
Make, and a string describing the remote job support compiled in (if any).
Thus the value (in this release) is something like `3.69' or `3.69-Customs'.
* Commands in an invocation of the `shell' function are no longer run with
a modified environment like target commands are. As in versions before
3.68, they now run with the environment that `make' started with. We
have reversed the change made in version 3.68 because it turned out to
cause a paradoxical situation in cases like:
export variable = $(shell echo value)
When Make attempted to put this variable in the environment for a target
command, it would try expand the value by running the shell command
`echo value'. In version 3.68, because it constructed an environment
for that shell command in the same way, Make would begin to go into an
infinite loop and then get a fatal error when it detected the loop.
* The commands given for `.DEFAULT' are now used for phony targets with no
commands.
Version 3.68
* You can list several archive member names inside parenthesis:
`lib(mem1 mem2 mem3)' is equivalent to `lib(mem1) lib(mem2) lib(mem3)'.
* You can use wildcards inside archive member references. For example,
`lib(*.o)' expands to all existing members of `lib' whose names end in
`.o' (e.g. `lib(a.o) lib(b.o)'); `*.a(*.o)' expands to all such members
of all existing files whose names end in `.a' (e.g. `foo.a(a.o)
foo.a(b.o) bar.a(c.o) bar.a(d.o)'.
* A suffix rule `.X.a' now produces two pattern rules:
(%.o): %.X # Previous versions produced only this.
%.a: %.X # Now produces this as well, just like other suffixes.
* The new flag `--warn-undefined-variables' says to issue a warning message
whenever Make expands a reference to an undefined variable.
* The new `-include' directive is just like `include' except that there is
no error (not even a warning) for a nonexistent makefile.
* Commands in an invocation of the `shell' function are now run with a
modified environment like target commands are, so you can use `export' et
al to set up variables for them. They used to run with the environment
that `make' started with.
Version 3.66
* `make --version' (or `make -v') now exits immediately after printing
the version number.
Version 3.65
* Make now supports long-named members in `ar' archive files.
Version 3.64
* Make now supports the `+=' syntax for a variable definition which appends
to the variable's previous value. See the section `Appending More Text
to Variables' in the manual for full details.
* The new option `--no-print-directory' inhibits the `-w' or
`--print-directory' feature. Make turns on `--print-directory'
automatically if you use `-C' or `--directory', and in sub-makes; some
users have found this behavior undesirable.
* The built-in implicit rules now support the alternative extension
`.txinfo' for Texinfo files, just like `.texinfo' and `.texi'.
Version 3.63
* Make now uses a standard GNU `configure' script. See the new file
INSTALL for the new (and much simpler) installation procedure.
* There is now a shell script to build Make the first time, if you have no
other `make' program. `build.sh' is created by `configure'; see README.
* GNU Make now completely conforms to the POSIX.2 specification for `make'.
* Elements of the `$^' and `$?' automatic variables that are archive
member references now list only the member name, as in Unix and POSIX.2.
* You should no longer ever need to specify the `-w' switch, which prints
the current directory before and after Make runs. The `-C' switch to
change directory, and recursive use of Make, now set `-w' automatically.
* Multiple double-colon rules for the same target will no longer have their
commands run simultaneously under -j, as this could result in the two
commands trying to change the file at the same time and interfering with
one another.
* The `SHELL' variable is now never taken from the environment.
Each makefile that wants a shell other than the default (/bin/sh) must
set SHELL itself. SHELL is always exported to child processes.
This change was made for compatibility with POSIX.2.
* Make now accepts long options. There is now an informative usage message
that tells you what all the options are and what they do. Try `make --help'.
* There are two new directives: `export' and `unexport'. All variables are
no longer automatically put into the environments of the commands that
Make runs. Instead, only variables specified on the command line or in
the environment are exported by default. To export others, use:
export VARIABLE
or you can define variables with:
export VARIABLE = VALUE
or:
export VARIABLE := VALUE
You can use just:
export
or:
.EXPORT_ALL_VARIABLES:
to get the old behavior. See the node `Variables/Recursion' in the manual
for a full description.
* The commands from the `.DEFAULT' special target are only applied to
targets which have no rules at all, not all targets with no commands.
This change was made for compatibility with Unix make.
* All fatal error messages now contain `***', so they are easy to find in
compilation logs.
* Dependency file names like `-lNAME' are now replaced with the actual file
name found, as with files found by normal directory search (VPATH).
The library file `libNAME.a' may now be found in the current directory,
which is checked before VPATH; the standard set of directories (/lib,
/usr/lib, /usr/local/lib) is now checked last.
See the node `Libraries/Search' in the manual for full details.
* A single `include' directive can now specify more than one makefile to
include, like this:
include file1 file2
You can also use shell file name patterns in an `include' directive:
include *.mk
* The default directories to search for included makefiles, and for
libraries specified with `-lNAME', are now set by configuration.
* You can now use blanks as well as colons to separate the directories in a
search path for the `vpath' directive or the `VPATH' variable.
* You can now use variables and functions in the left hand side of a
variable assignment, as in "$(foo)bar = value".
* The `MAKE' variable is always defined as `$(MAKE_COMMAND) $(MAKEOVERRIDES)'.
The `MAKE_COMMAND' variable is now defined to the name with which make
was invoked.
* The built-in rules for C++ compilation now use the variables `$(CXX)' and
`$(CXXFLAGS)' instead of `$(C++)' and `$(C++FLAGS)'. The old names had
problems with shells that cannot have `+' in environment variable names.
* The value of a recursively expanded variable is now expanded when putting
it into the environment for child processes. This change was made for
compatibility with Unix make.
* A rule with no targets before the `:' is now accepted and ignored.
This change was made for compatibility with SunOS 4 make.
We do not recommend that you write your makefiles to take advantage of this.
* The `-I' switch can now be used in MAKEFLAGS, and are put there
automatically just like other switches.
Version 3.61
* Built-in rules for C++ source files with the `.C' suffix.
We still recommend that you use `.cc' instead.
* If commands are given too many times for a single target,
the last set given is used, and a warning message is printed.
* Error messages about makefiles are in standard GNU error format,
so C-x ` in Emacs works on them.
* Dependencies of pattern rules which contain no % need not actually exist
if they can be created (just like dependencies which do have a %).
Version 3.60
* A message is always printed when Make decides there is nothing to be done.
It used to be that no message was printed for top-level phony targets
(because "`phony' is up to date" isn't quite right). Now a different
message "Nothing to be done for `phony'" is printed in that case.
* Archives on AIX now supposedly work.
* When the commands specified for .DEFAULT are used to update a target,
the $< automatic variable is given the same value as $@ for that target.
This is how Unix make behaves, and this behavior is mandated by POSIX.2.
Version 3.59
* The -n, -q, and -t options are not put in the `MAKEFLAGS' and `MFLAG'
variables while remaking makefiles, so recursive makes done while remaking
makefiles will behave properly.
* If the special target `.NOEXPORT' is specified in a makefile,
only variables that came from the environment and variables
defined on the command line are exported.
Version 3.58
* Suffix rules may have dependencies (which are ignored).
Version 3.57
* Dependencies of the form `-lLIB' are searched for as /usr/local/lib/libLIB.a
as well as libLIB.a in /usr/lib, /lib, the current directory, and VPATH.
Version 3.55
* There is now a Unix man page for GNU Make. It is certainly not a replacement
for the Texinfo manual, but it documents the basic functionality and the
switches. For full documentation, you should still read the Texinfo manual.
Thanks to Dennis Morse of Stanford University for contributing the initial
version of this.
* Variables which are defined by default (e.g., `CC') will no longer be put
into the environment for child processes. (If these variables are reset by the
environment, makefiles, or the command line, they will still go into the
environment.)
* Makefiles which have commands but no dependencies (and thus are always
considered out of date and in need of remaking), will not be remade (if they
were being remade only because they were makefiles). This means that GNU
Make will no longer go into an infinite loop when fed the makefiles that
`imake' (necessary to build X Windows) produces.
* There is no longer a warning for using the `vpath' directive with an explicit
pathname (instead of a `%' pattern).
Version 3.51
* When removing intermediate files, only one `rm' command line is printed,
listing all file names.
* There are now automatic variables `$(^D)', `$(^F)', `$(?D)', and `$(?F)'.
These are the directory-only and file-only versions of `$^' and `$?'.
* Library dependencies given as `-lNAME' will use "libNAME.a" in the current
directory if it exists.
* The automatic variable `$($/)' is no longer defined.
* Leading `+' characters on a command line make that line be executed even
under -n, -t, or -q (as if the line contained `$(MAKE)').
* For command lines containing `$(MAKE)', `${MAKE}', or leading `+' characters,
only those lines are executed, not their entire rules.
(This is how Unix make behaves for lines containing `$(MAKE)' or `${MAKE}'.)
Version 3.50
* Filenames in rules will now have ~ and ~USER expanded.
* The `-p' output has been changed so it can be used as a makefile.
(All information that isn't specified by makefiles is prefaced with comment
characters.)
Version 3.49
* The % character can be quoted with backslash in implicit pattern rules,
static pattern rules, `vpath' directives, and `patsubst', `filter', and
`filter-out' functions. A warning is issued if a `vpath' directive's
pattern contains no %.
* The `wildcard' variable expansion function now expands ~ and ~USER.
* Messages indicating failed commands now contain the target name:
make: *** [target] Error 1
* The `-p' output format has been changed somewhat to look more like
makefile rules and to give all information that Make has about files.
Version 3.48
Version 3.47
* The `-l' switch with no argument removes any previous load-average limit.
* When the `-w' switch is in effect, and Make has updated makefiles,
it will write a `Leaving directory' messagfe before re-executing itself.
This makes the `directory change tracking' changes to Emacs's compilation
commands work properly.
Version 3.46
* The automatic variable `$*' is now defined for explicit rules,
as it is in Unix make.
Version 3.45
* The `-j' switch is now put in the MAKEFLAGS and MFLAGS variables when
specified without an argument (indicating infinite jobs).
The `-l' switch is not always put in the MAKEFLAGS and MFLAGS variables.
* Make no longer checks hashed directories after running commands.
The behavior implemented in 3.41 caused too much slowdown.
Version 3.44
* A dependency is NOT considered newer than its dependent if
they have the same modification time. The behavior implemented
in 3.43 conflicts with RCS.
Version 3.43
* Dependency loops are no longer fatal errors.
* A dependency is considered newer than its dependent if
they have the same modification time.
Version 3.42
* The variables F77 and F77FLAGS are now set by default to $(FC) and
$(FFLAGS). Makefiles designed for System V make may use these variables in
explicit rules and expect them to be set. Unfortunately, there is no way to
make setting these affect the Fortran implicit rules unless FC and FFLAGS
are not used (and these are used by BSD make).
Version 3.41
* Make now checks to see if its hashed directories are changed by commands.
Other makes that hash directories (Sun, 4.3 BSD) don't do this.
Version 3.39
* The `shell' function no longer captures standard error output.
Version 3.32
* A file beginning with a dot can be the default target if it also contains
a slash (e.g., `../bin/foo'). (Unix make allows this as well.)
Version 3.31
* Archive member names are truncated to 15 characters.
* Yet more USG stuff.
* Minimal support for Microport System V (a 16-bit machine and a
brain-damaged compiler). This has even lower priority than other USG
support, so if it gets beyond trivial, I will take it out completely.
* Revamped default implicit rules (not much visible change).
* The -d and -p options can come from the environment.
Version 3.30
* Improved support for USG and HPUX (hopefully).
* A variable reference like `$(foo:a=b)', if `a' contains a `%', is
equivalent to `$(patsubst a,b,$(foo))'.
* Defining .DEFAULT with no deps or commands clears its commands.
* New default implicit rules for .S (cpp, then as), and .sh (copy and make
executable). All default implicit rules that use cpp (even indirectly), use
$(CPPFLAGS).
Version 3.29
* Giving the -j option with no arguments gives you infinite jobs.
Version 3.28
* New option: "-l LOAD" says not to start any new jobs while others are
running if the load average is not below LOAD (a floating-point number).
* There is support in place for implementations of remote command execution
in Make. See the file remote.c.
Version 3.26
* No more than 10 directories will be kept open at once.
(This number can be changed by redefining MAX_OPEN_DIRECTORIES in dir.c.)
Version 3.25
* Archive files will have their modification times recorded before doing
anything that might change their modification times by updating an archive
member.
Version 3.20
* The `MAKELEVEL' variable is defined for use by makefiles.
Version 3.19
* The recursion level indications in error messages are much shorter than
they were in version 3.14.
Version 3.18
* Leading spaces before directives are ignored (as documented).
* Included makefiles can determine the default goal target.
(System V Make does it this way, so we are being compatible).
Version 3.14.
* Variables that are defaults built into Make will not be put in the
environment for children. This just saves some environment space and,
except under -e, will be transparent to sub-makes.
* Error messages from sub-makes will indicate the level of recursion.
* Hopefully some speed-up for large directories due to a change in the
directory hashing scheme.
* One child will always get a standard input that is usable.
* Default makefiles that don't exist will be remade and read in.
Version 3.13.
* Count parentheses inside expansion function calls so you can
have nested calls: `$(sort $(foreach x,a b,$(x)))'.
Version 3.12.
* Several bug fixes, including USG and Sun386i support.
* `shell' function to expand shell commands a la `
* If the `-d' flag is given, version information will be printed.
* The `-c' option has been renamed to `-C' for compatibility with tar.
* The `-p' option no longer inhibits other normal operation.
* Makefiles will be updated and re-read if necessary.
* Can now run several commands at once (parallelism), -j option.
* Error messages will contain the level of Make recursion, if any.
* The `MAKEFLAGS' and `MFLAGS' variables will be scanned for options after
makefiles are read.
* A double-colon rule with no dependencies will always have its commands run.
(This is how both the BSD and System V versions of Make do it.)
Version 3.05
(Changes from versions 1 through 3.05 were never recorded. Sorry.)
----------------------------------------------------------------------
Copyright information:
Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
Local variables:
version-control: never
end:

View File

@@ -1,128 +0,0 @@
# NOTE: If you have no `make' program at all to process this makefile, run
# `build_w32.bat' instead.
#
# Copyright (C) 1988, 89, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make 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, or (at your option)
# any later version.
#
# GNU Make 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 GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
# NMakefile for GNU Make
#
LINK = link
CC = cl
OUTDIR=.
MAKEFILE=NMakefile
# The cl switches we use:
# /Fd<filename> renames program database file
# /Fo<filename> creates an object file
# /Fp<filename> specifies a precompiled header file name
# /O2 creates fast code
# /Od disables optimization
# /W sets warning levels
# /YX Automates precompiled header
# /Zi Generates complete debugging information
CFLAGS_any = /nologo /W3 /YX /I . /I glob /D NETSCAPE /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H
CFLAGS_debug = $(CFLAGS_any) /MLd /Zi /Od /D _DEBUG /FpWinDebug/make.pch /FoWinDebug/ /FdWinDebug/make.pdb
CFLAGS_release = $(CFLAGS_any) /ML /O2 /D NDEBUG /FpWinRel/make.pch /FoWinRel/
LDFLAGS_debug = /NOLOGO /SUBSYSTEM:console\
/INCREMENTAL:no /PDB:WinDebug/make.pdb \
/OUT:WinDebug/make.exe /DEBUG
LDFLAGS_release = /NOLOGO /SUBSYSTEM:console\
/INCREMENTAL:no /OUT:WinRel/make.exe
all: Release Debug
Release:
nmake /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_release)" CFLAGS="$(CFLAGS_release)" OUTDIR=WinRel WinRel/make.exe
Debug:
nmake /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_debug)" CFLAGS="$(CFLAGS_debug)" OUTDIR=WinDebug WinDebug/make.exe
clean:
rmdir /s /q WinDebug WinRel
$(OUTDIR):
if not exist .\$@\nul mkdir .\$@
#LIBS = kernel32.lib user32.lib advapi32.lib
#LIBS = kernel32.lib
OBJS = \
$(OUTDIR)/ar.obj \
$(OUTDIR)/arscan.obj \
$(OUTDIR)/commands.obj \
$(OUTDIR)/default.obj \
$(OUTDIR)/dir.obj \
$(OUTDIR)/expand.obj \
$(OUTDIR)/file.obj \
$(OUTDIR)/function.obj \
$(OUTDIR)/getloadavg.obj \
$(OUTDIR)/getopt.obj \
$(OUTDIR)/getopt1.obj \
$(OUTDIR)/implicit.obj \
$(OUTDIR)/job.obj \
$(OUTDIR)/main.obj \
$(OUTDIR)/misc.obj \
$(OUTDIR)/read.obj \
$(OUTDIR)/remake.obj \
$(OUTDIR)/remote-stub.obj \
$(OUTDIR)/rule.obj \
$(OUTDIR)/signame.obj \
$(OUTDIR)/variable.obj \
$(OUTDIR)/version.obj \
$(OUTDIR)/vpath.obj \
$(OUTDIR)/glob.obj \
$(OUTDIR)/fnmatch.obj
$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)
$(LINK) @<<
$(LDFLAGS) $(LIBS) $(OBJS)
<<
.c{$(OUTDIR)}.obj:
$(CC) $(CFLAGS) /c $<
$(OUTDIR)/ar.obj : ar.c make.h file.h dep.h
$(OUTDIR)/arscan.obj : arscan.c make.h
$(OUTDIR)/commands.obj : commands.c
$(OUTDIR)/default.obj : default.c make.h rule.h dep.h file.h job.h commands.h variable.h
$(OUTDIR)/dir.obj : dir.c make.h
$(OUTDIR)/expand.obj : expand.c make.h file.h job.h commands.h variable.h
$(OUTDIR)/file.obj : file.c make.h dep.h file.h job.h commands.h variable.h
$(OUTDIR)/function.obj : function.c make.h file.h variable.h dep.h job.h commands.h
$(OUTDIR)/getloadavg.obj : getloadavg.c
$(OUTDIR)/getopt.obj : getopt.c
$(OUTDIR)/getopt1.obj : getopt1.c getopt.h
$(OUTDIR)/implicit.obj : implicit.c make.h rule.h dep.h file.h
$(OUTDIR)/job.obj : job.c make.h job.h file.h commands.h variable.h
$(OUTDIR)/main.obj : main.c make.h dep.h file.h variable.h job.h commands.h getopt.h
$(OUTDIR)/misc.obj : misc.c make.h dep.h
$(OUTDIR)/read.obj : read.c make.h dep.h file.h job.h commands.h variable.h glob/glob.h
$(OUTDIR)/remake.obj : remake.c make.h file.h job.h commands.h dep.h
$(OUTDIR)/remote-stub.obj : remote-stub.c make.h file.h job.h commands.h
$(OUTDIR)/rule.obj : rule.c make.h dep.h file.h job.h commands.h variable.h rule.h
$(OUTDIR)/signame.obj : signame.c signame.h
$(OUTDIR)/variable.obj : variable.c make.h dep.h file.h job.h commands.h variable.h
$(OUTDIR)/version.obj : version.c
$(OUTDIR)/vpath.obj : vpath.c make.h file.h variable.h
$(OUTDIR)/glob.obj : glob/glob.c
$(CC) $(CFLAGS) /c glob/glob.c
$(OUTDIR)/fnmatch.obj : glob/fnmatch.c
$(CC) $(CFLAGS) /c glob/fnmatch.c

View File

@@ -1,28 +0,0 @@
This directory contains the 3.74 test release of GNU Make.
All bugs reported for previous test releases have been fixed.
Some bugs surely remain.
For general building and installation instructions, see the file INSTALL.
If you need to build GNU Make and have no other `make' program to use,
you can use the shell script `build.sh' instead. To do this, first run
`configure' as described in INSTALL. Then, instead of typing `make' to
build the program, type `sh build.sh'. This should compile the program
in the current directory. Then you will have a Make program that you can
use for `make install', or whatever else.
It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
that if you compile make with `cc -O' on AIX 3.2, it will not work correctly.
It is said that using `cc' without `-O' does work.
One area that is often a problem in configuration and porting is the code
to check the system's current load average. To make it easier to test and
debug this code, you can do `make check-loadavg' to see if it works
properly on your system. (You must run `configure' beforehand, but you
need not build Make itself to run this test.)
See the file NEWS for what has changed since previous releases.
GNU Make is fully documented in make.texinfo. See the section entitled
`Problems and Bugs' for information on submitting bug reports.
GNU Make is free software. See the file COPYING for copying conditions.

View File

@@ -1,16 +0,0 @@
This directory contains the source files for the GNU make
that is used to build some components (e.g., NSPR) on Win32.
This GNU make is based on version 3.74 and was ported to
Win32 by Netscape engineers. Its default shell is shmsdos.exe,
a lightweight shell written by Netscape engineers.
To build it, you need Microsoft Visual C++ and nmake. If
you want to change the build number, which is displayed by
the '-v' command line option, you can edit the value of the
macro BUILD_NUMBER in main.c. Then, issue the command:
nmake /f NMakefile
The outputs are WinDebug\make.exe and WinRel\make.exe.
Assuming you want to use the optmized executable file,
copy WinRel\make.exe to a directory on your Path and
rename it gmake.exe.

View File

@@ -1,17 +0,0 @@
/* Define to the name of the SCCS `get' command. */
#undef SCCS_GET
/* Define this if the SCCS `get' command understands the `-G<file>' option. */
#undef SCCS_GET_MINUS_G
/* Define this if the C library defines the variable `sys_siglist'. */
#undef HAVE_SYS_SIGLIST
/* Define this if the C library defines the variable `_sys_siglist'. */
#undef HAVE__SYS_SIGLIST
/* Define this if you have the `union wait' type in <sys/wait.h>. */
#undef HAVE_UNION_WAIT
/* Define this if the POSIX.1 call `sysconf (_SC_OPEN_MAX)' works properly. */
#undef HAVE_SYSCONF_OPEN_MAX

View File

@@ -1,492 +0,0 @@
/* alloca.c -- allocate automatically reclaimed memory
(Mostly) portable public-domain implementation -- D A Gwyn
This implementation of the PWB library alloca function,
which is used to allocate space off the run-time stack so
that it is automatically reclaimed upon procedure exit,
was inspired by discussions with J. Q. Johnson of Cornell.
J.Otto Tennant <jot@cray.com> contributed the Cray support.
There are some preprocessor constants that can
be defined when compiling for your specific system, for
improved efficiency; however, the defaults should be okay.
The general concept of this implementation is to keep
track of all alloca-allocated blocks, and reclaim any
that are found to be deeper in the stack than the current
invocation. This heuristic does not reclaim storage as
soon as it becomes invalid, but it will do so eventually.
As a special case, alloca(0) reclaims storage without
allocating any. It is a good idea to use alloca(0) in
your main control loop, etc. to force garbage collection. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef emacs
#include "blockinput.h"
#endif
/* If compiling with GCC 2, this file's not needed. */
#if !defined (__GNUC__) || __GNUC__ < 2
/* If someone has defined alloca as a macro,
there must be some other way alloca is supposed to work. */
#ifndef alloca
#ifdef emacs
#ifdef static
/* actually, only want this if static is defined as ""
-- this is for usg, in which emacs must undefine static
in order to make unexec workable
*/
#ifndef STACK_DIRECTION
you
lose
-- must know STACK_DIRECTION at compile-time
#endif /* STACK_DIRECTION undefined */
#endif /* static */
#endif /* emacs */
/* If your stack is a linked list of frames, you have to
provide an "address metric" ADDRESS_FUNCTION macro. */
#if defined (CRAY) && defined (CRAY_STACKSEG_END)
long i00afunc ();
#define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
#else
#define ADDRESS_FUNCTION(arg) &(arg)
#endif
#if __STDC__
typedef void *pointer;
#else
typedef char *pointer;
#endif
#define NULL 0
/* Different portions of Emacs need to call different versions of
malloc. The Emacs executable needs alloca to call xmalloc, because
ordinary malloc isn't protected from input signals. On the other
hand, the utilities in lib-src need alloca to call malloc; some of
them are very simple, and don't have an xmalloc routine.
Non-Emacs programs expect this to call use xmalloc.
Callers below should use malloc. */
#ifndef emacs
#define malloc xmalloc
#endif
extern pointer malloc ();
/* Define STACK_DIRECTION if you know the direction of stack
growth for your system; otherwise it will be automatically
deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#ifndef STACK_DIRECTION
#define STACK_DIRECTION 0 /* Direction unknown. */
#endif
#if STACK_DIRECTION != 0
#define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
#else /* STACK_DIRECTION == 0; need run-time code. */
static int stack_dir; /* 1 or -1 once known. */
#define STACK_DIR stack_dir
static void
find_stack_direction ()
{
static char *addr = NULL; /* Address of first `dummy', once known. */
auto char dummy; /* To get stack address. */
if (addr == NULL)
{ /* Initial entry. */
addr = ADDRESS_FUNCTION (dummy);
find_stack_direction (); /* Recurse once. */
}
else
{
/* Second entry. */
if (ADDRESS_FUNCTION (dummy) > addr)
stack_dir = 1; /* Stack grew upward. */
else
stack_dir = -1; /* Stack grew downward. */
}
}
#endif /* STACK_DIRECTION == 0 */
/* An "alloca header" is used to:
(a) chain together all alloca'ed blocks;
(b) keep track of stack depth.
It is very important that sizeof(header) agree with malloc
alignment chunk size. The following default should work okay. */
#ifndef ALIGN_SIZE
#define ALIGN_SIZE sizeof(double)
#endif
typedef union hdr
{
char align[ALIGN_SIZE]; /* To force sizeof(header). */
struct
{
union hdr *next; /* For chaining headers. */
char *deep; /* For stack depth measure. */
} h;
} header;
static header *last_alloca_header = NULL; /* -> last alloca header. */
/* Return a pointer to at least SIZE bytes of storage,
which will be automatically reclaimed upon exit from
the procedure that called alloca. Originally, this space
was supposed to be taken from the current stack frame of the
caller, but that method cannot be made to work for some
implementations of C, for example under Gould's UTX/32. */
pointer
alloca (size)
unsigned size;
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
#if STACK_DIRECTION == 0
if (STACK_DIR == 0) /* Unknown growth direction. */
find_stack_direction ();
#endif
/* Reclaim garbage, defined as all alloca'd storage that
was allocated from deeper in the stack than currently. */
{
register header *hp; /* Traverses linked list. */
#ifdef emacs
BLOCK_INPUT;
#endif
for (hp = last_alloca_header; hp != NULL;)
if ((STACK_DIR > 0 && hp->h.deep > depth)
|| (STACK_DIR < 0 && hp->h.deep < depth))
{
register header *np = hp->h.next;
free ((pointer) hp); /* Collect garbage. */
hp = np; /* -> next header. */
}
else
break; /* Rest are not deeper. */
last_alloca_header = hp; /* -> last valid storage. */
#ifdef emacs
UNBLOCK_INPUT;
#endif
}
if (size == 0)
return NULL; /* No allocation required. */
/* Allocate combined header + user data storage. */
{
register pointer new = malloc (sizeof (header) + size);
/* Address of header. */
((header *) new)->h.next = last_alloca_header;
((header *) new)->h.deep = depth;
last_alloca_header = (header *) new;
/* User storage begins just after header. */
return (pointer) ((char *) new + sizeof (header));
}
}
#if defined (CRAY) && defined (CRAY_STACKSEG_END)
#ifdef DEBUG_I00AFUNC
#include <stdio.h>
#endif
#ifndef CRAY_STACK
#define CRAY_STACK
#ifndef CRAY2
/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
struct stack_control_header
{
long shgrow:32; /* Number of times stack has grown. */
long shaseg:32; /* Size of increments to stack. */
long shhwm:32; /* High water mark of stack. */
long shsize:32; /* Current size of stack (all segments). */
};
/* The stack segment linkage control information occurs at
the high-address end of a stack segment. (The stack
grows from low addresses to high addresses.) The initial
part of the stack segment linkage control information is
0200 (octal) words. This provides for register storage
for the routine which overflows the stack. */
struct stack_segment_linkage
{
long ss[0200]; /* 0200 overflow words. */
long sssize:32; /* Number of words in this segment. */
long ssbase:32; /* Offset to stack base. */
long:32;
long sspseg:32; /* Offset to linkage control of previous
segment of stack. */
long:32;
long sstcpt:32; /* Pointer to task common address block. */
long sscsnm; /* Private control structure number for
microtasking. */
long ssusr1; /* Reserved for user. */
long ssusr2; /* Reserved for user. */
long sstpid; /* Process ID for pid based multi-tasking. */
long ssgvup; /* Pointer to multitasking thread giveup. */
long sscray[7]; /* Reserved for Cray Research. */
long ssa0;
long ssa1;
long ssa2;
long ssa3;
long ssa4;
long ssa5;
long ssa6;
long ssa7;
long sss0;
long sss1;
long sss2;
long sss3;
long sss4;
long sss5;
long sss6;
long sss7;
};
#else /* CRAY2 */
/* The following structure defines the vector of words
returned by the STKSTAT library routine. */
struct stk_stat
{
long now; /* Current total stack size. */
long maxc; /* Amount of contiguous space which would
be required to satisfy the maximum
stack demand to date. */
long high_water; /* Stack high-water mark. */
long overflows; /* Number of stack overflow ($STKOFEN) calls. */
long hits; /* Number of internal buffer hits. */
long extends; /* Number of block extensions. */
long stko_mallocs; /* Block allocations by $STKOFEN. */
long underflows; /* Number of stack underflow calls ($STKRETN). */
long stko_free; /* Number of deallocations by $STKRETN. */
long stkm_free; /* Number of deallocations by $STKMRET. */
long segments; /* Current number of stack segments. */
long maxs; /* Maximum number of stack segments so far. */
long pad_size; /* Stack pad size. */
long current_address; /* Current stack segment address. */
long current_size; /* Current stack segment size. This
number is actually corrupted by STKSTAT to
include the fifteen word trailer area. */
long initial_address; /* Address of initial segment. */
long initial_size; /* Size of initial segment. */
};
/* The following structure describes the data structure which trails
any stack segment. I think that the description in 'asdef' is
out of date. I only describe the parts that I am sure about. */
struct stk_trailer
{
long this_address; /* Address of this block. */
long this_size; /* Size of this block (does not include
this trailer). */
long unknown2;
long unknown3;
long link; /* Address of trailer block of previous
segment. */
long unknown5;
long unknown6;
long unknown7;
long unknown8;
long unknown9;
long unknown10;
long unknown11;
long unknown12;
long unknown13;
long unknown14;
};
#endif /* CRAY2 */
#endif /* not CRAY_STACK */
#ifdef CRAY2
/* Determine a "stack measure" for an arbitrary ADDRESS.
I doubt that "lint" will like this much. */
static long
i00afunc (long *address)
{
struct stk_stat status;
struct stk_trailer *trailer;
long *block, size;
long result = 0;
/* We want to iterate through all of the segments. The first
step is to get the stack status structure. We could do this
more quickly and more directly, perhaps, by referencing the
$LM00 common block, but I know that this works. */
STKSTAT (&status);
/* Set up the iteration. */
trailer = (struct stk_trailer *) (status.current_address
+ status.current_size
- 15);
/* There must be at least one stack segment. Therefore it is
a fatal error if "trailer" is null. */
if (trailer == 0)
abort ();
/* Discard segments that do not contain our argument address. */
while (trailer != 0)
{
block = (long *) trailer->this_address;
size = trailer->this_size;
if (block == 0 || size == 0)
abort ();
trailer = (struct stk_trailer *) trailer->link;
if ((block <= address) && (address < (block + size)))
break;
}
/* Set the result to the offset in this segment and add the sizes
of all predecessor segments. */
result = address - block;
if (trailer == 0)
{
return result;
}
do
{
if (trailer->this_size <= 0)
abort ();
result += trailer->this_size;
trailer = (struct stk_trailer *) trailer->link;
}
while (trailer != 0);
/* We are done. Note that if you present a bogus address (one
not in any segment), you will get a different number back, formed
from subtracting the address of the first block. This is probably
not what you want. */
return (result);
}
#else /* not CRAY2 */
/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
Determine the number of the cell within the stack,
given the address of the cell. The purpose of this
routine is to linearize, in some sense, stack addresses
for alloca. */
static long
i00afunc (long address)
{
long stkl = 0;
long size, pseg, this_segment, stack;
long result = 0;
struct stack_segment_linkage *ssptr;
/* Register B67 contains the address of the end of the
current stack segment. If you (as a subprogram) store
your registers on the stack and find that you are past
the contents of B67, you have overflowed the segment.
B67 also points to the stack segment linkage control
area, which is what we are really interested in. */
stkl = CRAY_STACKSEG_END ();
ssptr = (struct stack_segment_linkage *) stkl;
/* If one subtracts 'size' from the end of the segment,
one has the address of the first word of the segment.
If this is not the first segment, 'pseg' will be
nonzero. */
pseg = ssptr->sspseg;
size = ssptr->sssize;
this_segment = stkl - size;
/* It is possible that calling this routine itself caused
a stack overflow. Discard stack segments which do not
contain the target address. */
while (!(this_segment <= address && address <= stkl))
{
#ifdef DEBUG_I00AFUNC
fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
#endif
if (pseg == 0)
break;
stkl = stkl - pseg;
ssptr = (struct stack_segment_linkage *) stkl;
size = ssptr->sssize;
pseg = ssptr->sspseg;
this_segment = stkl - size;
}
result = address - this_segment;
/* If you subtract pseg from the current end of the stack,
you get the address of the previous stack segment's end.
This seems a little convoluted to me, but I'll bet you save
a cycle somewhere. */
while (pseg != 0)
{
#ifdef DEBUG_I00AFUNC
fprintf (stderr, "%011o %011o\n", pseg, size);
#endif
stkl = stkl - pseg;
ssptr = (struct stack_segment_linkage *) stkl;
size = ssptr->sssize;
pseg = ssptr->sspseg;
result += size;
}
return (result);
}
#endif /* not CRAY2 */
#endif /* CRAY */
#endif /* no alloca */
#endif /* not GCC version 2 */

View File

@@ -1,317 +0,0 @@
/* Interface to `ar' archives for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#ifndef NO_ARCHIVES
#include "file.h"
#include "dep.h"
#include <fnmatch.h>
/* Defined in arscan.c. */
extern long int ar_scan ();
extern int ar_member_touch ();
extern int ar_name_equal ();
/* Return nonzero if NAME is an archive-member reference, zero if not.
An archive-member reference is a name like `lib(member)'.
If a name like `lib((entry))' is used, a fatal error is signaled at
the attempt to use this unsupported feature. */
int
ar_name (name)
char *name;
{
char *p = index (name, '('), *end = name + strlen (name) - 1;
if (p == 0 || p == name || *end != ')')
return 0;
if (p[1] == '(' && end[-1] == ')')
fatal ("attempt to use unsupported feature: `%s'", name);
return 1;
}
/* Parse the archive-member reference NAME into the archive and member names.
Put the malloc'd archive name in *ARNAME_P if ARNAME_P is non-nil;
put the malloc'd member name in *MEMNAME_P if MEMNAME_P is non-nil. */
void
ar_parse_name (name, arname_p, memname_p)
char *name, **arname_p, **memname_p;
{
char *p = index (name, '('), *end = name + strlen (name) - 1;
if (arname_p != 0)
*arname_p = savestring (name, p - name);
if (memname_p != 0)
*memname_p = savestring (p + 1, end - (p + 1));
}
static long int ar_member_date_1 ();
/* Return the modtime of NAME. */
time_t
ar_member_date (name)
char *name;
{
char *arname;
int arname_used = 0;
char *memname;
long int val;
ar_parse_name (name, &arname, &memname);
/* Make sure we know the modtime of the archive itself because we are
likely to be called just before commands to remake a member are run,
and they will change the archive itself.
But we must be careful not to enter_file the archive itself if it does
not exist, because pattern_search assumes that files found in the data
base exist or can be made. */
{
struct file *arfile;
arfile = lookup_file (arname);
if (arfile == 0 && file_exists_p (arname))
{
arfile = enter_file (arname);
arname_used = 1;
}
if (arfile != 0)
(void) f_mtime (arfile, 0);
}
val = ar_scan (arname, ar_member_date_1, (long int) memname);
if (!arname_used)
free (arname);
free (memname);
return (val <= 0 ? (time_t) -1 : (time_t) val);
}
/* This function is called by `ar_scan' to find which member to look at. */
/* ARGSUSED */
static long int
ar_member_date_1 (desc, mem, truncated,
hdrpos, datapos, size, date, uid, gid, mode, name)
int desc;
char *mem;
int truncated;
long int hdrpos, datapos, size, date;
int uid, gid, mode;
char *name;
{
return ar_name_equal (name, mem, truncated) ? date : 0;
}
/* Set the archive-member NAME's modtime to now. */
int
ar_touch (name)
char *name;
{
char *arname, *memname;
int arname_used = 0;
register int val;
ar_parse_name (name, &arname, &memname);
/* Make sure we know the modtime of the archive itself before we
touch the member, since this will change the archive itself. */
{
struct file *arfile;
arfile = lookup_file (arname);
if (arfile == 0)
{
arfile = enter_file (arname);
arname_used = 1;
}
(void) f_mtime (arfile, 0);
}
val = 1;
switch (ar_member_touch (arname, memname))
{
case -1:
error ("touch: Archive `%s' does not exist", arname);
break;
case -2:
error ("touch: `%s' is not a valid archive", arname);
break;
case -3:
perror_with_name ("touch: ", arname);
break;
case 1:
error ("touch: Member `%s' does not exist in `%s'", memname, arname);
break;
case 0:
val = 0;
break;
default:
error ("touch: Bad return code from ar_member_touch on `%s'", name);
}
if (!arname_used)
free (arname);
free (memname);
return val;
}
/* State of an `ar_glob' run, passed to `ar_glob_match'. */
struct ar_glob_state
{
char *arname;
char *pattern;
unsigned int size;
struct nameseq *chain;
unsigned int n;
};
/* This function is called by `ar_scan' to match one archive
element against the pattern in STATE. */
static long int
ar_glob_match (desc, mem, truncated,
hdrpos, datapos, size, date, uid, gid, mode,
state)
int desc;
char *mem;
int truncated;
long int hdrpos, datapos, size, date;
int uid, gid, mode;
struct ar_glob_state *state;
{
if (fnmatch (state->pattern, mem, FNM_PATHNAME|FNM_PERIOD) == 0)
{
/* We have a match. Add it to the chain. */
struct nameseq *new = (struct nameseq *) xmalloc (state->size);
new->name = concat (state->arname, mem, ")");
new->next = state->chain;
state->chain = new;
++state->n;
}
return 0L;
}
/* Alphabetic sorting function for `qsort'. */
static int
ar_glob_alphacompare (a, b)
char **a, **b;
{
return strcmp (*a, *b);
}
/* Return nonzero if PATTERN contains any metacharacters.
Metacharacters can be quoted with backslashes if QUOTE is nonzero. */
static int
glob_pattern_p (pattern, quote)
const char *pattern;
const int quote;
{
register const char *p;
int open = 0;
for (p = pattern; *p != '\0'; ++p)
switch (*p)
{
case '?':
case '*':
return 1;
case '\\':
if (quote)
++p;
break;
case '[':
open = 1;
break;
case ']':
if (open)
return 1;
break;
}
return 0;
}
/* Glob for MEMBER_PATTERN in archive ARNAME.
Return a malloc'd chain of matching elements (or nil if none). */
struct nameseq *
ar_glob (arname, member_pattern, size)
char *arname, *member_pattern;
unsigned int size;
{
struct ar_glob_state state;
char **names;
struct nameseq *n;
unsigned int i;
if (! glob_pattern_p (member_pattern, 1))
return 0;
/* Scan the archive for matches.
ar_glob_match will accumulate them in STATE.chain. */
i = strlen (arname);
state.arname = (char *) alloca (i + 2);
bcopy (arname, state.arname, i);
state.arname[i] = '(';
state.arname[i + 1] = '\0';
state.pattern = member_pattern;
state.size = size;
state.chain = 0;
state.n = 0;
(void) ar_scan (arname, ar_glob_match, (long int) &state);
if (state.chain == 0)
return 0;
/* Now put the names into a vector for sorting. */
names = (char **) alloca (state.n * sizeof (char *));
i = 0;
for (n = state.chain; n != 0; n = n->next)
names[i++] = n->name;
/* Sort them alphabetically. */
qsort ((char *) names, i, sizeof (*names), ar_glob_alphacompare);
/* Put them back into the chain in the sorted order. */
i = 0;
for (n = state.chain; n != 0; n = n->next)
n->name = names[i++];
return state.chain;
}
#endif /* Not NO_ARCHIVES. */

View File

@@ -1,561 +0,0 @@
/* Library function for scanning an archive file.
Copyright (C) 1987, 89, 91, 92, 93, 94 Free Software Foundation, Inc.
This program 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, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#else
#include <sys/file.h>
#endif
#ifndef NO_ARCHIVES
/* SCO Unix's compiler defines both of these. */
#ifdef M_UNIX
#undef M_XENIX
#endif
/* On the sun386i and in System V rel 3, ar.h defines two different archive
formats depending upon whether you have defined PORTAR (normal) or PORT5AR
(System V Release 1). There is no default, one or the other must be defined
to have a nonzero value. */
#if (!defined (PORTAR) || PORTAR == 0) && (!defined (PORT5AR) || PORT5AR == 0)
#undef PORTAR
#ifdef M_XENIX
/* According to Jim Sievert <jas1@rsvl.unisys.com>, for SCO XENIX defining
PORTAR to 1 gets the wrong archive format, and defining it to 0 gets the
right one. */
#define PORTAR 0
#else
#define PORTAR 1
#endif
#endif
#include <ar.h>
/* Cray's <ar.h> apparently defines this. */
#ifndef AR_HDR_SIZE
#define AR_HDR_SIZE (sizeof (struct ar_hdr))
#endif
/* Takes three arguments ARCHIVE, FUNCTION and ARG.
Open the archive named ARCHIVE, find its members one by one,
and for each one call FUNCTION with the following arguments:
archive file descriptor for reading the data,
member name,
member name might be truncated flag,
member header position in file,
member data position in file,
member data size,
member date,
member uid,
member gid,
member protection mode,
ARG.
The descriptor is poised to read the data of the member
when FUNCTION is called. It does not matter how much
data FUNCTION reads.
If FUNCTION returns nonzero, we immediately return
what FUNCTION returned.
Returns -1 if archive does not exist,
Returns -2 if archive has invalid format.
Returns 0 if have scanned successfully. */
long int
ar_scan (archive, function, arg)
char *archive;
long int (*function) ();
long int arg;
{
#ifdef AIAMAG
FL_HDR fl_header;
#else
int long_name = 0;
#endif
char *namemap = 0;
register int desc = open (archive, O_RDONLY, 0);
if (desc < 0)
return -1;
#ifdef SARMAG
{
char buf[SARMAG];
register int nread = read (desc, buf, SARMAG);
if (nread != SARMAG || bcmp (buf, ARMAG, SARMAG))
{
(void) close (desc);
return -2;
}
}
#else
#ifdef AIAMAG
{
register int nread = read (desc, (char *) &fl_header, FL_HSZ);
if (nread != FL_HSZ || bcmp (fl_header.fl_magic, AIAMAG, SAIAMAG))
{
(void) close (desc);
return -2;
}
}
#else
{
#ifndef M_XENIX
int buf;
#else
unsigned short int buf;
#endif
register int nread = read(desc, &buf, sizeof (buf));
if (nread != sizeof (buf) || buf != ARMAG)
{
(void) close (desc);
return -2;
}
}
#endif
#endif
/* Now find the members one by one. */
{
#ifdef SARMAG
register long int member_offset = SARMAG;
#else
#ifdef AIAMAG
long int member_offset;
long int last_member_offset;
sscanf (fl_header.fl_fstmoff, "%12ld", &member_offset);
sscanf (fl_header.fl_lstmoff, "%12ld", &last_member_offset);
#else
#ifndef M_XENIX
register long int member_offset = sizeof (int);
#else /* Xenix. */
register long int member_offset = sizeof (unsigned short int);
#endif /* Not Xenix. */
#endif
#endif
while (1)
{
register int nread;
struct ar_hdr member_header;
#ifdef AIAMAG
char name[256];
int name_len;
long int dateval;
int uidval, gidval;
long int data_offset;
#else
char namebuf[sizeof member_header.ar_name + 1];
char *name;
int is_namemap; /* Nonzero if this entry maps long names. */
#endif
long int eltsize;
int eltmode;
long int fnval;
if (lseek (desc, member_offset, 0) < 0)
{
(void) close (desc);
return -2;
}
#ifdef AIAMAG
#define AR_MEMHDR (AR_HDR_SIZE - sizeof (member_header._ar_name))
nread = read (desc, (char *) &member_header, AR_MEMHDR);
if (nread != AR_MEMHDR)
{
(void) close (desc);
return -2;
}
sscanf (member_header.ar_namlen, "%4d", &name_len);
nread = read (desc, name, name_len);
if (nread != name_len)
{
(void) close (desc);
return -2;
}
name[name_len] = 0;
sscanf (member_header.ar_date, "%12ld", &dateval);
sscanf (member_header.ar_uid, "%12d", &uidval);
sscanf (member_header.ar_gid, "%12d", &gidval);
sscanf (member_header.ar_mode, "%12o", &eltmode);
sscanf (member_header.ar_size, "%12ld", &eltsize);
if ((data_offset = member_offset + AR_MEMHDR + name_len + 2) % 2)
++data_offset;
fnval =
(*function) (desc, name, 0,
member_offset, data_offset, eltsize,
dateval, uidval, gidval,
eltmode, arg);
#else /* Not AIAMAG. */
nread = read (desc, (char *) &member_header, AR_HDR_SIZE);
if (nread == 0)
/* No data left means end of file; that is OK. */
break;
if (nread != AR_HDR_SIZE
#ifdef ARFMAG
|| bcmp (member_header.ar_fmag, ARFMAG, 2)
#endif
)
{
(void) close (desc);
return -2;
}
name = namebuf;
bcopy (member_header.ar_name, name, sizeof member_header.ar_name);
{
register char *p = name + sizeof member_header.ar_name;
do
*p = '\0';
while (p > name && *--p == ' ');
#ifndef AIAMAG
/* If the member name is "//" or "ARFILENAMES/" this may be
a list of file name mappings. The maximum file name
length supported by the standard archive format is 14
characters. This member will actually always be the
first or second entry in the archive, but we don't check
that. */
is_namemap = (!strcmp (name, "//")
|| !strcmp (name, "ARFILENAMES/"));
#endif /* Not AIAMAG. */
/* On some systems, there is a slash after each member name. */
if (*p == '/')
*p = '\0';
#ifndef AIAMAG
/* If the member name starts with a space or a slash, this
is an index into the file name mappings (used by GNU ar).
Otherwise if the member name looks like #1/NUMBER the
real member name appears in the element data (used by
4.4BSD). */
if (! is_namemap
&& (name[0] == ' ' || name[0] == '/')
&& namemap != 0)
{
name = namemap + atoi (name + 1);
long_name = 1;
}
else if (name[0] == '#'
&& name[1] == '1'
&& name[2] == '/')
{
int namesize = atoi (name + 3);
name = (char *) alloca (namesize + 1);
nread = read (desc, name, namesize);
if (nread != namesize)
{
close (desc);
return -2;
}
name[namesize] = '\0';
long_name = 1;
}
#endif /* Not AIAMAG. */
}
#ifndef M_XENIX
sscanf (member_header.ar_mode, "%o", &eltmode);
eltsize = atol (member_header.ar_size);
#else /* Xenix. */
eltmode = (unsigned short int) member_header.ar_mode;
eltsize = member_header.ar_size;
#endif /* Not Xenix. */
fnval =
(*function) (desc, name, ! long_name, member_offset,
member_offset + AR_HDR_SIZE, eltsize,
#ifndef M_XENIX
atol (member_header.ar_date),
atoi (member_header.ar_uid),
atoi (member_header.ar_gid),
#else /* Xenix. */
member_header.ar_date,
member_header.ar_uid,
member_header.ar_gid,
#endif /* Not Xenix. */
eltmode, arg);
#endif /* AIAMAG. */
if (fnval)
{
(void) close (desc);
return fnval;
}
#ifdef AIAMAG
if (member_offset == last_member_offset)
/* End of the chain. */
break;
sscanf (member_header.ar_nxtmem, "%12ld", &member_offset);
if (lseek (desc, member_offset, 0) != member_offset)
{
(void) close (desc);
return -2;
}
#else
/* If this member maps archive names, we must read it in. The
name map will always precede any members whose names must
be mapped. */
if (is_namemap)
{
char *clear;
char *limit;
namemap = (char *) alloca (eltsize);
nread = read (desc, namemap, eltsize);
if (nread != eltsize)
{
(void) close (desc);
return -2;
}
/* The names are separated by newlines. Some formats have
a trailing slash. Null terminate the strings for
convenience. */
limit = namemap + eltsize;
for (clear = namemap; clear < limit; clear++)
{
if (*clear == '\n')
{
*clear = '\0';
if (clear[-1] == '/')
clear[-1] = '\0';
}
}
is_namemap = 0;
}
member_offset += AR_HDR_SIZE + eltsize;
if (member_offset % 2 != 0)
member_offset++;
#endif
}
}
close (desc);
return 0;
}
/* Return nonzero iff NAME matches MEM.
If TRUNCATED is nonzero, MEM may be truncated to
sizeof (struct ar_hdr.ar_name) - 1. */
int
ar_name_equal (name, mem, truncated)
char *name, *mem;
int truncated;
{
char *p;
p = rindex (name, '/');
if (p != 0)
name = p + 1;
/* We no longer use this kludge, since we
now support long archive member names. */
#if 0 && !defined (AIAMAG) && !defined (APOLLO)
{
/* `reallylongname.o' matches `reallylongnam.o'.
If member names have a trailing slash, that's `reallylongna.o'. */
struct ar_hdr h;
unsigned int max = sizeof (h.ar_name);
unsigned int namelen, memlen;
if (strncmp (name, mem, max - 3))
return 0;
namelen = strlen (name);
memlen = strlen (mem);
if (namelen > memlen && memlen >= max - 1
&& name[namelen - 2] == '.' && name[namelen - 1] == 'o'
&& mem[memlen - 2] == '.' && mem[memlen - 1] == 'o')
return 1;
if (namelen != memlen)
return 0;
return (namelen < max - 3 || !strcmp (name + max - 3, mem + max - 3));
}
#else /* AIX or APOLLO. */
if (truncated)
{
#ifdef AIAMAG
/* TRUNCATED should never be set on this system. */
abort ();
#else
struct ar_hdr hdr;
return !strncmp (name, mem,
sizeof (hdr.ar_name) -
#if !defined (__hpux) && !defined (cray)
1
#else
2
#endif /* !__hpux && !cray */
);
#endif
}
return !strcmp (name, mem);
#endif
}
/* ARGSUSED */
static long int
ar_member_pos (desc, mem, truncated,
hdrpos, datapos, size, date, uid, gid, mode, name)
int desc;
char *mem;
int truncated;
long int hdrpos, datapos, size, date;
int uid, gid, mode;
char *name;
{
if (!ar_name_equal (name, mem, truncated))
return 0;
return hdrpos;
}
/* Set date of member MEMNAME in archive ARNAME to current time.
Returns 0 if successful,
-1 if file ARNAME does not exist,
-2 if not a valid archive,
-3 if other random system call error (including file read-only),
1 if valid but member MEMNAME does not exist. */
int
ar_member_touch (arname, memname)
char *arname, *memname;
{
register long int pos = ar_scan (arname, ar_member_pos, (long int) memname);
register int fd;
struct ar_hdr ar_hdr;
register int i;
struct stat statbuf;
if (pos < 0)
return (int) pos;
if (!pos)
return 1;
fd = open (arname, O_RDWR, 0666);
if (fd < 0)
return -3;
/* Read in this member's header */
if (lseek (fd, pos, 0) < 0)
goto lose;
if (AR_HDR_SIZE != read (fd, (char *) &ar_hdr, AR_HDR_SIZE))
goto lose;
/* Write back the header, thus touching the archive file. */
if (lseek (fd, pos, 0) < 0)
goto lose;
if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE))
goto lose;
/* The file's mtime is the time we we want. */
#ifdef EINTR
while (fstat (fd, &statbuf) < 0 && errno == EINTR);
#else
fstat (fd, &statbuf);
#endif
#if defined(ARFMAG) || defined(AIAMAG)
/* Advance member's time to that time */
for (i = 0; i < sizeof ar_hdr.ar_date; i++)
ar_hdr.ar_date[i] = ' ';
sprintf (ar_hdr.ar_date, "%ld", (long int) statbuf.st_mtime);
#ifdef AIAMAG
ar_hdr.ar_date[strlen(ar_hdr.ar_date)] = ' ';
#endif
#else
ar_hdr.ar_date = statbuf.st_mtime;
#endif
/* Write back this member's header */
if (lseek (fd, pos, 0) < 0)
goto lose;
if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE))
goto lose;
close (fd);
return 0;
lose:
i = errno;
close (fd);
errno = i;
return -3;
}
#ifdef TEST
long int
describe_member (desc, name, truncated,
hdrpos, datapos, size, date, uid, gid, mode)
int desc;
char *name;
int truncated;
long int hdrpos, datapos, size, date;
int uid, gid, mode;
{
extern char *ctime ();
printf ("Member `%s'%s: %ld bytes at %ld (%ld).\n",
name, truncated ? " (name might be truncated)" : "",
size, hdrpos, datapos);
printf (" Date %s", ctime (&date));
printf (" uid = %d, gid = %d, mode = 0%o.\n", uid, gid, mode);
return 0;
}
main (argc, argv)
int argc;
char **argv;
{
ar_scan (argv[1], describe_member);
return 0;
}
#endif /* TEST. */
#endif /* NO_ARCHIVES. */

View File

@@ -1,69 +0,0 @@
#!/bin/sh
# Shell script to build GNU Make in the absence of any `make' program.
# @configure_input@
# Copyright (C) 1993, 1994 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make 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, or (at your option)
# any later version.
#
# GNU Make 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 GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# See Makefile.in for comments describing these variables.
srcdir='@srcdir@'
CC='@CC@'
CFLAGS='@CFLAGS@'
CPPFLAGS='@CPPFLAGS@'
LDFLAGS='@LDFLAGS@'
defines='@DEFS@ -DLIBDIR="${libdir}" -DINCLUDEDIR="${includedir}"'
ALLOCA='@ALLOCA@'
LOADLIBES='@LIBS@'
extras='@LIBOBJS@'
REMOTE='@REMOTE@'
# Common prefix for machine-independent installed files.
prefix='@prefix@'
# Common prefix for machine-dependent installed files.
exec_prefix='@exec_prefix@'
# Directory to find libraries in for `-lXXX'.
libdir=${exec_prefix}/lib
# Directory to search by default for included makefiles.
includedir=${prefix}/include
# Exit as soon as any command fails.
set -e
# These are all the objects we need to link together.
objs="commands.o job.o dir.o file.o misc.o main.o read.o remake.o rule.o implicit.o default.o variable.o expand.o function.o vpath.o version.o ar.o arscan.o signame.o getopt.o getopt1.o glob/glob.o glob/fnmatch.o remote-${REMOTE}.o ${extras} ${ALLOCA}"
# Compile the source files into those objects.
for file in `echo ${objs} | sed 's/\.o/.c/g'`; do
echo compiling ${file}...
$CC $defines $CPPFLAGS $CFLAGS \
-c -I. -I${srcdir} -I${srcdir}/glob ${srcdir}/$file
done
# The object files were actually all put in the current directory.
# Remove the source directory names from the list.
srcobjs="$objs"
objs=
for obj in $srcobjs; do
objs="$objs `basename $obj`"
done
# Link all the objects together.
echo linking make...
$CC $LDFLAGS $objs $LOADLIBES -o make.new
echo done
mv -f make.new make

View File

@@ -1,521 +0,0 @@
/* Command processing for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "dep.h"
#include "commands.h"
#include "file.h"
#include "variable.h"
#include "job.h"
extern int remote_kill ();
#ifndef HAVE_UNISTD_H
extern int getpid ();
#endif
/* Set FILE's automatic variables up. */
static void
set_file_variables (file)
register struct file *file;
{
// register char *p;
char *at, *percent, *star, *less;
#ifndef NO_ARCHIVES
/* If the target is an archive member `lib(member)',
then $@ is `lib' and $% is `member'. */
if (ar_name (file->name))
{
unsigned int len;
p = index (file->name, '(');
at = (char *) alloca (p - file->name + 1);
bcopy (file->name, at, p - file->name);
at[p - file->name] = '\0';
len = strlen (p + 1);
percent = (char *) alloca (len);
bcopy (p + 1, percent, len - 1);
percent[len - 1] = '\0';
}
else
#endif /* NO_ARCHIVES. */
{
at = file->name;
percent = "";
}
/* $* is the stem from an implicit or static pattern rule. */
if (file->stem == 0)
{
/* In Unix make, $* is set to the target name with
any suffix in the .SUFFIXES list stripped off for
explicit rules. We store this in the `stem' member. */
register struct dep *d;
char *name;
unsigned int len;
#ifndef NO_ARCHIVES
if (ar_name (file->name))
{
name = index (file->name, '(') + 1;
len = strlen (name) - 1;
}
else
#endif
{
name = file->name;
len = strlen (name);
}
for (d = enter_file (".SUFFIXES")->deps; d != 0; d = d->next)
{
unsigned int slen = strlen (dep_name (d));
if (len > slen && !strncmp (dep_name (d), name + (len - slen), slen))
{
file->stem = savestring (name, len - slen);
break;
}
}
if (d == 0)
file->stem = "";
}
star = file->stem;
/* $< is the first dependency. */
less = file->deps != 0 ? dep_name (file->deps) : "";
if (file->cmds == default_file->cmds)
/* This file got its commands from .DEFAULT.
In this case $< is the same as $@. */
less = at;
#define DEFINE_VARIABLE(name, len, value) \
(void) define_variable_for_file (name, len, value, o_automatic, 0, file)
/* Define the variables. */
DEFINE_VARIABLE ("<", 1, less);
DEFINE_VARIABLE ("*", 1, star);
DEFINE_VARIABLE ("@", 1, at);
DEFINE_VARIABLE ("%", 1, percent);
/* Compute the values for $^, $+, and $?. */
{
register unsigned int qmark_len, plus_len;
char *caret_value, *plus_value;
register char *cp;
char *qmark_value;
register char *qp;
register struct dep *d;
unsigned int len;
/* Compute first the value for $+, which is supposed to contain
duplicate dependencies as they were listed in the makefile. */
plus_len = 0;
for (d = file->deps; d != 0; d = d->next)
plus_len += strlen (dep_name (d)) + 1;
len = plus_len == 0 ? 1 : plus_len;
cp = plus_value = (char *) alloca (len);
qmark_len = plus_len; /* Will be this or less. */
for (d = file->deps; d != 0; d = d->next)
{
char *c = dep_name (d);
#ifndef NO_ARCHIVES
if (ar_name (c))
{
c = index (c, '(') + 1;
len = strlen (c) - 1;
}
else
#endif
len = strlen (c);
bcopy (c, cp, len);
cp += len;
*cp++ = ' ';
if (! d->changed)
qmark_len -= len + 1; /* Don't space in $? for this one. */
}
/* Kill the last space and define the variable. */
cp[cp > plus_value ? -1 : 0] = '\0';
DEFINE_VARIABLE ("+", 1, plus_value);
/* Make sure that no dependencies are repeated. This does not
really matter for the purpose of updating targets, but it
might make some names be listed twice for $^ and $?. */
uniquize_deps (file->deps);
/* Compute the values for $^ and $?. */
cp = caret_value = plus_value; /* Reuse the buffer; it's big enough. */
len = qmark_len == 0 ? 1 : qmark_len;
qp = qmark_value = (char *) alloca (len);
for (d = file->deps; d != 0; d = d->next)
{
char *c = dep_name (d);
#ifndef NO_ARCHIVES
if (ar_name (c))
{
c = index (c, '(') + 1;
len = strlen (c) - 1;
}
else
#endif
len = strlen (c);
bcopy (c, cp, len);
cp += len;
*cp++ = ' ';
if (d->changed)
{
bcopy (c, qp, len);
qp += len;
*qp++ = ' ';
}
}
/* Kill the last spaces and define the variables. */
cp[cp > caret_value ? -1 : 0] = '\0';
DEFINE_VARIABLE ("^", 1, caret_value);
qp[qp > qmark_value ? -1 : 0] = '\0';
DEFINE_VARIABLE ("?", 1, qmark_value);
}
#undef DEFINE_VARIABLE
}
/* Chop CMDS up into individual command lines if necessary.
Also set the `lines_flag' and `any_recurse' members. */
void
chop_commands (cmds)
register struct commands *cmds;
{
if (cmds != 0 && cmds->command_lines == 0)
{
/* Chop CMDS->commands up into lines in CMDS->command_lines.
Also set the corresponding CMDS->lines_flags elements,
and the CMDS->any_recurse flag. */
register char *p;
unsigned int nlines, idx;
char **lines;
nlines = 5;
lines = (char **) xmalloc (5 * sizeof (char *));
idx = 0;
p = cmds->commands;
while (*p != '\0')
{
char *end = p;
find_end:;
end = index (end, '\n');
if (end == 0)
end = p + strlen (p);
else if (end > p && end[-1] == '\\')
{
int backslash = 1;
register char *b;
for (b = end - 2; b >= p && *b == '\\'; --b)
backslash = !backslash;
if (backslash)
{
++end;
goto find_end;
}
}
if (idx == nlines)
{
nlines += 2;
lines = (char **) xrealloc ((char *) lines,
nlines * sizeof (char *));
}
lines[idx++] = savestring (p, end - p);
p = end;
if (*p != '\0')
++p;
}
if (idx != nlines)
{
nlines = idx;
lines = (char **) xrealloc ((char *) lines,
nlines * sizeof (char *));
}
cmds->ncommand_lines = nlines;
cmds->command_lines = lines;
cmds->any_recurse = 0;
cmds->lines_flags = (char *) xmalloc (nlines);
for (idx = 0; idx < nlines; ++idx)
{
int flags = 0;
for (p = lines[idx];
isblank (*p) || *p == '-' || *p == '@' || *p == '+';
++p)
switch (*p)
{
case '+':
flags |= COMMANDS_RECURSE;
break;
case '@':
flags |= COMMANDS_SILENT;
break;
case '-':
flags |= COMMANDS_NOERROR;
break;
}
if (!(flags & COMMANDS_RECURSE))
{
unsigned int len = strlen (p);
if (sindex (p, len, "$(MAKE)", 7) != 0
|| sindex (p, len, "${MAKE}", 7) != 0)
flags |= COMMANDS_RECURSE;
}
cmds->lines_flags[idx] = flags;
cmds->any_recurse |= flags & COMMANDS_RECURSE;
}
}
}
/* Execute the commands to remake FILE. If they are currently executing,
return or have already finished executing, just return. Otherwise,
fork off a child process to run the first command line in the sequence. */
void
execute_file_commands (file)
struct file *file;
{
register char *p;
/* Don't go through all the preparations if
the commands are nothing but whitespace. */
for (p = file->cmds->commands; *p != '\0'; ++p)
if (!isspace (*p) && *p != '-' && *p != '@')
break;
if (*p == '\0')
{
/* We are all out of commands.
If we have gotten this far, all the previous commands
have run successfully, so we have winning update status. */
file->update_status = 0;
notice_finished_file (file);
return;
}
/* First set the automatic variables according to this file. */
initialize_file_variables (file);
set_file_variables (file);
/* Start the commands running. */
new_job (file);
}
/* This is set while we are inside fatal_error_signal,
so things can avoid nonreentrant operations. */
int handling_fatal_signal = 0;
/* Handle fatal signals. */
RETSIGTYPE
fatal_error_signal (sig)
int sig;
{
#if defined(__MSDOS__) || defined(NETSCAPE)
remove_intermediates (1);
exit (1);
#else /* Not MSDOS. */
handling_fatal_signal = 1;
/* Set the handling for this signal to the default.
It is blocked now while we run this handler. */
signal (sig, SIG_DFL);
/* A termination signal won't be sent to the entire
process group, but it means we want to kill the children. */
if (sig == SIGTERM)
{
register struct child *c;
for (c = children; c != 0; c = c->next)
if (!c->remote)
(void) kill (c->pid, SIGTERM);
}
/* If we got a signal that means the user
wanted to kill make, remove pending targets. */
if (sig == SIGTERM || sig == SIGINT || sig == SIGHUP || sig == SIGQUIT)
{
register struct child *c;
/* Remote children won't automatically get signals sent
to the process group, so we must send them. */
for (c = children; c != 0; c = c->next)
if (c->remote)
(void) remote_kill (c->pid, sig);
for (c = children; c != 0; c = c->next)
delete_child_targets (c);
/* Clean up the children. We don't just use the call below because
we don't want to print the "Waiting for children" message. */
while (job_slots_used > 0)
reap_children (1, 0);
}
else
/* Wait for our children to die. */
while (job_slots_used > 0)
reap_children (1, 1);
/* Delete any non-precious intermediate files that were made. */
remove_intermediates (1);
if (sig == SIGQUIT)
/* We don't want to send ourselves SIGQUIT, because it will
cause a core dump. Just exit instead. */
exit (1);
/* Signal the same code; this time it will really be fatal. The signal
will be unblocked when we return and arrive then to kill us. */
if (kill (getpid (), sig) < 0)
pfatal_with_name ("kill");
#endif /* MSDOS. */
}
/* Delete FILE unless it's precious or not actually a file (phony),
and it has changed on disk since we last stat'd it. */
static void
delete_target (file, on_behalf_of)
struct file *file;
char *on_behalf_of;
{
struct stat st;
if (file->precious || file->phony)
return;
#ifndef NO_ARCHIVES
if (ar_name (file->name))
{
if (ar_member_date (file->name) != file->last_mtime)
{
if (on_behalf_of)
error ("*** [%s] Archive member `%s' may be bogus; not deleted",
on_behalf_of, file->name);
else
error ("*** Archive member `%s' may be bogus; not deleted",
file->name);
}
return;
}
#endif
if (safe_stat (file->name, &st) == 0
&& S_ISREG (st.st_mode)
&& (time_t) st.st_mtime != file->last_mtime)
{
if (on_behalf_of)
error ("*** [%s] Deleting file `%s'", on_behalf_of, file->name);
else
error ("*** Deleting file `%s'", file->name);
if (unlink (file->name) < 0)
perror_with_name ("unlink: ", file->name);
}
}
/* Delete all non-precious targets of CHILD unless they were already deleted.
Set the flag in CHILD to say they've been deleted. */
void
delete_child_targets (child)
struct child *child;
{
struct dep *d;
if (child->deleted)
return;
/* Delete the target file if it changed. */
delete_target (child->file, (char *) 0);
/* Also remove any non-precious targets listed in the `also_make' member. */
for (d = child->file->also_make; d != 0; d = d->next)
delete_target (d->file, child->file->name);
child->deleted = 1;
}
/* Print out the commands in CMDS. */
void
print_commands (cmds)
register struct commands *cmds;
{
register char *s;
fputs ("# commands to execute", stdout);
if (cmds->filename == 0)
puts (" (built-in):");
else
printf (" (from `%s', line %u):\n", cmds->filename, cmds->lineno);
s = cmds->commands;
while (*s != '\0')
{
char *end;
while (isspace (*s))
++s;
end = index (s, '\n');
if (end == 0)
end = s + strlen (s);
printf ("\t%.*s\n", (int) (end - s), s);
s = end;
}
}

View File

@@ -1,42 +0,0 @@
/* Definition of data structures describing shell commands for GNU Make.
Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Structure that gives the commands to make a file
and information about where these commands came from. */
struct commands
{
char *filename; /* File that contains commands. */
unsigned int lineno; /* Line number in file. */
char *commands; /* Commands text. */
unsigned int ncommand_lines;/* Number of command lines. */
char **command_lines; /* Commands chopped up into lines. */
char *lines_flags; /* One set of flag bits for each line. */
int any_recurse; /* Nonzero if any `lines_recurse' elt has */
/* the COMMANDS_RECURSE bit set. */
};
/* Bits in `lines_flags'. */
#define COMMANDS_RECURSE 1 /* Recurses: + or $(MAKE). */
#define COMMANDS_SILENT 2 /* Silent: @. */
#define COMMANDS_NOERROR 4 /* No errors: -. */
extern void execute_file_commands ();
extern void print_commands ();
extern void delete_child_targets ();
extern void chop_commands ();

View File

@@ -1,275 +0,0 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
#undef CRAY_STACKSEG_END
/* Define for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
/* Define if the `getloadavg' function needs to be run setuid or setgid. */
#undef GETLOADAVG_PRIVILEGED
/* Define to `int' if <sys/types.h> doesn't define. */
#define gid_t
/* Define if you have alloca, as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you don't have vprintf but do have _doprnt. */
#undef HAVE_DOPRNT
/* Define if your system has its own `getloadavg' function. */
#undef HAVE_GETLOADAVG
/* Define if you have the getmntent function. */
#undef HAVE_GETMNTENT
/* Define if the `long double' type works. */
#undef HAVE_LONG_DOUBLE
/* Define if you support file names longer than 14 characters. */
#define HAVE_LONG_FILE_NAMES
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if system calls automatically restart after interruption
by a signal. */
#undef HAVE_RESTARTABLE_SYSCALLS
/* Define if your struct stat has st_blksize. */
#undef HAVE_ST_BLKSIZE
/* Define if your struct stat has st_blocks. */
#undef HAVE_ST_BLOCKS
/* Define if you have the strcoll function and it is properly defined. */
#undef HAVE_STRCOLL
/* Define if your struct stat has st_rdev. */
#undef HAVE_ST_RDEV
/* Define if you have the strftime function. */
#define HAVE_STRFTIME
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define if your struct tm has tm_zone. */
#undef HAVE_TM_ZONE
/* Define if you don't have tm_zone but do have the external array
tzname. */
#define HAVE_TZNAME
/* Define if you have <unistd.h>. */
#undef HAVE_UNISTD_H
/* Define if utime(file, NULL) sets file's timestamp to the present. */
#define HAVE_UTIME_NULL
/* Define if you have <vfork.h>. */
#undef HAVE_VFORK_H
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
/* Define if you have the wait3 system call. */
#undef HAVE_WAIT3
/* Define if on MINIX. */
#undef _MINIX
/* Define if your struct nlist has an n_un member. */
#undef NLIST_NAME_UNION
/* Define if you have <nlist.h>. */
#undef NLIST_STRUCT
/* Define if your C compiler doesn't accept -c and -o together. */
#define NO_MINUS_C_MINUS_O
/* Define to `int' if <sys/types.h> doesn't define. */
#define pid_t int
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define if the setvbuf function takes the buffering type as its second
argument and the buffer pointer as the third, as on System V
before release 3. */
#undef SETVBUF_REVERSED
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
#undef STACK_DIRECTION
/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#define STAT_MACROS_BROKEN
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define on System V Release 4. */
#undef SVR4
/* Define if `sys_siglist' is declared by <signal.h>. */
#undef SYS_SIGLIST_DECLARED
/* Define to `int' if <sys/types.h> doesn't define. */
#define uid_t int
/* Define for Encore UMAX. */
#undef UMAX
/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
instead of <sys/cpustats.h>. */
#undef UMAX4_3
/* Define vfork as fork if vfork does not work. */
#undef vfork
/* Define to the name of the SCCS `get' command. */
#define SCCS_GET "get"
/* Define this if the SCCS `get' command understands the `-G<file>' option. */
#undef SCCS_GET_MINUS_G
/* Define this if the C library defines the variable `sys_siglist'. */
#undef HAVE_SYS_SIGLIST
/* Define this if the C library defines the variable `_sys_siglist'. */
#undef HAVE__SYS_SIGLIST
/* Define this if you have the `union wait' type in <sys/wait.h>. */
#undef HAVE_UNION_WAIT
/* Define this if the POSIX.1 call `sysconf (_SC_OPEN_MAX)' works properly. */
#undef HAVE_SYSCONF_OPEN_MAX
/* Define if you have the dup2 function. */
#undef HAVE_DUP2
/* Define if you have the getcwd function. */
#define HAVE_GETCWD
/* Define if you have the getdtablesize function. */
#undef HAVE_GETDTABLESIZE
/* Define if you have the getgroups function. */
#undef HAVE_GETGROUPS
/* Define if you have the mktemp function. */
#undef HAVE_MKTEMP
/* Define if you have the psignal function. */
#undef HAVE_PSIGNAL
/* Define if you have the setegid function. */
#undef HAVE_SETEGID
/* Define if you have the seteuid function. */
#undef HAVE_SETEUID
/* Define if you have the setlinebuf function. */
#undef HAVE_SETLINEBUF
/* Define if you have the setregid function. */
#undef HAVE_SETREGID
/* Define if you have the setreuid function. */
#undef HAVE_SETREUID
/* Define if you have the sigsetmask function. */
#undef HAVE_SIGSETMASK
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
/* Define if you have the strsignal function. */
#undef HAVE_STRSIGNAL
/* Define if you have the wait3 function. */
#undef HAVE_WAIT3
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <mach/mach.h> header file. */
#undef HAVE_MACH_MACH_H
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the dgc library (-ldgc). */
#undef HAVE_LIBDGC
/* Define if you have the sun library (-lsun). */
#undef HAVE_LIBSUN
/* NETSCAPE: Under win32, define default libdir */
#define LIBDIR "\\msvc20\\lib"
#define NO_ARCHIVES
#define HAVE_GLOB_H

View File

@@ -1,270 +0,0 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
#undef CRAY_STACKSEG_END
/* Define for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
/* Define if the `getloadavg' function needs to be run setuid or setgid. */
#undef GETLOADAVG_PRIVILEGED
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define if you have alloca, as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you don't have vprintf but do have _doprnt. */
#undef HAVE_DOPRNT
/* Define if your system has its own `getloadavg' function. */
#undef HAVE_GETLOADAVG
/* Define if you have the getmntent function. */
#undef HAVE_GETMNTENT
/* Define if the `long double' type works. */
#undef HAVE_LONG_DOUBLE
/* Define if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if system calls automatically restart after interruption
by a signal. */
#undef HAVE_RESTARTABLE_SYSCALLS
/* Define if your struct stat has st_blksize. */
#undef HAVE_ST_BLKSIZE
/* Define if your struct stat has st_blocks. */
#undef HAVE_ST_BLOCKS
/* Define if you have the strcoll function and it is properly defined. */
#undef HAVE_STRCOLL
/* Define if your struct stat has st_rdev. */
#undef HAVE_ST_RDEV
/* Define if you have the strftime function. */
#undef HAVE_STRFTIME
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define if your struct tm has tm_zone. */
#undef HAVE_TM_ZONE
/* Define if you don't have tm_zone but do have the external array
tzname. */
#undef HAVE_TZNAME
/* Define if you have <unistd.h>. */
#undef HAVE_UNISTD_H
/* Define if utime(file, NULL) sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define if you have <vfork.h>. */
#undef HAVE_VFORK_H
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
/* Define if you have the wait3 system call. */
#undef HAVE_WAIT3
/* Define if on MINIX. */
#undef _MINIX
/* Define if your struct nlist has an n_un member. */
#undef NLIST_NAME_UNION
/* Define if you have <nlist.h>. */
#undef NLIST_STRUCT
/* Define if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define if the setvbuf function takes the buffering type as its second
argument and the buffer pointer as the third, as on System V
before release 3. */
#undef SETVBUF_REVERSED
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
#undef STACK_DIRECTION
/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define on System V Release 4. */
#undef SVR4
/* Define if `sys_siglist' is declared by <signal.h>. */
#undef SYS_SIGLIST_DECLARED
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define for Encore UMAX. */
#undef UMAX
/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
instead of <sys/cpustats.h>. */
#undef UMAX4_3
/* Define vfork as fork if vfork does not work. */
#undef vfork
/* Define to the name of the SCCS `get' command. */
#undef SCCS_GET
/* Define this if the SCCS `get' command understands the `-G<file>' option. */
#undef SCCS_GET_MINUS_G
/* Define this if the C library defines the variable `sys_siglist'. */
#undef HAVE_SYS_SIGLIST
/* Define this if the C library defines the variable `_sys_siglist'. */
#undef HAVE__SYS_SIGLIST
/* Define this if you have the `union wait' type in <sys/wait.h>. */
#undef HAVE_UNION_WAIT
/* Define this if the POSIX.1 call `sysconf (_SC_OPEN_MAX)' works properly. */
#undef HAVE_SYSCONF_OPEN_MAX
/* Define if you have the dup2 function. */
#undef HAVE_DUP2
/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
/* Define if you have the getdtablesize function. */
#undef HAVE_GETDTABLESIZE
/* Define if you have the getgroups function. */
#undef HAVE_GETGROUPS
/* Define if you have the mktemp function. */
#undef HAVE_MKTEMP
/* Define if you have the psignal function. */
#undef HAVE_PSIGNAL
/* Define if you have the setegid function. */
#undef HAVE_SETEGID
/* Define if you have the seteuid function. */
#undef HAVE_SETEUID
/* Define if you have the setlinebuf function. */
#undef HAVE_SETLINEBUF
/* Define if you have the setregid function. */
#undef HAVE_SETREGID
/* Define if you have the setreuid function. */
#undef HAVE_SETREUID
/* Define if you have the sigsetmask function. */
#undef HAVE_SIGSETMASK
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
/* Define if you have the strsignal function. */
#undef HAVE_STRSIGNAL
/* Define if you have the wait3 function. */
#undef HAVE_WAIT3
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <mach/mach.h> header file. */
#undef HAVE_MACH_MACH_H
/* Define if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the dgc library (-ldgc). */
#undef HAVE_LIBDGC
/* Define if you have the sun library (-lsun). */
#undef HAVE_LIBSUN

View File

@@ -1,136 +0,0 @@
/* Generated automatically from configure.in by autoheader. DO NOT EDIT! */
#define INCLUDEDIR "c:/djgpp/include"
#define LIBDIR "c:/djgpp/lib"
/* Define if you have dirent.h. */
#define DIRENT
/* Define if you have the strcoll function and it is properly defined. */
#define HAVE_STRCOLL
/* Define if you have unistd.h. */
#define HAVE_UNISTD_H
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define if you have the ANSI C header files. */
#ifndef STDC_HEADERS
#define STDC_HEADERS
#endif
/* Define if `sys_siglist' is declared by <signal.h>. */
#define SYS_SIGLIST_DECLARED
/* Define if you have getdtablesize. */
#define HAVE_GETDTABLESIZE
/* Define if you have dup2. */
#define HAVE_DUP2
/* Define if you have sys_siglist. */
#undef HAVE_SYS_SIGLIST
/* Define if you have _sys_siglist. */
#undef HAVE__SYS_SIGLIST
/* Define if you have psignal. */
#define HAVE_PSIGNAL
/* Define if you have getcwd. */
#define HAVE_GETCWD
/* Define if you have sigsetmask. */
#define HAVE_SIGSETMASK
/* Define if you have setlinebuf. */
#define HAVE_SETLINEBUF
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H
/* Define if you have the `strerror' function. */
#define HAVE_STRERROR
#define SCCS_GET "get"

File diff suppressed because it is too large Load Diff

View File

@@ -1,88 +0,0 @@
@echo off
echo Configuring MAKE for go32
rem This batch file assumes a unix-type "sed" program
update configh.dos config.h
echo # Makefile generated by "configure.bat"> Makefile
if exist config.sed del config.sed
echo ": try_sl ">> config.sed
echo "/\\$/ { ">> config.sed
echo " N ">> config.sed
echo " s/[ ]*\\\n[ ]*/ / ">> config.sed
echo " b try_sl ">> config.sed
echo "} ">> config.sed
echo "s/@srcdir@/./ ">> config.sed
echo "s/@CC@/gcc/ ">> config.sed
echo "s/@CFLAGS@/-O2 -g/ ">> config.sed
echo "s/@CPPFLAGS@/-DHAVE_CONFIG_H/ ">> config.sed
echo "s/@LDFLAGS@// ">> config.sed
echo "s/@RANLIB@/ranlib/ ">> config.sed
echo "s/@DEFS@// ">> config.sed
echo "s/@REMOTE@/stub/ ">> config.sed
echo "s/@ALLOCA@// ">> config.sed
echo "s/@LIBS@// ">> config.sed
echo "s/@LIBOBJS@// ">> config.sed
echo "s/@SET_MAKE@// ">> config.sed
echo "s/^Makefile *:/_Makefile:/ ">> config.sed
echo "s/^config.h *:/_config.h:/ ">> config.sed
echo "s/^defines *=.*$/defines =/ ">> config.sed
echo "/mv -f make.new make/d ">> config.sed
echo "s/cd glob; $(MAKE)/$(MAKE) -C glob/ ">> config.sed
sed -e "s/^\"//" -e "s/\"$//" -e "s/[ ]*$//" config.sed > config2.sed
sed -f config2.sed Makefile.in >> Makefile
del config.sed
del config2.sed
cd glob
call configure
cd ..

View File

@@ -1,131 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_REVISION([$Id: configure.in,v 1.1 1998-04-13 22:35:14 cyeh Exp $])
AC_PREREQ(2.1)dnl dnl Minimum Autoconf version required.
AC_INIT(vpath.c)dnl dnl A distinctive file to look for in srcdir.
AC_CONFIG_HEADER(config.h)
AC_CONFIG_SUBDIRS(glob) dnl Run configure in glob subdirectory.
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP dnl Later checks need this.
AC_AIX
AC_ISC_POSIX
AC_MINIX
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_TYPE_UID_T dnl Also does gid_t.
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_CHECK_HEADERS(unistd.h limits.h sys/param.h fcntl.h string.h memory.h \
sys/timeb.h)
AC_PROG_CC_C_O
AC_C_CONST dnl getopt needs this.
AC_HEADER_STAT
AC_SUBST(LIBOBJS)
AC_DEFUN(AC_CHECK_SYMBOL, [dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl
AC_TRY_LINK(, [extern char *sys_siglist[]; puts(*sys_siglist);],
ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)])
if test "$ac_cv_check_symbol_$1" = yes; then
changequote(,)dnl
ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'`
changequote([,])dnl
AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol})
fi
AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
AC_CHECK_FUNCS(getdtablesize psignal mktemp \
dup2 getcwd sigsetmask getgroups setlinebuf \
seteuid setegid setreuid setregid strerror strsignal)
AC_CHECK_SYMBOL(sys_siglist)
AC_CHECK_SYMBOL(_sys_siglist)
AC_FUNC_ALLOCA
AC_FUNC_VFORK
AC_FUNC_SETVBUF_REVERSED
AC_FUNC_GETLOADAVG
AC_FUNC_STRCOLL
if test $ac_cv_func_getdtablesize = no; then
AC_MSG_CHECKING(for sysconf (_SC_OPEN_MAX))
AC_CACHE_VAL(make_cv_sysconf_open_max, [dnl
AC_TRY_LINK([#include <unistd.h>], [int max = sysconf (_SC_OPEN_MAX);],
[make_cv_sysconf_open_max=yes], [make_cv_sysconf_open_max=no])])
if test $make_cv_sysconf_open_max = yes; then
AC_DEFINE(HAVE_SYSCONF_OPEN_MAX)
fi
AC_MSG_RESULT($make_cv_sysconf_open_max)
fi
# Check out the wait reality.
AC_CHECK_HEADERS(sys/wait.h) AC_CHECK_FUNCS(waitpid wait3)
AC_MSG_CHECKING(for union wait)
AC_CACHE_VAL(make_cv_union_wait, [dnl
AC_TRY_LINK([#include <sys/types.h>
#include <sys/wait.h>],
[union wait status; int pid; pid = wait (&status);
#ifdef WEXITSTATUS
/* Some POSIXoid systems have both the new-style macros and the old
union wait type, and they do not work together. If union wait
conflicts with WEXITSTATUS et al, we don't want to use it at all. */
if (WEXITSTATUS (status) != 0) pid = -1;
#ifdef WTERMSIG
/* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
-- blow chunks here --
#endif
#endif
#ifdef HAVE_WAITPID
/* Make sure union wait works with waitpid. */
pid = waitpid (-1, &status, 0);
#endif
],
[make_cv_union_wait=yes], [make_cv_union_wait=no])])
if test "$make_cv_union_wait" = yes; then
AC_DEFINE(HAVE_UNION_WAIT)
fi
AC_MSG_RESULT($make_cv_union_wait)
AC_DECL_SYS_SIGLIST
# The presence of the following is not meant to imply
# that make necessarily works on those systems.
AC_CHECK_LIB(sun, getpwnam)
AC_SUBST(REMOTE) REMOTE=stub
AC_ARG_WITH(customs, [export jobs with the Customs daemon (NOT SUPPORTED)],
[REMOTE=cstms LIBS="$LIBS libcustoms.a"])
echo checking for location of SCCS get command
if test -f /usr/sccs/get; then
SCCS_GET=/usr/sccs/get
AC_DEFINE(SCCS_GET, "/usr/sccs/get")
else
SCCS_GET=get
AC_DEFINE(SCCS_GET, "get")
fi
ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
test -f s.conftest; then
# We successfully created an SCCS file.
echo checking if SCCS get command understands -G
if $SCCS_GET -Gconftoast s.conftest >/dev/null 2>&1 &&
test -f conftoast; then
AC_DEFINE(SCCS_GET_MINUS_G)
fi
fi
rm -f s.conftest conftoast
AC_OUTPUT(Makefile build.sh, [
# Makefile uses this timestamp file to know when to remake Makefile,
# build.sh, and glob/Makefile.
touch stamp-config])
dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "make configure config.h.in"
dnl End:

View File

@@ -1,403 +0,0 @@
/* Data base of default implicit rules for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "rule.h"
#include "dep.h"
#include "file.h"
#include "commands.h"
#include "variable.h"
/* Define GCC_IS_NATIVE if gcc is the native development environment on
your system (gcc/bison/flex vs cc/yacc/lex). */
#ifdef __MSDOS__
#define GCC_IS_NATIVE
#endif
/* This is the default list of suffixes for suffix rules.
`.s' must come last, so that a `.o' file will be made from
a `.c' or `.p' or ... file rather than from a .s file. */
static char default_suffixes[]
= ".out .a .ln .o .c .cc .C .p .f .F .r .y .l .s .S \
.mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
.w .ch .web .sh .elc .el";
static struct pspec default_pattern_rules[] =
{
{ "(%)", "%",
"$(AR) $(ARFLAGS) $@ $<" },
/* The X.out rules are only in BSD's default set because
BSD Make has no null-suffix rules, so `foo.out' and
`foo' are the same thing. */
{ "%.out", "%",
"@rm -f $@ \n cp $< $@" },
/* Syntax is "ctangle foo.w foo.ch foo.c". */
{ "%.c", "%.w %.ch",
"$(CTANGLE) $^ $@" },
{ "%.tex", "%.w %.ch",
"$(CWEAVE) $^ $@" },
{ 0, 0, 0 }
};
static struct pspec default_terminal_rules[] =
{
/* RCS. */
{ "%", "%,v",
"+$(CHECKOUT,v)" },
{ "%", "RCS/%,v",
"+$(CHECKOUT,v)" },
/* SCCS. */
{ "%", "s.%",
"$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
{ "%", "SCCS/s.%",
"$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
{ 0, 0, 0 }
};
static char *default_suffix_rules[] =
{
".o",
"$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".s",
"$(LINK.s) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".S",
"$(LINK.S) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".c",
"$(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".cc",
"$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".C",
"$(LINK.C) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".f",
"$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".p",
"$(LINK.p) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".F",
"$(LINK.F) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".r",
"$(LINK.r) $^ $(LOADLIBES) $(LDLIBS) -o $@",
".mod",
"$(COMPILE.mod) -o $@ -e $@ $^",
".def.sym",
"$(COMPILE.def) -o $@ $<",
".sh",
"cat $< >$@ \n chmod a+x $@",
".s.o",
#if !defined(M_XENIX) || defined(__GNUC__)
"$(COMPILE.s) -o $@ $<",
#else /* Xenix. */
"$(COMPILE.s) -o$@ $<",
#endif /* Not Xenix. */
".S.o",
#if !defined(M_XENIX) || defined(__GNUC__)
"$(COMPILE.S) -o $@ $<",
#else /* Xenix. */
"$(COMPILE.S) -o$@ $<",
#endif /* Not Xenix. */
".c.o",
"$(COMPILE.c) $< $(OUTPUT_OPTION)",
".cc.o",
"$(COMPILE.cc) $< $(OUTPUT_OPTION)",
".C.o",
"$(COMPILE.C) $< $(OUTPUT_OPTION)",
".f.o",
"$(COMPILE.f) $< $(OUTPUT_OPTION)",
".p.o",
"$(COMPILE.p) $< $(OUTPUT_OPTION)",
".F.o",
"$(COMPILE.F) $< $(OUTPUT_OPTION)",
".r.o",
"$(COMPILE.r) $< $(OUTPUT_OPTION)",
".mod.o",
"$(COMPILE.mod) -o $@ $<",
".c.ln",
"$(LINT.c) -C$* $<",
".y.ln",
#ifndef __MSDOS__
"$(YACC.y) $< \n $(LINT.c) -C$* y.tab.c \n $(RM) y.tab.c",
#else
"$(YACC.y) $< \n $(LINT.c) -C$* y_tab.c \n $(RM) y_tab.c",
#endif
".l.ln",
"@$(RM) $*.c\n $(LEX.l) $< > $*.c\n$(LINT.c) -i $*.c -o $@\n $(RM) $*.c",
".y.c",
#ifndef __MSDOS__
"$(YACC.y) $< \n mv -f y.tab.c $@",
#else
"$(YACC.y) $< \n mv -f y_tab.c $@",
#endif
".l.c",
"@$(RM) $@ \n $(LEX.l) $< > $@",
".F.f",
"$(PREPROCESS.F) $< $(OUTPUT_OPTION)",
".r.f",
"$(PREPROCESS.r) $< $(OUTPUT_OPTION)",
/* This might actually make lex.yy.c if there's no %R%
directive in $*.l, but in that case why were you
trying to make $*.r anyway? */
".l.r",
"$(LEX.l) $< > $@ \n mv -f lex.yy.r $@",
".S.s",
"$(PREPROCESS.S) $< > $@",
".texinfo.info",
"$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
".texi.info",
"$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
".txinfo.info",
"$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@",
".tex.dvi",
"$(TEX) $<",
".texinfo.dvi",
"$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
".texi.dvi",
"$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
".txinfo.dvi",
"$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
".w.c",
"$(CTANGLE) $< - $@", /* The `-' says there is no `.ch' file. */
".web.p",
"$(TANGLE) $<",
".w.tex",
"$(CWEAVE) $< - $@", /* The `-' says there is no `.ch' file. */
".web.tex",
"$(WEAVE) $<",
0, 0,
};
static char *default_variables[] =
{
"AR", "ar",
"ARFLAGS", "rv",
"AS", "as",
#ifdef GCC_IS_NATIVE
"CC", "gcc",
"CXX", "gcc",
#else
"CC", "cc",
"CXX", "g++",
#endif
/* This expands to $(CO) $(COFLAGS) $< $@ if $@ does not exist,
and to the empty string if $@ does exist. */
"CHECKOUT,v",
"$(patsubst $@-noexist,$(CO) $(COFLAGS) $< $@,\
$(filter-out $@,$(firstword $(wildcard $@) $@-noexist)))",
"CO", "co",
"CPP", "$(CC) -E",
#ifdef CRAY
"CF77PPFLAGS", "-P",
"CF77PP", "/lib/cpp",
"CFT", "cft77",
"CF", "cf77",
"FC", "$(CF)",
#else /* Not CRAY. */
#ifdef _IBMR2
"FC", "xlf",
#else
#ifdef __convex__
"FC", "fc",
#else
"FC", "f77",
#endif /* __convex__ */
#endif /* _IBMR2 */
/* System V uses these, so explicit rules using them should work.
However, there is no way to make implicit rules use them and FC. */
"F77", "$(FC)",
"F77FLAGS", "$(FFLAGS)",
#endif /* Cray. */
"GET", SCCS_GET,
"LD", "ld",
#ifdef GCC_IS_NATIVE
"LEX", "flex",
#else
"LEX", "lex",
#endif
"LINT", "lint",
"M2C", "m2c",
#ifdef pyr
"PC", "pascal",
#else
#ifdef CRAY
"PC", "PASCAL",
"SEGLDR", "segldr",
#else
"PC", "pc",
#endif /* CRAY. */
#endif /* pyr. */
#ifdef GCC_IS_NATIVE
"YACC", "bison -y",
#else
"YACC", "yacc", /* Or "bison -y" */
#endif
"MAKEINFO", "makeinfo",
"TEX", "tex",
"TEXI2DVI", "texi2dvi",
"WEAVE", "weave",
"CWEAVE", "cweave",
"TANGLE", "tangle",
"CTANGLE", "ctangle",
"RM", "rm -f",
"LINK.o", "$(CC) $(LDFLAGS) $(TARGET_ARCH)",
"COMPILE.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
"LINK.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"COMPILE.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
"COMPILE.C", "$(COMPILE.cc)",
"LINK.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"LINK.C", "$(LINK.cc)",
"YACC.y", "$(YACC) $(YFLAGS)",
"LEX.l", "$(LEX) $(LFLAGS) -t",
"COMPILE.f", "$(FC) $(FFLAGS) $(TARGET_ARCH) -c",
"LINK.f", "$(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"COMPILE.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
"LINK.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"COMPILE.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c",
"LINK.r", "$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"COMPILE.def", "$(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH)",
"COMPILE.mod", "$(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH)",
"COMPILE.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c",
"LINK.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)",
"LINK.s", "$(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)",
"COMPILE.s", "$(AS) $(ASFLAGS) $(TARGET_MACH)",
"LINK.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)",
"COMPILE.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c",
#if !defined(M_XENIX) || defined(__GNUC__)
"PREPROCESS.S", "$(CC) -E $(CPPFLAGS)",
#else /* Xenix. */
"PREPROCESS.S", "$(CC) -EP $(CPPFLAGS)",
#endif /* Not Xenix. */
"PREPROCESS.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -F",
"PREPROCESS.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F",
"LINT.c", "$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
#ifndef NO_MINUS_C_MINUS_O
#if !defined(M_XENIX) || defined(__GNUC__)
"OUTPUT_OPTION", "-o $@",
#else /* Xenix. */
"OUTPUT_OPTION", "-Fo$@",
#endif /* Not Xenix. */
#endif
#ifdef SCCS_GET_MINUS_G
"SCCS_OUTPUT_OPTION", "-G$@",
#endif
0, 0
};
/* Set up the default .SUFFIXES list. */
void
set_default_suffixes ()
{
suffix_file = enter_file (".SUFFIXES");
if (no_builtin_rules_flag)
(void) define_variable ("SUFFIXES", 8, "", o_default, 0);
else
{
char *p = default_suffixes;
suffix_file->deps = (struct dep *)
multi_glob (parse_file_seq (&p, '\0', sizeof (struct dep), 1),
sizeof (struct dep));
(void) define_variable ("SUFFIXES", 8, default_suffixes, o_default, 0);
}
}
/* Enter the default suffix rules as file rules. This used to be done in
install_default_implicit_rules, but that loses because we want the
suffix rules installed before reading makefiles, and thee pattern rules
installed after. */
void
install_default_suffix_rules ()
{
register char **s;
if (no_builtin_rules_flag)
return;
for (s = default_suffix_rules; *s != 0; s += 2)
{
register struct file *f = enter_file (s[0]);
/* Don't clobber cmds given in a makefile if there were any. */
if (f->cmds == 0)
{
f->cmds = (struct commands *) xmalloc (sizeof (struct commands));
f->cmds->filename = 0;
f->cmds->commands = s[1];
f->cmds->command_lines = 0;
}
}
}
/* Install the default pattern rules. */
void
install_default_implicit_rules ()
{
register struct pspec *p;
if (no_builtin_rules_flag)
return;
for (p = default_pattern_rules; p->target != 0; ++p)
install_pattern_rule (p, 0);
for (p = default_terminal_rules; p->target != 0; ++p)
install_pattern_rule (p, 1);
}
void
define_default_variables ()
{
register char **s;
for (s = default_variables; *s != 0; s += 2)
(void) define_variable (s[0], strlen (s[0]), s[1], o_default, 1);
}

View File

@@ -1,66 +0,0 @@
/* Definitions of dependency data structures for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Structure representing one dependency of a file.
Each struct file's `deps' points to a chain of these,
chained through the `next'.
Note that the first two words of this match a struct nameseq. */
struct dep
{
struct dep *next;
char *name;
struct file *file;
int changed;
};
/* Structure used in chains of names, for parsing and globbing. */
struct nameseq
{
struct nameseq *next;
char *name;
};
extern struct nameseq *multi_glob (), *parse_file_seq ();
extern char *tilde_expand ();
#ifndef NO_ARCHIVES
extern struct nameseq *ar_glob ();
#endif
#ifndef iAPX286
#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name)
#else
/* Buggy compiler can't hack this. */
extern char *dep_name ();
#endif
extern struct dep *read_all_makefiles ();
/* Flag bits for the second argument to `read_makefile'.
These flags are saved in the `changed' field of each
`struct dep' in the chain returned by `read_all_makefiles'. */
#define RM_NO_DEFAULT_GOAL (1 << 0) /* Do not set default goal. */
#define RM_INCLUDED (1 << 1) /* Search makefile search path. */
#define RM_DONTCARE (1 << 2) /* No error if it doesn't exist. */
#define RM_NO_TILDE (1 << 3) /* Don't expand ~ in file name. */
#define RM_NOFLAG 0

View File

@@ -1,760 +0,0 @@
/* Directory hashing for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#ifdef NETSCAPE
#include "windir.h"
DIR *opendir(char *pathp)
{
DIR *ret = (DIR *) malloc(sizeof(DIR));
char path[_MAX_PATH];
int l;
sprintf(path, "%s", pathp);
l = strlen(path) - 1;
path[strlen(pathp)] = '\0';
if(path[strlen(path) - 1] != '\\')
strcpy (path + strlen(path), "\\*.*");
else
strcat(path, "*.*");
ret->de.d_name = NULL;
if( (ret->dp = FindFirstFile(path, &ret->fdata)) != INVALID_HANDLE_VALUE)
return ret;
free(ret);
return NULL;
}
struct dirent *readdir(DIR *ds)
{
if(FindNextFile(ds->dp, &ds->fdata) == FALSE)
return NULL;
if(ds->de.d_name)
free(ds->de.d_name);
ds->de.d_name = strdup(ds->fdata.cFileName);
return &ds->de;
}
void closedir(DIR *ds)
{
FindClose(ds->dp);
if(ds->de.d_name)
free(ds->de.d_name);
free(ds);
}
#endif
#if !defined(NETSCAPE) && defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
#ifndef __GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
#endif /* Not GNU C library. */
#else /* Not POSIX or HAVE_DIRENT_H. */
#define direct dirent
#define D_NAMLEN(d) (strlen(d->d_name))
#ifdef HAVE_SYS_NDIR_H
#include <sys/ndir.h>
#endif /* HAVE_SYS_NDIR_H */
#ifdef HAVE_SYS_DIR_H
#include <sys/dir.h>
#endif /* HAVE_SYS_DIR_H */
#ifdef HAVE_NDIR_H
#include <ndir.h>
#endif /* HAVE_NDIR_H */
#endif /* POSIX or HAVE_DIRENT_H or __GNU_LIBRARY__. */
#if defined (POSIX) && !defined (__GNU_LIBRARY__) || defined(NETSCAPE)
/* Posix does not require that the d_ino field be present, and some
systems do not provide it. */
#define REAL_DIR_ENTRY(dp) 1
#else
#define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
#endif /* POSIX */
#ifdef __MSDOS__
#include <ctype.h>
static char *
dosify (filename)
char *filename;
{
static char dos_filename[14];
char *df;
int i;
if (filename == 0)
return 0;
if (strpbrk (filename, "\"*+,;<=>?[\\]|") != 0)
return filename;
df = dos_filename;
/* First, transform the name part. */
for (i = 0; *filename != '\0' && i < 8 && *filename != '.'; ++i)
*df++ = tolower (*filename++);
/* Now skip to the next dot. */
while (*filename != '\0' && *filename != '.')
++filename;
if (*filename != '\0')
{
*df++ = *filename++;
for (i = 0; *filename != '\0' && i < 3 && *filename != '.'; ++i)
*df++ = tolower (*filename++);
}
/* Look for more dots. */
while (*filename != '\0' && *filename != '.')
++filename;
if (*filename == '.')
return filename;
*df = 0;
return dos_filename;
}
#endif
/* Hash table of directories. */
#ifndef DIRECTORY_BUCKETS
#define DIRECTORY_BUCKETS 199
#endif
struct directory_contents
{
struct directory_contents *next;
#ifdef NETSCAPE
int dev; /* Device number of this dir. */
/*
* Inode means nothing on WIN32. Even file key information is
* unreliable because it is random per file open and undefined
* for remote filesystems. The most unique attribute I can
* come up with is the fully qualified name of the directory. Beware
* though, this is also unreliable. I'm open to suggestion on a better
* way to emulate inode.
*/
char *path_key;
int mtime; /* controls check for stale directory cache */
#else
int dev, ino; /* Device and inode numbers of this dir. */
#endif
struct dirfile **files; /* Files in this directory. */
DIR *dirstream; /* Stream reading this directory. */
};
/* Table of directory contents hashed by device and inode number. */
static struct directory_contents *directories_contents[DIRECTORY_BUCKETS];
struct directory
{
struct directory *next;
char *name; /* Name of the directory. */
/* The directory's contents. This data may be shared by several
entries in the hash table, which refer to the same directory
(identified uniquely by `dev' and `ino') under different names. */
struct directory_contents *contents;
};
/* Table of directories hashed by name. */
static struct directory *directories[DIRECTORY_BUCKETS];
/* Never have more than this many directories open at once. */
#define MAX_OPEN_DIRECTORIES 10
static unsigned int open_directories = 0;
/* Hash table of files in each directory. */
struct dirfile
{
struct dirfile *next;
char *name; /* Name of the file. */
char impossible; /* This file is impossible. */
};
#ifndef DIRFILE_BUCKETS
#define DIRFILE_BUCKETS 107
#endif
static int dir_contents_file_exists_p ();
/* Find the directory named NAME and return its `struct directory'. */
static struct directory *
find_directory (name)
register char *name;
{
register unsigned int hash = 0;
register char *p;
register struct directory *dir;
#ifdef NETSCAPE
char w32_path[_MAX_PATH];
#endif
for (p = name; *p != '\0'; ++p)
HASH (hash, *p);
hash %= DIRECTORY_BUCKETS;
for (dir = directories[hash]; dir != 0; dir = dir->next)
if (streq (dir->name, name))
break;
if (dir == 0)
{
struct stat st;
/* The directory was not found. Create a new entry for it. */
dir = (struct directory *) xmalloc (sizeof (struct directory));
dir->next = directories[hash];
directories[hash] = dir;
dir->name = savestring (name, p - name);
/* The directory is not in the name hash table.
Find its device and inode numbers, and look it up by them. */
if (safe_stat (name, &st) < 0)
/* Couldn't stat the directory. Mark this by
setting the `contents' member to a nil pointer. */
dir->contents = 0;
else
{
/* Search the contents hash table; device and inode are the key. */
struct directory_contents *dc;
#ifdef NETSCAPE
_fullpath (w32_path, name, sizeof (w32_path));
hash = ((unsigned int) st.st_dev << 16) | (unsigned int) st.st_ctime;
#else
hash = ((unsigned int) st.st_dev << 16) | (unsigned int) st.st_ino;
#endif
hash %= DIRECTORY_BUCKETS;
for (dc = directories_contents[hash]; dc != 0; dc = dc->next)
#ifdef NETSCAPE
if (!strcmp(dc->path_key, w32_path))
#else
if (dc->dev == (int)st.st_dev && dc->ino == (int)st.st_ino)
#endif
break;
if (dc == 0)
{
/* Nope; this really is a directory we haven't seen before. */
dc = (struct directory_contents *)
xmalloc (sizeof (struct directory_contents));
/* Enter it in the contents hash table. */
dc->dev = st.st_dev;
#ifdef NETSCAPE
dc->path_key = strdup(w32_path);
dc->mtime = st.st_mtime;
#else
dc->ino = st.st_ino;
#endif
dc->next = directories_contents[hash];
directories_contents[hash] = dc;
dc->dirstream = opendir (name);
if (dc->dirstream == 0)
/* Couldn't open the directory. Mark this by
setting the `files' member to a nil pointer. */
dc->files = 0;
else
{
/* Allocate an array of buckets for files and zero it. */
dc->files = (struct dirfile **)
xmalloc (sizeof (struct dirfile *) * DIRFILE_BUCKETS);
bzero ((char *) dc->files,
sizeof (struct dirfile *) * DIRFILE_BUCKETS);
/* Keep track of how many directories are open. */
++open_directories;
if (open_directories == MAX_OPEN_DIRECTORIES)
/* We have too many directories open already.
Read the entire directory and then close it. */
(void) dir_contents_file_exists_p (dc, (char *) 0);
}
}
/* Point the name-hashed entry for DIR at its contents data. */
dir->contents = dc;
}
}
return dir;
}
/* Return 1 if the name FILENAME is entered in DIR's hash table.
FILENAME must contain no slashes. */
static int
dir_contents_file_exists_p (dir, filename)
register struct directory_contents *dir;
register char *filename;
{
register unsigned int hash;
register char *p;
register struct dirfile *df;
register struct dirent *d;
#ifdef NETSCAPE
struct stat st;
int rehash = 0;
#endif
if (dir == 0 || dir->files == 0)
/* The directory could not be stat'd or opened. */
return 0;
#ifdef __MSDOS__
filename = dosify (filename);
#endif
hash = 0;
if (filename != 0)
{
if (*filename == '\0')
/* Checking if the directory exists. */
return 1;
for (p = filename; *p != '\0'; ++p)
HASH (hash, *p);
hash %= DIRFILE_BUCKETS;
/* Search the list of hashed files. */
for (df = dir->files[hash]; df != 0; df = df->next)
if (streq (df->name, filename))
return !df->impossible;
}
/* The file was not found in the hashed list.
Try to read the directory further. */
#ifdef NETSCAPE
if (dir->dirstream == 0)
{
/* Check to see if directory has changed since last read */
if (dir->path_key &&
stat(dir->path_key, &st) == 0 &&
st.st_mtime > dir->mtime) {
/* reset date stamp to show most recent re-process */
dir->mtime = st.st_mtime;
/* make sure directory can still be opened */
dir->dirstream = opendir(dir->path_key);
if (dir->dirstream)
rehash = 1;
else
return 0; /* couldn't re-read - fail */
} else
/* The directory has been all read in. */
return 0;
}
#else
if (dir->dirstream == 0)
/* The directory has been all read in. */
return 0;
#endif
while ((d = readdir (dir->dirstream)) != 0)
{
/* Enter the file in the hash table. */
register unsigned int newhash = 0;
unsigned int len;
register unsigned int i;
if (!REAL_DIR_ENTRY (d))
continue;
len = D_NAMLEN (d);
while (d->d_name[len - 1] == '\0')
--len;
for (i = 0; i < len; ++i)
HASH (newhash, d->d_name[i]);
newhash %= DIRFILE_BUCKETS;
#ifdef NETSCAPE
/*
* If re-reading a directory, check that this file isn't already
* in the cache.
*/
if (rehash) {
for (df = dir->files[newhash]; df != 0; df = df->next)
if (streq(df->name, d->d_name))
break;
} else
df = 0;
/*
* If re-reading a directory, don't cache files that have
* already been discovered.
*/
if (!df) {
#endif
df = (struct dirfile *) xmalloc (sizeof (struct dirfile));
df->next = dir->files[newhash];
dir->files[newhash] = df;
df->name = savestring (d->d_name, len);
df->impossible = 0;
#ifdef NETSCAPE
}
#endif
/* Check if the name matches the one we're searching for. */
if (filename != 0
&& newhash == hash && streq (d->d_name, filename))
return 1;
}
/* If the directory has been completely read in,
close the stream and reset the pointer to nil. */
if (d == 0)
{
--open_directories;
closedir (dir->dirstream);
dir->dirstream = 0;
}
return 0;
}
/* Return 1 if the name FILENAME in directory DIRNAME
is entered in the dir hash table.
FILENAME must contain no slashes. */
int
dir_file_exists_p (dirname, filename)
register char *dirname;
register char *filename;
{
return dir_contents_file_exists_p (find_directory (dirname)->contents,
filename);
}
/* Return 1 if the file named NAME exists. */
int
file_exists_p (name)
register char *name;
{
char *dirend;
char *dirname;
#ifndef NO_ARCHIVES
if (ar_name (name))
return ar_member_date (name) != (time_t) -1;
#endif
dirend = rindex (name, '/');
if (dirend == 0)
return dir_file_exists_p (".", name);
dirname = (char *) alloca (dirend - name + 1);
bcopy (name, dirname, dirend - name);
dirname[dirend - name] = '\0';
return dir_file_exists_p (dirname, dirend + 1);
}
/* Mark FILENAME as `impossible' for `file_impossible_p'.
This means an attempt has been made to search for FILENAME
as an intermediate file, and it has failed. */
void
file_impossible (filename)
register char *filename;
{
char *dirend;
register char *p = filename;
register unsigned int hash;
register struct directory *dir;
register struct dirfile *new;
dirend = rindex (p, '/');
if (dirend == 0)
dir = find_directory (".");
else
{
char *dirname = (char *) alloca (dirend - p + 1);
bcopy (p, dirname, dirend - p);
dirname[dirend - p] = '\0';
dir = find_directory (dirname);
filename = p = dirend + 1;
}
for (hash = 0; *p != '\0'; ++p)
HASH (hash, *p);
hash %= DIRFILE_BUCKETS;
if (dir->contents == 0)
{
/* The directory could not be stat'd. We allocate a contents
structure for it, but leave it out of the contents hash table. */
dir->contents = (struct directory_contents *)
xmalloc (sizeof (struct directory_contents));
#ifdef NETSCAPE
dir->contents->dev = 0;
dir->contents->path_key = NULL;
dir->contents->mtime = 0;
#else
dir->contents->dev = dir->contents->ino = 0;
#endif
dir->contents->files = 0;
dir->contents->dirstream = 0;
}
if (dir->contents->files == 0)
{
/* The directory was not opened; we must allocate the hash buckets. */
dir->contents->files = (struct dirfile **)
xmalloc (sizeof (struct dirfile) * DIRFILE_BUCKETS);
bzero ((char *) dir->contents->files,
sizeof (struct dirfile) * DIRFILE_BUCKETS);
}
/* Make a new entry and put it in the table. */
new = (struct dirfile *) xmalloc (sizeof (struct dirfile));
new->next = dir->contents->files[hash];
dir->contents->files[hash] = new;
new->name = savestring (filename, strlen (filename));
new->impossible = 1;
}
/* Return nonzero if FILENAME has been marked impossible. */
int
file_impossible_p (filename)
char *filename;
{
char *dirend;
register char *p = filename;
register unsigned int hash;
register struct directory_contents *dir;
register struct dirfile *next;
dirend = rindex (filename, '/');
if (dirend == 0)
dir = find_directory (".")->contents;
else
{
char *dirname = (char *) alloca (dirend - filename + 1);
bcopy (p, dirname, dirend - p);
dirname[dirend - p] = '\0';
dir = find_directory (dirname)->contents;
p = dirend + 1;
}
if (dir == 0 || dir->files == 0)
/* There are no files entered for this directory. */
return 0;
#ifdef __MSDOS__
p = filename = dosify (p);
#endif
for (hash = 0; *p != '\0'; ++p)
HASH (hash, *p);
hash %= DIRFILE_BUCKETS;
for (next = dir->files[hash]; next != 0; next = next->next)
if (streq (filename, next->name))
return next->impossible;
return 0;
}
/* Return the already allocated name in the
directory hash table that matches DIR. */
char *
dir_name (dir)
char *dir;
{
return find_directory (dir)->name;
}
/* Print the data base of directories. */
void
print_dir_data_base ()
{
register unsigned int i, dirs, files, impossible;
register struct directory *dir;
puts ("\n# Directories\n");
dirs = files = impossible = 0;
for (i = 0; i < DIRECTORY_BUCKETS; ++i)
for (dir = directories[i]; dir != 0; dir = dir->next)
{
++dirs;
if (dir->contents == 0)
printf ("# %s: could not be stat'd.\n", dir->name);
else if (dir->contents->files == 0)
#ifdef NETSCAPE
printf ("# %s (path_key %s, mtime %d): could not be opened.\n",
dir->name, dir->contents->path_key, dir->contents->mtime);
#else
printf ("# %s (device %d, inode %d): could not be opened.\n",
dir->name, dir->contents->dev, dir->contents->ino);
#endif
else
{
register unsigned int f = 0, im = 0;
register unsigned int j;
register struct dirfile *df;
for (j = 0; j < DIRFILE_BUCKETS; ++j)
for (df = dir->contents->files[j]; df != 0; df = df->next)
if (df->impossible)
++im;
else
++f;
#ifdef NETSCAPE
printf ("# %s (device %d, path_key %s, mtime %d): ",
dir->name, dir->contents->dev,
dir->contents->path_key, dir->contents->mtime);
#else
printf ("# %s (device %d, inode %d): ",
dir->name, dir->contents->dev, dir->contents->ino);
#endif
if (f == 0)
fputs ("No", stdout);
else
printf ("%u", f);
fputs (" files, ", stdout);
if (im == 0)
fputs ("no", stdout);
else
printf ("%u", im);
fputs (" impossibilities", stdout);
if (dir->contents->dirstream == 0)
puts (".");
else
puts (" so far.");
files += f;
impossible += im;
}
}
fputs ("\n# ", stdout);
if (files == 0)
fputs ("No", stdout);
else
printf ("%u", files);
fputs (" files, ", stdout);
if (impossible == 0)
fputs ("no", stdout);
else
printf ("%u", impossible);
printf (" impossibilities in %u directories.\n", dirs);
}
/* Hooks for globbing. */
#include <glob.h>
/* Structure describing state of iterating through a directory hash table. */
struct dirstream
{
struct directory_contents *contents; /* The directory being read. */
unsigned int bucket; /* Current hash bucket. */
struct dirfile *elt; /* Current elt in bucket. */
};
/* Forward declarations. */
static __ptr_t open_dirstream __P ((const char *));
static const char *read_dirstream __P ((__ptr_t));
static __ptr_t
open_dirstream (directory)
const char *directory;
{
struct dirstream *new;
struct directory *dir = find_directory (directory);
if (dir->contents == 0 || dir->contents->files == 0)
/* DIR->contents is nil if the directory could not be stat'd.
DIR->contents->files is nil if it could not be opened. */
return 0;
/* Read all the contents of the directory now. There is no benefit
in being lazy, since glob will want to see every file anyway. */
(void) dir_contents_file_exists_p (dir->contents, (char *) 0);
new = (struct dirstream *) xmalloc (sizeof (struct dirstream));
new->contents = dir->contents;
new->bucket = 0;
new->elt = new->contents->files[0];
return (__ptr_t) new;
}
static const char *
read_dirstream (stream)
__ptr_t stream;
{
struct dirstream *const ds = (struct dirstream *) stream;
register struct dirfile *df;
while (ds->bucket < DIRFILE_BUCKETS)
{
while ((df = ds->elt) != 0)
{
ds->elt = df->next;
if (!df->impossible)
return df->name;
}
if (++ds->bucket == DIRFILE_BUCKETS)
break;
ds->elt = ds->contents->files[ds->bucket];
}
return 0;
}
void
init_dir ()
{
__glob_opendir_hook = open_dirstream;
__glob_readdir_hook = read_dirstream;
__glob_closedir_hook = (void (*) __P ((__ptr_t stream))) free;
}

View File

@@ -1,456 +0,0 @@
/* Variable expansion functions for GNU Make.
Copyright (C) 1988, 89, 91, 92, 93, 95 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "commands.h"
#include "file.h"
#include "variable.h"
/* The next two describe the variable output buffer.
This buffer is used to hold the variable-expansion of a line of the
makefile. It is made bigger with realloc whenever it is too small.
variable_buffer_length is the size currently allocated.
variable_buffer is the address of the buffer. */
static unsigned int variable_buffer_length;
static char *variable_buffer;
/* Subroutine of variable_expand and friends:
The text to add is LENGTH chars starting at STRING to the variable_buffer.
The text is added to the buffer at PTR, and the updated pointer into
the buffer is returned as the value. Thus, the value returned by
each call to variable_buffer_output should be the first argument to
the following call. */
char *
variable_buffer_output (ptr, string, length)
char *ptr, *string;
unsigned int length;
{
register unsigned int newlen = length + (ptr - variable_buffer);
if (newlen > variable_buffer_length)
{
unsigned int offset = ptr - variable_buffer;
variable_buffer_length = (newlen + 100 > 2 * variable_buffer_length
? newlen + 100
: 2 * variable_buffer_length);
variable_buffer = (char *) xrealloc (variable_buffer,
variable_buffer_length);
ptr = variable_buffer + offset;
}
bcopy (string, ptr, length);
return ptr + length;
}
/* Return a pointer to the beginning of the variable buffer. */
static char *
initialize_variable_output ()
{
/* If we don't have a variable output buffer yet, get one. */
if (variable_buffer == 0)
{
variable_buffer_length = 200;
variable_buffer = (char *) xmalloc (variable_buffer_length);
variable_buffer[0] = '\0';
}
return variable_buffer;
}
/* Recursively expand V. The returned string is malloc'd. */
char *
recursively_expand (v)
register struct variable *v;
{
char *value;
if (v->expanding)
{
/* Expanding V causes infinite recursion. Lose. */
if (reading_filename == 0)
fatal ("Recursive variable `%s' references itself (eventually)",
v->name);
else
makefile_fatal
(reading_filename, *reading_lineno_ptr,
"Recursive variable `%s' references itself (eventually)",
v->name);
}
v->expanding = 1;
value = allocated_variable_expand (v->value);
v->expanding = 0;
return value;
}
/* Warn that NAME is an undefined variable. */
#ifdef __GNUC__
__inline
#endif
static void
warn_undefined (name, length)
char *name;
unsigned int length;
{
if (warn_undefined_variables_flag)
{
static const char warnmsg[] = "warning: undefined variable `%.*s'";
if (reading_filename != 0)
makefile_error (reading_filename, *reading_lineno_ptr,
warnmsg, length, name);
else
error (warnmsg, length, name);
}
}
/* Expand a simple reference to variable NAME, which is LENGTH chars long. */
#ifdef __GNUC__
__inline
#endif
static char *
reference_variable (o, name, length)
char *o;
char *name;
unsigned int length;
{
register struct variable *v = lookup_variable (name, length);
if (v == 0)
warn_undefined (name, length);
if (v != 0 && *v->value != '\0')
{
char *value = (v->recursive ? recursively_expand (v) : v->value);
o = variable_buffer_output (o, value, strlen (value));
if (v->recursive)
free (value);
}
return o;
}
/* Scan LINE for variable references and expansion-function calls.
Build in `variable_buffer' the result of expanding the references and calls.
Return the address of the resulting string, which is null-terminated
and is valid only until the next time this function is called. */
char *
variable_expand (line)
register char *line;
{
register struct variable *v;
register char *p, *o, *p1;
p = line;
o = initialize_variable_output ();
while (1)
{
/* Copy all following uninteresting chars all at once to the
variable output buffer, and skip them. Uninteresting chars end
at the next $ or the end of the input. */
p1 = index (p, '$');
o = variable_buffer_output (o, p, p1 != 0 ? p1 - p : strlen (p) + 1);
if (p1 == 0)
break;
p = p1 + 1;
/* Dispatch on the char that follows the $. */
switch (*p)
{
case '$':
/* $$ seen means output one $ to the variable output buffer. */
o = variable_buffer_output (o, p, 1);
break;
case '(':
case '{':
/* $(...) or ${...} is the general case of substitution. */
{
char openparen = *p;
char closeparen = (openparen == '(') ? ')' : '}';
register char *beg = p + 1;
int free_beg = 0;
char *op, *begp;
char *end, *colon;
op = o;
begp = p;
if (handle_function (&op, &begp))
{
o = op;
p = begp;
break;
}
/* Is there a variable reference inside the parens or braces?
If so, expand it before expanding the entire reference. */
end = index (beg, closeparen);
if (end == 0)
{
/* Unterminated variable reference. */
if (reading_filename != 0)
makefile_fatal (reading_filename, *reading_lineno_ptr,
"unterminated variable reference");
else
fatal ("unterminated variable reference");
}
p1 = lindex (beg, end, '$');
if (p1 != 0)
{
/* BEG now points past the opening paren or brace.
Count parens or braces until it is matched. */
int count = 0;
for (p = beg; *p != '\0'; ++p)
{
if (*p == openparen)
++count;
else if (*p == closeparen && --count < 0)
break;
}
/* If COUNT is >= 0, there were unmatched opening parens
or braces, so we go to the simple case of a variable name
such as `$($(a)'. */
if (count < 0)
{
beg = expand_argument (beg, p); /* Expand the name. */
free_beg = 1; /* Remember to free BEG when finished. */
end = index (beg, '\0');
}
}
else
/* Advance P to the end of this reference. After we are
finished expanding this one, P will be incremented to
continue the scan. */
p = end;
/* This is not a reference to a built-in function and
any variable references inside are now expanded.
Is the resultant text a substitution reference? */
colon = lindex (beg, end, ':');
if (colon != 0)
{
/* This looks like a substitution reference: $(FOO:A=B). */
char *subst_beg, *subst_end, *replace_beg, *replace_end;
subst_beg = colon + 1;
subst_end = index (subst_beg, '=');
if (subst_end == 0)
/* There is no = in sight. Punt on the substitution
reference and treat this as a variable name containing
a colon, in the code below. */
colon = 0;
else
{
replace_beg = subst_end + 1;
replace_end = end;
/* Extract the variable name before the colon
and look up that variable. */
v = lookup_variable (beg, colon - beg);
if (v == 0)
warn_undefined (beg, colon - beg);
if (v != 0 && *v->value != '\0')
{
char *value = (v->recursive ? recursively_expand (v)
: v->value);
char *pattern, *percent;
if (free_beg)
{
*subst_end = '\0';
pattern = subst_beg;
}
else
{
pattern = (char *) alloca (subst_end - subst_beg
+ 1);
bcopy (subst_beg, pattern, subst_end - subst_beg);
pattern[subst_end - subst_beg] = '\0';
}
percent = find_percent (pattern);
if (percent != 0)
{
char *replace;
if (free_beg)
{
*replace_end = '\0';
replace = replace_beg;
}
else
{
replace = (char *) alloca (replace_end
- replace_beg
+ 1);
bcopy (replace_beg, replace,
replace_end - replace_beg);
replace[replace_end - replace_beg] = '\0';
}
o = patsubst_expand (o, value, pattern, replace,
percent, (char *) 0);
}
else
o = subst_expand (o, value,
pattern, replace_beg,
strlen (pattern),
end - replace_beg,
0, 1);
if (v->recursive)
free (value);
}
}
}
if (colon == 0)
/* This is an ordinary variable reference.
Look up the value of the variable. */
o = reference_variable (o, beg, end - beg);
if (free_beg)
free (beg);
}
break;
case '\0':
break;
default:
if (isblank (p[-1]))
break;
/* A $ followed by a random char is a variable reference:
$a is equivalent to $(a). */
{
/* We could do the expanding here, but this way
avoids code repetition at a small performance cost. */
char name[5];
name[0] = '$';
name[1] = '(';
name[2] = *p;
name[3] = ')';
name[4] = '\0';
p1 = allocated_variable_expand (name);
o = variable_buffer_output (o, p1, strlen (p1));
free (p1);
}
break;
}
if (*p == '\0')
break;
else
++p;
}
(void) variable_buffer_output (o, "", 1);
return initialize_variable_output ();
}
/* Expand an argument for an expansion function.
The text starting at STR and ending at END is variable-expanded
into a null-terminated string that is returned as the value.
This is done without clobbering `variable_buffer' or the current
variable-expansion that is in progress. */
char *
expand_argument (str, end)
char *str, *end;
{
char *tmp;
if (*end == '\0')
tmp = str;
else
{
tmp = (char *) alloca (end - str + 1);
bcopy (str, tmp, end - str);
tmp[end - str] = '\0';
}
return allocated_variable_expand (tmp);
}
/* Expand LINE for FILE. Error messages refer to the file and line where
FILE's commands were found. Expansion uses FILE's variable set list. */
char *
variable_expand_for_file (line, file)
char *line;
register struct file *file;
{
char *result;
struct variable_set_list *save;
if (file == 0)
return variable_expand (line);
save = current_variable_set_list;
current_variable_set_list = file->variables;
reading_filename = file->cmds->filename;
reading_lineno_ptr = &file->cmds->lineno;
result = variable_expand (line);
current_variable_set_list = save;
reading_filename = 0;
reading_lineno_ptr = 0;
return result;
}
/* Like variable_expand_for_file, but the returned string is malloc'd.
This function is called a lot. It wants to be efficient. */
char *
allocated_variable_expand_for_file (line, file)
char *line;
struct file *file;
{
char *value;
char *obuf = variable_buffer;
unsigned int olen = variable_buffer_length;
variable_buffer = 0;
value = variable_expand_for_file (line, file);
#if 0
/* Waste a little memory and save time. */
value = xrealloc (value, strlen (value))
#endif
variable_buffer = obuf;
variable_buffer_length = olen;
return value;
}

View File

@@ -1,566 +0,0 @@
/* Target file hash table management for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "commands.h"
#include "dep.h"
#include "file.h"
#include "variable.h"
#include <assert.h>
/* Hash table of files the makefile knows how to make. */
#ifndef FILE_BUCKETS
#define FILE_BUCKETS 1007
#endif
static struct file *files[FILE_BUCKETS];
/* Number of files with the `intermediate' flag set. */
unsigned int num_intermediates = 0;
/* Access the hash table of all file records.
lookup_file given a name, return the struct file * for that name,
or nil if there is none.
enter_file similar, but create one if there is none. */
struct file *
lookup_file (name)
char *name;
{
register struct file *f;
register char *n;
register unsigned int hashval;
if (*name == '\0')
abort ();
/* This is also done in parse_file_seq, so this is redundant
for names read from makefiles. It is here for names passed
on the command line. */
while (name[0] == '.' && name[1] == '/' && name[2] != '\0')
{
name += 2;
while (*name == '/')
/* Skip following slashes: ".//foo" is "foo", not "/foo". */
++name;
}
if (*name == '\0')
/* It was all slashes after a dot. */
name = "./";
hashval = 0;
for (n = name; *n != '\0'; ++n)
HASH (hashval, *n);
hashval %= FILE_BUCKETS;
for (f = files[hashval]; f != 0; f = f->next)
if (streq (f->name, name))
return f;
return 0;
}
struct file *
enter_file (name)
char *name;
{
register struct file *f, *new;
register char *n;
register unsigned int hashval;
if (*name == '\0')
abort ();
hashval = 0;
for (n = name; *n != '\0'; ++n)
HASH (hashval, *n);
hashval %= FILE_BUCKETS;
for (f = files[hashval]; f != 0; f = f->next)
if (streq (f->name, name))
break;
if (f != 0 && !f->double_colon)
return f;
new = (struct file *) xmalloc (sizeof (struct file));
bzero ((char *) new, sizeof (struct file));
new->name = name;
new->update_status = -1;
if (f == 0)
{
/* This is a completely new file. */
new->next = files[hashval];
files[hashval] = new;
}
else
{
/* There is already a double-colon entry for this file. */
new->double_colon = f;
while (f->prev != 0)
f = f->prev;
f->prev = new;
}
return new;
}
/* Rename FILE to NAME. This is not as simple as resetting
the `name' member, since it must be put in a new hash bucket,
and possibly merged with an existing file called NAME. */
void
rename_file (file, name)
register struct file *file;
char *name;
{
char *oldname = file->name;
register unsigned int oldhash;
register char *n;
while (file->renamed != 0)
file = file->renamed;
/* Find the hash values of the old and new names. */
oldhash = 0;
for (n = oldname; *n != '\0'; ++n)
HASH (oldhash, *n);
file_hash_enter (file, name, oldhash, file->name);
}
void
file_hash_enter (file, name, oldhash, oldname)
register struct file *file;
char *name;
unsigned int oldhash;
char *oldname;
{
unsigned int oldbucket = oldhash % FILE_BUCKETS;
register unsigned int newhash, newbucket;
struct file *oldfile;
register char *n;
register struct file *f;
newhash = 0;
for (n = name; *n != '\0'; ++n)
HASH (newhash, *n);
newbucket = newhash % FILE_BUCKETS;
/* Look for an existing file under the new name. */
for (oldfile = files[newbucket]; oldfile != 0; oldfile = oldfile->next)
if (streq (oldfile->name, name))
break;
if (oldhash != 0 && (newbucket != oldbucket || oldfile != 0))
{
/* Remove FILE from its hash bucket. */
struct file *lastf = 0;
for (f = files[oldbucket]; f != file; f = f->next)
lastf = f;
if (lastf == 0)
files[oldbucket] = f->next;
else
lastf->next = f->next;
}
/* Give FILE its new name. */
file->name = name;
for (f = file->double_colon; f != 0; f = f->prev)
f->name = name;
if (oldfile == 0)
{
/* There is no existing file with the new name. */
if (newbucket != oldbucket)
{
/* Put FILE in its new hash bucket. */
file->next = files[newbucket];
files[newbucket] = file;
}
}
else
{
/* There is an existing file with the new name.
We must merge FILE into the existing file. */
register struct dep *d;
if (file->cmds != 0)
{
if (oldfile->cmds == 0)
oldfile->cmds = file->cmds;
else if (file->cmds != oldfile->cmds)
{
/* We have two sets of commands. We will go with the
one given in the rule explicitly mentioning this name,
but give a message to let the user know what's going on. */
if (oldfile->cmds->filename != 0)
makefile_error (file->cmds->filename, file->cmds->lineno,
"Commands were specified for \
file `%s' at %s:%u,",
oldname, oldfile->cmds->filename,
oldfile->cmds->lineno);
else
makefile_error (file->cmds->filename, file->cmds->lineno,
"Commands for file `%s' were found by \
implicit rule search,",
oldname);
makefile_error (file->cmds->filename, file->cmds->lineno,
"but `%s' is now considered the same file \
as `%s'.",
oldname, name);
makefile_error (file->cmds->filename, file->cmds->lineno,
"Commands for `%s' will be ignored \
in favor of those for `%s'.",
name, oldname);
}
}
/* Merge the dependencies of the two files. */
d = oldfile->deps;
if (d == 0)
oldfile->deps = file->deps;
else
{
while (d->next != 0)
d = d->next;
d->next = file->deps;
}
merge_variable_set_lists (&oldfile->variables, file->variables);
if (oldfile->double_colon && !file->double_colon)
fatal ("can't rename single-colon `%s' to double-colon `%s'",
oldname, name);
if (!oldfile->double_colon && file->double_colon)
fatal ("can't rename double-colon `%s' to single-colon `%s'",
oldname, name);
if (file->last_mtime > oldfile->last_mtime)
/* %%% Kludge so -W wins on a file that gets vpathized. */
oldfile->last_mtime = file->last_mtime;
#define MERGE(field) oldfile->field |= file->field
MERGE (precious);
MERGE (tried_implicit);
MERGE (updating);
MERGE (updated);
MERGE (is_target);
MERGE (cmd_target);
MERGE (phony);
#undef MERGE
file->renamed = oldfile;
}
}
/* Remove all nonprecious intermediate files.
If SIG is nonzero, this was caused by a fatal signal,
meaning that a different message will be printed, and
the message will go to stderr rather than stdout. */
void
remove_intermediates (sig)
int sig;
{
register int i;
register struct file *f;
char doneany;
if (question_flag || touch_flag)
return;
if (sig && just_print_flag)
return;
doneany = 0;
for (i = 0; i < FILE_BUCKETS; ++i)
for (f = files[i]; f != 0; f = f->next)
if (f->intermediate && (f->dontcare || !f->precious))
{
int status;
if (f->update_status == -1)
/* If nothing would have created this file yet,
don't print an "rm" command for it. */
continue;
else if (just_print_flag)
status = 0;
else
{
status = unlink (f->name);
if (status < 0 && errno == ENOENT)
continue;
}
if (!f->dontcare)
{
if (sig)
error ("*** Deleting intermediate file `%s'", f->name);
else if (!silent_flag)
{
if (! doneany)
{
fputs ("rm ", stdout);
doneany = 1;
}
else
putchar (' ');
fputs (f->name, stdout);
fflush (stdout);
}
if (status < 0)
perror_with_name ("unlink: ", f->name);
}
}
if (doneany && !sig)
{
putchar ('\n');
fflush (stdout);
}
}
/* For each dependency of each file, make the `struct dep' point
at the appropriate `struct file' (which may have to be created).
Also mark the files depended on by .PRECIOUS and .PHONY. */
void
snap_deps ()
{
register struct file *f, *f2;
register struct dep *d;
register int i;
/* Enter each dependency name as a file. */
for (i = 0; i < FILE_BUCKETS; ++i)
for (f = files[i]; f != 0; f = f->next)
for (f2 = f; f2 != 0; f2 = f2->prev)
for (d = f2->deps; d != 0; d = d->next)
if (d->name != 0)
{
d->file = lookup_file (d->name);
if (d->file == 0)
d->file = enter_file (d->name);
else
free (d->name);
d->name = 0;
}
for (f = lookup_file (".PRECIOUS"); f != 0; f = f->prev)
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
f2->precious = 1;
for (f = lookup_file (".PHONY"); f != 0; f = f->prev)
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
{
/* Mark this file as phony and nonexistent. */
f2->phony = 1;
f2->last_mtime = (time_t) -1;
}
f = lookup_file (".EXPORT_ALL_VARIABLES");
if (f != 0 && f->is_target)
export_all_variables = 1;
f = lookup_file (".IGNORE");
if (f != 0 && f->is_target)
{
if (f->deps == 0)
ignore_errors_flag = 1;
else
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
f2->command_flags |= COMMANDS_NOERROR;
}
f = lookup_file (".SILENT");
if (f != 0 && f->is_target)
{
if (f->deps == 0)
silent_flag = 1;
else
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
f2->command_flags |= COMMANDS_SILENT;
}
f = lookup_file (".POSIX");
if (f != 0 && f->is_target)
posix_pedantic = 1;
}
/* Set the `command_state' member of FILE and all its `also_make's. */
void
set_command_state (file, state)
struct file *file;
int state;
{
struct dep *d;
file->command_state = state;
for (d = file->also_make; d != 0; d = d->next)
d->file->command_state = state;
}
/* Print the data base of files. */
static void
print_file (f)
struct file *f;
{
register struct dep *d;
putchar ('\n');
if (!f->is_target)
puts ("# Not a target:");
printf ("%s:%s", f->name, f->double_colon ? ":" : "");
for (d = f->deps; d != 0; d = d->next)
printf (" %s", dep_name (d));
putchar ('\n');
if (f->precious)
puts ("# Precious file (dependency of .PRECIOUS).");
if (f->phony)
puts ("# Phony target (dependency of .PHONY).");
if (f->cmd_target)
puts ("# Command-line target.");
if (f->dontcare)
puts ("# A default or MAKEFILES makefile.");
printf ("# Implicit rule search has%s been done.\n",
f->tried_implicit ? "" : " not");
if (f->stem != 0)
printf ("# Implicit/static pattern stem: `%s'\n", f->stem);
if (f->intermediate)
puts ("# File is an intermediate dependency.");
if (f->also_make != 0)
{
fputs ("# Also makes:", stdout);
for (d = f->also_make; d != 0; d = d->next)
printf (" %s", dep_name (d));
putchar ('\n');
}
if (f->last_mtime == (time_t) 0)
puts ("# Modification time never checked.");
else if (f->last_mtime == (time_t) -1)
puts ("# File does not exist.");
else
printf ("# Last modified %.24s (%ld)\n",
ctime (&f->last_mtime), (long int) f->last_mtime);
printf ("# File has%s been updated.\n",
f->updated ? "" : " not");
switch (f->command_state)
{
case cs_running:
puts ("# Commands currently running (THIS IS A BUG).");
break;
case cs_deps_running:
puts ("# Dependencies commands running (THIS IS A BUG).");
break;
case cs_not_started:
case cs_finished:
switch (f->update_status)
{
case -1:
break;
case 0:
puts ("# Successfully updated.");
break;
case 1:
assert (question_flag);
puts ("# Needs to be updated (-q is set).");
break;
case 2:
puts ("# Failed to be updated.");
break;
default:
puts ("# Invalid value in `update_status' member!");
fflush (stdout);
fflush (stderr);
abort ();
}
break;
default:
puts ("# Invalid value in `command_state' member!");
fflush (stdout);
fflush (stderr);
abort ();
}
if (f->variables != 0)
print_file_variables (f);
if (f->cmds != 0)
print_commands (f->cmds);
}
void
print_file_data_base ()
{
register unsigned int i, nfiles, per_bucket;
register struct file *file;
puts ("\n# Files");
per_bucket = nfiles = 0;
for (i = 0; i < FILE_BUCKETS; ++i)
{
register unsigned int this_bucket = 0;
for (file = files[i]; file != 0; file = file->next)
{
register struct file *f;
++this_bucket;
for (f = file; f != 0; f = f->prev)
print_file (f);
}
nfiles += this_bucket;
if (this_bucket > per_bucket)
per_bucket = this_bucket;
}
if (nfiles == 0)
puts ("\n# No files.");
else
{
printf ("\n# %u files in %u hash buckets.\n", nfiles, FILE_BUCKETS);
#ifndef NO_FLOAT
printf ("# average %.1f files per bucket, max %u files in one bucket.\n",
((double) nfiles) / ((double) FILE_BUCKETS) * 100.0, per_bucket);
#endif
}
}

View File

@@ -1,111 +0,0 @@
/* Definition of target file data structures for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Structure that represents the info on one file
that the makefile says how to make.
All of these are chained together through `next'. */
struct file
{
struct file *next;
char *name;
struct dep *deps;
struct commands *cmds; /* Commands to execute for this target. */
int command_flags; /* Flags OR'd in for cmds; see commands.h. */
char *stem; /* Implicit stem, if an implicit
rule has been used */
struct dep *also_make; /* Targets that are made by making this. */
time_t last_mtime; /* File's modtime, if already known. */
struct file *prev; /* Previous entry for same file name;
used when there are multiple double-colon
entries for the same file. */
/* File that this file was renamed to. After any time that a
file could be renamed, call `check_renamed' (below). */
struct file *renamed;
/* List of variable sets used for this file. */
struct variable_set_list *variables;
/* Immediate dependent that caused this target to be remade,
or nil if there isn't one. */
struct file *parent;
/* For a double-colon entry, this is the first double-colon entry for
the same file. Otherwise this is null. */
struct file *double_colon;
short int update_status; /* Status of the last attempt to update,
or -1 if none has been made. */
enum /* State of the commands. */
{ /* Note: It is important that cs_not_started be zero. */
cs_not_started, /* Not yet started. */
cs_deps_running, /* Dep commands running. */
cs_running, /* Commands running. */
cs_finished /* Commands finished. */
} command_state ENUM_BITFIELD (2);
unsigned int precious:1; /* Non-0 means don't delete file on quit */
unsigned int tried_implicit:1; /* Nonzero if have searched
for implicit rule for making
this file; don't search again. */
unsigned int updating:1; /* Nonzero while updating deps of this file */
unsigned int updated:1; /* Nonzero if this file has been remade. */
unsigned int is_target:1; /* Nonzero if file is described as target. */
unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */
unsigned int phony:1; /* Nonzero if this is a phony file
i.e., a dependency of .PHONY. */
unsigned int intermediate:1;/* Nonzero if this is an intermediate file. */
unsigned int dontcare:1; /* Nonzero if no complaint is to be made if
this target cannot be remade. */
};
/* Number of intermediate files entered. */
extern unsigned int num_intermediates;
extern struct file *default_goal_file, *suffix_file, *default_file;
extern struct file *lookup_file (), *enter_file ();
extern void remove_intermediates (), snap_deps ();
extern void rename_file (), file_hash_enter ();
extern void set_command_state ();
extern time_t f_mtime ();
#define file_mtime_1(f, v) \
((f)->last_mtime != (time_t) 0 ? (f)->last_mtime : f_mtime ((f), v))
#define file_mtime(f) file_mtime_1 ((f), 1)
#define file_mtime_no_search(f) file_mtime_1 ((f), 0)
/* Modtime value to use for `infinitely new'. We used to get the current time
from the system and use that whenever we wanted `new'. But that causes
trouble when the machine running make and the machine holding a file have
different ideas about what time it is; and can also lose for `force'
targets, which need to be considered newer than anything that depends on
them, even if said dependents' modtimes are in the future.
NOTE: This assumes 32-bit `time_t's, but I cannot think of a portable way
to produce the largest representable integer of a given signed type. */
#define NEW_MTIME ((time_t) 0x7fffffff)
#define check_renamed(file) \
while ((file)->renamed != 0) (file) = (file)->renamed /* No ; here. */

File diff suppressed because it is too large Load Diff

View File

@@ -1,938 +0,0 @@
/* Get the system load averages.
Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995
Free Software Foundation, Inc.
This program 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, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Compile-time symbols that this file uses:
FIXUP_KERNEL_SYMBOL_ADDR() Adjust address in returned struct nlist.
KERNEL_FILE Pathname of the kernel to nlist.
LDAV_CVT() Scale the load average from the kernel.
Returns a double.
LDAV_SYMBOL Name of kernel symbol giving load average.
LOAD_AVE_TYPE Type of the load average array in the kernel.
Must be defined unless one of
apollo, DGUX, NeXT, or UMAX is defined;
otherwise, no load average is available.
NLIST_STRUCT Include nlist.h, not a.out.h, and
the nlist n_name element is a pointer,
not an array.
NLIST_NAME_UNION struct nlist has an n_un member, not n_name.
LINUX_LDAV_FILE [__linux__]: File containing load averages.
Specific system predefines this file uses, aside from setting
default values if not emacs:
apollo
BSD Real BSD, not just BSD-like.
DGUX
eunice UNIX emulator under VMS.
hpux
NeXT
sgi
sequent Sequent Dynix 3.x.x (BSD)
_SEQUENT_ Sequent DYNIX/ptx 1.x.x (SYSV)
sony_news NEWS-OS (works at least for 4.1C)
UMAX
UMAX4_3
VMS
__linux__ Linux: assumes /proc filesystem mounted.
Support from Michael K. Johnson.
__NetBSD__ NetBSD: assumes /kern filesystem mounted.
In addition, to avoid nesting many #ifdefs, we internally set
LDAV_DONE to indicate that the load average has been computed.
We also #define LDAV_PRIVILEGED if a program will require
special installation to be able to call getloadavg. */
/* This should always be first. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <sys/types.h>
/* Both the Emacs and non-Emacs sections want this. Some
configuration files' definitions for the LOAD_AVE_CVT macro (like
sparc.h's) use macros like FSCALE, defined here. */
#ifdef unix
#include <sys/param.h>
#endif
/* Exclude all the code except the test program at the end
if the system has its own `getloadavg' function.
The declaration of `errno' is needed by the test program
as well as the function itself, so it comes first. */
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#ifndef HAVE_GETLOADAVG
/* The existing Emacs configuration files define a macro called
LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and
returns the load average multiplied by 100. What we actually want
is a macro called LDAV_CVT, which returns the load average as an
unmultiplied double.
For backwards compatibility, we'll define LDAV_CVT in terms of
LOAD_AVE_CVT, but future machine config files should just define
LDAV_CVT directly. */
#if !defined(LDAV_CVT) && defined(LOAD_AVE_CVT)
#define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
#endif
#if !defined (BSD) && defined (ultrix)
/* Ultrix behaves like BSD on Vaxen. */
#define BSD
#endif
#ifdef NeXT
/* NeXT in the 2.{0,1,2} releases defines BSD in <sys/param.h>, which
conflicts with the definition understood in this file, that this
really is BSD. */
#undef BSD
/* NeXT defines FSCALE in <sys/param.h>. However, we take FSCALE being
defined to mean that the nlist method should be used, which is not true. */
#undef FSCALE
#endif
/* Set values that are different from the defaults, which are
set a little farther down with #ifndef. */
/* Some shorthands. */
#if defined (HPUX) && !defined (hpux)
#define hpux
#endif
#if defined(hp300) && !defined(hpux)
#define MORE_BSD
#endif
#if defined(ultrix) && defined(mips)
#define decstation
#endif
#if defined(sun) && defined(SVR4)
#define SUNOS_5
#endif
#if defined (__osf__) && (defined (__alpha) || defined (__alpha__))
#define OSF_ALPHA
#include <sys/table.h>
#endif
#if defined (__osf__) && (defined (mips) || defined (__mips__))
#define OSF_MIPS
#include <sys/table.h>
#endif
/* UTek's /bin/cc on the 4300 has no architecture specific cpp define by
default, but _MACH_IND_SYS_TYPES is defined in <sys/types.h>. Combine
that with a couple of other things and we'll have a unique match. */
#if !defined (tek4300) && defined (unix) && defined (m68k) && defined (mc68000) && defined (mc68020) && defined (_MACH_IND_SYS_TYPES)
#define tek4300 /* Define by emacs, but not by other users. */
#endif
/* VAX C can't handle multi-line #ifs, or lines longer than 256 chars. */
#ifndef LOAD_AVE_TYPE
#ifdef MORE_BSD
#define LOAD_AVE_TYPE long
#endif
#ifdef sun
#define LOAD_AVE_TYPE long
#endif
#ifdef decstation
#define LOAD_AVE_TYPE long
#endif
#ifdef _SEQUENT_
#define LOAD_AVE_TYPE long
#endif
#ifdef sgi
#define LOAD_AVE_TYPE long
#endif
#ifdef SVR4
#define LOAD_AVE_TYPE long
#endif
#ifdef sony_news
#define LOAD_AVE_TYPE long
#endif
#ifdef sequent
#define LOAD_AVE_TYPE long
#endif
#ifdef OSF_ALPHA
#define LOAD_AVE_TYPE long
#endif
#if defined (ardent) && defined (titan)
#define LOAD_AVE_TYPE long
#endif
#ifdef tek4300
#define LOAD_AVE_TYPE long
#endif
#if defined(alliant) && defined(i860) /* Alliant FX/2800 */
#define LOAD_AVE_TYPE long
#endif
#ifdef _AIX
#define LOAD_AVE_TYPE long
#endif
#endif /* No LOAD_AVE_TYPE. */
#ifdef OSF_ALPHA
/* <sys/param.h> defines an incorrect value for FSCALE on Alpha OSF/1,
according to ghazi@noc.rutgers.edu. */
#undef FSCALE
#define FSCALE 1024.0
#endif
#if defined(alliant) && defined(i860) /* Alliant FX/2800 */
/* <sys/param.h> defines an incorrect value for FSCALE on an
Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu. */
#undef FSCALE
#define FSCALE 100.0
#endif
#ifndef FSCALE
/* SunOS and some others define FSCALE in sys/param.h. */
#ifdef MORE_BSD
#define FSCALE 2048.0
#endif
#if defined(MIPS) || defined(SVR4) || defined(decstation)
#define FSCALE 256
#endif
#if defined (sgi) || defined (sequent)
/* Sometimes both MIPS and sgi are defined, so FSCALE was just defined
above under #ifdef MIPS. But we want the sgi value. */
#undef FSCALE
#define FSCALE 1000.0
#endif
#if defined (ardent) && defined (titan)
#define FSCALE 65536.0
#endif
#ifdef tek4300
#define FSCALE 100.0
#endif
#ifdef _AIX
#define FSCALE 65536.0
#endif
#endif /* Not FSCALE. */
#if !defined (LDAV_CVT) && defined (FSCALE)
#define LDAV_CVT(n) (((double) (n)) / FSCALE)
#endif
/* VAX C can't handle multi-line #ifs, or lines longer that 256 characters. */
#ifndef NLIST_STRUCT
#ifdef MORE_BSD
#define NLIST_STRUCT
#endif
#ifdef sun
#define NLIST_STRUCT
#endif
#ifdef decstation
#define NLIST_STRUCT
#endif
#ifdef hpux
#define NLIST_STRUCT
#endif
#if defined (_SEQUENT_) || defined (sequent)
#define NLIST_STRUCT
#endif
#ifdef sgi
#define NLIST_STRUCT
#endif
#ifdef SVR4
#define NLIST_STRUCT
#endif
#ifdef sony_news
#define NLIST_STRUCT
#endif
#ifdef OSF_ALPHA
#define NLIST_STRUCT
#endif
#if defined (ardent) && defined (titan)
#define NLIST_STRUCT
#endif
#ifdef tek4300
#define NLIST_STRUCT
#endif
#ifdef butterfly
#define NLIST_STRUCT
#endif
#if defined(alliant) && defined(i860) /* Alliant FX/2800 */
#define NLIST_STRUCT
#endif
#ifdef _AIX
#define NLIST_STRUCT
#endif
#endif /* defined (NLIST_STRUCT) */
#if defined(sgi) || (defined(mips) && !defined(BSD))
#define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31))
#endif
#if !defined (KERNEL_FILE) && defined (sequent)
#define KERNEL_FILE "/dynix"
#endif
#if !defined (KERNEL_FILE) && defined (hpux)
#define KERNEL_FILE "/hp-ux"
#endif
#if !defined(KERNEL_FILE) && (defined(_SEQUENT_) || defined(MIPS) || defined(SVR4) || defined(ISC) || defined (sgi) || defined(SVR4) || (defined (ardent) && defined (titan)))
#define KERNEL_FILE "/unix"
#endif
#if !defined (LDAV_SYMBOL) && defined (alliant)
#define LDAV_SYMBOL "_Loadavg"
#endif
#if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
#define LDAV_SYMBOL "avenrun"
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <stdio.h>
/* LOAD_AVE_TYPE should only get defined if we're going to use the
nlist method. */
#if !defined(LOAD_AVE_TYPE) && (defined(BSD) || defined(LDAV_CVT) || defined(KERNEL_FILE) || defined(LDAV_SYMBOL))
#define LOAD_AVE_TYPE double
#endif
#ifdef LOAD_AVE_TYPE
#ifndef VMS
#ifndef NLIST_STRUCT
#include <a.out.h>
#else /* NLIST_STRUCT */
#include <nlist.h>
#endif /* NLIST_STRUCT */
#ifdef SUNOS_5
#include <fcntl.h>
#include <kvm.h>
#endif
#ifndef KERNEL_FILE
#define KERNEL_FILE "/vmunix"
#endif /* KERNEL_FILE */
#ifndef LDAV_SYMBOL
#define LDAV_SYMBOL "_avenrun"
#endif /* LDAV_SYMBOL */
#else /* VMS */
#ifndef eunice
#include <iodef.h>
#include <descrip.h>
#else /* eunice */
#include <vms/iodef.h>
#endif /* eunice */
#endif /* VMS */
#ifndef LDAV_CVT
#define LDAV_CVT(n) ((double) (n))
#endif /* !LDAV_CVT */
#endif /* LOAD_AVE_TYPE */
#ifdef NeXT
#ifdef HAVE_MACH_MACH_H
#include <mach/mach.h>
#else
#include <mach.h>
#endif
#endif /* NeXT */
#ifdef sgi
#include <sys/sysmp.h>
#endif /* sgi */
#ifdef UMAX
#include <stdio.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <sys/syscall.h>
#ifdef UMAX_43
#include <machine/cpu.h>
#include <inq_stats/statistics.h>
#include <inq_stats/sysstats.h>
#include <inq_stats/cpustats.h>
#include <inq_stats/procstats.h>
#else /* Not UMAX_43. */
#include <sys/sysdefs.h>
#include <sys/statistics.h>
#include <sys/sysstats.h>
#include <sys/cpudefs.h>
#include <sys/cpustats.h>
#include <sys/procstats.h>
#endif /* Not UMAX_43. */
#endif /* UMAX */
#ifdef DGUX
#include <sys/dg_sys_info.h>
#endif
#if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
#include <fcntl.h>
#else
#include <sys/file.h>
#endif
/* Avoid static vars inside a function since in HPUX they dump as pure. */
#ifdef NeXT
static processor_set_t default_set;
static int getloadavg_initialized;
#endif /* NeXT */
#ifdef UMAX
static unsigned int cpus = 0;
static unsigned int samples;
#endif /* UMAX */
#ifdef DGUX
static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */
#endif /* DGUX */
#ifdef LOAD_AVE_TYPE
/* File descriptor open to /dev/kmem or VMS load ave driver. */
static int channel;
/* Nonzero iff channel is valid. */
static int getloadavg_initialized;
/* Offset in kmem to seek to read load average, or 0 means invalid. */
static long offset;
#if !defined(VMS) && !defined(sgi)
static struct nlist nl[2];
#endif /* Not VMS or sgi */
#ifdef SUNOS_5
static kvm_t *kd;
#endif /* SUNOS_5 */
#endif /* LOAD_AVE_TYPE */
/* Put the 1 minute, 5 minute and 15 minute load averages
into the first NELEM elements of LOADAVG.
Return the number written (never more than 3, but may be less than NELEM),
or -1 if an error occurred. */
int
getloadavg (loadavg, nelem)
double loadavg[];
int nelem;
{
int elem = 0; /* Return value. */
#ifdef NO_GET_LOAD_AVG
#define LDAV_DONE
/* Set errno to zero to indicate that there was no particular error;
this function just can't work at all on this system. */
errno = 0;
elem = -1;
#endif
#if !defined (LDAV_DONE) && defined (__linux__)
#define LDAV_DONE
#undef LOAD_AVE_TYPE
#ifndef LINUX_LDAV_FILE
#define LINUX_LDAV_FILE "/proc/loadavg"
#endif
char ldavgbuf[40];
double load_ave[3];
int fd, count;
fd = open (LINUX_LDAV_FILE, O_RDONLY);
if (fd == -1)
return -1;
count = read (fd, ldavgbuf, 40);
(void) close (fd);
if (count <= 0)
return -1;
count = sscanf (ldavgbuf, "%lf %lf %lf",
&load_ave[0], &load_ave[1], &load_ave[2]);
if (count < 1)
return -1;
for (elem = 0; elem < nelem && elem < count; elem++)
loadavg[elem] = load_ave[elem];
return elem;
#endif /* __linux__ */
#if !defined (LDAV_DONE) && defined (__NetBSD__)
#define LDAV_DONE
#undef LOAD_AVE_TYPE
#ifndef NETBSD_LDAV_FILE
#define NETBSD_LDAV_FILE "/kern/loadavg"
#endif
unsigned long int load_ave[3], scale;
int count;
FILE *fp;
fp = fopen (NETBSD_LDAV_FILE, "r");
if (fp == NULL)
return -1;
count = fscanf (fp, "%lu %lu %lu %lu\n",
&load_ave[0], &load_ave[1], &load_ave[2],
&scale);
(void) fclose (fp);
if (count != 4)
return -1;
for (elem = 0; elem < nelem; elem++)
loadavg[elem] = (double) load_ave[elem] / (double) scale;
return elem;
#endif /* __NetBSD__ */
#if !defined (LDAV_DONE) && defined (NeXT)
#define LDAV_DONE
/* The NeXT code was adapted from iscreen 3.2. */
host_t host;
struct processor_set_basic_info info;
unsigned info_count;
/* We only know how to get the 1-minute average for this system,
so even if the caller asks for more than 1, we only return 1. */
if (!getloadavg_initialized)
{
if (processor_set_default (host_self (), &default_set) == KERN_SUCCESS)
getloadavg_initialized = 1;
}
if (getloadavg_initialized)
{
info_count = PROCESSOR_SET_BASIC_INFO_COUNT;
if (processor_set_info (default_set, PROCESSOR_SET_BASIC_INFO, &host,
(processor_set_info_t) &info, &info_count)
!= KERN_SUCCESS)
getloadavg_initialized = 0;
else
{
if (nelem > 0)
loadavg[elem++] = (double) info.load_average / LOAD_SCALE;
}
}
if (!getloadavg_initialized)
return -1;
#endif /* NeXT */
#if !defined (LDAV_DONE) && defined (UMAX)
#define LDAV_DONE
/* UMAX 4.2, which runs on the Encore Multimax multiprocessor, does not
have a /dev/kmem. Information about the workings of the running kernel
can be gathered with inq_stats system calls.
We only know how to get the 1-minute average for this system. */
struct proc_summary proc_sum_data;
struct stat_descr proc_info;
double load;
register unsigned int i, j;
if (cpus == 0)
{
register unsigned int c, i;
struct cpu_config conf;
struct stat_descr desc;
desc.sd_next = 0;
desc.sd_subsys = SUBSYS_CPU;
desc.sd_type = CPUTYPE_CONFIG;
desc.sd_addr = (char *) &conf;
desc.sd_size = sizeof conf;
if (inq_stats (1, &desc))
return -1;
c = 0;
for (i = 0; i < conf.config_maxclass; ++i)
{
struct class_stats stats;
bzero ((char *) &stats, sizeof stats);
desc.sd_type = CPUTYPE_CLASS;
desc.sd_objid = i;
desc.sd_addr = (char *) &stats;
desc.sd_size = sizeof stats;
if (inq_stats (1, &desc))
return -1;
c += stats.class_numcpus;
}
cpus = c;
samples = cpus < 2 ? 3 : (2 * cpus / 3);
}
proc_info.sd_next = 0;
proc_info.sd_subsys = SUBSYS_PROC;
proc_info.sd_type = PROCTYPE_SUMMARY;
proc_info.sd_addr = (char *) &proc_sum_data;
proc_info.sd_size = sizeof (struct proc_summary);
proc_info.sd_sizeused = 0;
if (inq_stats (1, &proc_info) != 0)
return -1;
load = proc_sum_data.ps_nrunnable;
j = 0;
for (i = samples - 1; i > 0; --i)
{
load += proc_sum_data.ps_nrun[j];
if (j++ == PS_NRUNSIZE)
j = 0;
}
if (nelem > 0)
loadavg[elem++] = load / samples / cpus;
#endif /* UMAX */
#if !defined (LDAV_DONE) && defined (DGUX)
#define LDAV_DONE
/* This call can return -1 for an error, but with good args
it's not supposed to fail. The first argument is for no
apparent reason of type `long int *'. */
dg_sys_info ((long int *) &load_info,
DG_SYS_INFO_LOAD_INFO_TYPE,
DG_SYS_INFO_LOAD_VERSION_0);
if (nelem > 0)
loadavg[elem++] = load_info.one_minute;
if (nelem > 1)
loadavg[elem++] = load_info.five_minute;
if (nelem > 2)
loadavg[elem++] = load_info.fifteen_minute;
#endif /* DGUX */
#if !defined (LDAV_DONE) && defined (apollo)
#define LDAV_DONE
/* Apollo code from lisch@mentorg.com (Ray Lischner).
This system call is not documented. The load average is obtained as
three long integers, for the load average over the past minute,
five minutes, and fifteen minutes. Each value is a scaled integer,
with 16 bits of integer part and 16 bits of fraction part.
I'm not sure which operating system first supported this system call,
but I know that SR10.2 supports it. */
extern void proc1_$get_loadav ();
unsigned long load_ave[3];
proc1_$get_loadav (load_ave);
if (nelem > 0)
loadavg[elem++] = load_ave[0] / 65536.0;
if (nelem > 1)
loadavg[elem++] = load_ave[1] / 65536.0;
if (nelem > 2)
loadavg[elem++] = load_ave[2] / 65536.0;
#endif /* apollo */
#if !defined (LDAV_DONE) && defined (OSF_MIPS)
#define LDAV_DONE
struct tbl_loadavg load_ave;
table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
loadavg[elem++]
= (load_ave.tl_lscale == 0
? load_ave.tl_avenrun.d[0]
: (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale));
#endif /* OSF_MIPS */
#if !defined (LDAV_DONE) && defined (OSF_ALPHA)
#define LDAV_DONE
struct tbl_loadavg load_ave;
table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
for (elem = 0; elem < nelem; elem++)
loadavg[elem]
= (load_ave.tl_lscale == 0
? load_ave.tl_avenrun.d[elem]
: (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
#endif /* OSF_ALPHA */
#if !defined (LDAV_DONE) && defined (VMS)
/* VMS specific code -- read from the Load Ave driver. */
LOAD_AVE_TYPE load_ave[3];
static int getloadavg_initialized = 0;
#ifdef eunice
struct
{
int dsc$w_length;
char *dsc$a_pointer;
} descriptor;
#endif
/* Ensure that there is a channel open to the load ave device. */
if (!getloadavg_initialized)
{
/* Attempt to open the channel. */
#ifdef eunice
descriptor.dsc$w_length = 18;
descriptor.dsc$a_pointer = "$$VMS_LOAD_AVERAGE";
#else
$DESCRIPTOR (descriptor, "LAV0:");
#endif
if (sys$assign (&descriptor, &channel, 0, 0) & 1)
getloadavg_initialized = 1;
}
/* Read the load average vector. */
if (getloadavg_initialized
&& !(sys$qiow (0, channel, IO$_READVBLK, 0, 0, 0,
load_ave, 12, 0, 0, 0, 0) & 1))
{
sys$dassgn (channel);
getloadavg_initialized = 0;
}
if (!getloadavg_initialized)
return -1;
#endif /* VMS */
#if !defined (LDAV_DONE) && defined(LOAD_AVE_TYPE) && !defined(VMS)
/* UNIX-specific code -- read the average from /dev/kmem. */
#define LDAV_PRIVILEGED /* This code requires special installation. */
LOAD_AVE_TYPE load_ave[3];
/* Get the address of LDAV_SYMBOL. */
if (offset == 0)
{
#ifndef sgi
#ifndef NLIST_STRUCT
strcpy (nl[0].n_name, LDAV_SYMBOL);
strcpy (nl[1].n_name, "");
#else /* NLIST_STRUCT */
#ifdef NLIST_NAME_UNION
nl[0].n_un.n_name = LDAV_SYMBOL;
nl[1].n_un.n_name = 0;
#else /* not NLIST_NAME_UNION */
nl[0].n_name = LDAV_SYMBOL;
nl[1].n_name = 0;
#endif /* not NLIST_NAME_UNION */
#endif /* NLIST_STRUCT */
#ifndef SUNOS_5
if (
#ifndef _AIX
nlist (KERNEL_FILE, nl)
#else /* _AIX */
knlist (nl, 1, sizeof (nl[0]))
#endif
>= 0)
/* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */
{
#ifdef FIXUP_KERNEL_SYMBOL_ADDR
FIXUP_KERNEL_SYMBOL_ADDR (nl);
#endif
offset = nl[0].n_value;
}
#endif /* !SUNOS_5 */
#else /* sgi */
int ldav_off;
ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN);
if (ldav_off != -1)
offset = (long) ldav_off & 0x7fffffff;
#endif /* sgi */
}
/* Make sure we have /dev/kmem open. */
if (!getloadavg_initialized)
{
#ifndef SUNOS_5
channel = open ("/dev/kmem", 0);
if (channel >= 0)
getloadavg_initialized = 1;
#else /* SUNOS_5 */
/* We pass 0 for the kernel, corefile, and swapfile names
to use the currently running kernel. */
kd = kvm_open (0, 0, 0, O_RDONLY, 0);
if (kd != 0)
{
/* nlist the currently running kernel. */
kvm_nlist (kd, nl);
offset = nl[0].n_value;
getloadavg_initialized = 1;
}
#endif /* SUNOS_5 */
}
/* If we can, get the load average values. */
if (offset && getloadavg_initialized)
{
/* Try to read the load. */
#ifndef SUNOS_5
if (lseek (channel, offset, 0) == -1L
|| read (channel, (char *) load_ave, sizeof (load_ave))
!= sizeof (load_ave))
{
close (channel);
getloadavg_initialized = 0;
}
#else /* SUNOS_5 */
if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave))
!= sizeof (load_ave))
{
kvm_close (kd);
getloadavg_initialized = 0;
}
#endif /* SUNOS_5 */
}
if (offset == 0 || !getloadavg_initialized)
return -1;
#endif /* LOAD_AVE_TYPE and not VMS */
#if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) /* Including VMS. */
if (nelem > 0)
loadavg[elem++] = LDAV_CVT (load_ave[0]);
if (nelem > 1)
loadavg[elem++] = LDAV_CVT (load_ave[1]);
if (nelem > 2)
loadavg[elem++] = LDAV_CVT (load_ave[2]);
#define LDAV_DONE
#endif /* !LDAV_DONE && LOAD_AVE_TYPE */
#ifdef LDAV_DONE
return elem;
#else
/* Set errno to zero to indicate that there was no particular error;
this function just can't work at all on this system. */
errno = 0;
return -1;
#endif
}
#endif /* ! HAVE_GETLOADAVG */
#ifdef TEST
void
main (argc, argv)
int argc;
char **argv;
{
int naptime = 0;
if (argc > 1)
naptime = atoi (argv[1]);
while (1)
{
double avg[3];
int loads;
errno = 0; /* Don't be misled if it doesn't set errno. */
loads = getloadavg (avg, 3);
if (loads == -1)
{
perror ("Error getting load average");
exit (1);
}
if (loads > 0)
printf ("1-minute: %f ", avg[0]);
if (loads > 1)
printf ("5-minute: %f ", avg[1]);
if (loads > 2)
printf ("15-minute: %f ", avg[2]);
if (loads > 0)
putchar ('\n');
if (naptime == 0)
break;
sleep (naptime);
}
exit (0);
}
#endif /* TEST */

View File

@@ -1,763 +0,0 @@
/* Getopt for GNU.
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
before changing it!
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95
Free Software Foundation, Inc.
This program 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
#ifndef _NO_PROTO
#define _NO_PROTO
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#if !defined (__STDC__) || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
#ifndef const
#define const
#endif
#endif
#include <stdio.h>
#include <string.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
/* This needs to come after some library #include
to get __GNU_LIBRARY__ defined. */
#ifdef __GNU_LIBRARY__
/* Don't include stdlib.h for non-GNU C libraries because some of them
contain conflicting prototypes for getopt. */
#include <stdlib.h>
#endif /* GNU C library. */
/* This is for other GNU distributions with internationalized messages.
The GNU C Library itself does not yet support such messages. */
#if HAVE_LIBINTL_H
# include <libintl.h>
#else
# define gettext(msgid) (msgid)
#endif
/* This version of `getopt' appears to the caller like standard Unix `getopt'
but it behaves differently for the user, since it allows the user
to intersperse the options with the other arguments.
As `getopt' works, it permutes the elements of ARGV so that,
when it is done, all the options precede everything else. Thus
all application programs are extended to handle flexible argument order.
Setting the environment variable POSIXLY_CORRECT disables permutation.
Then the behavior is completely standard.
GNU application programs can use a third alternative mode in which
they can distinguish the relative order of options and other arguments. */
#include "getopt.h"
/* For communication from `getopt' to the caller.
When `getopt' finds an option that takes an argument,
the argument value is returned here.
Also, when `ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */
char *optarg = NULL;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
and for communication between successive calls to `getopt'.
On entry to `getopt', zero means this is the first call; initialize.
When `getopt' returns EOF, this is the index of the first of the
non-option elements that the caller should itself scan.
Otherwise, `optind' communicates from one call to the next
how much of ARGV has been scanned so far. */
/* XXX 1003.2 says this must be 1 before any call. */
int optind = 0;
/* The next char to be scanned in the option-element
in which the last option character we returned was found.
This allows us to pick up the scan where we left off.
If this is zero, or a null string, it means resume the scan
by advancing to the next ARGV-element. */
static char *nextchar;
/* Callers store zero here to inhibit the error message
for unrecognized options. */
int opterr = 1;
/* Set to an option character which was unrecognized.
This must be initialized on some systems to avoid linking in the
system's own getopt implementation. */
int optopt = '?';
/* Describe how to deal with options that follow non-option ARGV-elements.
If the caller did not specify anything,
the default is REQUIRE_ORDER if the environment variable
POSIXLY_CORRECT is defined, PERMUTE otherwise.
REQUIRE_ORDER means don't recognize them as options;
stop option processing when the first non-option is seen.
This is what Unix does.
This mode of operation is selected by either setting the environment
variable POSIXLY_CORRECT, or using `+' as the first character
of the list of option characters.
PERMUTE is the default. We permute the contents of ARGV as we scan,
so that eventually all the non-options are at the end. This allows options
to be given in any order, even with programs that were not written to
expect this.
RETURN_IN_ORDER is an option available to programs that were written
to expect options and other ARGV-elements in any order and that care about
the ordering of the two. We describe each non-option ARGV-element
as if it were the argument of an option with character code 1.
Using `-' as the first character of the list of option characters
selects this mode of operation.
The special argument `--' forces an end of option-scanning regardless
of the value of `ordering'. In the case of RETURN_IN_ORDER, only
`--' can cause `getopt' to return EOF with `optind' != ARGC. */
static enum
{
REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
} ordering;
/* Value of POSIXLY_CORRECT environment variable. */
static char *posixly_correct;
#ifdef __GNU_LIBRARY__
/* We want to avoid inclusion of string.h with non-GNU libraries
because there are many ways it can cause trouble.
On some systems, it contains special magic macros that don't work
in GCC. */
#include <string.h>
#define my_index strchr
#else
/* Avoid depending on library functions or files
whose names are inconsistent. */
char *getenv ();
static char *
my_index (str, chr)
const char *str;
int chr;
{
while (*str)
{
if (*str == chr)
return (char *) str;
str++;
}
return 0;
}
/* If using GCC, we can safely declare strlen this way.
If not using GCC, it is ok not to declare it. */
#ifdef __GNUC__
/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
That was relevant to code that was here before. */
#if !defined (__STDC__) || !__STDC__
/* gcc with -traditional declares the built-in strlen to return int,
and has done so at least since version 2.4.5. -- rms. */
extern int strlen (const char *);
#endif /* not __STDC__ */
#endif /* __GNUC__ */
#endif /* not __GNU_LIBRARY__ */
/* Handle permutation of arguments. */
/* Describe the part of ARGV that contains non-options that have
been skipped. `first_nonopt' is the index in ARGV of the first of them;
`last_nonopt' is the index after the last of them. */
static int first_nonopt;
static int last_nonopt;
/* Exchange two adjacent subsequences of ARGV.
One subsequence is elements [first_nonopt,last_nonopt)
which contains all the non-options that have been skipped so far.
The other is elements [last_nonopt,optind), which contains all
the options processed since those non-options were skipped.
`first_nonopt' and `last_nonopt' are relocated so that they describe
the new indices of the non-options in ARGV after they are moved. */
static void
exchange (argv)
char **argv;
{
int bottom = first_nonopt;
int middle = last_nonopt;
int top = optind;
char *tem;
/* Exchange the shorter segment with the far end of the longer segment.
That puts the shorter segment into the right place.
It leaves the longer segment in the right place overall,
but it consists of two parts that need to be swapped next. */
while (top > middle && middle > bottom)
{
if (top - middle > middle - bottom)
{
/* Bottom segment is the short one. */
int len = middle - bottom;
register int i;
/* Swap it with the top part of the top segment. */
for (i = 0; i < len; i++)
{
tem = argv[bottom + i];
argv[bottom + i] = argv[top - (middle - bottom) + i];
argv[top - (middle - bottom) + i] = tem;
}
/* Exclude the moved bottom segment from further swapping. */
top -= len;
}
else
{
/* Top segment is the short one. */
int len = top - middle;
register int i;
/* Swap it with the bottom part of the bottom segment. */
for (i = 0; i < len; i++)
{
tem = argv[bottom + i];
argv[bottom + i] = argv[middle + i];
argv[middle + i] = tem;
}
/* Exclude the moved top segment from further swapping. */
bottom += len;
}
}
/* Update records for the slots the non-options now occupy. */
first_nonopt += (optind - last_nonopt);
last_nonopt = optind;
}
/* Initialize the internal data when the first call is made. */
static const char *
_getopt_initialize (optstring)
const char *optstring;
{
/* Start processing options with ARGV-element 1 (since ARGV-element 0
is the program name); the sequence of previously skipped
non-option ARGV-elements is empty. */
first_nonopt = last_nonopt = optind = 1;
nextchar = NULL;
posixly_correct = getenv ("POSIXLY_CORRECT");
/* Determine how to handle the ordering of options and nonoptions. */
if (optstring[0] == '-')
{
ordering = RETURN_IN_ORDER;
++optstring;
}
else if (optstring[0] == '+')
{
ordering = REQUIRE_ORDER;
++optstring;
}
else if (posixly_correct != NULL)
ordering = REQUIRE_ORDER;
else
ordering = PERMUTE;
return optstring;
}
/* Scan elements of ARGV (whose length is ARGC) for option characters
given in OPTSTRING.
If an element of ARGV starts with '-', and is not exactly "-" or "--",
then it is an option element. The characters of this element
(aside from the initial '-') are option characters. If `getopt'
is called repeatedly, it returns successively each of the option characters
from each of the option elements.
If `getopt' finds another option character, it returns that character,
updating `optind' and `nextchar' so that the next call to `getopt' can
resume the scan with the following option character or ARGV-element.
If there are no more option characters, `getopt' returns `EOF'.
Then `optind' is the index in ARGV of the first ARGV-element
that is not an option. (The ARGV-elements have been permuted
so that those that are not options now come last.)
OPTSTRING is a string containing the legitimate option characters.
If an option character is seen that is not listed in OPTSTRING,
return '?' after printing an error message. If you set `opterr' to
zero, the error message is suppressed but we still return '?'.
If a char in OPTSTRING is followed by a colon, that means it wants an arg,
so the following text in the same ARGV-element, or the text of the following
ARGV-element, is returned in `optarg'. Two colons mean an option that
wants an optional arg; if there is text in the current ARGV-element,
it is returned in `optarg', otherwise `optarg' is set to zero.
If OPTSTRING starts with `-' or `+', it requests different methods of
handling the non-option ARGV-elements.
See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
Long-named options begin with `--' instead of `-'.
Their names may be abbreviated as long as the abbreviation is unique
or is an exact match for some defined option. If they have an
argument, it follows the option name in the same ARGV-element, separated
from the option name by a `=', or else the in next ARGV-element.
When `getopt' finds a long-named option, it returns 0 if that option's
`flag' field is nonzero, the value of the option's `val' field
if the `flag' field is zero.
The elements of ARGV aren't really const, because we permute them.
But we pretend they're const in the prototype to be compatible
with other systems.
LONGOPTS is a vector of `struct option' terminated by an
element containing a name which is zero.
LONGIND returns the index in LONGOPT of the long-named option found.
It is only valid when a long-named option has been found by the most
recent call.
If LONG_ONLY is nonzero, '-' as well as '--' can introduce
long-named options. */
int
_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
int argc;
char *const *argv;
const char *optstring;
const struct option *longopts;
int *longind;
int long_only;
{
optarg = NULL;
if (optind == 0)
{
optstring = _getopt_initialize (optstring);
optind = 1; /* Don't scan ARGV[0], the program name. */
}
if (nextchar == NULL || *nextchar == '\0')
{
/* Advance to the next ARGV-element. */
if (ordering == PERMUTE)
{
/* If we have just processed some options following some non-options,
exchange them so that the options come first. */
if (first_nonopt != last_nonopt && last_nonopt != optind)
exchange ((char **) argv);
else if (last_nonopt != optind)
first_nonopt = optind;
/* Skip any additional non-options
and extend the range of non-options previously skipped. */
while (optind < argc
&& (argv[optind][0] != '-' || argv[optind][1] == '\0'))
optind++;
last_nonopt = optind;
}
/* The special ARGV-element `--' means premature end of options.
Skip it like a null option,
then exchange with previous non-options as if it were an option,
then skip everything else like a non-option. */
if (optind != argc && !strcmp (argv[optind], "--"))
{
optind++;
if (first_nonopt != last_nonopt && last_nonopt != optind)
exchange ((char **) argv);
else if (first_nonopt == last_nonopt)
first_nonopt = optind;
last_nonopt = argc;
optind = argc;
}
/* If we have done all the ARGV-elements, stop the scan
and back over any non-options that we skipped and permuted. */
if (optind == argc)
{
/* Set the next-arg-index to point at the non-options
that we previously skipped, so the caller will digest them. */
if (first_nonopt != last_nonopt)
optind = first_nonopt;
return EOF;
}
/* If we have come to a non-option and did not permute it,
either stop the scan or describe it to the caller and pass it by. */
if ((argv[optind][0] != '-' || argv[optind][1] == '\0'))
{
if (ordering == REQUIRE_ORDER)
return EOF;
optarg = argv[optind++];
return 1;
}
/* We have found another option-ARGV-element.
Skip the initial punctuation. */
nextchar = (argv[optind] + 1
+ (longopts != NULL && argv[optind][1] == '-'));
}
/* Decode the current option-ARGV-element. */
/* Check whether the ARGV-element is a long option.
If long_only and the ARGV-element has the form "-f", where f is
a valid short option, don't consider it an abbreviated form of
a long option that starts with f. Otherwise there would be no
way to give the -f short option.
On the other hand, if there's a long option "fubar" and
the ARGV-element is "-fu", do consider that an abbreviation of
the long option, just like "--fu", and not "-f" with arg "u".
This distinction seems to be the most useful approach. */
if (longopts != NULL
&& (argv[optind][1] == '-'
|| (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
{
char *nameend;
const struct option *p;
const struct option *pfound = NULL;
int exact = 0;
int ambig = 0;
int indfound;
int option_index;
for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
/* Do nothing. */ ;
/* Test all long options for either exact match
or abbreviated matches. */
for (p = longopts, option_index = 0; p->name; p++, option_index++)
if (!strncmp (p->name, nextchar, nameend - nextchar))
{
if ((size_t)(nameend - nextchar) == strlen (p->name))
{
/* Exact match found. */
pfound = p;
indfound = option_index;
exact = 1;
break;
}
else if (pfound == NULL)
{
/* First nonexact match found. */
pfound = p;
indfound = option_index;
}
else
/* Second or later nonexact match found. */
ambig = 1;
}
if (ambig && !exact)
{
if (opterr)
fprintf (stderr, gettext ("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
nextchar += strlen (nextchar);
optind++;
return '?';
}
if (pfound != NULL)
{
option_index = indfound;
optind++;
if (*nameend)
{
/* Don't test has_arg with >, because some C compilers don't
allow it to be used on enums. */
if (pfound->has_arg)
optarg = nameend + 1;
else
{
if (opterr)
if (argv[optind - 1][1] == '-')
/* --option */
fprintf (stderr,
gettext ("%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
else
/* +option or -option */
fprintf (stderr,
gettext ("%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
nextchar += strlen (nextchar);
return '?';
}
}
else if (pfound->has_arg == 1)
{
if (optind < argc)
optarg = argv[optind++];
else
{
if (opterr)
fprintf (stderr,
gettext ("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
nextchar += strlen (nextchar);
return optstring[0] == ':' ? ':' : '?';
}
}
nextchar += strlen (nextchar);
if (longind != NULL)
*longind = option_index;
if (pfound->flag)
{
*(pfound->flag) = pfound->val;
return 0;
}
return pfound->val;
}
/* Can't find it as a long option. If this is not getopt_long_only,
or the option starts with '--' or is not a valid short
option, then it's an error.
Otherwise interpret it as a short option. */
if (!long_only || argv[optind][1] == '-'
|| my_index (optstring, *nextchar) == NULL)
{
if (opterr)
{
if (argv[optind][1] == '-')
/* --option */
fprintf (stderr, gettext ("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
else
/* +option or -option */
fprintf (stderr, gettext ("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
}
nextchar = (char *) "";
optind++;
return '?';
}
}
/* Look at and handle the next short option-character. */
{
char c = *nextchar++;
char *temp = my_index (optstring, c);
/* Increment `optind' when we start to process its last character. */
if (*nextchar == '\0')
++optind;
if (temp == NULL || c == ':')
{
if (opterr)
{
if (posixly_correct)
/* 1003.2 specifies the format of this message. */
fprintf (stderr, gettext ("%s: illegal option -- %c\n"),
argv[0], c);
else
fprintf (stderr, gettext ("%s: invalid option -- %c\n"),
argv[0], c);
}
optopt = c;
return '?';
}
if (temp[1] == ':')
{
if (temp[2] == ':')
{
/* This is an option that accepts an argument optionally. */
if (*nextchar != '\0')
{
optarg = nextchar;
optind++;
}
else
optarg = NULL;
nextchar = NULL;
}
else
{
/* This is an option that requires an argument. */
if (*nextchar != '\0')
{
optarg = nextchar;
/* If we end this ARGV-element by taking the rest as an arg,
we must advance to the next element now. */
optind++;
}
else if (optind == argc)
{
if (opterr)
{
/* 1003.2 specifies the format of this message. */
fprintf (stderr,
gettext ("%s: option requires an argument -- %c\n"),
argv[0], c);
}
optopt = c;
if (optstring[0] == ':')
c = ':';
else
c = '?';
}
else
/* We already incremented `optind' once;
increment it again when taking next ARGV-elt as argument. */
optarg = argv[optind++];
nextchar = NULL;
}
}
return c;
}
}
int
getopt (argc, argv, optstring)
int argc;
char *const *argv;
const char *optstring;
{
return _getopt_internal (argc, argv, optstring,
(const struct option *) 0,
(int *) 0,
0);
}
#endif /* _LIBC or not __GNU_LIBRARY__. */
#ifdef TEST
/* Compile with -DTEST to make an executable for use in testing
the above definition of `getopt'. */
int
main (argc, argv)
int argc;
char **argv;
{
int c;
int digit_optind = 0;
while (1)
{
int this_option_optind = optind ? optind : 1;
c = getopt (argc, argv, "abc:d:0123456789");
if (c == EOF)
break;
switch (c)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (digit_optind != 0 && digit_optind != this_option_optind)
printf ("digits occur in two different argv-elements.\n");
digit_optind = this_option_optind;
printf ("option %c\n", c);
break;
case 'a':
printf ("option a\n");
break;
case 'b':
printf ("option b\n");
break;
case 'c':
printf ("option c with value `%s'\n", optarg);
break;
case '?':
break;
default:
printf ("?? getopt returned character code 0%o ??\n", c);
}
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf ("\n");
}
exit (0);
}
#endif /* TEST */

View File

@@ -1,129 +0,0 @@
/* Declarations for getopt.
Copyright (C) 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
This program 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef _GETOPT_H
#define _GETOPT_H 1
#ifdef __cplusplus
extern "C" {
#endif
/* For communication from `getopt' to the caller.
When `getopt' finds an option that takes an argument,
the argument value is returned here.
Also, when `ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */
extern char *optarg;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
and for communication between successive calls to `getopt'.
On entry to `getopt', zero means this is the first call; initialize.
When `getopt' returns EOF, this is the index of the first of the
non-option elements that the caller should itself scan.
Otherwise, `optind' communicates from one call to the next
how much of ARGV has been scanned so far. */
extern int optind;
/* Callers store zero here to inhibit the error message `getopt' prints
for unrecognized options. */
extern int opterr;
/* Set to an option character which was unrecognized. */
extern int optopt;
/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
of `struct option' terminated by an element containing a name which is
zero.
The field `has_arg' is:
no_argument (or 0) if the option does not take an argument,
required_argument (or 1) if the option requires an argument,
optional_argument (or 2) if the option takes an optional argument.
If the field `flag' is not NULL, it points to a variable that is set
to the value given in the field `val' when the option is found, but
left unchanged if the option is not found.
To have a long-named option do something other than set an `int' to
a compiled-in constant, such as set a value from `optarg', set the
option's `flag' field to zero and its `val' field to a nonzero
value (the equivalent single-letter option character, if there is
one). For long options that have a zero `flag' field, `getopt'
returns the contents of the `val' field. */
struct option
{
#if defined (__STDC__) && __STDC__
const char *name;
#else
char *name;
#endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
int *flag;
int val;
};
/* Names for the values of the `has_arg' field of `struct option'. */
#define no_argument 0
#define required_argument 1
#define optional_argument 2
#if defined (__STDC__) && __STDC__
#ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
extern int getopt ();
#endif /* __GNU_LIBRARY__ */
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind);
/* Internal only. Users should not call this directly. */
extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
#else /* not __STDC__ */
extern int getopt ();
extern int getopt_long ();
extern int getopt_long_only ();
extern int _getopt_internal ();
#endif /* __STDC__ */
#ifdef __cplusplus
}
#endif
#endif /* _GETOPT_H */

View File

@@ -1,180 +0,0 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987, 88, 89, 90, 91, 92, 1993, 1994
Free Software Foundation, Inc.
This program 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "getopt.h"
#if !defined (__STDC__) || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
#ifndef const
#define const
#endif
#endif
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
/* This needs to come after some library #include
to get __GNU_LIBRARY__ defined. */
#ifdef __GNU_LIBRARY__
#include <stdlib.h>
#else
char *getenv ();
#endif
#ifndef NULL
#define NULL 0
#endif
int
getopt_long (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
}
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
If an option that starts with '-' (not '--') doesn't match a long option,
but does match a short option, it is parsed as a short option
instead. */
int
getopt_long_only (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
#endif /* _LIBC or not __GNU_LIBRARY__. */
#ifdef TEST
#include <stdio.h>
int
main (argc, argv)
int argc;
char **argv;
{
int c;
int digit_optind = 0;
while (1)
{
int this_option_optind = optind ? optind : 1;
int option_index = 0;
static struct option long_options[] =
{
{"add", 1, 0, 0},
{"append", 0, 0, 0},
{"delete", 1, 0, 0},
{"verbose", 0, 0, 0},
{"create", 0, 0, 0},
{"file", 1, 0, 0},
{0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:0123456789",
long_options, &option_index);
if (c == EOF)
break;
switch (c)
{
case 0:
printf ("option %s", long_options[option_index].name);
if (optarg)
printf (" with arg %s", optarg);
printf ("\n");
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (digit_optind != 0 && digit_optind != this_option_optind)
printf ("digits occur in two different argv-elements.\n");
digit_optind = this_option_optind;
printf ("option %c\n", c);
break;
case 'a':
printf ("option a\n");
break;
case 'b':
printf ("option b\n");
break;
case 'c':
printf ("option c with value `%s'\n", optarg);
break;
case 'd':
printf ("option d with value `%s'\n", optarg);
break;
case '?':
break;
default:
printf ("?? getopt returned character code 0%o ??\n", c);
}
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf ("\n");
}
exit (0);
}
#endif /* TEST */

View File

@@ -1,705 +0,0 @@
/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
/* AIX requires this to be the first thing in the file. */
#if defined (_AIX) && !defined (__GNUC__)
#pragma alloca
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef NETSCAPE
#include "windir.h"
#endif
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
#ifdef STDC_HEADERS
#include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#ifndef POSIX
#ifdef _POSIX_VERSION
#define POSIX
#endif
#endif
#endif
#if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS)
extern int errno;
#endif
#ifndef NULL
#define NULL 0
#endif
#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
#ifndef __GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
#endif /* Not GNU C library. */
#else /* Not POSIX or HAVE_DIRENT_H. */
#define direct dirent
#define D_NAMLEN(d) ((d)->d_namlen)
#ifdef HAVE_SYS_NDIR_H
#include <sys/ndir.h>
#endif /* HAVE_SYS_NDIR_H */
#ifdef HAVE_SYS_DIR_H
#include <sys/dir.h>
#endif /* HAVE_SYS_DIR_H */
#ifdef HAVE_NDIR_H
#include <ndir.h>
#endif /* HAVE_NDIR_H */
#endif /* POSIX or HAVE_DIRENT_H or __GNU_LIBRARY__. */
#if defined(NETSCAPE) || defined (POSIX) && !defined (__GNU_LIBRARY__)
/* Posix does not require that the d_ino field be present, and some
systems do not provide it. */
#define REAL_DIR_ENTRY(dp) 1
#else
#define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
#endif /* POSIX */
#if (defined (STDC_HEADERS) || defined (__GNU_LIBRARY__))
#include <stdlib.h>
#include <string.h>
#define ANSI_STRING
#else /* No standard headers. */
#ifdef HAVE_STRING_H
#include <string.h>
#define ANSI_STRING
#else
#include <strings.h>
#endif
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
extern char *malloc (), *realloc ();
extern void free ();
extern void qsort ();
extern void abort (), exit ();
#endif /* Standard headers. */
#ifndef ANSI_STRING
#ifndef bzero
extern void bzero ();
#endif
#ifndef bcopy
extern void bcopy ();
#endif
#define memcpy(d, s, n) bcopy ((s), (d), (n))
#define strrchr rindex
/* memset is only used for zero here, but let's be paranoid. */
#define memset(s, better_be_zero, n) \
((void) ((better_be_zero) == 0 ? (bzero((s), (n)), 0) : (abort(), 0)))
#endif /* Not ANSI_STRING. */
#ifndef HAVE_STRCOLL
#define strcoll strcmp
#endif
#if !defined(__GNU_LIBRARY__) && !defined(NETSCAPE)
#ifdef __GNUC__
__inline
#endif
static char *
my_realloc (p, n)
char *p;
unsigned int n;
{
/* These casts are the for sake of the broken Ultrix compiler,
which warns of illegal pointer combinations otherwise. */
if (p == NULL)
return (char *) malloc (n);
return (char *) realloc (p, n);
}
#define realloc my_realloc
#endif
#if !defined(__alloca) && !defined(__GNU_LIBRARY__)
#ifdef __GNUC__
#undef alloca
#define alloca(n) __builtin_alloca (n)
#else /* Not GCC. */
#if defined (sparc) || defined (HAVE_ALLOCA_H)
#include <alloca.h>
#elif defined(NETSCAPE)
#include <malloc.h>
#else /* Not sparc or HAVE_ALLOCA_H. */
#ifndef _AIX
extern char *alloca ();
#endif /* Not _AIX. */
#endif /* sparc or HAVE_ALLOCA_H. */
#endif /* GCC. */
#define __alloca alloca
#endif
#ifndef __GNU_LIBRARY__
#define __lstat lstat
#ifndef HAVE_LSTAT
#define lstat stat
#endif
#ifdef STAT_MACROS_BROKEN
#undef S_ISDIR
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#endif
#ifndef STDC_HEADERS
#undef size_t
#define size_t unsigned int
#endif
/* Some system header files erroneously define these.
We want our own definitions from <fnmatch.h> to take precedence. */
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
#include <fnmatch.h>
/* Some system header files erroneously define these.
We want our own definitions from <glob.h> to take precedence. */
#undef GLOB_ERR
#undef GLOB_MARK
#undef GLOB_NOSORT
#undef GLOB_DOOFFS
#undef GLOB_NOCHECK
#undef GLOB_APPEND
#undef GLOB_NOESCAPE
#undef GLOB_PERIOD
#include <glob.h>
__ptr_t (*__glob_opendir_hook) __P ((const char *directory));
const char *(*__glob_readdir_hook) __P ((__ptr_t stream));
void (*__glob_closedir_hook) __P ((__ptr_t stream));
static int glob_pattern_p __P ((const char *pattern, int quote));
static int glob_in_dir __P ((const char *pattern, const char *directory,
int flags,
int (*errfunc) __P ((const char *, int)),
glob_t *pglob));
static int prefix_array __P ((const char *prefix, char **array, size_t n));
int collated_compare __P ((const void *elem1, const void *elem2));
/* Do glob searching for PATTERN, placing results in PGLOB.
The bits defined above may be set in FLAGS.
If a directory cannot be opened or read and ERRFUNC is not nil,
it is called with the pathname that caused the error, and the
`errno' value from the failing call; if it returns non-zero
`glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
Otherwise, `glob' returns zero. */
int
glob (pattern, flags, errfunc, pglob)
const char *pattern;
int flags;
int (*errfunc) __P ((const char *, int));
glob_t *pglob;
{
const char *filename;
char *dirname;
size_t dirlen;
int status;
int oldcount;
if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
{
errno = EINVAL;
return -1;
}
/* Find the filename. */
filename = strrchr (pattern, '/');
if (filename == NULL)
{
filename = pattern;
dirname = (char *) ".";
dirlen = 0;
}
else if (filename == pattern)
{
/* "/pattern". */
dirname = (char *) "/";
dirlen = 1;
++filename;
}
else
{
dirlen = filename - pattern;
dirname = (char *) __alloca (dirlen + 1);
memcpy (dirname, pattern, dirlen);
dirname[dirlen] = '\0';
++filename;
}
if (filename[0] == '\0' && dirlen > 1)
/* "pattern/". Expand "pattern", appending slashes. */
{
int val = glob (dirname, flags | GLOB_MARK, errfunc, pglob);
if (val == 0)
pglob->gl_flags = (pglob->gl_flags & ~GLOB_MARK) | (flags & GLOB_MARK);
return val;
}
if (!(flags & GLOB_APPEND))
{
pglob->gl_pathc = 0;
pglob->gl_pathv = NULL;
}
oldcount = pglob->gl_pathc;
if (glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE)))
{
/* The directory name contains metacharacters, so we
have to glob for the directory, and then glob for
the pattern in each directory found. */
glob_t dirs;
register int i;
status = glob (dirname,
((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE)) |
GLOB_NOSORT),
errfunc, &dirs);
if (status != 0)
return status;
/* We have successfully globbed the preceding directory name.
For each name we found, call glob_in_dir on it and FILENAME,
appending the results to PGLOB. */
for (i = 0; i < dirs.gl_pathc; ++i)
{
int oldcount;
#ifdef SHELL
{
/* Make globbing interruptible in the bash shell. */
extern int interrupt_state;
if (interrupt_state)
{
globfree (&dirs);
globfree (&files);
return GLOB_ABEND;
}
}
#endif /* SHELL. */
oldcount = pglob->gl_pathc;
status = glob_in_dir (filename, dirs.gl_pathv[i],
(flags | GLOB_APPEND) & ~GLOB_NOCHECK,
errfunc, pglob);
if (status == GLOB_NOMATCH)
/* No matches in this directory. Try the next. */
continue;
if (status != 0)
{
globfree (&dirs);
globfree (pglob);
return status;
}
/* Stick the directory on the front of each name. */
if (prefix_array (dirs.gl_pathv[i],
&pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount))
{
globfree (&dirs);
globfree (pglob);
return GLOB_NOSPACE;
}
}
flags |= GLOB_MAGCHAR;
if (pglob->gl_pathc == oldcount)
/* No matches. */
if (flags & GLOB_NOCHECK)
{
size_t len = strlen (pattern) + 1;
char *patcopy = (char *) malloc (len);
if (patcopy == NULL)
return GLOB_NOSPACE;
memcpy (patcopy, pattern, len);
pglob->gl_pathv
= (char **) realloc (pglob->gl_pathv,
(pglob->gl_pathc +
((flags & GLOB_DOOFFS) ?
pglob->gl_offs : 0) +
1 + 1) *
sizeof (char *));
if (pglob->gl_pathv == NULL)
{
free (patcopy);
return GLOB_NOSPACE;
}
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
pglob->gl_pathv[pglob->gl_pathc++] = NULL;
pglob->gl_pathv[pglob->gl_pathc++] = patcopy;
pglob->gl_pathv[pglob->gl_pathc] = NULL;
pglob->gl_flags = flags;
}
else
return GLOB_NOMATCH;
}
else
{
status = glob_in_dir (filename, dirname, flags, errfunc, pglob);
if (status != 0)
return status;
if (dirlen > 0)
{
/* Stick the directory on the front of each name. */
if (prefix_array (dirname,
&pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount))
{
globfree (pglob);
return GLOB_NOSPACE;
}
}
}
if (flags & GLOB_MARK)
{
/* Append slashes to directory names. glob_in_dir has already
allocated the extra character for us. */
int i;
struct stat st;
for (i = oldcount; i < pglob->gl_pathc; ++i)
if (__lstat (pglob->gl_pathv[i], &st) == 0 &&
S_ISDIR (st.st_mode))
strcat (pglob->gl_pathv[i], "/");
}
if (!(flags & GLOB_NOSORT))
/* Sort the vector. */
#if 0
qsort ((__ptr_t) &pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount,
sizeof (char *), collated_compare);
#else
qsort ( &pglob->gl_pathv[oldcount],
(size_t)(pglob->gl_pathc - oldcount),
sizeof (char *), collated_compare);
#endif
return 0;
}
/* Free storage allocated in PGLOB by a previous `glob' call. */
void
globfree (pglob)
register glob_t *pglob;
{
if (pglob->gl_pathv != NULL)
{
register int i;
for (i = 0; i < pglob->gl_pathc; ++i)
if (pglob->gl_pathv[i] != NULL)
free ((__ptr_t) pglob->gl_pathv[i]);
free ((__ptr_t) pglob->gl_pathv);
}
}
/* Do a collated comparison of A and B. */
int
collated_compare (const void *elem1, const void *elem2)
{
const __ptr_t a = (const __ptr_t)elem1;
const __ptr_t b = (const __ptr_t)elem1;
const char *const s1 = *(const char *const * const) a;
const char *const s2 = *(const char *const * const) b;
if (s1 == s2)
return 0;
if (s1 == NULL)
return 1;
if (s2 == NULL)
return -1;
return strcoll (s1, s2);
}
/* Prepend DIRNAME to each of N members of ARRAY, replacing ARRAY's
elements in place. Return nonzero if out of memory, zero if successful.
A slash is inserted between DIRNAME and each elt of ARRAY,
unless DIRNAME is just "/". Each old element of ARRAY is freed. */
static int
prefix_array (dirname, array, n)
const char *dirname;
char **array;
size_t n;
{
register size_t i;
size_t dirlen = strlen (dirname);
if (dirlen == 1 && dirname[0] == '/')
/* DIRNAME is just "/", so normal prepending would get us "//foo".
We want "/foo" instead, so don't prepend any chars from DIRNAME. */
dirlen = 0;
for (i = 0; i < n; ++i)
{
size_t eltlen = strlen (array[i]) + 1;
char *new = (char *) malloc (dirlen + 1 + eltlen);
if (new == NULL)
{
while (i > 0)
free ((__ptr_t) array[--i]);
return 1;
}
memcpy (new, dirname, dirlen);
new[dirlen] = '/';
memcpy (&new[dirlen + 1], array[i], eltlen);
free ((__ptr_t) array[i]);
array[i] = new;
}
return 0;
}
/* Return nonzero if PATTERN contains any metacharacters.
Metacharacters can be quoted with backslashes if QUOTE is nonzero. */
static int
glob_pattern_p (pattern, quote)
const char *pattern;
int quote;
{
register const char *p;
int open = 0;
for (p = pattern; *p != '\0'; ++p)
switch (*p)
{
case '?':
case '*':
return 1;
case '\\':
if (quote)
++p;
break;
case '[':
open = 1;
break;
case ']':
if (open)
return 1;
break;
}
return 0;
}
/* Like `glob', but PATTERN is a final pathname component,
and matches are searched for in DIRECTORY.
The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done.
The GLOB_APPEND flag is assumed to be set (always appends). */
static int
glob_in_dir (pattern, directory, flags, errfunc, pglob)
const char *pattern;
const char *directory;
int flags;
int (*errfunc) __P ((const char *, int));
glob_t *pglob;
{
__ptr_t stream;
struct globlink
{
struct globlink *next;
char *name;
};
struct globlink *names = NULL;
size_t nfound = 0;
if (!glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE)))
{
stream = NULL;
flags |= GLOB_NOCHECK;
}
else
{
flags |= GLOB_MAGCHAR;
stream = (__glob_opendir_hook ? (*__glob_opendir_hook) (directory)
: (__ptr_t) opendir (directory));
if (stream == NULL)
{
if ((errfunc != NULL && (*errfunc) (directory, errno)) ||
(flags & GLOB_ERR))
return GLOB_ABEND;
}
else
while (1)
{
const char *name;
size_t len;
if (__glob_readdir_hook)
{
name = (*__glob_readdir_hook) (stream);
if (name == NULL)
break;
len = 0;
}
else
{
struct dirent *d = readdir ((DIR *) stream);
if (d == NULL)
break;
if (! REAL_DIR_ENTRY (d))
continue;
name = d->d_name;
#ifdef HAVE_D_NAMLEN
len = d->d_namlen;
#else
len = 0;
#endif
}
if (fnmatch (pattern, name,
(!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) |
((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)) == 0)
{
struct globlink *new
= (struct globlink *) __alloca (sizeof (struct globlink));
if (len == 0)
len = strlen (name);
new->name
= (char *) malloc (len + ((flags & GLOB_MARK) ? 1 : 0) + 1);
if (new->name == NULL)
goto memory_error;
memcpy ((__ptr_t) new->name, name, len);
new->name[len] = '\0';
new->next = names;
names = new;
++nfound;
}
}
}
if (nfound == 0 && (flags & GLOB_NOCHECK))
{
size_t len = strlen (pattern);
nfound = 1;
names = (struct globlink *) __alloca (sizeof (struct globlink));
names->next = NULL;
names->name = (char *) malloc (len + 1);
if (names->name == NULL)
goto memory_error;
memcpy (names->name, pattern, len);
names->name[len] = '\0';
}
pglob->gl_pathv
= (char **) realloc (pglob->gl_pathv,
(pglob->gl_pathc +
((flags & GLOB_DOOFFS) ? pglob->gl_offs : 0) +
nfound + 1) *
sizeof (char *));
if (pglob->gl_pathv == NULL)
goto memory_error;
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
pglob->gl_pathv[pglob->gl_pathc++] = NULL;
for (; names != NULL; names = names->next)
pglob->gl_pathv[pglob->gl_pathc++] = names->name;
pglob->gl_pathv[pglob->gl_pathc] = NULL;
pglob->gl_flags = flags;
if (stream != NULL)
{
int save = errno;
if (__glob_closedir_hook)
(*__glob_closedir_hook) (stream);
else
(void) closedir ((DIR *) stream);
errno = save;
}
return nfound == 0 ? GLOB_NOMATCH : 0;
memory_error:
{
int save = errno;
if (__glob_closedir_hook)
(*__glob_closedir_hook) (stream);
else
(void) closedir ((DIR *) stream);
errno = save;
}
while (names != NULL)
{
if (names->name != NULL)
free ((__ptr_t) names->name);
names = names->next;
}
return GLOB_NOSPACE;
}
#endif /* _LIBC or not __GNU_LIBRARY__. */

View File

@@ -1,481 +0,0 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,28 +0,0 @@
#
# GNU Makefile for building gmake.exe on WIN32
# This makefile compiles the files in the glob subdirectory.
#
CSRCS = fnmatch.c glob.c
OBJS = $(CSRCS:.c=.obj)
CC = cl
CFLAGS = $(CC_SWITCHES) $(INCLUDES) $(DEFINES) $(CC_OUTPUTS)
CC_SWITCHES = -nologo -ML -W3 -O2
INCLUDES = -I. -I..
DEFINES = -DWIN32 -DNDEBUG -D_CONSOLE -DNETSCAPE -DHAVE_CONFIG_H
CC_OUTPUTS = -Fpglob.pch -YX -c
all: $(OBJS)
%.obj: %.c
$(CC) $(CFLAGS) $<
clean:
rm -rf $(OBJS) glob.pch

View File

@@ -1,66 +0,0 @@
# Makefile for standalone distribution of libglob.a (fnmatch, glob).
# Copyright (C) 1991, 92, 93, 94, 95 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
# This library 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
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB. If
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
# Cambridge, MA 02139, USA.
# Ultrix 2.2 make doesn't expand the value of VPATH.
VPATH = @srcdir@
# This must repeat the value, because configure will remove `VPATH = .'.
srcdir = @srcdir@
CC = @CC@
CPPFLAGS = @CPPFLAGS@
CFLAGS = @CFLAGS@
# Information determined by configure.
DEFS = @DEFS@
# How to invoke ar.
AR = @AR@
ARFLAGS = rv
# How to invoke ranlib.
RANLIB = @RANLIB@
.PHONY: all
all: libglob.a
libglob.a: glob.o fnmatch.o
$(AR) $(ARFLAGS) $@ glob.o fnmatch.o
$(RANLIB) $@
# For some reason, Unix make wants the dependencies on the source files.
# Otherwise it refuses to use an implicit rule!
# And, get this: it doesn't work to use $(srcdir)/foo.c!!
glob.o: $(srcdir)/glob.h $(srcdir)/fnmatch.h glob.c
fnmatch.o: $(srcdir)/fnmatch.h fnmatch.c
.c.o:
$(CC) -I. -I$(srcdir) -c \
$(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
.PHONY: clean realclean glob-clean glob-realclean distclean
clean glob-clean:
-rm -f libglob.a *.o core
distclean glob-realclean: clean
-rm -f TAGS tags Makefile config.status config.h config.log
realcean: distclean
# For inside the C library.
glob.tar glob.tar.Z:
$(MAKE) -C .. $@

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
@echo off
echo Configuring glob for GO32
rem This batch file assumes a unix-type "sed" program
echo # Makefile generated by "configure.bat"> Makefile
if exist config.sed del config.sed
echo "s/@srcdir@/./ ">> config.sed
echo "s/@CC@/gcc/ ">> config.sed
echo "s/@CFLAGS@/-O2 -g/ ">> config.sed
echo "s/@CPPFLAGS@/-DHAVE_CONFIG_H -I../ ">> config.sed
echo "s/@AR@/ar/ ">> config.sed
echo "s/@RANLIB@/ranlib/ ">> config.sed
echo "s/@LDFLAGS@// ">> config.sed
echo "s/@DEFS@// ">> config.sed
echo "s/@ALLOCA@// ">> config.sed
echo "s/@LIBS@// ">> config.sed
echo "s/@LIBOBJS@// ">> config.sed
echo "s/^Makefile *:/_Makefile:/ ">> config.sed
echo "s/^config.h *:/_config.h:/ ">> config.sed
sed -e "s/^\"//" -e "s/\"$//" -e "s/[ ]*$//" config.sed > config2.sed
sed -f config2.sed Makefile.in >> Makefile
del config.sed
del config2.sed

View File

@@ -1,19 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(fnmatch.c) dnl A distinctive file to look for in srcdir.
AC_PREREQ(2.1) dnl Minimum Autoconf version required.
AC_PROG_CC
AC_CHECK_PROG(AR, ar, ar, ar)
AC_PROG_RANLIB
AC_PROG_CPP dnl Later checks need this.
dnl These two want to come early.
AC_AIX
AC_MINIX
AC_ISC_POSIX
AC_CONST
AC_HEADER_STDC
AC_CHECK_HEADERS(memory.h unistd.h string.h)
AC_HEADER_DIRENT
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_ALLOCA
AC_FUNC_STRCOLL
AC_OUTPUT(Makefile)

View File

@@ -1,200 +0,0 @@
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <errno.h>
#include <fnmatch.h>
#include <ctype.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
#ifndef errno
extern int errno;
#endif
/* Match STRING against the filename pattern PATTERN, returning zero if
it matches, nonzero if not. */
int
fnmatch (pattern, string, flags)
const char *pattern;
const char *string;
int flags;
{
register const char *p = pattern, *n = string;
register char c;
/* Note that this evalutes C many times. */
#define FOLD(c) ((flags & FNM_CASEFOLD) && isupper (c) ? tolower (c) : (c))
while ((c = *p++) != '\0')
{
c = FOLD (c);
switch (c)
{
case '?':
if (*n == '\0')
return FNM_NOMATCH;
else if ((flags & FNM_FILE_NAME) && *n == '/')
return FNM_NOMATCH;
else if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
break;
case '\\':
if (!(flags & FNM_NOESCAPE))
{
c = *p++;
c = FOLD (c);
}
if (FOLD (*n) != c)
return FNM_NOMATCH;
break;
case '*':
if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
for (c = *p++; c == '?' || c == '*'; c = *p++, ++n)
if (((flags & FNM_FILE_NAME) && *n == '/') ||
(c == '?' && *n == '\0'))
return FNM_NOMATCH;
if (c == '\0')
return 0;
{
char c1 = (!(flags & FNM_NOESCAPE) && c == '\\') ? *p : c;
c1 = FOLD (c1);
for (--p; *n != '\0'; ++n)
if ((c == '[' || FOLD (*n) == c1) &&
fnmatch (p, n, flags & ~FNM_PERIOD) == 0)
return 0;
return FNM_NOMATCH;
}
case '[':
{
/* Nonzero if the sense of the character class is inverted. */
register int not;
if (*n == '\0')
return FNM_NOMATCH;
if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
not = (*p == '!' || *p == '^');
if (not)
++p;
c = *p++;
for (;;)
{
register char cstart = c, cend = c;
if (!(flags & FNM_NOESCAPE) && c == '\\')
cstart = cend = *p++;
cstart = cend = FOLD (cstart);
if (c == '\0')
/* [ (unterminated) loses. */
return FNM_NOMATCH;
c = *p++;
c = FOLD (c);
if ((flags & FNM_FILE_NAME) && c == '/')
/* [/] can never match. */
return FNM_NOMATCH;
if (c == '-' && *p != ']')
{
cend = *p++;
if (!(flags & FNM_NOESCAPE) && cend == '\\')
cend = *p++;
if (cend == '\0')
return FNM_NOMATCH;
cend = FOLD (cend);
c = *p++;
}
if (FOLD (*n) >= cstart && FOLD (*n) <= cend)
goto matched;
if (c == ']')
break;
}
if (!not)
return FNM_NOMATCH;
break;
matched:;
/* Skip the rest of the [...] that already matched. */
while (c != ']')
{
if (c == '\0')
/* [... (unterminated) loses. */
return FNM_NOMATCH;
c = *p++;
if (!(flags & FNM_NOESCAPE) && c == '\\')
/* XXX 1003.2d11 is unclear if this is right. */
++p;
}
if (not)
return FNM_NOMATCH;
}
break;
default:
if (c != FOLD (*n))
return FNM_NOMATCH;
}
++n;
}
if (*n == '\0')
return 0;
if ((flags & FNM_LEADING_DIR) && *n == '/')
/* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */
return 0;
return FNM_NOMATCH;
}
#endif /* _LIBC or not __GNU_LIBRARY__. */

View File

@@ -1,67 +0,0 @@
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef _FNMATCH_H
#define _FNMATCH_H 1
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
#undef __P
#define __P(protos) protos
#else /* Not C++ or ANSI C. */
#undef __P
#define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
#endif /* C++ or ANSI C. */
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
#define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
#define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
#endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
#define FNM_NOMATCH 1
/* Match STRING against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((const char *__pattern, const char *__string,
int __flags));
#ifdef __cplusplus
}
#endif
#endif /* fnmatch.h */

View File

@@ -1,705 +0,0 @@
/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
/* AIX requires this to be the first thing in the file. */
#if defined (_AIX) && !defined (__GNUC__)
#pragma alloca
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef NETSCAPE
#include "windir.h"
#endif
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
#ifdef STDC_HEADERS
#include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#ifndef POSIX
#ifdef _POSIX_VERSION
#define POSIX
#endif
#endif
#endif
#if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS)
extern int errno;
#endif
#ifndef NULL
#define NULL 0
#endif
#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
#ifndef __GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
#endif /* Not GNU C library. */
#else /* Not POSIX or HAVE_DIRENT_H. */
#define direct dirent
#define D_NAMLEN(d) ((d)->d_namlen)
#ifdef HAVE_SYS_NDIR_H
#include <sys/ndir.h>
#endif /* HAVE_SYS_NDIR_H */
#ifdef HAVE_SYS_DIR_H
#include <sys/dir.h>
#endif /* HAVE_SYS_DIR_H */
#ifdef HAVE_NDIR_H
#include <ndir.h>
#endif /* HAVE_NDIR_H */
#endif /* POSIX or HAVE_DIRENT_H or __GNU_LIBRARY__. */
#if defined(NETSCAPE) || defined (POSIX) && !defined (__GNU_LIBRARY__)
/* Posix does not require that the d_ino field be present, and some
systems do not provide it. */
#define REAL_DIR_ENTRY(dp) 1
#else
#define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
#endif /* POSIX */
#if (defined (STDC_HEADERS) || defined (__GNU_LIBRARY__))
#include <stdlib.h>
#include <string.h>
#define ANSI_STRING
#else /* No standard headers. */
#ifdef HAVE_STRING_H
#include <string.h>
#define ANSI_STRING
#else
#include <strings.h>
#endif
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
extern char *malloc (), *realloc ();
extern void free ();
extern void qsort ();
extern void abort (), exit ();
#endif /* Standard headers. */
#ifndef ANSI_STRING
#ifndef bzero
extern void bzero ();
#endif
#ifndef bcopy
extern void bcopy ();
#endif
#define memcpy(d, s, n) bcopy ((s), (d), (n))
#define strrchr rindex
/* memset is only used for zero here, but let's be paranoid. */
#define memset(s, better_be_zero, n) \
((void) ((better_be_zero) == 0 ? (bzero((s), (n)), 0) : (abort(), 0)))
#endif /* Not ANSI_STRING. */
#ifndef HAVE_STRCOLL
#define strcoll strcmp
#endif
#if !defined(__GNU_LIBRARY__) && !defined(NETSCAPE)
#ifdef __GNUC__
__inline
#endif
static char *
my_realloc (p, n)
char *p;
unsigned int n;
{
/* These casts are the for sake of the broken Ultrix compiler,
which warns of illegal pointer combinations otherwise. */
if (p == NULL)
return (char *) malloc (n);
return (char *) realloc (p, n);
}
#define realloc my_realloc
#endif
#if !defined(__alloca) && !defined(__GNU_LIBRARY__)
#ifdef __GNUC__
#undef alloca
#define alloca(n) __builtin_alloca (n)
#else /* Not GCC. */
#if defined (sparc) || defined (HAVE_ALLOCA_H)
#include <alloca.h>
#elif defined(NETSCAPE)
#include <malloc.h>
#else /* Not sparc or HAVE_ALLOCA_H. */
#ifndef _AIX
extern char *alloca ();
#endif /* Not _AIX. */
#endif /* sparc or HAVE_ALLOCA_H. */
#endif /* GCC. */
#define __alloca alloca
#endif
#ifndef __GNU_LIBRARY__
#define __lstat lstat
#ifndef HAVE_LSTAT
#define lstat stat
#endif
#ifdef STAT_MACROS_BROKEN
#undef S_ISDIR
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#endif
#ifndef STDC_HEADERS
#undef size_t
#define size_t unsigned int
#endif
/* Some system header files erroneously define these.
We want our own definitions from <fnmatch.h> to take precedence. */
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
#include <fnmatch.h>
/* Some system header files erroneously define these.
We want our own definitions from <glob.h> to take precedence. */
#undef GLOB_ERR
#undef GLOB_MARK
#undef GLOB_NOSORT
#undef GLOB_DOOFFS
#undef GLOB_NOCHECK
#undef GLOB_APPEND
#undef GLOB_NOESCAPE
#undef GLOB_PERIOD
#include <glob.h>
__ptr_t (*__glob_opendir_hook) __P ((const char *directory));
const char *(*__glob_readdir_hook) __P ((__ptr_t stream));
void (*__glob_closedir_hook) __P ((__ptr_t stream));
static int glob_pattern_p __P ((const char *pattern, int quote));
static int glob_in_dir __P ((const char *pattern, const char *directory,
int flags,
int (*errfunc) __P ((const char *, int)),
glob_t *pglob));
static int prefix_array __P ((const char *prefix, char **array, size_t n));
int collated_compare __P ((const void *elem1, const void *elem2));
/* Do glob searching for PATTERN, placing results in PGLOB.
The bits defined above may be set in FLAGS.
If a directory cannot be opened or read and ERRFUNC is not nil,
it is called with the pathname that caused the error, and the
`errno' value from the failing call; if it returns non-zero
`glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
Otherwise, `glob' returns zero. */
int
glob (pattern, flags, errfunc, pglob)
const char *pattern;
int flags;
int (*errfunc) __P ((const char *, int));
glob_t *pglob;
{
const char *filename;
char *dirname;
size_t dirlen;
int status;
int oldcount;
if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
{
errno = EINVAL;
return -1;
}
/* Find the filename. */
filename = strrchr (pattern, '/');
if (filename == NULL)
{
filename = pattern;
dirname = (char *) ".";
dirlen = 0;
}
else if (filename == pattern)
{
/* "/pattern". */
dirname = (char *) "/";
dirlen = 1;
++filename;
}
else
{
dirlen = filename - pattern;
dirname = (char *) __alloca (dirlen + 1);
memcpy (dirname, pattern, dirlen);
dirname[dirlen] = '\0';
++filename;
}
if (filename[0] == '\0' && dirlen > 1)
/* "pattern/". Expand "pattern", appending slashes. */
{
int val = glob (dirname, flags | GLOB_MARK, errfunc, pglob);
if (val == 0)
pglob->gl_flags = (pglob->gl_flags & ~GLOB_MARK) | (flags & GLOB_MARK);
return val;
}
if (!(flags & GLOB_APPEND))
{
pglob->gl_pathc = 0;
pglob->gl_pathv = NULL;
}
oldcount = pglob->gl_pathc;
if (glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE)))
{
/* The directory name contains metacharacters, so we
have to glob for the directory, and then glob for
the pattern in each directory found. */
glob_t dirs;
register int i;
status = glob (dirname,
((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE)) |
GLOB_NOSORT),
errfunc, &dirs);
if (status != 0)
return status;
/* We have successfully globbed the preceding directory name.
For each name we found, call glob_in_dir on it and FILENAME,
appending the results to PGLOB. */
for (i = 0; i < dirs.gl_pathc; ++i)
{
int oldcount;
#ifdef SHELL
{
/* Make globbing interruptible in the bash shell. */
extern int interrupt_state;
if (interrupt_state)
{
globfree (&dirs);
globfree (&files);
return GLOB_ABEND;
}
}
#endif /* SHELL. */
oldcount = pglob->gl_pathc;
status = glob_in_dir (filename, dirs.gl_pathv[i],
(flags | GLOB_APPEND) & ~GLOB_NOCHECK,
errfunc, pglob);
if (status == GLOB_NOMATCH)
/* No matches in this directory. Try the next. */
continue;
if (status != 0)
{
globfree (&dirs);
globfree (pglob);
return status;
}
/* Stick the directory on the front of each name. */
if (prefix_array (dirs.gl_pathv[i],
&pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount))
{
globfree (&dirs);
globfree (pglob);
return GLOB_NOSPACE;
}
}
flags |= GLOB_MAGCHAR;
if (pglob->gl_pathc == oldcount)
/* No matches. */
if (flags & GLOB_NOCHECK)
{
size_t len = strlen (pattern) + 1;
char *patcopy = (char *) malloc (len);
if (patcopy == NULL)
return GLOB_NOSPACE;
memcpy (patcopy, pattern, len);
pglob->gl_pathv
= (char **) realloc (pglob->gl_pathv,
(pglob->gl_pathc +
((flags & GLOB_DOOFFS) ?
pglob->gl_offs : 0) +
1 + 1) *
sizeof (char *));
if (pglob->gl_pathv == NULL)
{
free (patcopy);
return GLOB_NOSPACE;
}
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
pglob->gl_pathv[pglob->gl_pathc++] = NULL;
pglob->gl_pathv[pglob->gl_pathc++] = patcopy;
pglob->gl_pathv[pglob->gl_pathc] = NULL;
pglob->gl_flags = flags;
}
else
return GLOB_NOMATCH;
}
else
{
status = glob_in_dir (filename, dirname, flags, errfunc, pglob);
if (status != 0)
return status;
if (dirlen > 0)
{
/* Stick the directory on the front of each name. */
if (prefix_array (dirname,
&pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount))
{
globfree (pglob);
return GLOB_NOSPACE;
}
}
}
if (flags & GLOB_MARK)
{
/* Append slashes to directory names. glob_in_dir has already
allocated the extra character for us. */
int i;
struct stat st;
for (i = oldcount; i < pglob->gl_pathc; ++i)
if (__lstat (pglob->gl_pathv[i], &st) == 0 &&
S_ISDIR (st.st_mode))
strcat (pglob->gl_pathv[i], "/");
}
if (!(flags & GLOB_NOSORT))
/* Sort the vector. */
#if 0
qsort ((__ptr_t) &pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount,
sizeof (char *), collated_compare);
#else
qsort ( &pglob->gl_pathv[oldcount],
(size_t)(pglob->gl_pathc - oldcount),
sizeof (char *), collated_compare);
#endif
return 0;
}
/* Free storage allocated in PGLOB by a previous `glob' call. */
void
globfree (pglob)
register glob_t *pglob;
{
if (pglob->gl_pathv != NULL)
{
register int i;
for (i = 0; i < pglob->gl_pathc; ++i)
if (pglob->gl_pathv[i] != NULL)
free ((__ptr_t) pglob->gl_pathv[i]);
free ((__ptr_t) pglob->gl_pathv);
}
}
/* Do a collated comparison of A and B. */
int
collated_compare (const void *elem1, const void *elem2)
{
const __ptr_t a = (const __ptr_t)elem1;
const __ptr_t b = (const __ptr_t)elem1;
const char *const s1 = *(const char *const * const) a;
const char *const s2 = *(const char *const * const) b;
if (s1 == s2)
return 0;
if (s1 == NULL)
return 1;
if (s2 == NULL)
return -1;
return strcoll (s1, s2);
}
/* Prepend DIRNAME to each of N members of ARRAY, replacing ARRAY's
elements in place. Return nonzero if out of memory, zero if successful.
A slash is inserted between DIRNAME and each elt of ARRAY,
unless DIRNAME is just "/". Each old element of ARRAY is freed. */
static int
prefix_array (dirname, array, n)
const char *dirname;
char **array;
size_t n;
{
register size_t i;
size_t dirlen = strlen (dirname);
if (dirlen == 1 && dirname[0] == '/')
/* DIRNAME is just "/", so normal prepending would get us "//foo".
We want "/foo" instead, so don't prepend any chars from DIRNAME. */
dirlen = 0;
for (i = 0; i < n; ++i)
{
size_t eltlen = strlen (array[i]) + 1;
char *new = (char *) malloc (dirlen + 1 + eltlen);
if (new == NULL)
{
while (i > 0)
free ((__ptr_t) array[--i]);
return 1;
}
memcpy (new, dirname, dirlen);
new[dirlen] = '/';
memcpy (&new[dirlen + 1], array[i], eltlen);
free ((__ptr_t) array[i]);
array[i] = new;
}
return 0;
}
/* Return nonzero if PATTERN contains any metacharacters.
Metacharacters can be quoted with backslashes if QUOTE is nonzero. */
static int
glob_pattern_p (pattern, quote)
const char *pattern;
int quote;
{
register const char *p;
int open = 0;
for (p = pattern; *p != '\0'; ++p)
switch (*p)
{
case '?':
case '*':
return 1;
case '\\':
if (quote)
++p;
break;
case '[':
open = 1;
break;
case ']':
if (open)
return 1;
break;
}
return 0;
}
/* Like `glob', but PATTERN is a final pathname component,
and matches are searched for in DIRECTORY.
The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done.
The GLOB_APPEND flag is assumed to be set (always appends). */
static int
glob_in_dir (pattern, directory, flags, errfunc, pglob)
const char *pattern;
const char *directory;
int flags;
int (*errfunc) __P ((const char *, int));
glob_t *pglob;
{
__ptr_t stream;
struct globlink
{
struct globlink *next;
char *name;
};
struct globlink *names = NULL;
size_t nfound = 0;
if (!glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE)))
{
stream = NULL;
flags |= GLOB_NOCHECK;
}
else
{
flags |= GLOB_MAGCHAR;
stream = (__glob_opendir_hook ? (*__glob_opendir_hook) (directory)
: (__ptr_t) opendir (directory));
if (stream == NULL)
{
if ((errfunc != NULL && (*errfunc) (directory, errno)) ||
(flags & GLOB_ERR))
return GLOB_ABEND;
}
else
while (1)
{
const char *name;
size_t len;
if (__glob_readdir_hook)
{
name = (*__glob_readdir_hook) (stream);
if (name == NULL)
break;
len = 0;
}
else
{
struct dirent *d = readdir ((DIR *) stream);
if (d == NULL)
break;
if (! REAL_DIR_ENTRY (d))
continue;
name = d->d_name;
#ifdef HAVE_D_NAMLEN
len = d->d_namlen;
#else
len = 0;
#endif
}
if (fnmatch (pattern, name,
(!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) |
((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)) == 0)
{
struct globlink *new
= (struct globlink *) __alloca (sizeof (struct globlink));
if (len == 0)
len = strlen (name);
new->name
= (char *) malloc (len + ((flags & GLOB_MARK) ? 1 : 0) + 1);
if (new->name == NULL)
goto memory_error;
memcpy ((__ptr_t) new->name, name, len);
new->name[len] = '\0';
new->next = names;
names = new;
++nfound;
}
}
}
if (nfound == 0 && (flags & GLOB_NOCHECK))
{
size_t len = strlen (pattern);
nfound = 1;
names = (struct globlink *) __alloca (sizeof (struct globlink));
names->next = NULL;
names->name = (char *) malloc (len + 1);
if (names->name == NULL)
goto memory_error;
memcpy (names->name, pattern, len);
names->name[len] = '\0';
}
pglob->gl_pathv
= (char **) realloc (pglob->gl_pathv,
(pglob->gl_pathc +
((flags & GLOB_DOOFFS) ? pglob->gl_offs : 0) +
nfound + 1) *
sizeof (char *));
if (pglob->gl_pathv == NULL)
goto memory_error;
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
pglob->gl_pathv[pglob->gl_pathc++] = NULL;
for (; names != NULL; names = names->next)
pglob->gl_pathv[pglob->gl_pathc++] = names->name;
pglob->gl_pathv[pglob->gl_pathc] = NULL;
pglob->gl_flags = flags;
if (stream != NULL)
{
int save = errno;
if (__glob_closedir_hook)
(*__glob_closedir_hook) (stream);
else
(void) closedir ((DIR *) stream);
errno = save;
}
return nfound == 0 ? GLOB_NOMATCH : 0;
memory_error:
{
int save = errno;
if (__glob_closedir_hook)
(*__glob_closedir_hook) (stream);
else
(void) closedir ((DIR *) stream);
errno = save;
}
while (names != NULL)
{
if (names->name != NULL)
free ((__ptr_t) names->name);
names = names->next;
}
return GLOB_NOSPACE;
}
#endif /* _LIBC or not __GNU_LIBRARY__. */

View File

@@ -1,97 +0,0 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef _GLOB_H
#define _GLOB_H 1
#ifdef __cplusplus
extern "C"
{
#endif
#undef __ptr_t
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
#undef __P
#define __P(protos) protos
#define __ptr_t void *
#else /* Not C++ or ANSI C. */
#undef __P
#define __P(protos) ()
#undef const
#define const
#define __ptr_t char *
#endif /* C++ or ANSI C. */
/* Bits set in the FLAGS argument to `glob'. */
#define GLOB_ERR (1 << 0)/* Return on read errors. */
#define GLOB_MARK (1 << 1)/* Append a slash to each name. */
#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */
#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */
#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */
#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */
#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */
#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */
#define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|GLOB_PERIOD)
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_BSD_SOURCE)
#define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */
#endif
/* Error returns from `glob'. */
#define GLOB_NOSPACE 1 /* Ran out of memory. */
#define GLOB_ABEND 2 /* Read error. */
#define GLOB_NOMATCH 3 /* No matches found. */
/* Structure describing a globbing run. */
typedef struct
{
int gl_pathc; /* Count of paths matched by the pattern. */
char **gl_pathv; /* List of matched pathnames. */
int gl_offs; /* Slots to reserve in `gl_pathv'. */
int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */
} glob_t;
/* Do glob searching for PATTERN, placing results in PGLOB.
The bits defined above may be set in FLAGS.
If a directory cannot be opened or read and ERRFUNC is not nil,
it is called with the pathname that caused the error, and the
`errno' value from the failing call; if it returns non-zero
`glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
Otherwise, `glob' returns zero. */
extern int glob __P ((const char *__pattern, int __flags,
int (*__errfunc) __P ((const char *, int)),
glob_t *__pglob));
/* Free storage allocated in PGLOB by a previous `glob' call. */
extern void globfree __P ((glob_t *__pglob));
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
/* If they are not NULL, `glob' uses these functions to read directories. */
extern __ptr_t (*__glob_opendir_hook) __P ((const char *__directory));
extern const char *(*__glob_readdir_hook) __P ((__ptr_t __stream));
extern void (*__glob_closedir_hook) __P ((__ptr_t __stream));
#endif
#ifdef __cplusplus
}
#endif
#endif /* glob.h */

View File

@@ -1,590 +0,0 @@
/* Implicit rule searching for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "rule.h"
#include "dep.h"
#include "file.h"
static int pattern_search ();
/* For a FILE which has no commands specified, try to figure out some
from the implicit pattern rules.
Returns 1 if a suitable implicit rule was found,
after modifying FILE to contain the appropriate commands and deps,
or returns 0 if no implicit rule was found. */
int
try_implicit_rule (file, depth)
struct file *file;
unsigned int depth;
{
DEBUGPR ("Looking for an implicit rule for `%s'.\n");
/* The order of these searches was previously reversed. My logic now is
that since the non-archive search uses more information in the target
(the archive search omits the archive name), it is more specific and
should come first. */
if (pattern_search (file, 0, depth, 0))
return 1;
#ifndef NO_ARCHIVES
/* If this is an archive member reference, use just the
archive member name to search for implicit rules. */
if (ar_name (file->name))
{
DEBUGPR ("Looking for archive-member implicit rule for `%s'.\n");
if (pattern_search (file, 1, depth, 0))
return 1;
}
#endif
return 0;
}
#define DEBUGP2(msg, a1, a2) \
do { \
if (debug_flag) \
{ print_spaces (depth); printf (msg, a1, a2); fflush (stdout); } \
} while (0)
/* Search the pattern rules for a rule with an existing dependency to make
FILE. If a rule is found, the appropriate commands and deps are put in FILE
and 1 is returned. If not, 0 is returned.
If ARCHIVE is nonzero, FILE->name is of the form "LIB(MEMBER)". A rule for
"(MEMBER)" will be searched for, and "(MEMBER)" will not be chopped up into
directory and filename parts.
If an intermediate file is found by pattern search, the intermediate file
is set up as a target by the recursive call and is also made a dependency
of FILE.
DEPTH is used for debugging messages. */
static int
pattern_search (file, archive, depth, recursions)
struct file *file;
int archive;
unsigned int depth;
unsigned int recursions;
{
/* Filename we are searching for a rule for. */
char *filename = archive ? index (file->name, '(') : file->name;
/* Length of FILENAME. */
unsigned int namelen = strlen (filename);
/* The last slash in FILENAME (or nil if there is none). */
char *lastslash;
/* This is a file-object used as an argument in
recursive calls. It never contains any data
except during a recursive call. */
struct file *intermediate_file = 0;
/* List of dependencies found recursively. */
struct file **intermediate_files
= (struct file **) alloca (max_pattern_deps * sizeof (struct file *));
/* List of the patterns used to find intermediate files. */
char **intermediate_patterns
= (char **) alloca (max_pattern_deps * sizeof (char *));
/* This buffer records all the dependencies actually found for a rule. */
char **found_files = (char **) alloca (max_pattern_deps * sizeof (char *));
/* Number of dep names now in FOUND_FILES. */
unsigned int deps_found;
/* Names of possible dependencies are constructed in this buffer. */
register char *depname = (char *) alloca (namelen + max_pattern_dep_length);
/* The start and length of the stem of FILENAME for the current rule. */
register char *stem;
register unsigned int stemlen;
/* Buffer in which we store all the rules that are possibly applicable. */
struct rule **tryrules
= (struct rule **) alloca (num_pattern_rules * max_pattern_targets
* sizeof (struct rule *));
/* Number of valid elements in TRYRULES. */
unsigned int nrules;
/* The numbers of the rule targets of each rule
in TRYRULES that matched the target file. */
unsigned int *matches
= (unsigned int *) alloca (num_pattern_rules * sizeof (unsigned int));
/* Each element is nonzero if LASTSLASH was used in
matching the corresponding element of TRYRULES. */
char *checked_lastslash
= (char *) alloca (num_pattern_rules * sizeof (char));
/* The index in TRYRULES of the rule we found. */
unsigned int foundrule;
/* Nonzero if should consider intermediate files as dependencies. */
int intermed_ok;
/* Nonzero if we have matched a pattern-rule target
that is not just `%'. */
int specific_rule_matched = 0;
register unsigned int i;
register struct rule *rule;
register struct dep *dep;
char *p;
#ifndef NO_ARCHIVES
if (archive || ar_name (filename))
lastslash = 0;
else
#endif
{
/* Set LASTSLASH to point at the last slash in FILENAME
but not counting any slash at the end. (foo/bar/ counts as
bar/ in directory foo/, not empty in directory foo/bar/.) */
lastslash = rindex (filename, '/');
if (lastslash != 0 && lastslash[1] == '\0')
lastslash = 0;
}
/* First see which pattern rules match this target
and may be considered. Put them in TRYRULES. */
nrules = 0;
for (rule = pattern_rules; rule != 0; rule = rule->next)
{
/* If the pattern rule has deps but no commands, ignore it.
Users cancel built-in rules by redefining them without commands. */
if (rule->deps != 0 && rule->cmds == 0)
continue;
/* If this rule is in use by a parent pattern_search,
don't use it here. */
if (rule->in_use)
{
DEBUGP2 ("Avoiding implicit rule recursion.%s%s\n", "", "");
continue;
}
for (i = 0; rule->targets[i] != 0; ++i)
{
char *target = rule->targets[i];
char *suffix = rule->suffixes[i];
int check_lastslash;
/* Rules that can match any filename and are not terminal
are ignored if we're recursing, so that they cannot be
intermediate files. */
if (recursions > 0 && target[1] == '\0' && !rule->terminal)
continue;
if (rule->lens[i] > namelen)
/* It can't possibly match. */
continue;
/* From the lengths of the filename and the pattern parts,
find the stem: the part of the filename that matches the %. */
stem = filename + (suffix - target - 1);
stemlen = namelen - rule->lens[i] + 1;
/* Set CHECK_LASTSLASH if FILENAME contains a directory
prefix and the target pattern does not contain a slash. */
check_lastslash = lastslash != 0 && index (target, '/') == 0;
if (check_lastslash)
{
/* In that case, don't include the
directory prefix in STEM here. */
unsigned int difference = lastslash - filename + 1;
if (difference > stemlen)
continue;
stemlen -= difference;
stem += difference;
}
/* Check that the rule pattern matches the text before the stem. */
if (check_lastslash)
{
if (stem > (lastslash + 1)
&& strncmp (target, lastslash + 1, stem - lastslash - 1))
continue;
}
else if (stem > filename
&& strncmp (target, filename, stem - filename))
continue;
/* Check that the rule pattern matches the text after the stem.
We could test simply use streq, but this way we compare the
first two characters immediately. This saves time in the very
common case where the first character matches because it is a
period. */
if (*suffix != stem[stemlen]
|| (*suffix != '\0' && !streq (&suffix[1], &stem[(int)stemlen + 1])))
continue;
/* Record if we match a rule that not all filenames will match. */
if (target[1] != '\0')
specific_rule_matched = 1;
/* A rule with no dependencies and no commands exists solely to set
specific_rule_matched when it matches. Don't try to use it. */
if (rule->deps == 0 && rule->cmds == 0)
continue;
/* Record this rule in TRYRULES and the index of the matching
target in MATCHES. If several targets of the same rule match,
that rule will be in TRYRULES more than once. */
tryrules[nrules] = rule;
matches[nrules] = i;
checked_lastslash[nrules] = check_lastslash;
++nrules;
}
}
/* If we have found a matching rule that won't match all filenames,
retroactively reject any non-"terminal" rules that do always match. */
if (specific_rule_matched)
for (i = 0; i < nrules; ++i)
if (!tryrules[i]->terminal)
{
register unsigned int j;
for (j = 0; tryrules[i]->targets[j] != 0; ++j)
if (tryrules[i]->targets[j][1] == '\0')
break;
if (tryrules[i]->targets[j] != 0)
tryrules[i] = 0;
}
/* Try each rule once without intermediate files, then once with them. */
for (intermed_ok = 0; intermed_ok == !!intermed_ok; ++intermed_ok)
{
/* Try each pattern rule till we find one that applies.
If it does, copy the names of its dependencies (as substituted)
and store them in FOUND_FILES. DEPS_FOUND is the number of them. */
for (i = 0; i < nrules; i++)
{
int check_lastslash;
rule = tryrules[i];
/* RULE is nil when we discover that a rule,
already placed in TRYRULES, should not be applied. */
if (rule == 0)
continue;
/* Reject any terminal rules if we're
looking to make intermediate files. */
if (intermed_ok && rule->terminal)
continue;
/* Mark this rule as in use so a recursive
pattern_search won't try to use it. */
rule->in_use = 1;
/* From the lengths of the filename and the matching pattern parts,
find the stem: the part of the filename that matches the %. */
stem = filename
+ (rule->suffixes[matches[i]] - rule->targets[matches[i]]) - 1;
stemlen = namelen - rule->lens[matches[i]] + 1;
check_lastslash = checked_lastslash[i];
if (check_lastslash)
{
stem += lastslash - filename + 1;
stemlen -= (lastslash - filename) + 1;
}
DEBUGP2 ("Trying pattern rule with stem `%.*s'.\n",
(int) stemlen, stem);
/* Try each dependency; see if it "exists". */
deps_found = 0;
for (dep = rule->deps; dep != 0; dep = dep->next)
{
/* If the dependency name has a %, substitute the stem. */
p = index (dep_name (dep), '%');
if (p != 0)
{
register unsigned int i;
if (check_lastslash)
{
/* Copy directory name from the original FILENAME. */
i = lastslash - filename + 1;
bcopy (filename, depname, i);
}
else
i = 0;
bcopy (dep_name (dep), depname + i, p - dep_name (dep));
i += p - dep_name (dep);
bcopy (stem, depname + i, stemlen);
i += stemlen;
strcpy (depname + i, p + 1);
p = depname;
}
else
p = dep_name (dep);
/* P is now the actual dependency name as substituted. */
if (file_impossible_p (p))
{
/* If this dependency has already been ruled
"impossible", then the rule fails and don't
bother trying it on the second pass either
since we know that will fail too. */
DEBUGP2 ("Rejecting impossible %s dependency `%s'.\n",
p == depname ? "implicit" : "rule", p);
tryrules[i] = 0;
break;
}
intermediate_files[deps_found] = 0;
DEBUGP2 ("Trying %s dependency `%s'.\n",
p == depname ? "implicit" : "rule", p);
/* The DEP->changed flag says that this dependency resides in a
nonexistent directory. So we normally can skip looking for
the file. However, if CHECK_LASTSLASH is set, then the
dependency file we are actually looking for is in a different
directory (the one gotten by prepending FILENAME's directory),
so it might actually exist. */
if ((!dep->changed || check_lastslash)
&& (lookup_file (p) != 0 || file_exists_p (p)))
{
found_files[deps_found++] = savestring (p, strlen (p));
continue;
}
/* This code, given FILENAME = "lib/foo.o", dependency name
"lib/foo.c", and VPATH=src, searches for "src/lib/foo.c". */
if (vpath_search (&p, (time_t *) 0))
{
DEBUGP2 ("Found dependency as `%s'.%s\n", p, "");
found_files[deps_found++] = p;
continue;
}
/* We could not find the file in any place we should look.
Try to make this dependency as an intermediate file,
but only on the second pass. */
if (intermed_ok)
{
if (intermediate_file == 0)
intermediate_file
= (struct file *) alloca (sizeof (struct file));
DEBUGP2 ("Looking for a rule with %s file `%s'.\n",
"intermediate", p);
bzero ((char *) intermediate_file, sizeof (struct file));
intermediate_file->name = p;
if (pattern_search (intermediate_file, 0, depth + 1,
recursions + 1))
{
p = savestring (p, strlen (p));
intermediate_patterns[deps_found]
= intermediate_file->name;
intermediate_file->name = p;
intermediate_files[deps_found] = intermediate_file;
intermediate_file = 0;
/* Allocate an extra copy to go in FOUND_FILES,
because every elt of FOUND_FILES is consumed
or freed later. */
found_files[deps_found] = savestring (p, strlen (p));
++deps_found;
continue;
}
/* If we have tried to find P as an intermediate
file and failed, mark that name as impossible
so we won't go through the search again later. */
file_impossible (p);
}
/* A dependency of this rule does not exist.
Therefore, this rule fails. */
break;
}
/* This rule is no longer `in use' for recursive searches. */
rule->in_use = 0;
if (dep != 0)
{
/* This pattern rule does not apply.
If some of its dependencies succeeded,
free the data structure describing them. */
while (deps_found-- > 0)
{
register struct file *f = intermediate_files[deps_found];
free (found_files[deps_found]);
if (f != 0
&& (f->stem < f->name
|| f->stem > f->name + strlen (f->name)))
free (f->stem);
}
}
else
/* This pattern rule does apply. Stop looking for one. */
break;
}
/* If we found an applicable rule without
intermediate files, don't try with them. */
if (i < nrules)
break;
rule = 0;
}
/* RULE is nil if the loop went all the way
through the list and everything failed. */
if (rule == 0)
return 0;
foundrule = i;
/* If we are recursing, store the pattern that matched
FILENAME in FILE->name for use in upper levels. */
if (recursions > 0)
/* Kludge-o-matic */
file->name = rule->targets[matches[foundrule]];
/* FOUND_FILES lists the dependencies for the rule we found.
This includes the intermediate files, if any.
Convert them into entries on the deps-chain of FILE. */
while (deps_found-- > 0)
{
register char *s;
if (intermediate_files[deps_found] != 0)
{
/* If we need to use an intermediate file,
make sure it is entered as a target, with the info that was
found for it in the recursive pattern_search call.
We know that the intermediate file did not already exist as
a target; therefore we can assume that the deps and cmds
of F below are null before we change them. */
struct file *imf = intermediate_files[deps_found];
register struct file *f = enter_file (imf->name);
f->deps = imf->deps;
f->cmds = imf->cmds;
f->stem = imf->stem;
imf = lookup_file (intermediate_patterns[deps_found]);
if (imf != 0 && imf->precious)
f->precious = 1;
f->intermediate = 1;
f->tried_implicit = 1;
for (dep = f->deps; dep != 0; dep = dep->next)
{
dep->file = enter_file (dep->name);
dep->name = 0;
dep->file->tried_implicit |= dep->changed;
}
num_intermediates++;
}
dep = (struct dep *) xmalloc (sizeof (struct dep));
s = found_files[deps_found];
if (recursions == 0)
{
dep->name = 0;
dep->file = lookup_file (s);
if (dep->file == 0)
/* enter_file consumes S's storage. */
dep->file = enter_file (s);
else
/* A copy of S is already allocated in DEP->file->name.
So we can free S. */
free (s);
}
else
{
dep->name = s;
dep->file = 0;
dep->changed = 0;
}
if (intermediate_files[deps_found] == 0 && tryrules[foundrule]->terminal)
{
/* If the file actually existed (was not an intermediate file),
and the rule that found it was a terminal one, then we want
to mark the found file so that it will not have implicit rule
search done for it. If we are not entering a `struct file' for
it now, we indicate this with the `changed' flag. */
if (dep->file == 0)
dep->changed = 1;
else
dep->file->tried_implicit = 1;
}
dep->next = file->deps;
file->deps = dep;
}
if (!checked_lastslash[foundrule])
/* Always allocate new storage, since STEM might be
on the stack for an intermediate file. */
file->stem = savestring (stem, stemlen);
else
{
/* We want to prepend the directory from
the original FILENAME onto the stem. */
file->stem = (char *) xmalloc (((lastslash + 1) - filename)
+ stemlen + 1);
bcopy (filename, file->stem, (lastslash + 1) - filename);
bcopy (stem, file->stem + ((lastslash + 1) - filename), stemlen);
file->stem[((lastslash + 1) - filename) + stemlen] = '\0';
}
file->cmds = rule->cmds;
/* Put the targets other than the one that
matched into FILE's `also_make' member. */
/* If there was only one target, there is nothing to do. */
if (rule->targets[1] != 0)
for (i = 0; rule->targets[i] != 0; ++i)
if (i != matches[foundrule])
{
struct dep *new = (struct dep *) xmalloc (sizeof (struct dep));
new->name = p = (char *) xmalloc (rule->lens[i] + stemlen + 1);
bcopy (rule->targets[i], p,
rule->suffixes[i] - rule->targets[i] - 1);
p += rule->suffixes[i] - rule->targets[i] - 1;
bcopy (stem, p, stemlen);
p += stemlen;
bcopy (rule->suffixes[i], p,
rule->lens[i] - (rule->suffixes[i] - rule->targets[i]) + 1);
new->file = enter_file (new->name);
new->next = file->also_make;
file->also_make = new;
}
return 1;
}

View File

@@ -1,238 +0,0 @@
#! /bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# 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}"
mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
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;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
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`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

File diff suppressed because it is too large Load Diff

View File

@@ -1,67 +0,0 @@
/* Definitions for managing subprocesses in GNU Make.
Copyright (C) 1992, 1993 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Structure describing a running or dead child process. */
struct child
{
struct child *next; /* Link in the chain. */
struct file *file; /* File being remade. */
char **environment; /* Environment for commands. */
char **command_lines; /* Array of variable-expanded cmd lines. */
unsigned int command_line; /* Index into above. */
char *command_ptr; /* Ptr into command_lines[command_line]. */
pid_t pid; /* Child process's ID number. */
unsigned int remote:1; /* Nonzero if executing remotely. */
unsigned int noerror:1; /* Nonzero if commands contained a `-'. */
unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */
unsigned int deleted:1; /* Nonzero if targets have been deleted. */
};
extern struct child *children;
extern void new_job ();
extern void reap_children ();
extern void start_waiting_jobs ();
extern char **construct_command_argv ();
extern void child_execute_job ();
extern void exec_command ();
extern unsigned int job_slots_used;
#ifdef POSIX
extern void unblock_sigs ();
#else
#ifdef HAVE_SIGSETMASK
extern int fatal_signal_mask;
#define unblock_sigs() sigsetmask (0)
#else
#define unblock_sigs()
#endif
#endif
#ifdef NETSCAPE
extern int ns_spawn (char **argv, char **envp, int *exitCode);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,656 +0,0 @@
@comment This file is included by both standards.texi and make.texinfo.
@comment It was broken out of standards.texi on 1/6/93 by roland.
@node Makefile Conventions
@chapter Makefile Conventions
@comment standards.texi does not print an index, but make.texinfo does.
@cindex makefile, conventions for
@cindex conventions for makefiles
@cindex standards for makefiles
This chapter describes conventions for writing the Makefiles for GNU programs.
@menu
* Makefile Basics::
* Utilities in Makefiles::
* Standard Targets::
* Command Variables::
* Directory Variables::
@end menu
@node Makefile Basics
@section General Conventions for Makefiles
Every Makefile should contain this line:
@example
SHELL = /bin/sh
@end example
@noindent
to avoid trouble on systems where the @code{SHELL} variable might be
inherited from the environment. (This is never a problem with GNU
@code{make}.)
Different @code{make} programs have incompatible suffix lists and
implicit rules, and this sometimes creates confusion or misbehavior. So
it is a good idea to set the suffix list explicitly using only the
suffixes you need in the particular Makefile, like this:
@example
.SUFFIXES:
.SUFFIXES: .c .o
@end example
@noindent
The first line clears out the suffix list, the second introduces all
suffixes which may be subject to implicit rules in this Makefile.
Don't assume that @file{.} is in the path for command execution. When
you need to run programs that are a part of your package during the
make, please make sure that it uses @file{./} if the program is built as
part of the make or @file{$(srcdir)/} if the file is an unchanging part
of the source code. Without one of these prefixes, the current search
path is used.
The distinction between @file{./} and @file{$(srcdir)/} is important
when using the @samp{--srcdir} option to @file{configure}. A rule of
the form:
@smallexample
foo.1 : foo.man sedscript
sed -e sedscript foo.man > foo.1
@end smallexample
@noindent
will fail when the current directory is not the source directory,
because @file{foo.man} and @file{sedscript} are not in the current
directory.
When using GNU @code{make}, relying on @samp{VPATH} to find the source
file will work in the case where there is a single dependency file,
since the @file{make} automatic variable @samp{$<} will represent the
source file wherever it is. (Many versions of @code{make} set @samp{$<}
only in implicit rules.) A makefile target like
@smallexample
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
@end smallexample
@noindent
should instead be written as
@smallexample
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@@
@end smallexample
@noindent
in order to allow @samp{VPATH} to work correctly. When the target has
multiple dependencies, using an explicit @samp{$(srcdir)} is the easiest
way to make the rule work well. For example, the target above for
@file{foo.1} is best written as:
@smallexample
foo.1 : foo.man sedscript
sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@@
@end smallexample
@node Utilities in Makefiles
@section Utilities in Makefiles
Write the Makefile commands (and any shell scripts, such as
@code{configure}) to run in @code{sh}, not in @code{csh}. Don't use any
special features of @code{ksh} or @code{bash}.
The @code{configure} script and the Makefile rules for building and
installation should not use any utilities directly except these:
@example
cat cmp cp echo egrep expr grep
ln mkdir mv pwd rm rmdir sed test touch
@end example
Stick to the generally supported options for these programs. For
example, don't use @samp{mkdir -p}, convenient as it may be, because
most systems don't support it.
The Makefile rules for building and installation can also use compilers
and related programs, but should do so via @code{make} variables so that the
user can substitute alternatives. Here are some of the programs we
mean:
@example
ar bison cc flex install ld lex
make makeinfo ranlib texi2dvi yacc
@end example
Use the following @code{make} variables:
@example
$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LEX)
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
@end example
When you use @code{ranlib}, you should make sure nothing bad happens if
the system does not have @code{ranlib}. Arrange to ignore an error
from that command, and print a message before the command to tell the
user that failure of the @code{ranlib} command does not mean a problem.
If you use symbolic links, you should implement a fallback for systems
that don't have symbolic links.
It is ok to use other utilities in Makefile portions (or scripts)
intended only for particular systems where you know those utilities to
exist.
@node Standard Targets
@section Standard Targets for Users
All GNU programs should have the following targets in their Makefiles:
@table @samp
@item all
Compile the entire program. This should be the default target. This
target need not rebuild any documentation files; Info files should
normally be included in the distribution, and DVI files should be made
only when explicitly asked for.
@item install
Compile the program and copy the executables, libraries, and so on to
the file names where they should reside for actual use. If there is a
simple test to verify that a program is properly installed, this target
should run that test.
If possible, write the @code{install} target rule so that it does not
modify anything in the directory where the program was built, provided
@samp{make all} has just been done. This is convenient for building the
program under one user name and installing it under another.
The commands should create all the directories in which files are to be
installed, if they don't already exist. This includes the directories
specified as the values of the variables @code{prefix} and
@code{exec_prefix}, as well as all subdirectories that are needed.
One way to do this is by means of an @code{installdirs} target
as described below.
Use @samp{-} before any command for installing a man page, so that
@code{make} will ignore any errors. This is in case there are systems
that don't have the Unix man page documentation system installed.
The way to install Info files is to copy them into @file{$(infodir)}
with @code{$(INSTALL_DATA)} (@pxref{Command Variables}), and then run
the @code{install-info} program if it is present. @code{install-info}
is a script that edits the Info @file{dir} file to add or update the
menu entry for the given Info file; it will be part of the Texinfo package.
Here is a sample rule to install an Info file:
@comment This example has been carefully formatted for the Make manual.
@comment Please do not reformat it without talking to roland@gnu.ai.mit.edu.
@smallexample
$(infodir)/foo.info: foo.info
# There may be a newer info file in . than in srcdir.
-if test -f foo.info; then d=.; \
else d=$(srcdir); fi; \
$(INSTALL_DATA) $$d/foo.info $@@; \
# Run install-info only if it exists.
# Use `if' instead of just prepending `-' to the
# line so we notice real errors from install-info.
# We use `$(SHELL) -c' because some shells do not
# fail gracefully when there is an unknown command.
if $(SHELL) -c 'install-info --version' \
>/dev/null 2>&1; then \
install-info --infodir=$(infodir) $$d/foo.info; \
else true; fi
@end smallexample
@item uninstall
Delete all the installed files that the @samp{install} target would
create (but not the noninstalled files such as @samp{make all} would
create).
This rule should not modify the directories where compilation is done,
only the directories where files are installed.
@comment The gratuitous blank line here is to make the table look better
@comment in the printed Make manual. Please leave it in.
@item clean
Delete all files from the current directory that are normally created by
building the program. Don't delete the files that record the
configuration. Also preserve files that could be made by building, but
normally aren't because the distribution comes with them.
Delete @file{.dvi} files here if they are not part of the distribution.
@item distclean
Delete all files from the current directory that are created by
configuring or building the program. If you have unpacked the source
and built the program without creating any other files, @samp{make
distclean} should leave only the files that were in the distribution.
@item mostlyclean
Like @samp{clean}, but may refrain from deleting a few files that people
normally don't want to recompile. For example, the @samp{mostlyclean}
target for GCC does not delete @file{libgcc.a}, because recompiling it
is rarely necessary and takes a lot of time.
@item maintainer-clean
Delete almost everything from the current directory that can be
reconstructed with this Makefile. This typically includes everything
deleted by @code{distclean}, plus more: C source files produced by
Bison, tags tables, Info files, and so on.
The reason we say ``almost everything'' is that @samp{make
maintainer-clean} should not delete @file{configure} even if
@file{configure} can be remade using a rule in the Makefile. More
generally, @samp{make maintainer-clean} should not delete anything that
needs to exist in order to run @file{configure} and then begin to build
the program. This is the only exception; @code{maintainer-clean} should
delete everything else that can be rebuilt.
The @samp{maintainer-clean} is intended to be used by a maintainer of
the package, not by ordinary users. You may need special tools to
reconstruct some of the files that @samp{make maintainer-clean} deletes.
Since these files are normally included in the distribution, we don't
take care to make them easy to reconstruct. If you find you need to
unpack the full distribution again, don't blame us.
To help make users aware of this, the commands for
@code{maintainer-clean} should start with these two:
@example
@@echo "This command is intended for maintainers to use;"
@@echo "it deletes files that may require special tools to rebuild."
@end example
@item TAGS
Update a tags table for this program.
@item info
Generate any Info files needed. The best way to write the rules is as
follows:
@smallexample
info: foo.info
foo.info: foo.texi chap1.texi chap2.texi
$(MAKEINFO) $(srcdir)/foo.texi
@end smallexample
@noindent
You must define the variable @code{MAKEINFO} in the Makefile. It should
run the @code{makeinfo} program, which is part of the Texinfo
distribution.
@item dvi
Generate DVI files for all TeXinfo documentation.
For example:
@smallexample
dvi: foo.dvi
foo.dvi: foo.texi chap1.texi chap2.texi
$(TEXI2DVI) $(srcdir)/foo.texi
@end smallexample
@noindent
You must define the variable @code{TEXI2DVI} in the Makefile. It should
run the program @code{texi2dvi}, which is part of the Texinfo
distribution. Alternatively, write just the dependencies, and allow GNU
Make to provide the command.
@item dist
Create a distribution tar file for this program. The tar file should be
set up so that the file names in the tar file start with a subdirectory
name which is the name of the package it is a distribution for. This
name can include the version number.
For example, the distribution tar file of GCC version 1.40 unpacks into
a subdirectory named @file{gcc-1.40}.
The easiest way to do this is to create a subdirectory appropriately
named, use @code{ln} or @code{cp} to install the proper files in it, and
then @code{tar} that subdirectory.
The @code{dist} target should explicitly depend on all non-source files
that are in the distribution, to make sure they are up to date in the
distribution.
@xref{Releases, , Making Releases, standards, GNU Coding Standards}.
@item check
Perform self-tests (if any). The user must build the program before
running the tests, but need not install the program; you should write
the self-tests so that they work when the program is built but not
installed.
@end table
The following targets are suggested as conventional names, for programs
in which they are useful.
@table @code
@item installcheck
Perform installation tests (if any). The user must build and install
the program before running the tests. You should not assume that
@file{$(bindir)} is in the search path.
@item installdirs
It's useful to add a target named @samp{installdirs} to create the
directories where files are installed, and their parent directories.
There is a script called @file{mkinstalldirs} which is convenient for
this; find it in the Texinfo package.@c It's in /gd/gnu/lib/mkinstalldirs.
You can use a rule like this:
@comment This has been carefully formatted to look decent in the Make manual.
@comment Please be sure not to make it extend any further to the right.--roland
@smallexample
# Make sure all installation directories (e.g. $(bindir))
# actually exist by making them if necessary.
installdirs: mkinstalldirs
$(srcdir)/mkinstalldirs $(bindir) $(datadir) \
$(libdir) $(infodir) \
$(mandir)
@end smallexample
This rule should not modify the directories where compilation is done.
It should do nothing but create installation directories.
@end table
@node Command Variables
@section Variables for Specifying Commands
Makefiles should provide variables for overriding certain commands, options,
and so on.
In particular, you should run most utility programs via variables.
Thus, if you use Bison, have a variable named @code{BISON} whose default
value is set with @samp{BISON = bison}, and refer to it with
@code{$(BISON)} whenever you need to use Bison.
File management utilities such as @code{ln}, @code{rm}, @code{mv}, and
so on, need not be referred to through variables in this way, since users
don't need to replace them with other programs.
Each program-name variable should come with an options variable that is
used to supply options to the program. Append @samp{FLAGS} to the
program-name variable name to get the options variable name---for
example, @code{BISONFLAGS}. (The name @code{CFLAGS} is an exception to
this rule, but we keep it because it is standard.) Use @code{CPPFLAGS}
in any compilation command that runs the preprocessor, and use
@code{LDFLAGS} in any compilation command that does linking as well as
in any direct use of @code{ld}.
If there are C compiler options that @emph{must} be used for proper
compilation of certain files, do not include them in @code{CFLAGS}.
Users expect to be able to specify @code{CFLAGS} freely themselves.
Instead, arrange to pass the necessary options to the C compiler
independently of @code{CFLAGS}, by writing them explicitly in the
compilation commands or by defining an implicit rule, like this:
@smallexample
CFLAGS = -g
ALL_CFLAGS = -I. $(CFLAGS)
.c.o:
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
@end smallexample
Do include the @samp{-g} option in @code{CFLAGS}, because that is not
@emph{required} for proper compilation. You can consider it a default
that is only recommended. If the package is set up so that it is
compiled with GCC by default, then you might as well include @samp{-O}
in the default value of @code{CFLAGS} as well.
Put @code{CFLAGS} last in the compilation command, after other variables
containing compiler options, so the user can use @code{CFLAGS} to
override the others.
Every Makefile should define the variable @code{INSTALL}, which is the
basic command for installing a file into the system.
Every Makefile should also define the variables @code{INSTALL_PROGRAM}
and @code{INSTALL_DATA}. (The default for each of these should be
@code{$(INSTALL)}.) Then it should use those variables as the commands
for actual installation, for executables and nonexecutables
respectively. Use these variables as follows:
@example
$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
@end example
@noindent
Always use a file name, not a directory name, as the second argument of
the installation commands. Use a separate command for each file to be
installed.
@node Directory Variables
@section Variables for Installation Directories
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
variables are described below. They are based on a standard filesystem
layout; variants of it are used in SVR4, 4.4BSD, Linux, Ultrix v4, and
other modern operating systems.
These two variables set the root for the installation. All the other
installation directories should be subdirectories of one of these two,
and nothing should be directly installed into these two directories.
@table @samp
@item prefix
A prefix used in constructing the default values of the variables listed
below. The default value of @code{prefix} should be @file{/usr/local}
When building the complete GNU system, the prefix will be empty and
@file{/usr} will be a symbolic link to @file{/}.
@item exec_prefix
A prefix used in constructing the default values of some of the
variables listed below. The default value of @code{exec_prefix} should
be @code{$(prefix)}.
Generally, @code{$(exec_prefix)} is used for directories that contain
machine-specific files (such as executables and subroutine libraries),
while @code{$(prefix)} is used directly for other directories.
@end table
Executable programs are installed in one of the following directories.
@table @samp
@item bindir
The directory for installing executable programs that users can run.
This should normally be @file{/usr/local/bin}, but write it as
@file{$(exec_prefix)/bin}.
@item sbindir
The directory for installing executable programs that can be run from
the shell, but are only generally useful to system administrators. This
should normally be @file{/usr/local/sbin}, but write it as
@file{$(exec_prefix)/sbin}.
@item libexecdir
@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
The directory for installing executable programs to be run by other
programs rather than by users. This directory should normally be
@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
@end table
Data files used by the program during its execution are divided into
categories in two ways.
@itemize @bullet
@item
Some files are normally modified by programs; others are never normally
modified (though users may edit some of these).
@item
Some files are architecture-independent and can be shared by all
machines at a site; some are architecture-dependent and can be shared
only by machines of the same kind and operating system; others may never
be shared between two machines.
@end itemize
This makes for six different possibilities. However, we want to
discourage the use of architecture-dependent files, aside from of object
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
Therefore, here are the variables makefiles should use to specify
directories:
@table @samp
@item datadir
The directory for installing read-only architecture independent data
files. This should normally be @file{/usr/local/share}, but write it as
@file{$(prefix)/share}. As a special exception, see @file{$(infodir)}
and @file{$(includedir)} below.
@item sysconfdir
The directory for installing read-only data files that pertain to a
single machine--that is to say, files for configuring a host. Mailer
and network configuration files, @file{/etc/passwd}, and so forth belong
here. All the files in this directory should be ordinary ASCII text
files. This directory should normally be @file{/usr/local/etc}, but
write it as @file{$(prefix)/etc}.
@c rewritten to avoid overfull hbox --tower
Do not install executables
@c here
in this directory (they probably
belong in @file{$(libexecdir)} or @file{$(sbindir))}. Also do not
install files that are modified in the normal course of their use
(programs whose purpose is to change the configuration of the system
excluded). Those probably belong in @file{$(localstatedir)}.
@item sharedstatedir
The directory for installing architecture-independent data files which
the programs modify while they run. This should normally be
@file{/usr/local/com}, but write it as @file{$(prefix)/com}.
@item localstatedir
The directory for installing data files which the programs modify while
they run, and that pertain to one specific machine. Users should never
need to modify files in this directory to configure the package's
operation; put such configuration information in separate files that go
in @file{datadir} or @file{$(sysconfdir)}. @file{$(localstatedir)}
should normally be @file{/usr/local/var}, but write it as
@file{$(prefix)/var}.
@item libdir
The directory for object files and libraries of object code. Do not
install executables here, they probably belong in @file{$(libexecdir)}
instead. The value of @code{libdir} should normally be
@file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}.
@item infodir
The directory for installing the Info files for this package. By
default, it should be @file{/usr/local/info}, but it should be written
as @file{$(prefix)/info}.
@item includedir
@c rewritten to avoid overfull hbox --roland
The directory for installing header files to be included by user
programs with the C @samp{#include} preprocessor directive. This
should normally be @file{/usr/local/include}, but write it as
@file{$(prefix)/include}.
Most compilers other than GCC do not look for header files in
@file{/usr/local/include}. So installing the header files this way is
only useful with GCC. Sometimes this is not a problem because some
libraries are only really intended to work with GCC. But some libraries
are intended to work with other compilers. They should install their
header files in two places, one specified by @code{includedir} and one
specified by @code{oldincludedir}.
@item oldincludedir
The directory for installing @samp{#include} header files for use with
compilers other than GCC. This should normally be @file{/usr/include}.
The Makefile commands should check whether the value of
@code{oldincludedir} is empty. If it is, they should not try to use
it; they should cancel the second installation of the header files.
A package should not replace an existing header in this directory unless
the header came from the same package. Thus, if your Foo package
provides a header file @file{foo.h}, then it should install the header
file in the @code{oldincludedir} directory if either (1) there is no
@file{foo.h} there or (2) the @file{foo.h} that exists came from the Foo
package.
To tell whether @file{foo.h} came from the Foo package, put a magic
string in the file---part of a comment---and grep for that string.
@end table
Unix-style man pages are installed in one of the following:
@table @samp
@item mandir
The directory for installing the man pages (if any) for this package.
It should include the suffix for the proper section of the
manual---usually @samp{1} for a utility. It will normally be
@file{/usr/local/man/man1}, but you should write it as
@file{$(prefix)/man/man1}.
@item man1dir
The directory for installing section 1 man pages.
@item man2dir
The directory for installing section 2 man pages.
@item @dots{}
Use these names instead of @samp{mandir} if the package needs to install man
pages in more than one section of the manual.
@strong{Don't make the primary documentation for any GNU software be a
man page. Write a manual in Texinfo instead. Man pages are just for
the sake of people running GNU software on Unix, which is a secondary
application only.}
@item manext
The file name extension for the installed man page. This should contain
a period followed by the appropriate digit; it should normally be @samp{.1}.
@item man1ext
The file name extension for installed section 1 man pages.
@item man2ext
The file name extension for installed section 2 man pages.
@item @dots{}
Use these names instead of @samp{manext} if the package needs to install man
pages in more than one section of the manual.
@end table
And finally, you should set the following variable:
@table @samp
@item srcdir
The directory for the sources being compiled. The value of this
variable is normally inserted by the @code{configure} shell script.
@end table
For example:
@smallexample
@c I have changed some of the comments here slightly to fix an overfull
@c hbox, so the make manual can format correctly. --roland
# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
prefix = /usr/local
exec_prefix = $(prefix)
# Where to put the executable for the command `gcc'.
bindir = $(exec_prefix)/bin
# Where to put the directories used by the compiler.
libexecdir = $(exec_prefix)/libexec
# Where to put the Info files.
infodir = $(prefix)/info
@end smallexample
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
into a subdirectory particular to that program. If you do this, you
should write the @code{install} rule to create these subdirectories.
Do not expect the user to include the subdirectory name in the value of
any of the variables listed above. The idea of having a uniform set of
variable names for installation directories is to enable the user to
specify the exact same values for several different GNU packages. In
order for this to be useful, all the packages must be designed so that
they will work sensibly when the user does so.

View File

@@ -1,354 +0,0 @@
'xrdef {Overview-title}{Overview of \code {make}}
'xrdef {Overview-pg}{1}
'xrdef {Overview-snt}{Chapter'tie1}
'xrdef {Reading-title}{How to Read This Manual}
'xrdef {Reading-pg}{1}
'xrdef {Reading-snt}{Section'tie1.1}
'xrdef {Bugs-title}{Problems and Bugs}
'xrdef {Bugs-pg}{2}
'xrdef {Bugs-snt}{Section'tie1.2}
'xrdef {Introduction-title}{An Introduction to Makefiles}
'xrdef {Introduction-pg}{5}
'xrdef {Introduction-snt}{Chapter'tie2}
'xrdef {Rule Introduction-title}{What a Rule Looks Like}
'xrdef {Rule Introduction-pg}{5}
'xrdef {Rule Introduction-snt}{Section'tie2.1}
'xrdef {Simple Makefile-title}{A Simple Makefile}
'xrdef {Simple Makefile-pg}{6}
'xrdef {Simple Makefile-snt}{Section'tie2.2}
'xrdef {How Make Works-title}{How \code {make} Processes a Makefile}
'xrdef {How Make Works-pg}{8}
'xrdef {How Make Works-snt}{Section'tie2.3}
'xrdef {Variables Simplify-title}{Variables Make Makefiles Simpler}
'xrdef {Variables Simplify-pg}{9}
'xrdef {Variables Simplify-snt}{Section'tie2.4}
'xrdef {make Deduces-title}{Letting \code {make} Deduce the Commands}
'xrdef {make Deduces-pg}{10}
'xrdef {make Deduces-snt}{Section'tie2.5}
'xrdef {Combine By Dependency-title}{Another Style of Makefile}
'xrdef {Combine By Dependency-pg}{11}
'xrdef {Combine By Dependency-snt}{Section'tie2.6}
'xrdef {Cleanup-title}{Rules for Cleaning the Directory}
'xrdef {Cleanup-pg}{12}
'xrdef {Cleanup-snt}{Section'tie2.7}
'xrdef {Makefiles-title}{Writing Makefiles}
'xrdef {Makefiles-pg}{13}
'xrdef {Makefiles-snt}{Chapter'tie3}
'xrdef {Makefile Contents-title}{What Makefiles Contain}
'xrdef {Makefile Contents-pg}{13}
'xrdef {Makefile Contents-snt}{Section'tie3.1}
'xrdef {Makefile Names-title}{What Name to Give Your Makefile}
'xrdef {Makefile Names-pg}{14}
'xrdef {Makefile Names-snt}{Section'tie3.2}
'xrdef {Include-title}{Including Other Makefiles}
'xrdef {Include-pg}{14}
'xrdef {Include-snt}{Section'tie3.3}
'xrdef {MAKEFILES Variable-title}{The Variable \code {MAKEFILES}}
'xrdef {MAKEFILES Variable-pg}{16}
'xrdef {MAKEFILES Variable-snt}{Section'tie3.4}
'xrdef {Remaking Makefiles-title}{How Makefiles Are Remade}
'xrdef {Remaking Makefiles-pg}{16}
'xrdef {Remaking Makefiles-snt}{Section'tie3.5}
'xrdef {Overriding Makefiles-title}{Overriding Part of Another Makefile}
'xrdef {Overriding Makefiles-pg}{18}
'xrdef {Overriding Makefiles-snt}{Section'tie3.6}
'xrdef {Rules-title}{Writing Rules}
'xrdef {Rules-pg}{19}
'xrdef {Rules-snt}{Chapter'tie4}
'xrdef {Rule Syntax-title}{Rule Syntax}
'xrdef {Rule Syntax-pg}{19}
'xrdef {Rule Syntax-snt}{Section'tie4.1}
'xrdef {Wildcards-title}{Using Wildcard Characters in File Names}
'xrdef {Wildcards-pg}{20}
'xrdef {Wildcards-snt}{Section'tie4.2}
'xrdef {Wildcard Examples-title}{Wildcard Examples}
'xrdef {Wildcard Examples-pg}{21}
'xrdef {Wildcard Examples-snt}{Section'tie4.2.1}
'xrdef {Wildcard Pitfall-title}{Pitfalls of Using Wildcards}
'xrdef {Wildcard Pitfall-pg}{22}
'xrdef {Wildcard Pitfall-snt}{Section'tie4.2.2}
'xrdef {Wildcard Function-title}{The Function \code {wildcard}}
'xrdef {Wildcard Function-pg}{22}
'xrdef {Wildcard Function-snt}{Section'tie4.2.3}
'xrdef {Directory Search-title}{Searching Directories for Dependencies}
'xrdef {Directory Search-pg}{23}
'xrdef {Directory Search-snt}{Section'tie4.3}
'xrdef {General Search-title}{\code {VPATH}: Search Path for All Dependencies}
'xrdef {General Search-pg}{23}
'xrdef {General Search-snt}{Section'tie4.3.1}
'xrdef {Selective Search-title}{The \code {vpath} Directive}
'xrdef {Selective Search-pg}{24}
'xrdef {Selective Search-snt}{Section'tie4.3.2}
'xrdef {Commands/Search-title}{Writing Shell Commands with Directory Search}
'xrdef {Commands/Search-pg}{26}
'xrdef {Commands/Search-snt}{Section'tie4.3.3}
'xrdef {Implicit/Search-title}{Directory Search and Implicit Rules}
'xrdef {Implicit/Search-pg}{27}
'xrdef {Implicit/Search-snt}{Section'tie4.3.4}
'xrdef {Libraries/Search-title}{Directory Search for Link Libraries}
'xrdef {Libraries/Search-pg}{27}
'xrdef {Libraries/Search-snt}{Section'tie4.3.5}
'xrdef {Phony Targets-title}{Phony Targets}
'xrdef {Phony Targets-pg}{28}
'xrdef {Phony Targets-snt}{Section'tie4.4}
'xrdef {Force Targets-title}{Rules without Commands or Dependencies}
'xrdef {Force Targets-pg}{30}
'xrdef {Force Targets-snt}{Section'tie4.5}
'xrdef {Empty Targets-title}{Empty Target Files to Record Events}
'xrdef {Empty Targets-pg}{30}
'xrdef {Empty Targets-snt}{Section'tie4.6}
'xrdef {Special Targets-title}{Special Built-in Target Names}
'xrdef {Special Targets-pg}{31}
'xrdef {Special Targets-snt}{Section'tie4.7}
'xrdef {Multiple Targets-title}{Multiple Targets in a Rule}
'xrdef {Multiple Targets-pg}{32}
'xrdef {Multiple Targets-snt}{Section'tie4.8}
'xrdef {Multiple Rules-title}{Multiple Rules for One Target}
'xrdef {Multiple Rules-pg}{33}
'xrdef {Multiple Rules-snt}{Section'tie4.9}
'xrdef {Static Pattern-title}{Static Pattern Rules}
'xrdef {Static Pattern-pg}{34}
'xrdef {Static Pattern-snt}{Section'tie4.10}
'xrdef {Static Usage-title}{Syntax of Static Pattern Rules}
'xrdef {Static Usage-pg}{34}
'xrdef {Static Usage-snt}{Section'tie4.10.1}
'xrdef {Static versus Implicit-title}{Static Pattern Rules versus Implicit Rules}
'xrdef {Static versus Implicit-pg}{36}
'xrdef {Static versus Implicit-snt}{Section'tie4.10.2}
'xrdef {Double-Colon-title}{Double-Colon Rules}
'xrdef {Double-Colon-pg}{37}
'xrdef {Double-Colon-snt}{Section'tie4.11}
'xrdef {Automatic Dependencies-title}{Generating Dependencies Automatically}
'xrdef {Automatic Dependencies-pg}{37}
'xrdef {Automatic Dependencies-snt}{Section'tie4.12}
'xrdef {Commands-title}{Writing the Commands in Rules}
'xrdef {Commands-pg}{41}
'xrdef {Commands-snt}{Chapter'tie5}
'xrdef {Echoing-title}{Command Echoing}
'xrdef {Echoing-pg}{41}
'xrdef {Echoing-snt}{Section'tie5.1}
'xrdef {Execution-title}{Command Execution}
'xrdef {Execution-pg}{42}
'xrdef {Execution-snt}{Section'tie5.2}
'xrdef {Parallel-title}{Parallel Execution}
'xrdef {Parallel-pg}{42}
'xrdef {Parallel-snt}{Section'tie5.3}
'xrdef {Errors-title}{Errors in Commands}
'xrdef {Errors-pg}{44}
'xrdef {Errors-snt}{Section'tie5.4}
'xrdef {Interrupts-title}{Interrupting or Killing \code {make}}
'xrdef {Interrupts-pg}{45}
'xrdef {Interrupts-snt}{Section'tie5.5}
'xrdef {Recursion-title}{Recursive Use of \code {make}}
'xrdef {Recursion-pg}{46}
'xrdef {Recursion-snt}{Section'tie5.6}
'xrdef {MAKE Variable-title}{How the \code {MAKE} Variable Works}
'xrdef {MAKE Variable-pg}{46}
'xrdef {MAKE Variable-snt}{Section'tie5.6.1}
'xrdef {Variables/Recursion-title}{Communicating Variables to a Sub-\code {make}}
'xrdef {Variables/Recursion-pg}{47}
'xrdef {Variables/Recursion-snt}{Section'tie5.6.2}
'xrdef {Options/Recursion-title}{Communicating Options to a Sub-\code {make}}
'xrdef {Options/Recursion-pg}{50}
'xrdef {Options/Recursion-snt}{Section'tie5.6.3}
'xrdef {-w Option-title}{The \samp {--print-directory} Option}
'xrdef {-w Option-pg}{52}
'xrdef {-w Option-snt}{Section'tie5.6.4}
'xrdef {Sequences-title}{Defining Canned Command Sequences}
'xrdef {Sequences-pg}{52}
'xrdef {Sequences-snt}{Section'tie5.7}
'xrdef {Empty Commands-title}{Using Empty Commands}
'xrdef {Empty Commands-pg}{54}
'xrdef {Empty Commands-snt}{Section'tie5.8}
'xrdef {Using Variables-title}{How to Use Variables}
'xrdef {Using Variables-pg}{55}
'xrdef {Using Variables-snt}{Chapter'tie6}
'xrdef {Reference-title}{Basics of Variable References}
'xrdef {Reference-pg}{55}
'xrdef {Reference-snt}{Section'tie6.1}
'xrdef {Flavors-title}{The Two Flavors of Variables}
'xrdef {Flavors-pg}{56}
'xrdef {Flavors-snt}{Section'tie6.2}
'xrdef {Advanced-title}{Advanced Features for Reference to Variables}
'xrdef {Advanced-pg}{59}
'xrdef {Advanced-snt}{Section'tie6.3}
'xrdef {Substitution Refs-title}{Substitution References}
'xrdef {Substitution Refs-pg}{59}
'xrdef {Substitution Refs-snt}{Section'tie6.3.1}
'xrdef {Computed Names-title}{Computed Variable Names}
'xrdef {Computed Names-pg}{60}
'xrdef {Computed Names-snt}{Section'tie6.3.2}
'xrdef {Values-title}{How Variables Get Their Values}
'xrdef {Values-pg}{63}
'xrdef {Values-snt}{Section'tie6.4}
'xrdef {Setting-title}{Setting Variables}
'xrdef {Setting-pg}{63}
'xrdef {Setting-snt}{Section'tie6.5}
'xrdef {Appending-title}{Appending More Text to Variables}
'xrdef {Appending-pg}{64}
'xrdef {Appending-snt}{Section'tie6.6}
'xrdef {Override Directive-title}{The \code {override} Directive}
'xrdef {Override Directive-pg}{66}
'xrdef {Override Directive-snt}{Section'tie6.7}
'xrdef {Defining-title}{Defining Variables Verbatim}
'xrdef {Defining-pg}{67}
'xrdef {Defining-snt}{Section'tie6.8}
'xrdef {Environment-title}{Variables from the Environment}
'xrdef {Environment-pg}{68}
'xrdef {Environment-snt}{Section'tie6.9}
'xrdef {Conditionals-title}{Conditional Parts of Makefiles}
'xrdef {Conditionals-pg}{71}
'xrdef {Conditionals-snt}{Chapter'tie7}
'xrdef {Conditional Example-title}{Example of a Conditional}
'xrdef {Conditional Example-pg}{71}
'xrdef {Conditional Example-snt}{Section'tie7.1}
'xrdef {Conditional Syntax-title}{Syntax of Conditionals}
'xrdef {Conditional Syntax-pg}{72}
'xrdef {Conditional Syntax-snt}{Section'tie7.2}
'xrdef {Testing Flags-title}{Conditionals that Test Flags}
'xrdef {Testing Flags-pg}{75}
'xrdef {Testing Flags-snt}{Section'tie7.3}
'xrdef {Functions-title}{Functions for Transforming Text}
'xrdef {Functions-pg}{77}
'xrdef {Functions-snt}{Chapter'tie8}
'xrdef {Syntax of Functions-title}{Function Call Syntax}
'xrdef {Syntax of Functions-pg}{77}
'xrdef {Syntax of Functions-snt}{Section'tie8.1}
'xrdef {Text Functions-title}{Functions for String Substitution and Analysis}
'xrdef {Text Functions-pg}{78}
'xrdef {Text Functions-snt}{Section'tie8.2}
'xrdef {Filename Functions-title}{Functions for File Names}
'xrdef {Filename Functions-pg}{81}
'xrdef {Filename Functions-snt}{Section'tie8.3}
'xrdef {Foreach Function-title}{The \code {foreach} Function}
'xrdef {Foreach Function-pg}{83}
'xrdef {Foreach Function-snt}{Section'tie8.4}
'xrdef {Origin Function-title}{The \code {origin} Function}
'xrdef {Origin Function-pg}{85}
'xrdef {Origin Function-snt}{Section'tie8.5}
'xrdef {Shell Function-title}{The \code {shell} Function}
'xrdef {Shell Function-pg}{87}
'xrdef {Shell Function-snt}{Section'tie8.6}
'xrdef {Running-title}{How to Run \code {make}}
'xrdef {Running-pg}{89}
'xrdef {Running-snt}{Chapter'tie9}
'xrdef {Makefile Arguments-title}{Arguments to Specify the Makefile}
'xrdef {Makefile Arguments-pg}{89}
'xrdef {Makefile Arguments-snt}{Section'tie9.1}
'xrdef {Goals-title}{Arguments to Specify the Goals}
'xrdef {Goals-pg}{90}
'xrdef {Goals-snt}{Section'tie9.2}
'xrdef {Instead of Execution-title}{Instead of Executing the Commands}
'xrdef {Instead of Execution-pg}{91}
'xrdef {Instead of Execution-snt}{Section'tie9.3}
'xrdef {Avoiding Compilation-title}{Avoiding Recompilation of Some Files}
'xrdef {Avoiding Compilation-pg}{93}
'xrdef {Avoiding Compilation-snt}{Section'tie9.4}
'xrdef {Overriding-title}{Overriding Variables}
'xrdef {Overriding-pg}{94}
'xrdef {Overriding-snt}{Section'tie9.5}
'xrdef {Testing-title}{Testing the Compilation of a Program}
'xrdef {Testing-pg}{95}
'xrdef {Testing-snt}{Section'tie9.6}
'xrdef {Options Summary-title}{Summary of Options}
'xrdef {Options Summary-pg}{95}
'xrdef {Options Summary-snt}{Section'tie9.7}
'xrdef {Implicit Rules-title}{Using Implicit Rules}
'xrdef {Implicit Rules-pg}{101}
'xrdef {Implicit Rules-snt}{Chapter'tie10}
'xrdef {Using Implicit-title}{Using Implicit Rules}
'xrdef {Using Implicit-pg}{101}
'xrdef {Using Implicit-snt}{Section'tie10.1}
'xrdef {Catalogue of Rules-title}{Catalogue of Implicit Rules}
'xrdef {Catalogue of Rules-pg}{103}
'xrdef {Catalogue of Rules-snt}{Section'tie10.2}
'xrdef {Implicit Variables-title}{Variables Used by Implicit Rules}
'xrdef {Implicit Variables-pg}{106}
'xrdef {Implicit Variables-snt}{Section'tie10.3}
'xrdef {Chained Rules-title}{Chains of Implicit Rules}
'xrdef {Chained Rules-pg}{108}
'xrdef {Chained Rules-snt}{Section'tie10.4}
'xrdef {Pattern Rules-title}{Defining and Redefining Pattern Rules}
'xrdef {Pattern Rules-pg}{109}
'xrdef {Pattern Rules-snt}{Section'tie10.5}
'xrdef {Pattern Intro-title}{Introduction to Pattern Rules}
'xrdef {Pattern Intro-pg}{110}
'xrdef {Pattern Intro-snt}{Section'tie10.5.1}
'xrdef {Pattern Examples-title}{Pattern Rule Examples}
'xrdef {Pattern Examples-pg}{111}
'xrdef {Pattern Examples-snt}{Section'tie10.5.2}
'xrdef {Automatic-title}{Automatic Variables}
'xrdef {Automatic-pg}{112}
'xrdef {Automatic-snt}{Section'tie10.5.3}
'xrdef {Pattern Match-title}{How Patterns Match}
'xrdef {Pattern Match-pg}{114}
'xrdef {Pattern Match-snt}{Section'tie10.5.4}
'xrdef {Match-Anything Rules-title}{Match-Anything Pattern Rules}
'xrdef {Match-Anything Rules-pg}{115}
'xrdef {Match-Anything Rules-snt}{Section'tie10.5.5}
'xrdef {Canceling Rules-title}{Canceling Implicit Rules}
'xrdef {Canceling Rules-pg}{116}
'xrdef {Canceling Rules-snt}{Section'tie10.5.6}
'xrdef {Last Resort-title}{Defining Last-Resort Default Rules}
'xrdef {Last Resort-pg}{116}
'xrdef {Last Resort-snt}{Section'tie10.6}
'xrdef {Suffix Rules-title}{Old-Fashioned Suffix Rules}
'xrdef {Suffix Rules-pg}{117}
'xrdef {Suffix Rules-snt}{Section'tie10.7}
'xrdef {Search Algorithm-title}{Implicit Rule Search Algorithm}
'xrdef {Search Algorithm-pg}{119}
'xrdef {Search Algorithm-snt}{Section'tie10.8}
'xrdef {Archives-title}{Using \code {make} to Update Archive Files}
'xrdef {Archives-pg}{121}
'xrdef {Archives-snt}{Chapter'tie11}
'xrdef {Archive Members-title}{Archive Members as Targets}
'xrdef {Archive Members-pg}{121}
'xrdef {Archive Members-snt}{Section'tie11.1}
'xrdef {Archive Update-title}{Implicit Rule for Archive Member Targets}
'xrdef {Archive Update-pg}{122}
'xrdef {Archive Update-snt}{Section'tie11.2}
'xrdef {Archive Symbols-title}{Updating Archive Symbol Directories}
'xrdef {Archive Symbols-pg}{123}
'xrdef {Archive Symbols-snt}{Section'tie11.2.1}
'xrdef {Archive Pitfalls-title}{Dangers When Using Archives}
'xrdef {Archive Pitfalls-pg}{123}
'xrdef {Archive Pitfalls-snt}{Section'tie11.3}
'xrdef {Archive Suffix Rules-title}{Suffix Rules for Archive Files}
'xrdef {Archive Suffix Rules-pg}{124}
'xrdef {Archive Suffix Rules-snt}{Section'tie11.4}
'xrdef {Features-title}{Features of GNU \code {make}}
'xrdef {Features-pg}{125}
'xrdef {Features-snt}{Chapter'tie12}
'xrdef {Missing-title}{Incompatibilities and Missing Features}
'xrdef {Missing-pg}{129}
'xrdef {Missing-snt}{Chapter'tie13}
'xrdef {Makefile Conventions-title}{Makefile Conventions}
'xrdef {Makefile Conventions-pg}{131}
'xrdef {Makefile Conventions-snt}{Chapter'tie14}
'xrdef {Makefile Basics-title}{General Conventions for Makefiles}
'xrdef {Makefile Basics-pg}{131}
'xrdef {Makefile Basics-snt}{Section'tie14.1}
'xrdef {Utilities in Makefiles-title}{Utilities in Makefiles}
'xrdef {Utilities in Makefiles-pg}{132}
'xrdef {Utilities in Makefiles-snt}{Section'tie14.2}
'xrdef {Standard Targets-title}{Standard Targets for Users}
'xrdef {Standard Targets-pg}{133}
'xrdef {Standard Targets-snt}{Section'tie14.3}
'xrdef {Command Variables-title}{Variables for Specifying Commands}
'xrdef {Command Variables-pg}{136}
'xrdef {Command Variables-snt}{Section'tie14.4}
'xrdef {Directory Variables-title}{Variables for Installation Directories}
'xrdef {Directory Variables-pg}{138}
'xrdef {Directory Variables-snt}{Section'tie14.5}
'xrdef {Quick Reference-title}{Quick Reference}
'xrdef {Quick Reference-pg}{143}
'xrdef {Quick Reference-snt}{Appendix'tie'char65{}}
'xrdef {Complex Makefile-title}{Complex Makefile Example}
'xrdef {Complex Makefile-pg}{149}
'xrdef {Complex Makefile-snt}{Appendix'tie'char66{}}
'xrdef {Concept Index-title}{Index of Concepts}
'xrdef {Concept Index-pg}{155}
'xrdef {Concept Index-snt}{}
'xrdef {Name Index-title}{Index of Functions, Variables, & Directives}
'xrdef {Name Index-pg}{165}
'xrdef {Name Index-snt}{}

View File

@@ -1,701 +0,0 @@
\entry {POSIX}{1}{POSIX}
\entry {IEEE Standard 1003.2}{1}{IEEE Standard 1003.2}
\entry {standards conformance}{1}{standards conformance}
\entry {reporting bugs}{2}{reporting bugs}
\entry {bugs, reporting}{2}{bugs, reporting}
\entry {problems and bugs, reporting}{2}{problems and bugs, reporting}
\entry {makefile}{5}{makefile}
\entry {recompilation}{5}{recompilation}
\entry {editor}{5}{editor}
\entry {rule, introduction to}{5}{rule, introduction to}
\entry {makefile rule parts}{5}{makefile rule parts}
\entry {parts of makefile rule}{5}{parts of makefile rule}
\entry {targets, introduction to}{5}{targets, introduction to}
\entry {dependencies, introduction to}{5}{dependencies, introduction to}
\entry {commands, introduction to}{5}{commands, introduction to}
\entry {tabs in rules}{5}{tabs in rules}
\entry {simple makefile}{6}{simple makefile}
\entry {makefile, simple}{6}{makefile, simple}
\entry {continuation lines}{7}{continuation lines}
\entry {{\tt\indexbackslash } (backslash), for continuation lines}{7}{\code {{\tt\indexbackslash }} (backslash), for continuation lines}
\entry {backslash ({\tt\indexbackslash }), for continuation lines}{7}{backslash (\code {{\tt\indexbackslash }}), for continuation lines}
\entry {quoting newline, in makefile}{7}{quoting newline, in makefile}
\entry {newline, quoting, in makefile}{7}{newline, quoting, in makefile}
\entry {shell command}{8}{shell command}
\entry {clean target}{8}{\code {clean} target}
\entry {rm (shell command)}{8}{\code {rm} (shell command)}
\entry {processing a makefile}{8}{processing a makefile}
\entry {makefile, how make processes}{8}{makefile, how \code {make} processes}
\entry {default goal}{8}{default goal}
\entry {goal, default}{8}{goal, default}
\entry {goal}{8}{goal}
\entry {relinking}{9}{relinking}
\entry {variables}{9}{variables}
\entry {simplifying with variables}{9}{simplifying with variables}
\entry {objects}{9}{\code {objects}}
\entry {OBJECTS}{9}{\code {OBJECTS}}
\entry {objs}{9}{\code {objs}}
\entry {OBJS}{9}{\code {OBJS}}
\entry {obj}{9}{\code {obj}}
\entry {OBJ}{9}{\code {OBJ}}
\entry {deducing commands (implicit rules)}{10}{deducing commands (implicit rules)}
\entry {implicit rule, introduction to}{10}{implicit rule, introduction to}
\entry {rule, implicit, introduction to}{10}{rule, implicit, introduction to}
\entry {combining rules by dependency}{11}{combining rules by dependency}
\entry {cleaning up}{12}{cleaning up}
\entry {removing, to clean up}{12}{removing, to clean up}
\entry {clean target}{12}{\code {clean} target}
\entry {makefile, how to write}{13}{makefile, how to write}
\entry {rule, explicit, definition of}{13}{rule, explicit, definition of}
\entry {explicit rule, definition of}{13}{explicit rule, definition of}
\entry {rule, implicit, definition of}{13}{rule, implicit, definition of}
\entry {implicit rule, definition of}{13}{implicit rule, definition of}
\entry {variable definition}{13}{variable definition}
\entry {directive}{13}{directive}
\entry {comments, in makefile}{13}{comments, in makefile}
\entry {# (comments), in makefile}{13}{\code {#} (comments), in makefile}
\entry {makefile name}{14}{makefile name}
\entry {name of makefile}{14}{name of makefile}
\entry {default makefile name}{14}{default makefile name}
\entry {file name of makefile}{14}{file name of makefile}
\entry {README}{14}{\code {README}}
\entry {-f}{14}{\code {-f}}
\entry {--file}{14}{\code {--file}}
\entry {--makefile}{14}{\code {--makefile}}
\entry {specifying makefile name}{14}{specifying makefile name}
\entry {makefile name, how to specify}{14}{makefile name, how to specify}
\entry {name of makefile, how to specify}{14}{name of makefile, how to specify}
\entry {file name of makefile, how to specify}{14}{file name of makefile, how to specify}
\entry {including other makefiles}{14}{including other makefiles}
\entry {makefile, including}{14}{makefile, including}
\entry {shell file name pattern (in include)}{14}{shell file name pattern (in \code {include})}
\entry {shell wildcards (in include)}{14}{shell wildcards (in \code {include})}
\entry {wildcard, in include}{14}{wildcard, in \code {include}}
\entry {dependencies, automatic generation}{15}{dependencies, automatic generation}
\entry {automatic generation of dependencies}{15}{automatic generation of dependencies}
\entry {generating dependencies automatically}{15}{generating dependencies automatically}
\entry {-I}{15}{\code {-I}}
\entry {--include-dir}{15}{\code {--include-dir}}
\entry {makefile, and MAKEFILES variable}{16}{makefile, and \code {MAKEFILES} variable}
\entry {including (MAKEFILES variable)}{16}{including (\code {MAKEFILES} variable)}
\entry {recursion, and MAKEFILES variable}{16}{recursion, and \code {MAKEFILES} variable}
\entry {updating makefiles}{16}{updating makefiles}
\entry {remaking makefiles}{16}{remaking makefiles}
\entry {makefile, remaking of}{16}{makefile, remaking of}
\entry {overriding makefiles}{18}{overriding makefiles}
\entry {makefile, overriding}{18}{makefile, overriding}
\entry {match-anything rule, used to override}{18}{match-anything rule, used to override}
\entry {writing rules}{19}{writing rules}
\entry {rule, how to write}{19}{rule, how to write}
\entry {target}{19}{target}
\entry {dependency}{19}{dependency}
\entry {default goal}{19}{default goal}
\entry {goal, default}{19}{goal, default}
\entry {rule syntax}{19}{rule syntax}
\entry {syntax of rules}{19}{syntax of rules}
\entry {targets}{19}{targets}
\entry {rule targets}{19}{rule targets}
\entry {commands}{19}{commands}
\entry {tab character (in commands)}{19}{tab character (in commands)}
\entry {dollar sign ($), in rules}{20}{dollar sign (\code {$}), in rules}
\entry {$, in rules}{20}{\code {$}, in rules}
\entry {rule, and $}{20}{rule, and \code {$}}
\entry {dependencies}{20}{dependencies}
\entry {rule dependencies}{20}{rule dependencies}
\entry {wildcard}{20}{wildcard}
\entry {file name with wildcards}{20}{file name with wildcards}
\entry {globbing (wildcards)}{20}{globbing (wildcards)}
\entry {* (wildcard character)}{20}{\code {*} (wildcard character)}
\entry {? (wildcard character)}{20}{\code {?} (wildcard character)}
\entry {[...{}] (wildcard characters)}{20}{\code {[\dots {}]} (wildcard characters)}
\entry {{\tt\char'176} (tilde)}{20}{\code {{\tt\char'176}} (tilde)}
\entry {tilde ({\tt\char'176})}{20}{tilde (\code {{\tt\char'176}})}
\entry {home directory}{20}{home directory}
\entry {rm (shell command)}{21}{\code {rm} (shell command)}
\entry {print target}{21}{\code {print} target}
\entry {lpr (shell command)}{21}{\code {lpr} (shell command)}
\entry {touch (shell command)}{21}{\code {touch} (shell command)}
\entry {wildcard pitfalls}{22}{wildcard pitfalls}
\entry {pitfalls of wildcards}{22}{pitfalls of wildcards}
\entry {mistakes with wildcards}{22}{mistakes with wildcards}
\entry {errors with wildcards}{22}{errors with wildcards}
\entry {problems with wildcards}{22}{problems with wildcards}
\entry {vpath}{23}{vpath}
\entry {search path for dependencies (VPATH)}{23}{search path for dependencies (\code {VPATH})}
\entry {directory search (VPATH)}{23}{directory search (\code {VPATH})}
\entry {%, quoting in vpath}{25}{\code {%}, quoting in \code {vpath}}
\entry {%, quoting with {\tt\indexbackslash } (backslash)}{25}{\code {%}, quoting with \code {{\tt\indexbackslash }} (backslash)}
\entry {{\tt\indexbackslash } (backslash), to quote %}{25}{\code {{\tt\indexbackslash }} (backslash), to quote \code {%}}
\entry {backslash ({\tt\indexbackslash }), to quote %}{25}{backslash (\code {{\tt\indexbackslash }}), to quote \code {%}}
\entry {quoting %, in vpath}{25}{quoting \code {%}, in \code {vpath}}
\entry {shell command, and directory search}{26}{shell command, and directory search}
\entry {directory search (VPATH), and shell commands}{26}{directory search (\code {VPATH}), and shell commands}
\entry {VPATH, and implicit rules}{27}{\code {VPATH}, and implicit rules}
\entry {directory search (VPATH), and implicit rules}{27}{directory search (\code {VPATH}), and implicit rules}
\entry {search path for dependencies (VPATH), and implicit rules}{27}{search path for dependencies (\code {VPATH}), and implicit rules}
\entry {implicit rule, and directory search}{27}{implicit rule, and directory search}
\entry {implicit rule, and VPATH}{27}{implicit rule, and \code {VPATH}}
\entry {rule, implicit, and directory search}{27}{rule, implicit, and directory search}
\entry {rule, implicit, and VPATH}{27}{rule, implicit, and \code {VPATH}}
\entry {link libraries, and directory search}{27}{link libraries, and directory search}
\entry {libraries for linking, directory search}{27}{libraries for linking, directory search}
\entry {directory search (VPATH), and link libraries}{27}{directory search (\code {VPATH}), and link libraries}
\entry {VPATH, and link libraries}{27}{\code {VPATH}, and link libraries}
\entry {search path for dependencies (VPATH), and link libraries}{27}{search path for dependencies (\code {VPATH}), and link libraries}
\entry {-l (library search)}{27}{\code {-l} (library search)}
\entry {phony targets}{28}{phony targets}
\entry {targets, phony}{28}{targets, phony}
\entry {targets without a file}{28}{targets without a file}
\entry {rm (shell command)}{28}{\code {rm} (shell command)}
\entry {force targets}{30}{force targets}
\entry {targets, force}{30}{targets, force}
\entry {FORCE}{30}{\code {FORCE}}
\entry {rule, no commands or dependencies}{30}{rule, no commands or dependencies}
\entry {empty targets}{30}{empty targets}
\entry {targets, empty}{30}{targets, empty}
\entry {recording events with empty targets}{30}{recording events with empty targets}
\entry {print target}{30}{\code {print} target}
\entry {lpr (shell command)}{30}{\code {lpr} (shell command)}
\entry {touch (shell command)}{30}{\code {touch} (shell command)}
\entry {special targets}{31}{special targets}
\entry {built-in special targets}{31}{built-in special targets}
\entry {targets, built-in special}{31}{targets, built-in special}
\entry {precious targets}{31}{precious targets}
\entry {preserving with .PRECIOUS}{31}{preserving with \code {.PRECIOUS}}
\entry {multiple targets}{32}{multiple targets}
\entry {several targets in a rule}{32}{several targets in a rule}
\entry {targets, multiple}{32}{targets, multiple}
\entry {rule, with multiple targets}{32}{rule, with multiple targets}
\entry {multiple rules for one target}{33}{multiple rules for one target}
\entry {several rules for one target}{33}{several rules for one target}
\entry {rule, multiple for one target}{33}{rule, multiple for one target}
\entry {target, multiple rules for one}{33}{target, multiple rules for one}
\entry {static pattern rule}{34}{static pattern rule}
\entry {rule, static pattern}{34}{rule, static pattern}
\entry {pattern rules, static (not implicit)}{34}{pattern rules, static (not implicit)}
\entry {varying dependencies}{34}{varying dependencies}
\entry {dependencies, varying (static pattern)}{34}{dependencies, varying (static pattern)}
\entry {static pattern rule, syntax of}{34}{static pattern rule, syntax of}
\entry {pattern rules, static, syntax of}{34}{pattern rules, static, syntax of}
\entry {target pattern, static (not implicit)}{35}{target pattern, static (not implicit)}
\entry {stem}{35}{stem}
\entry {dependency pattern, static (not implicit)}{35}{dependency pattern, static (not implicit)}
\entry {%, quoting in static pattern}{35}{\code {%}, quoting in static pattern}
\entry {%, quoting with {\tt\indexbackslash } (backslash)}{35}{\code {%}, quoting with \code {{\tt\indexbackslash }} (backslash)}
\entry {{\tt\indexbackslash } (backslash), to quote %}{35}{\code {{\tt\indexbackslash }} (backslash), to quote \code {%}}
\entry {backslash ({\tt\indexbackslash }), to quote %}{35}{backslash (\code {{\tt\indexbackslash }}), to quote \code {%}}
\entry {quoting %, in static pattern}{35}{quoting \code {%}, in static pattern}
\entry {rule, static pattern versus implicit}{36}{rule, static pattern versus implicit}
\entry {static pattern rule, versus implicit}{36}{static pattern rule, versus implicit}
\entry {double-colon rules}{37}{double-colon rules}
\entry {rule, double-colon (::)}{37}{rule, double-colon (\code {::})}
\entry {multiple rules for one target (::)}{37}{multiple rules for one target (\code {::})}
\entry {:: rules (double-colon)}{37}{\code {::} rules (double-colon)}
\entry {dependencies, automatic generation}{37}{dependencies, automatic generation}
\entry {automatic generation of dependencies}{37}{automatic generation of dependencies}
\entry {generating dependencies automatically}{37}{generating dependencies automatically}
\entry {#include}{38}{\code {#include}}
\entry {-M (to compiler)}{38}{\code {-M} (to compiler)}
\entry {make depend}{38}{\code {make depend}}
\entry {-e (shell flag)}{39}{\code {-e} (shell flag)}
\entry {-MM (to GNU compiler)}{39}{\code {-MM} (to GNU compiler)}
\entry {sed (shell command)}{39}{\code {sed} (shell command)}
\entry {.d}{39}{\code {.d}}
\entry {commands, how to write}{41}{commands, how to write}
\entry {rule commands}{41}{rule commands}
\entry {writing rule commands}{41}{writing rule commands}
\entry {comments, in commands}{41}{comments, in commands}
\entry {commands, comments in}{41}{commands, comments in}
\entry {# (comments), in commands}{41}{\code {#} (comments), in commands}
\entry {echoing of commands}{41}{echoing of commands}
\entry {silent operation}{41}{silent operation}
\entry {{\tt\char'100} (in commands)}{41}{\code {{\tt\char'100}} (in commands)}
\entry {commands, echoing}{41}{commands, echoing}
\entry {printing of commands}{41}{printing of commands}
\entry {-n}{41}{\code {-n}}
\entry {--just-print}{41}{\code {--just-print}}
\entry {--dry-run}{41}{\code {--dry-run}}
\entry {--recon}{41}{\code {--recon}}
\entry {-s}{41}{\code {-s}}
\entry {--silent}{41}{\code {--silent}}
\entry {--quiet}{41}{\code {--quiet}}
\entry {commands, execution}{42}{commands, execution}
\entry {execution, of commands}{42}{execution, of commands}
\entry {shell command, execution}{42}{shell command, execution}
\entry {cd (shell command)}{42}{\code {cd} (shell command)}
\entry {commands, backslash ({\tt\indexbackslash }) in}{42}{commands, backslash (\code {{\tt\indexbackslash }}) in}
\entry {commands, quoting newlines in}{42}{commands, quoting newlines in}
\entry {backslash ({\tt\indexbackslash }), in commands}{42}{backslash (\code {{\tt\indexbackslash }}), in commands}
\entry {{\tt\indexbackslash } (backslash), in commands}{42}{\code {{\tt\indexbackslash }} (backslash), in commands}
\entry {quoting newline, in commands}{42}{quoting newline, in commands}
\entry {newline, quoting, in commands}{42}{newline, quoting, in commands}
\entry {environment, SHELL in}{42}{environment, \code {SHELL} in}
\entry {commands, execution in parallel}{42}{commands, execution in parallel}
\entry {parallel execution}{42}{parallel execution}
\entry {execution, in parallel}{42}{execution, in parallel}
\entry {job slots}{42}{job slots}
\entry {-j}{42}{\code {-j}}
\entry {--jobs}{42}{\code {--jobs}}
\entry {broken pipe}{43}{broken pipe}
\entry {standard input}{43}{standard input}
\entry {load average}{43}{load average}
\entry {limiting jobs based on load}{43}{limiting jobs based on load}
\entry {jobs, limiting based on load}{43}{jobs, limiting based on load}
\entry {-l (load average)}{43}{\code {-l} (load average)}
\entry {--max-load}{43}{\code {--max-load}}
\entry {--load-average}{43}{\code {--load-average}}
\entry {errors (in commands)}{44}{errors (in commands)}
\entry {commands, errors in}{44}{commands, errors in}
\entry {exit status (errors)}{44}{exit status (errors)}
\entry {- (in commands)}{44}{\code {-} (in commands)}
\entry {rm (shell command)}{44}{\code {rm} (shell command)}
\entry {-i}{44}{\code {-i}}
\entry {--ignore-errors}{44}{\code {--ignore-errors}}
\entry {-k}{45}{\code {-k}}
\entry {--keep-going}{45}{\code {--keep-going}}
\entry {Emacs (M-x compile)}{45}{Emacs (\code {M-x compile})}
\entry {deletion of target files}{45}{deletion of target files}
\entry {removal of target files}{45}{removal of target files}
\entry {target, deleting on error}{45}{target, deleting on error}
\entry {interrupt}{45}{interrupt}
\entry {signal}{45}{signal}
\entry {deletion of target files}{45}{deletion of target files}
\entry {removal of target files}{45}{removal of target files}
\entry {target, deleting on interrupt}{45}{target, deleting on interrupt}
\entry {killing (interruption)}{45}{killing (interruption)}
\entry {recursion}{46}{recursion}
\entry {subdirectories, recursion for}{46}{subdirectories, recursion for}
\entry {-C}{46}{\code {-C}}
\entry {--directory}{46}{\code {--directory}}
\entry {recursion, and MAKE variable}{46}{recursion, and \code {MAKE} variable}
\entry {cd (shell command)}{47}{\code {cd} (shell command)}
\entry {-t, and recursion}{47}{\code {-t}, and recursion}
\entry {recursion, and -t}{47}{recursion, and \code {-t}}
\entry {--touch, and recursion}{47}{\code {--touch}, and recursion}
\entry {sub-make}{47}{sub-\code {make}}
\entry {environment, and recursion}{47}{environment, and recursion}
\entry {exporting variables}{47}{exporting variables}
\entry {variables, environment}{47}{variables, environment}
\entry {variables, exporting}{47}{variables, exporting}
\entry {recursion, and environment}{47}{recursion, and environment}
\entry {recursion, and variables}{47}{recursion, and variables}
\entry {compatibility in exporting}{49}{compatibility in exporting}
\entry {recursion, level of}{49}{recursion, level of}
\entry {options, and recursion}{50}{options, and recursion}
\entry {recursion, and options}{50}{recursion, and options}
\entry {command line variable definitions, and recursion}{50}{command line variable definitions, and recursion}
\entry {variables, command line, and recursion}{50}{variables, command line, and recursion}
\entry {recursion, and command line variable definitions}{50}{recursion, and command line variable definitions}
\entry {-C, and recursion}{50}{\code {-C}, and recursion}
\entry {-f, and recursion}{50}{\code {-f}, and recursion}
\entry {-o, and recursion}{50}{\code {-o}, and recursion}
\entry {-W, and recursion}{50}{\code {-W}, and recursion}
\entry {--directory, and recursion}{50}{\code {--directory}, and recursion}
\entry {--file, and recursion}{50}{\code {--file}, and recursion}
\entry {--old-file, and recursion}{50}{\code {--old-file}, and recursion}
\entry {--assume-old, and recursion}{50}{\code {--assume-old}, and recursion}
\entry {--assume-new, and recursion}{50}{\code {--assume-new}, and recursion}
\entry {--new-file, and recursion}{50}{\code {--new-file}, and recursion}
\entry {recursion, and -C}{50}{recursion, and \code {-C}}
\entry {recursion, and -f}{50}{recursion, and \code {-f}}
\entry {recursion, and -o}{50}{recursion, and \code {-o}}
\entry {recursion, and -W}{50}{recursion, and \code {-W}}
\entry {-j, and recursion}{50}{\code {-j}, and recursion}
\entry {--jobs, and recursion}{50}{\code {--jobs}, and recursion}
\entry {recursion, and -j}{50}{recursion, and \code {-j}}
\entry {job slots, and recursion}{50}{job slots, and recursion}
\entry {Arg list too long}{51}{Arg list too long}
\entry {E2BIG}{51}{E2BIG}
\entry {POSIX.2}{51}{POSIX.2}
\entry {setting options from environment}{51}{setting options from environment}
\entry {options, setting from environment}{51}{options, setting from environment}
\entry {setting options in makefiles}{51}{setting options in makefiles}
\entry {options, setting in makefiles}{51}{options, setting in makefiles}
\entry {directories, printing them}{52}{directories, printing them}
\entry {printing directories}{52}{printing directories}
\entry {recursion, and printing directories}{52}{recursion, and printing directories}
\entry {-C, and -w}{52}{\code {-C}, and \code {-w}}
\entry {--directory, and --print-directory}{52}{\code {--directory}, and \code {--print-directory}}
\entry {recursion, and -w}{52}{recursion, and \code {-w}}
\entry {-w, and -C}{52}{\code {-w}, and \code {-C}}
\entry {-w, and recursion}{52}{\code {-w}, and recursion}
\entry {--print-directory, and --directory}{52}{\code {--print-directory}, and \code {--directory}}
\entry {--print-directory, and recursion}{52}{\code {--print-directory}, and recursion}
\entry {--no-print-directory}{52}{\code {--no-print-directory}}
\entry {--print-directory, disabling}{52}{\code {--print-directory}, disabling}
\entry {-w, disabling}{52}{\code {-w}, disabling}
\entry {sequences of commands}{52}{sequences of commands}
\entry {commands, sequences of}{52}{commands, sequences of}
\entry {yacc}{53}{\code {yacc}}
\entry {{\tt\char'100}, and define}{53}{{\tt\char'100}, and \code {define}}
\entry {-, and define}{53}{-, and \code {define}}
\entry {{\tt\char43}, and define}{53}{{\tt\char43}, and \code {define}}
\entry {empty commands}{54}{empty commands}
\entry {commands, empty}{54}{commands, empty}
\entry {variable}{55}{variable}
\entry {value}{55}{value}
\entry {recursive variable expansion}{55}{recursive variable expansion}
\entry {simple variable expansion}{55}{simple variable expansion}
\entry {macro}{55}{macro}
\entry {variables, how to reference}{55}{variables, how to reference}
\entry {reference to variables}{55}{reference to variables}
\entry {$, in variable reference}{55}{\code {$}, in variable reference}
\entry {dollar sign ($), in variable reference}{55}{dollar sign (\code {$}), in variable reference}
\entry {flavors of variables}{56}{flavors of variables}
\entry {recursive variable expansion}{56}{recursive variable expansion}
\entry {variables, flavors}{56}{variables, flavors}
\entry {recursively expanded variables}{56}{recursively expanded variables}
\entry {variables, recursively expanded}{56}{variables, recursively expanded}
\entry {=}{56}{=}
\entry {loops in variable expansion}{57}{loops in variable expansion}
\entry {variables, loops in expansion}{57}{variables, loops in expansion}
\entry {simply expanded variables}{57}{simply expanded variables}
\entry {variables, simply expanded}{57}{variables, simply expanded}
\entry {:=}{57}{:=}
\entry {spaces, in variable values}{58}{spaces, in variable values}
\entry {whitespace, in variable values}{58}{whitespace, in variable values}
\entry {variables, spaces in values}{58}{variables, spaces in values}
\entry {reference to variables}{59}{reference to variables}
\entry {modified variable reference}{59}{modified variable reference}
\entry {substitution variable reference}{59}{substitution variable reference}
\entry {variables, modified reference}{59}{variables, modified reference}
\entry {variables, substitution reference}{59}{variables, substitution reference}
\entry {variables, substituting suffix in}{59}{variables, substituting suffix in}
\entry {suffix, substituting in variables}{59}{suffix, substituting in variables}
\entry {nested variable reference}{60}{nested variable reference}
\entry {computed variable name}{60}{computed variable name}
\entry {variables, computed names}{60}{variables, computed names}
\entry {variables, nested references}{60}{variables, nested references}
\entry {variables, $ in name}{60}{variables, \samp {$} in name}
\entry {$, in variable name}{60}{\code {$}, in variable name}
\entry {dollar sign ($), in variable name}{60}{dollar sign (\code {$}), in variable name}
\entry {variables, how they get their values}{63}{variables, how they get their values}
\entry {value, how a variable gets it}{63}{value, how a variable gets it}
\entry {setting variables}{63}{setting variables}
\entry {variables, setting}{63}{variables, setting}
\entry {=}{63}{=}
\entry {:=}{63}{:=}
\entry {{\tt\char43}=}{64}{{\tt\char43}=}
\entry {appending to variables}{64}{appending to variables}
\entry {variables, appending to}{64}{variables, appending to}
\entry {overriding with override}{66}{overriding with \code {override}}
\entry {variables, overriding}{66}{variables, overriding}
\entry {verbatim variable definition}{67}{verbatim variable definition}
\entry {defining variables verbatim}{67}{defining variables verbatim}
\entry {variables, defining verbatim}{67}{variables, defining verbatim}
\entry {variables, environment}{68}{variables, environment}
\entry {environment}{68}{environment}
\entry {conditionals}{71}{conditionals}
\entry {functions}{77}{functions}
\entry {$, in function call}{77}{\code {$}, in function call}
\entry {dollar sign ($), in function call}{77}{dollar sign (\code {$}), in function call}
\entry {arguments of functions}{77}{arguments of functions}
\entry {functions, syntax of}{77}{functions, syntax of}
\entry {functions, for text}{78}{functions, for text}
\entry {%, quoting in patsubst}{78}{\code {%}, quoting in \code {patsubst}}
\entry {%, quoting with {\tt\indexbackslash } (backslash)}{78}{\code {%}, quoting with \code {{\tt\indexbackslash }} (backslash)}
\entry {{\tt\indexbackslash } (backslash), to quote %}{78}{\code {{\tt\indexbackslash }} (backslash), to quote \code {%}}
\entry {backslash ({\tt\indexbackslash }), to quote %}{78}{backslash (\code {{\tt\indexbackslash }}), to quote \code {%}}
\entry {quoting %, in patsubst}{78}{quoting \code {%}, in \code {patsubst}}
\entry {stripping whitespace}{79}{stripping whitespace}
\entry {whitespace, stripping}{79}{whitespace, stripping}
\entry {spaces, stripping}{79}{spaces, stripping}
\entry {searching for strings}{79}{searching for strings}
\entry {finding strings}{79}{finding strings}
\entry {strings, searching for}{79}{strings, searching for}
\entry {filtering words}{80}{filtering words}
\entry {words, filtering}{80}{words, filtering}
\entry {filtering out words}{80}{filtering out words}
\entry {words, filtering out}{80}{words, filtering out}
\entry {sorting words}{80}{sorting words}
\entry {removing duplicate words}{80}{removing duplicate words}
\entry {duplicate words, removing}{80}{duplicate words, removing}
\entry {words, removing duplicates}{80}{words, removing duplicates}
\entry {functions, for file names}{81}{functions, for file names}
\entry {file name functions}{81}{file name functions}
\entry {directory part}{81}{directory part}
\entry {file name, directory part}{81}{file name, directory part}
\entry {file name, nondirectory part}{81}{file name, nondirectory part}
\entry {nondirectory part}{81}{nondirectory part}
\entry {suffix, function to find}{82}{suffix, function to find}
\entry {file name suffix}{82}{file name suffix}
\entry {basename}{82}{basename}
\entry {file name, basename of}{82}{file name, basename of}
\entry {suffix, adding}{82}{suffix, adding}
\entry {file name suffix, adding}{82}{file name suffix, adding}
\entry {prefix, adding}{82}{prefix, adding}
\entry {file name prefix, adding}{82}{file name prefix, adding}
\entry {joining lists of words}{82}{joining lists of words}
\entry {words, joining lists}{82}{words, joining lists}
\entry {words, selecting}{83}{words, selecting}
\entry {selecting words}{83}{selecting words}
\entry {words, finding number}{83}{words, finding number}
\entry {words, extracting first}{83}{words, extracting first}
\entry {wildcard, function}{83}{wildcard, function}
\entry {words, iterating over}{83}{words, iterating over}
\entry {variables, origin of}{85}{variables, origin of}
\entry {origin of variable}{85}{origin of variable}
\entry {commands, expansion}{87}{commands, expansion}
\entry {backquotes}{87}{backquotes}
\entry {shell command, function for}{87}{shell command, function for}
\entry {--file}{89}{\code {--file}}
\entry {--makefile}{89}{\code {--makefile}}
\entry {-f}{89}{\code {-f}}
\entry {goal, how to specify}{90}{goal, how to specify}
\entry {all (standard target)}{91}{\code {all} \r {(standard target)}}
\entry {clean (standard target)}{91}{\code {clean} \r {(standard target)}}
\entry {mostlyclean (standard target)}{91}{\code {mostlyclean} \r {(standard target)}}
\entry {distclean (standard target)}{91}{\code {distclean} \r {(standard target)}}
\entry {realclean (standard target)}{91}{\code {realclean} \r {(standard target)}}
\entry {clobber (standard target)}{91}{\code {clobber} \r {(standard target)}}
\entry {install (standard target)}{91}{\code {install} \r {(standard target)}}
\entry {print (standard target)}{91}{\code {print} \r {(standard target)}}
\entry {tar (standard target)}{91}{\code {tar} \r {(standard target)}}
\entry {shar (standard target)}{91}{\code {shar} \r {(standard target)}}
\entry {dist (standard target)}{91}{\code {dist} \r {(standard target)}}
\entry {TAGS (standard target)}{91}{\code {TAGS} \r {(standard target)}}
\entry {check (standard target)}{91}{\code {check} \r {(standard target)}}
\entry {test (standard target)}{91}{\code {test} \r {(standard target)}}
\entry {execution, instead of}{91}{execution, instead of}
\entry {commands, instead of executing}{91}{commands, instead of executing}
\entry {--just-print}{91}{\code {--just-print}}
\entry {--dry-run}{91}{\code {--dry-run}}
\entry {--recon}{91}{\code {--recon}}
\entry {-n}{91}{\code {-n}}
\entry {--touch}{92}{\code {--touch}}
\entry {touching files}{92}{touching files}
\entry {target, touching}{92}{target, touching}
\entry {-t}{92}{\code {-t}}
\entry {--question}{92}{\code {--question}}
\entry {-q}{92}{\code {-q}}
\entry {question mode}{92}{question mode}
\entry {--what-if}{92}{\code {--what-if}}
\entry {-W}{92}{\code {-W}}
\entry {--assume-new}{92}{\code {--assume-new}}
\entry {--new-file}{92}{\code {--new-file}}
\entry {what if}{92}{what if}
\entry {files, assuming new}{92}{files, assuming new}
\entry {-o}{93}{\code {-o}}
\entry {--old-file}{93}{\code {--old-file}}
\entry {--assume-old}{93}{\code {--assume-old}}
\entry {files, assuming old}{93}{files, assuming old}
\entry {files, avoiding recompilation of}{93}{files, avoiding recompilation of}
\entry {recompilation, avoiding}{93}{recompilation, avoiding}
\entry {overriding variables with arguments}{94}{overriding variables with arguments}
\entry {variables, overriding with arguments}{94}{variables, overriding with arguments}
\entry {command line variables}{94}{command line variables}
\entry {variables, command line}{94}{variables, command line}
\entry {testing compilation}{95}{testing compilation}
\entry {compilation, testing}{95}{compilation, testing}
\entry {-k}{95}{\code {-k}}
\entry {--keep-going}{95}{\code {--keep-going}}
\entry {options}{95}{options}
\entry {flags}{95}{flags}
\entry {switches}{95}{switches}
\entry {-b}{95}{\code {-b}}
\entry {-m}{95}{\code {-m}}
\entry {-C}{95}{\code {-C}}
\entry {--directory}{95}{\code {--directory}}
\entry {-d}{96}{\code {-d}}
\entry {--debug}{96}{\code {--debug}}
\entry {-e}{96}{\code {-e}}
\entry {--environment-overrides}{96}{\code {--environment-overrides}}
\entry {-f}{96}{\code {-f}}
\entry {--file}{96}{\code {--file}}
\entry {--makefile}{96}{\code {--makefile}}
\entry {-h}{96}{\code {-h}}
\entry {--help}{96}{\code {--help}}
\entry {-i}{96}{\code {-i}}
\entry {--ignore-errors}{96}{\code {--ignore-errors}}
\entry {-I}{96}{\code {-I}}
\entry {--include-dir}{96}{\code {--include-dir}}
\entry {-j}{96}{\code {-j}}
\entry {--jobs}{96}{\code {--jobs}}
\entry {-k}{96}{\code {-k}}
\entry {--keep-going}{96}{\code {--keep-going}}
\entry {-l}{97}{\code {-l}}
\entry {--load-average}{97}{\code {--load-average}}
\entry {--max-load}{97}{\code {--max-load}}
\entry {-n}{97}{\code {-n}}
\entry {--just-print}{97}{\code {--just-print}}
\entry {--dry-run}{97}{\code {--dry-run}}
\entry {--recon}{97}{\code {--recon}}
\entry {-o}{97}{\code {-o}}
\entry {--old-file}{97}{\code {--old-file}}
\entry {--assume-old}{97}{\code {--assume-old}}
\entry {-p}{97}{\code {-p}}
\entry {--print-data-base}{97}{\code {--print-data-base}}
\entry {-q}{97}{\code {-q}}
\entry {--question}{97}{\code {--question}}
\entry {-r}{97}{\code {-r}}
\entry {--no-builtin-rules}{97}{\code {--no-builtin-rules}}
\entry {-s}{97}{\code {-s}}
\entry {--silent}{98}{\code {--silent}}
\entry {--quiet}{98}{\code {--quiet}}
\entry {-S}{98}{\code {-S}}
\entry {--no-keep-going}{98}{\code {--no-keep-going}}
\entry {--stop}{98}{\code {--stop}}
\entry {-t}{98}{\code {-t}}
\entry {--touch}{98}{\code {--touch}}
\entry {-v}{98}{\code {-v}}
\entry {--version}{98}{\code {--version}}
\entry {-w}{98}{\code {-w}}
\entry {--print-directory}{98}{\code {--print-directory}}
\entry {--no-print-directory}{98}{\code {--no-print-directory}}
\entry {-W}{98}{\code {-W}}
\entry {--what-if}{98}{\code {--what-if}}
\entry {--new-file}{98}{\code {--new-file}}
\entry {--assume-new}{98}{\code {--assume-new}}
\entry {--warn-undefined-variables}{99}{\code {--warn-undefined-variables}}
\entry {variables, warning for undefined}{99}{variables, warning for undefined}
\entry {undefined variables, warning message}{99}{undefined variables, warning message}
\entry {implicit rule}{101}{implicit rule}
\entry {rule, implicit}{101}{rule, implicit}
\entry {implicit rule, how to use}{101}{implicit rule, how to use}
\entry {rule, implicit, how to use}{101}{rule, implicit, how to use}
\entry {implicit rule, predefined}{103}{implicit rule, predefined}
\entry {rule, implicit, predefined}{103}{rule, implicit, predefined}
\entry {C, rule to compile}{103}{C, rule to compile}
\entry {cc}{103}{\code {cc}}
\entry {gcc}{103}{\code {gcc}}
\entry {.o}{103}{\code {.o}}
\entry {.c}{103}{\code {.c}}
\entry {C{\tt\char43}{\tt\char43}, rule to compile}{103}{C{\tt\char43}{\tt\char43}, rule to compile}
\entry {g{\tt\char43}{\tt\char43}}{103}{\code {g{\tt\char43}{\tt\char43}}}
\entry {.C}{103}{\code {.C}}
\entry {.cc}{103}{\code {.cc}}
\entry {Pascal, rule to compile}{103}{Pascal, rule to compile}
\entry {pc}{103}{\code {pc}}
\entry {.p}{103}{\code {.p}}
\entry {Fortran, rule to compile}{103}{Fortran, rule to compile}
\entry {Ratfor, rule to compile}{103}{Ratfor, rule to compile}
\entry {f77}{103}{\code {f77}}
\entry {.f}{103}{\code {.f}}
\entry {.r}{103}{\code {.r}}
\entry {.F}{103}{\code {.F}}
\entry {Modula-2, rule to compile}{104}{Modula-2, rule to compile}
\entry {m2c}{104}{\code {m2c}}
\entry {.sym}{104}{\code {.sym}}
\entry {.def}{104}{\code {.def}}
\entry {.mod}{104}{\code {.mod}}
\entry {assembly, rule to compile}{104}{assembly, rule to compile}
\entry {as}{104}{\code {as}}
\entry {.s}{104}{\code {.s}}
\entry {.S}{104}{\code {.S}}
\entry {linking, predefined rule for}{104}{linking, predefined rule for}
\entry {ld}{104}{\code {ld}}
\entry {.o}{104}{\code {.o}}
\entry {yacc}{105}{\code {yacc}}
\entry {Yacc, rule to run}{105}{Yacc, rule to run}
\entry {.y}{105}{\code {.y}}
\entry {lex}{105}{\code {lex}}
\entry {Lex, rule to run}{105}{Lex, rule to run}
\entry {.l}{105}{\code {.l}}
\entry {lint}{105}{\code {lint}}
\entry {lint, rule to run}{105}{\code {lint}, rule to run}
\entry {.ln}{105}{\code {.ln}}
\entry {TeX{}, rule to run}{105}{\TeX{}, rule to run}
\entry {Web, rule to run}{105}{Web, rule to run}
\entry {tex}{105}{\code {tex}}
\entry {cweave}{105}{\code {cweave}}
\entry {weave}{105}{\code {weave}}
\entry {tangle}{105}{\code {tangle}}
\entry {ctangle}{105}{\code {ctangle}}
\entry {.dvi}{105}{\code {.dvi}}
\entry {.tex}{105}{\code {.tex}}
\entry {.web}{105}{\code {.web}}
\entry {.w}{105}{\code {.w}}
\entry {.ch}{105}{\code {.ch}}
\entry {Texinfo, rule to format}{105}{Texinfo, rule to format}
\entry {Info, rule to format}{105}{Info, rule to format}
\entry {texi2dvi}{105}{\code {texi2dvi}}
\entry {makeinfo}{105}{\code {makeinfo}}
\entry {.texinfo}{105}{\code {.texinfo}}
\entry {.info}{105}{\code {.info}}
\entry {.texi}{105}{\code {.texi}}
\entry {.txinfo}{105}{\code {.txinfo}}
\entry {RCS, rule to extract from}{105}{RCS, rule to extract from}
\entry {co}{105}{\code {co}}
\entry {,v (RCS file extension)}{105}{\code {,v \r {(RCS file extension)}}}
\entry {SCCS, rule to extract from}{105}{SCCS, rule to extract from}
\entry {get}{105}{\code {get}}
\entry {s. (SCCS file prefix)}{105}{\code {s. \r {(SCCS file prefix)}}}
\entry {.sh}{105}{\code {.sh}}
\entry {flags for compilers}{106}{flags for compilers}
\entry {ar}{107}{\code {ar}}
\entry {as}{107}{\code {as}}
\entry {cc}{107}{\code {cc}}
\entry {g{\tt\char43}{\tt\char43}}{107}{\code {g{\tt\char43}{\tt\char43}}}
\entry {co}{107}{\code {co}}
\entry {f77}{107}{\code {f77}}
\entry {get}{107}{\code {get}}
\entry {lex}{107}{\code {lex}}
\entry {pc}{107}{\code {pc}}
\entry {yacc}{107}{\code {yacc}}
\entry {makeinfo}{107}{\code {makeinfo}}
\entry {tex}{107}{\code {tex}}
\entry {texi2dvi}{107}{\code {texi2dvi}}
\entry {weave}{107}{\code {weave}}
\entry {cweave}{107}{\code {cweave}}
\entry {tangle}{107}{\code {tangle}}
\entry {ctangle}{107}{\code {ctangle}}
\entry {rm}{107}{\code {rm}}
\entry {chains of rules}{108}{chains of rules}
\entry {rule, implicit, chains of}{108}{rule, implicit, chains of}
\entry {intermediate files}{108}{intermediate files}
\entry {files, intermediate}{108}{files, intermediate}
\entry {intermediate files, preserving}{109}{intermediate files, preserving}
\entry {preserving intermediate files}{109}{preserving intermediate files}
\entry {preserving with .PRECIOUS}{109}{preserving with \code {.PRECIOUS}}
\entry {.PRECIOUS intermediate files}{109}{\code {.PRECIOUS} intermediate files}
\entry {pattern rule}{110}{pattern rule}
\entry {rule, pattern}{110}{rule, pattern}
\entry {target pattern, implicit}{110}{target pattern, implicit}
\entry {%, in pattern rules}{110}{\code {%}, in pattern rules}
\entry {dependency pattern, implicit}{110}{dependency pattern, implicit}
\entry {multiple targets, in pattern rule}{110}{multiple targets, in pattern rule}
\entry {target, multiple in pattern rule}{110}{target, multiple in pattern rule}
\entry {pattern rules, order of}{111}{pattern rules, order of}
\entry {order of pattern rules}{111}{order of pattern rules}
\entry {automatic variables}{112}{automatic variables}
\entry {variables, automatic}{112}{variables, automatic}
\entry {variables, and implicit rule}{112}{variables, and implicit rule}
\entry {dependencies, list of changed}{112}{dependencies, list of changed}
\entry {list of changed dependencies}{112}{list of changed dependencies}
\entry {dependencies, list of all}{112}{dependencies, list of all}
\entry {list of all dependencies}{112}{list of all dependencies}
\entry {stem, variable for}{113}{stem, variable for}
\entry {stem}{114}{stem}
\entry {match-anything rule}{115}{match-anything rule}
\entry {terminal rule}{115}{terminal rule}
\entry {last-resort default rules}{116}{last-resort default rules}
\entry {default rules, last-resort}{116}{default rules, last-resort}
\entry {old-fashioned suffix rules}{117}{old-fashioned suffix rules}
\entry {suffix rule}{117}{suffix rule}
\entry {implicit rule, search algorithm}{119}{implicit rule, search algorithm}
\entry {search algorithm, implicit rule}{119}{search algorithm, implicit rule}
\entry {archive}{121}{archive}
\entry {archive member targets}{121}{archive member targets}
\entry {wildcard, in archive member}{121}{wildcard, in archive member}
\entry {{\_}{\_}.SYMDEF}{123}{\code {{\_}{\_}.SYMDEF}}
\entry {updating archive symbol directories}{123}{updating archive symbol directories}
\entry {archive symbol directory updating}{123}{archive symbol directory updating}
\entry {symbol directories, updating archive}{123}{symbol directories, updating archive}
\entry {directories, updating archive symbol}{123}{directories, updating archive symbol}
\entry {archive, and parallel execution}{123}{archive, and parallel execution}
\entry {parallel execution, and archive update}{123}{parallel execution, and archive update}
\entry {archive, and -j}{123}{archive, and \code {-j}}
\entry {-j, and archive update}{123}{\code {-j}, and archive update}
\entry {suffix rule, for archive}{124}{suffix rule, for archive}
\entry {archive, suffix rule for}{124}{archive, suffix rule for}
\entry {library archive, suffix rule for}{124}{library archive, suffix rule for}
\entry {.a (archives)}{124}{\code {.a} (archives)}
\entry {features of GNU make}{125}{features of GNU \code {make}}
\entry {portability}{125}{portability}
\entry {compatibility}{125}{compatibility}
\entry {incompatibilities}{129}{incompatibilities}
\entry {missing features}{129}{missing features}
\entry {features, missing}{129}{features, missing}
\entry {makefile, conventions for}{131}{makefile, conventions for}
\entry {conventions for makefiles}{131}{conventions for makefiles}
\entry {standards for makefiles}{131}{standards for makefiles}

View File

@@ -1,652 +0,0 @@
\initial {#}
\entry {\code {#} (comments), in commands}{41}
\entry {\code {#} (comments), in makefile}{13}
\entry {\code {#include}}{38}
\initial {$}
\entry {\code {$}, in function call}{77}
\entry {\code {$}, in rules}{20}
\entry {\code {$}, in variable name}{60}
\entry {\code {$}, in variable reference}{55}
\initial {%}
\entry {\code {%}, in pattern rules}{110}
\entry {\code {%}, quoting in \code {patsubst}}{78}
\entry {\code {%}, quoting in static pattern}{35}
\entry {\code {%}, quoting in \code {vpath}}{25}
\entry {\code {%}, quoting with \code {{\tt\indexbackslash }} (backslash)}{25, 35, 78}
\initial {*}
\entry {\code {*} (wildcard character)}{20}
\initial {,}
\entry {\code {,v \r {(RCS file extension)}}}{105}
\initial {-}
\entry {\code {-} (in commands)}{44}
\entry {-, and \code {define}}{53}
\entry {\code {--assume-new}}{92, 98}
\entry {\code {--assume-new}, and recursion}{50}
\entry {\code {--assume-old}}{93, 97}
\entry {\code {--assume-old}, and recursion}{50}
\entry {\code {--debug}}{96}
\entry {\code {--directory}}{46, 95}
\entry {\code {--directory}, and \code {--print-directory}}{52}
\entry {\code {--directory}, and recursion}{50}
\entry {\code {--dry-run}}{41, 91, 97}
\entry {\code {--environment-overrides}}{96}
\entry {\code {--file}}{14, 89, 96}
\entry {\code {--file}, and recursion}{50}
\entry {\code {--help}}{96}
\entry {\code {--ignore-errors}}{44, 96}
\entry {\code {--include-dir}}{15, 96}
\entry {\code {--jobs}}{42, 96}
\entry {\code {--jobs}, and recursion}{50}
\entry {\code {--just-print}}{41, 91, 97}
\entry {\code {--keep-going}}{45, 95, 96}
\entry {\code {--load-average}}{43, 97}
\entry {\code {--makefile}}{14, 89, 96}
\entry {\code {--max-load}}{43, 97}
\entry {\code {--new-file}}{92, 98}
\entry {\code {--new-file}, and recursion}{50}
\entry {\code {--no-builtin-rules}}{97}
\entry {\code {--no-keep-going}}{98}
\entry {\code {--no-print-directory}}{52, 98}
\entry {\code {--old-file}}{93, 97}
\entry {\code {--old-file}, and recursion}{50}
\entry {\code {--print-data-base}}{97}
\entry {\code {--print-directory}}{98}
\entry {\code {--print-directory}, and \code {--directory}}{52}
\entry {\code {--print-directory}, and recursion}{52}
\entry {\code {--print-directory}, disabling}{52}
\entry {\code {--question}}{92, 97}
\entry {\code {--quiet}}{41, 98}
\entry {\code {--recon}}{41, 91, 97}
\entry {\code {--silent}}{41, 98}
\entry {\code {--stop}}{98}
\entry {\code {--touch}}{92, 98}
\entry {\code {--touch}, and recursion}{47}
\entry {\code {--version}}{98}
\entry {\code {--warn-undefined-variables}}{99}
\entry {\code {--what-if}}{92, 98}
\entry {\code {-b}}{95}
\entry {\code {-C}}{46, 95}
\entry {\code {-C}, and \code {-w}}{52}
\entry {\code {-C}, and recursion}{50}
\entry {\code {-d}}{96}
\entry {\code {-e}}{96}
\entry {\code {-e} (shell flag)}{39}
\entry {\code {-f}}{14, 89, 96}
\entry {\code {-f}, and recursion}{50}
\entry {\code {-h}}{96}
\entry {\code {-i}}{44, 96}
\entry {\code {-I}}{15, 96}
\entry {\code {-j}}{42, 96}
\entry {\code {-j}, and archive update}{123}
\entry {\code {-j}, and recursion}{50}
\entry {\code {-k}}{45, 95, 96}
\entry {\code {-l}}{97}
\entry {\code {-l} (library search)}{27}
\entry {\code {-l} (load average)}{43}
\entry {\code {-m}}{95}
\entry {\code {-M} (to compiler)}{38}
\entry {\code {-MM} (to GNU compiler)}{39}
\entry {\code {-n}}{41, 91, 97}
\entry {\code {-o}}{93, 97}
\entry {\code {-o}, and recursion}{50}
\entry {\code {-p}}{97}
\entry {\code {-q}}{92, 97}
\entry {\code {-r}}{97}
\entry {\code {-s}}{41, 97}
\entry {\code {-S}}{98}
\entry {\code {-t}}{92, 98}
\entry {\code {-t}, and recursion}{47}
\entry {\code {-v}}{98}
\entry {\code {-w}}{98}
\entry {\code {-W}}{92, 98}
\entry {\code {-w}, and \code {-C}}{52}
\entry {\code {-w}, and recursion}{52}
\entry {\code {-W}, and recursion}{50}
\entry {\code {-w}, disabling}{52}
\initial {.}
\entry {\code {.a} (archives)}{124}
\entry {\code {.c}}{103}
\entry {\code {.C}}{103}
\entry {\code {.cc}}{103}
\entry {\code {.ch}}{105}
\entry {\code {.d}}{39}
\entry {\code {.def}}{104}
\entry {\code {.dvi}}{105}
\entry {\code {.f}}{103}
\entry {\code {.F}}{103}
\entry {\code {.info}}{105}
\entry {\code {.l}}{105}
\entry {\code {.ln}}{105}
\entry {\code {.mod}}{104}
\entry {\code {.o}}{103, 104}
\entry {\code {.p}}{103}
\entry {\code {.PRECIOUS} intermediate files}{109}
\entry {\code {.r}}{103}
\entry {\code {.s}}{104}
\entry {\code {.S}}{104}
\entry {\code {.sh}}{105}
\entry {\code {.sym}}{104}
\entry {\code {.tex}}{105}
\entry {\code {.texi}}{105}
\entry {\code {.texinfo}}{105}
\entry {\code {.txinfo}}{105}
\entry {\code {.w}}{105}
\entry {\code {.web}}{105}
\entry {\code {.y}}{105}
\initial {:}
\entry {\code {::} rules (double-colon)}{37}
\entry {:=}{57, 63}
\initial {=}
\entry {=}{56, 63}
\initial {?}
\entry {\code {?} (wildcard character)}{20}
\initial {[}
\entry {\code {[\dots {}]} (wildcard characters)}{20}
\initial {{\_}}
\entry {\code {{\_}{\_}.SYMDEF}}{123}
\initial {{\tt\char'100}}
\entry {\code {{\tt\char'100}} (in commands)}{41}
\entry {{\tt\char'100}, and \code {define}}{53}
\initial {{\tt\char'176}}
\entry {\code {{\tt\char'176}} (tilde)}{20}
\initial {{\tt\char43}}
\entry {{\tt\char43}, and \code {define}}{53}
\entry {{\tt\char43}=}{64}
\initial {{\tt\indexbackslash }}
\entry {\code {{\tt\indexbackslash }} (backslash), for continuation lines}{7}
\entry {\code {{\tt\indexbackslash }} (backslash), in commands}{42}
\entry {\code {{\tt\indexbackslash }} (backslash), to quote \code {%}}{25, 35, 78}
\initial {A}
\entry {\code {all} \r {(standard target)}}{91}
\entry {appending to variables}{64}
\entry {\code {ar}}{107}
\entry {archive}{121}
\entry {archive member targets}{121}
\entry {archive symbol directory updating}{123}
\entry {archive, and \code {-j}}{123}
\entry {archive, and parallel execution}{123}
\entry {archive, suffix rule for}{124}
\entry {Arg list too long}{51}
\entry {arguments of functions}{77}
\entry {\code {as}}{104, 107}
\entry {assembly, rule to compile}{104}
\entry {automatic generation of dependencies}{15, 37}
\entry {automatic variables}{112}
\initial {B}
\entry {backquotes}{87}
\entry {backslash (\code {{\tt\indexbackslash }}), for continuation lines}{7}
\entry {backslash (\code {{\tt\indexbackslash }}), in commands}{42}
\entry {backslash (\code {{\tt\indexbackslash }}), to quote \code {%}}{25, 35, 78}
\entry {basename}{82}
\entry {broken pipe}{43}
\entry {bugs, reporting}{2}
\entry {built-in special targets}{31}
\initial {C}
\entry {C, rule to compile}{103}
\entry {C{\tt\char43}{\tt\char43}, rule to compile}{103}
\entry {\code {cc}}{103, 107}
\entry {\code {cd} (shell command)}{42, 47}
\entry {chains of rules}{108}
\entry {\code {check} \r {(standard target)}}{91}
\entry {\code {clean} \r {(standard target)}}{91}
\entry {\code {clean} target}{8, 12}
\entry {cleaning up}{12}
\entry {\code {clobber} \r {(standard target)}}{91}
\entry {\code {co}}{105, 107}
\entry {combining rules by dependency}{11}
\entry {command line variable definitions, and recursion}{50}
\entry {command line variables}{94}
\entry {commands}{19}
\entry {commands, backslash (\code {{\tt\indexbackslash }}) in}{42}
\entry {commands, comments in}{41}
\entry {commands, echoing}{41}
\entry {commands, empty}{54}
\entry {commands, errors in}{44}
\entry {commands, execution}{42}
\entry {commands, execution in parallel}{42}
\entry {commands, expansion}{87}
\entry {commands, how to write}{41}
\entry {commands, instead of executing}{91}
\entry {commands, introduction to}{5}
\entry {commands, quoting newlines in}{42}
\entry {commands, sequences of}{52}
\entry {comments, in commands}{41}
\entry {comments, in makefile}{13}
\entry {compatibility}{125}
\entry {compatibility in exporting}{49}
\entry {compilation, testing}{95}
\entry {computed variable name}{60}
\entry {conditionals}{71}
\entry {continuation lines}{7}
\entry {conventions for makefiles}{131}
\entry {\code {ctangle}}{105, 107}
\entry {\code {cweave}}{105, 107}
\initial {D}
\entry {deducing commands (implicit rules)}{10}
\entry {default goal}{8, 19}
\entry {default makefile name}{14}
\entry {default rules, last-resort}{116}
\entry {defining variables verbatim}{67}
\entry {deletion of target files}{45}
\entry {dependencies}{20}
\entry {dependencies, automatic generation}{15, 37}
\entry {dependencies, introduction to}{5}
\entry {dependencies, list of all}{112}
\entry {dependencies, list of changed}{112}
\entry {dependencies, varying (static pattern)}{34}
\entry {dependency}{19}
\entry {dependency pattern, implicit}{110}
\entry {dependency pattern, static (not implicit)}{35}
\entry {directive}{13}
\entry {directories, printing them}{52}
\entry {directories, updating archive symbol}{123}
\entry {directory part}{81}
\entry {directory search (\code {VPATH})}{23}
\entry {directory search (\code {VPATH}), and implicit rules}{27}
\entry {directory search (\code {VPATH}), and link libraries}{27}
\entry {directory search (\code {VPATH}), and shell commands}{26}
\entry {\code {dist} \r {(standard target)}}{91}
\entry {\code {distclean} \r {(standard target)}}{91}
\entry {dollar sign (\code {$}), in function call}{77}
\entry {dollar sign (\code {$}), in rules}{20}
\entry {dollar sign (\code {$}), in variable name}{60}
\entry {dollar sign (\code {$}), in variable reference}{55}
\entry {double-colon rules}{37}
\entry {duplicate words, removing}{80}
\initial {E}
\entry {E2BIG}{51}
\entry {echoing of commands}{41}
\entry {editor}{5}
\entry {Emacs (\code {M-x compile})}{45}
\entry {empty commands}{54}
\entry {empty targets}{30}
\entry {environment}{68}
\entry {environment, and recursion}{47}
\entry {environment, \code {SHELL} in}{42}
\entry {errors (in commands)}{44}
\entry {errors with wildcards}{22}
\entry {execution, in parallel}{42}
\entry {execution, instead of}{91}
\entry {execution, of commands}{42}
\entry {exit status (errors)}{44}
\entry {explicit rule, definition of}{13}
\entry {exporting variables}{47}
\initial {F}
\entry {\code {f77}}{103, 107}
\entry {features of GNU \code {make}}{125}
\entry {features, missing}{129}
\entry {file name functions}{81}
\entry {file name of makefile}{14}
\entry {file name of makefile, how to specify}{14}
\entry {file name prefix, adding}{82}
\entry {file name suffix}{82}
\entry {file name suffix, adding}{82}
\entry {file name with wildcards}{20}
\entry {file name, basename of}{82}
\entry {file name, directory part}{81}
\entry {file name, nondirectory part}{81}
\entry {files, assuming new}{92}
\entry {files, assuming old}{93}
\entry {files, avoiding recompilation of}{93}
\entry {files, intermediate}{108}
\entry {filtering out words}{80}
\entry {filtering words}{80}
\entry {finding strings}{79}
\entry {flags}{95}
\entry {flags for compilers}{106}
\entry {flavors of variables}{56}
\entry {\code {FORCE}}{30}
\entry {force targets}{30}
\entry {Fortran, rule to compile}{103}
\entry {functions}{77}
\entry {functions, for file names}{81}
\entry {functions, for text}{78}
\entry {functions, syntax of}{77}
\initial {G}
\entry {\code {g{\tt\char43}{\tt\char43}}}{103, 107}
\entry {\code {gcc}}{103}
\entry {generating dependencies automatically}{15, 37}
\entry {\code {get}}{105, 107}
\entry {globbing (wildcards)}{20}
\entry {goal}{8}
\entry {goal, default}{8, 19}
\entry {goal, how to specify}{90}
\initial {H}
\entry {home directory}{20}
\initial {I}
\entry {IEEE Standard 1003.2}{1}
\entry {implicit rule}{101}
\entry {implicit rule, and directory search}{27}
\entry {implicit rule, and \code {VPATH}}{27}
\entry {implicit rule, definition of}{13}
\entry {implicit rule, how to use}{101}
\entry {implicit rule, introduction to}{10}
\entry {implicit rule, predefined}{103}
\entry {implicit rule, search algorithm}{119}
\entry {including (\code {MAKEFILES} variable)}{16}
\entry {including other makefiles}{14}
\entry {incompatibilities}{129}
\entry {Info, rule to format}{105}
\entry {\code {install} \r {(standard target)}}{91}
\entry {intermediate files}{108}
\entry {intermediate files, preserving}{109}
\entry {interrupt}{45}
\initial {J}
\entry {job slots}{42}
\entry {job slots, and recursion}{50}
\entry {jobs, limiting based on load}{43}
\entry {joining lists of words}{82}
\initial {K}
\entry {killing (interruption)}{45}
\initial {L}
\entry {last-resort default rules}{116}
\entry {\code {ld}}{104}
\entry {\code {lex}}{105, 107}
\entry {Lex, rule to run}{105}
\entry {libraries for linking, directory search}{27}
\entry {library archive, suffix rule for}{124}
\entry {limiting jobs based on load}{43}
\entry {link libraries, and directory search}{27}
\entry {linking, predefined rule for}{104}
\entry {\code {lint}}{105}
\entry {\code {lint}, rule to run}{105}
\entry {list of all dependencies}{112}
\entry {list of changed dependencies}{112}
\entry {load average}{43}
\entry {loops in variable expansion}{57}
\entry {\code {lpr} (shell command)}{21, 30}
\initial {M}
\entry {\code {m2c}}{104}
\entry {macro}{55}
\entry {\code {make depend}}{38}
\entry {makefile}{5}
\entry {makefile name}{14}
\entry {makefile name, how to specify}{14}
\entry {makefile rule parts}{5}
\entry {makefile, and \code {MAKEFILES} variable}{16}
\entry {makefile, conventions for}{131}
\entry {makefile, how \code {make} processes}{8}
\entry {makefile, how to write}{13}
\entry {makefile, including}{14}
\entry {makefile, overriding}{18}
\entry {makefile, remaking of}{16}
\entry {makefile, simple}{6}
\entry {\code {makeinfo}}{105, 107}
\entry {match-anything rule}{115}
\entry {match-anything rule, used to override}{18}
\entry {missing features}{129}
\entry {mistakes with wildcards}{22}
\entry {modified variable reference}{59}
\entry {Modula-2, rule to compile}{104}
\entry {\code {mostlyclean} \r {(standard target)}}{91}
\entry {multiple rules for one target}{33}
\entry {multiple rules for one target (\code {::})}{37}
\entry {multiple targets}{32}
\entry {multiple targets, in pattern rule}{110}
\initial {N}
\entry {name of makefile}{14}
\entry {name of makefile, how to specify}{14}
\entry {nested variable reference}{60}
\entry {newline, quoting, in commands}{42}
\entry {newline, quoting, in makefile}{7}
\entry {nondirectory part}{81}
\initial {O}
\entry {\code {obj}}{9}
\entry {\code {OBJ}}{9}
\entry {\code {objects}}{9}
\entry {\code {OBJECTS}}{9}
\entry {\code {objs}}{9}
\entry {\code {OBJS}}{9}
\entry {old-fashioned suffix rules}{117}
\entry {options}{95}
\entry {options, and recursion}{50}
\entry {options, setting from environment}{51}
\entry {options, setting in makefiles}{51}
\entry {order of pattern rules}{111}
\entry {origin of variable}{85}
\entry {overriding makefiles}{18}
\entry {overriding variables with arguments}{94}
\entry {overriding with \code {override}}{66}
\initial {P}
\entry {parallel execution}{42}
\entry {parallel execution, and archive update}{123}
\entry {parts of makefile rule}{5}
\entry {Pascal, rule to compile}{103}
\entry {pattern rule}{110}
\entry {pattern rules, order of}{111}
\entry {pattern rules, static (not implicit)}{34}
\entry {pattern rules, static, syntax of}{34}
\entry {\code {pc}}{103, 107}
\entry {phony targets}{28}
\entry {pitfalls of wildcards}{22}
\entry {portability}{125}
\entry {POSIX}{1}
\entry {POSIX.2}{51}
\entry {precious targets}{31}
\entry {prefix, adding}{82}
\entry {preserving intermediate files}{109}
\entry {preserving with \code {.PRECIOUS}}{31, 109}
\entry {\code {print} \r {(standard target)}}{91}
\entry {\code {print} target}{21, 30}
\entry {printing directories}{52}
\entry {printing of commands}{41}
\entry {problems and bugs, reporting}{2}
\entry {problems with wildcards}{22}
\entry {processing a makefile}{8}
\initial {Q}
\entry {question mode}{92}
\entry {quoting \code {%}, in \code {patsubst}}{78}
\entry {quoting \code {%}, in static pattern}{35}
\entry {quoting \code {%}, in \code {vpath}}{25}
\entry {quoting newline, in commands}{42}
\entry {quoting newline, in makefile}{7}
\initial {R}
\entry {Ratfor, rule to compile}{103}
\entry {RCS, rule to extract from}{105}
\entry {\code {README}}{14}
\entry {\code {realclean} \r {(standard target)}}{91}
\entry {recompilation}{5}
\entry {recompilation, avoiding}{93}
\entry {recording events with empty targets}{30}
\entry {recursion}{46}
\entry {recursion, and \code {-C}}{50}
\entry {recursion, and \code {-f}}{50}
\entry {recursion, and \code {-j}}{50}
\entry {recursion, and \code {-o}}{50}
\entry {recursion, and \code {-t}}{47}
\entry {recursion, and \code {-w}}{52}
\entry {recursion, and \code {-W}}{50}
\entry {recursion, and command line variable definitions}{50}
\entry {recursion, and environment}{47}
\entry {recursion, and \code {MAKE} variable}{46}
\entry {recursion, and \code {MAKEFILES} variable}{16}
\entry {recursion, and options}{50}
\entry {recursion, and printing directories}{52}
\entry {recursion, and variables}{47}
\entry {recursion, level of}{49}
\entry {recursive variable expansion}{55, 56}
\entry {recursively expanded variables}{56}
\entry {reference to variables}{55, 59}
\entry {relinking}{9}
\entry {remaking makefiles}{16}
\entry {removal of target files}{45}
\entry {removing duplicate words}{80}
\entry {removing, to clean up}{12}
\entry {reporting bugs}{2}
\entry {\code {rm}}{107}
\entry {\code {rm} (shell command)}{8, 21, 28, 44}
\entry {rule commands}{41}
\entry {rule dependencies}{20}
\entry {rule syntax}{19}
\entry {rule targets}{19}
\entry {rule, and \code {$}}{20}
\entry {rule, double-colon (\code {::})}{37}
\entry {rule, explicit, definition of}{13}
\entry {rule, how to write}{19}
\entry {rule, implicit}{101}
\entry {rule, implicit, and directory search}{27}
\entry {rule, implicit, and \code {VPATH}}{27}
\entry {rule, implicit, chains of}{108}
\entry {rule, implicit, definition of}{13}
\entry {rule, implicit, how to use}{101}
\entry {rule, implicit, introduction to}{10}
\entry {rule, implicit, predefined}{103}
\entry {rule, introduction to}{5}
\entry {rule, multiple for one target}{33}
\entry {rule, no commands or dependencies}{30}
\entry {rule, pattern}{110}
\entry {rule, static pattern}{34}
\entry {rule, static pattern versus implicit}{36}
\entry {rule, with multiple targets}{32}
\initial {S}
\entry {\code {s. \r {(SCCS file prefix)}}}{105}
\entry {SCCS, rule to extract from}{105}
\entry {search algorithm, implicit rule}{119}
\entry {search path for dependencies (\code {VPATH})}{23}
\entry {search path for dependencies (\code {VPATH}), and implicit rules}{27}
\entry {search path for dependencies (\code {VPATH}), and link libraries}{27}
\entry {searching for strings}{79}
\entry {\code {sed} (shell command)}{39}
\entry {selecting words}{83}
\entry {sequences of commands}{52}
\entry {setting options from environment}{51}
\entry {setting options in makefiles}{51}
\entry {setting variables}{63}
\entry {several rules for one target}{33}
\entry {several targets in a rule}{32}
\entry {\code {shar} \r {(standard target)}}{91}
\entry {shell command}{8}
\entry {shell command, and directory search}{26}
\entry {shell command, execution}{42}
\entry {shell command, function for}{87}
\entry {shell file name pattern (in \code {include})}{14}
\entry {shell wildcards (in \code {include})}{14}
\entry {signal}{45}
\entry {silent operation}{41}
\entry {simple makefile}{6}
\entry {simple variable expansion}{55}
\entry {simplifying with variables}{9}
\entry {simply expanded variables}{57}
\entry {sorting words}{80}
\entry {spaces, in variable values}{58}
\entry {spaces, stripping}{79}
\entry {special targets}{31}
\entry {specifying makefile name}{14}
\entry {standard input}{43}
\entry {standards conformance}{1}
\entry {standards for makefiles}{131}
\entry {static pattern rule}{34}
\entry {static pattern rule, syntax of}{34}
\entry {static pattern rule, versus implicit}{36}
\entry {stem}{35, 114}
\entry {stem, variable for}{113}
\entry {strings, searching for}{79}
\entry {stripping whitespace}{79}
\entry {sub-\code {make}}{47}
\entry {subdirectories, recursion for}{46}
\entry {substitution variable reference}{59}
\entry {suffix rule}{117}
\entry {suffix rule, for archive}{124}
\entry {suffix, adding}{82}
\entry {suffix, function to find}{82}
\entry {suffix, substituting in variables}{59}
\entry {switches}{95}
\entry {symbol directories, updating archive}{123}
\entry {syntax of rules}{19}
\initial {T}
\entry {tab character (in commands)}{19}
\entry {tabs in rules}{5}
\entry {\code {TAGS} \r {(standard target)}}{91}
\entry {\code {tangle}}{105, 107}
\entry {\code {tar} \r {(standard target)}}{91}
\entry {target}{19}
\entry {target pattern, implicit}{110}
\entry {target pattern, static (not implicit)}{35}
\entry {target, deleting on error}{45}
\entry {target, deleting on interrupt}{45}
\entry {target, multiple in pattern rule}{110}
\entry {target, multiple rules for one}{33}
\entry {target, touching}{92}
\entry {targets}{19}
\entry {targets without a file}{28}
\entry {targets, built-in special}{31}
\entry {targets, empty}{30}
\entry {targets, force}{30}
\entry {targets, introduction to}{5}
\entry {targets, multiple}{32}
\entry {targets, phony}{28}
\entry {terminal rule}{115}
\entry {\code {test} \r {(standard target)}}{91}
\entry {testing compilation}{95}
\entry {\code {tex}}{105, 107}
\entry {\TeX{}, rule to run}{105}
\entry {\code {texi2dvi}}{105, 107}
\entry {Texinfo, rule to format}{105}
\entry {tilde (\code {{\tt\char'176}})}{20}
\entry {\code {touch} (shell command)}{21, 30}
\entry {touching files}{92}
\initial {U}
\entry {undefined variables, warning message}{99}
\entry {updating archive symbol directories}{123}
\entry {updating makefiles}{16}
\initial {V}
\entry {value}{55}
\entry {value, how a variable gets it}{63}
\entry {variable}{55}
\entry {variable definition}{13}
\entry {variables}{9}
\entry {variables, \samp {$} in name}{60}
\entry {variables, and implicit rule}{112}
\entry {variables, appending to}{64}
\entry {variables, automatic}{112}
\entry {variables, command line}{94}
\entry {variables, command line, and recursion}{50}
\entry {variables, computed names}{60}
\entry {variables, defining verbatim}{67}
\entry {variables, environment}{47, 68}
\entry {variables, exporting}{47}
\entry {variables, flavors}{56}
\entry {variables, how they get their values}{63}
\entry {variables, how to reference}{55}
\entry {variables, loops in expansion}{57}
\entry {variables, modified reference}{59}
\entry {variables, nested references}{60}
\entry {variables, origin of}{85}
\entry {variables, overriding}{66}
\entry {variables, overriding with arguments}{94}
\entry {variables, recursively expanded}{56}
\entry {variables, setting}{63}
\entry {variables, simply expanded}{57}
\entry {variables, spaces in values}{58}
\entry {variables, substituting suffix in}{59}
\entry {variables, substitution reference}{59}
\entry {variables, warning for undefined}{99}
\entry {varying dependencies}{34}
\entry {verbatim variable definition}{67}
\entry {vpath}{23}
\entry {\code {VPATH}, and implicit rules}{27}
\entry {\code {VPATH}, and link libraries}{27}
\initial {W}
\entry {\code {weave}}{105, 107}
\entry {Web, rule to run}{105}
\entry {what if}{92}
\entry {whitespace, in variable values}{58}
\entry {whitespace, stripping}{79}
\entry {wildcard}{20}
\entry {wildcard pitfalls}{22}
\entry {wildcard, function}{83}
\entry {wildcard, in archive member}{121}
\entry {wildcard, in \code {include}}{14}
\entry {words, extracting first}{83}
\entry {words, filtering}{80}
\entry {words, filtering out}{80}
\entry {words, finding number}{83}
\entry {words, iterating over}{83}
\entry {words, joining lists}{82}
\entry {words, removing duplicates}{80}
\entry {words, selecting}{83}
\entry {writing rule commands}{41}
\entry {writing rules}{19}
\initial {Y}
\entry {\code {yacc}}{53, 105, 107}
\entry {Yacc, rule to run}{105}

View File

@@ -1,149 +0,0 @@
\entry {Makefile}{14}{\code {Makefile}}
\entry {GNUmakefile}{14}{\code {GNUmakefile}}
\entry {makefile}{14}{\code {makefile}}
\entry {include}{14}{\code {include}}
\entry {/usr/gnu/include}{15}{\code {/usr/gnu/include}}
\entry {/usr/local/include}{15}{\code {/usr/local/include}}
\entry {/usr/include}{15}{\code {/usr/include}}
\entry {MAKEFILES}{16}{\code {MAKEFILES}}
\entry {wildcard}{22}{\code {wildcard}}
\entry {VPATH}{23}{\code {VPATH}}
\entry {vpath}{23}{\code {vpath}}
\entry {VPATH}{23}{\code {VPATH}}
\entry {vpath}{24}{\code {vpath}}
\entry {.PHONY}{28}{\code {.PHONY}}
\entry {.PHONY}{31}{\code {.PHONY}}
\entry {.SUFFIXES}{31}{\code {.SUFFIXES}}
\entry {.DEFAULT}{31}{\code {.DEFAULT}}
\entry {.PRECIOUS}{31}{\code {.PRECIOUS}}
\entry {.IGNORE}{31}{\code {.IGNORE}}
\entry {.SILENT}{32}{\code {.SILENT}}
\entry {.EXPORT{\_}ALL{\_}VARIABLES}{32}{\code {.EXPORT{\_}ALL{\_}VARIABLES}}
\entry {subst}{33}{\code {subst}}
\entry {$*, and static pattern}{36}{\code {$*\r {, and static pattern}}}
\entry {.SILENT}{41}{\code {.SILENT}}
\entry {SHELL (command execution)}{42}{\code {SHELL \r {(command execution)}}}
\entry {SHELL}{42}{\code {SHELL}}
\entry {.IGNORE}{44}{\code {.IGNORE}}
\entry {.DELETE{\_}ON{\_}ERROR}{45}{\code {.DELETE{\_}ON{\_}ERROR}}
\entry {.PRECIOUS}{46}{\code {.PRECIOUS}}
\entry {MAKE}{46}{\code {MAKE}}
\entry {export}{48}{\code {export}}
\entry {unexport}{48}{\code {unexport}}
\entry {.EXPORT{\_}ALL{\_}VARIABLES}{49}{\code {.EXPORT{\_}ALL{\_}VARIABLES}}
\entry {MAKELEVEL}{49}{\code {MAKELEVEL}}
\entry {MAKEFILES}{50}{\code {MAKEFILES}}
\entry {MAKEFLAGS}{50}{\code {MAKEFLAGS}}
\entry {MAKEOVERRIDES}{51}{\code {MAKEOVERRIDES}}
\entry {.POSIX}{51}{\code {.POSIX}}
\entry {MFLAGS}{51}{\code {MFLAGS}}
\entry {.DEFAULT, and empty commands}{54}{\code {.DEFAULT\r {, and empty commands}}}
\entry {MAKELEVEL}{58}{\code {MAKELEVEL}}
\entry {MAKE}{58}{\code {MAKE}}
\entry {patsubst}{59}{\code {patsubst}}
\entry {override}{66}{\code {override}}
\entry {define}{67}{\code {define}}
\entry {endef}{67}{\code {endef}}
\entry {ifdef}{72}{\code {ifdef}}
\entry {ifeq}{72}{\code {ifeq}}
\entry {ifndef}{72}{\code {ifndef}}
\entry {ifneq}{72}{\code {ifneq}}
\entry {else}{72}{\code {else}}
\entry {endif}{72}{\code {endif}}
\entry {subst}{78}{\code {subst}}
\entry {patsubst}{78}{\code {patsubst}}
\entry {strip}{79}{\code {strip}}
\entry {findstring}{79}{\code {findstring}}
\entry {filter}{80}{\code {filter}}
\entry {filter-out}{80}{\code {filter-out}}
\entry {sort}{80}{\code {sort}}
\entry {dir}{81}{\code {dir}}
\entry {notdir}{81}{\code {notdir}}
\entry {suffix}{82}{\code {suffix}}
\entry {basename}{82}{\code {basename}}
\entry {addsuffix}{82}{\code {addsuffix}}
\entry {addprefix}{82}{\code {addprefix}}
\entry {join}{82}{\code {join}}
\entry {word}{83}{\code {word}}
\entry {words}{83}{\code {words}}
\entry {firstword}{83}{\code {firstword}}
\entry {wildcard}{83}{\code {wildcard}}
\entry {foreach}{83}{\code {foreach}}
\entry {origin}{85}{\code {origin}}
\entry {shell}{87}{\code {shell}}
\entry {OUTPUT{\_}OPTION}{106}{\code {OUTPUT{\_}OPTION}}
\entry {AR}{107}{\code {AR}}
\entry {AS}{107}{\code {AS}}
\entry {CC}{107}{\code {CC}}
\entry {CXX}{107}{\code {CXX}}
\entry {CO}{107}{\code {CO}}
\entry {CPP}{107}{\code {CPP}}
\entry {FC}{107}{\code {FC}}
\entry {GET}{107}{\code {GET}}
\entry {LEX}{107}{\code {LEX}}
\entry {PC}{107}{\code {PC}}
\entry {YACC}{107}{\code {YACC}}
\entry {YACCR}{107}{\code {YACCR}}
\entry {MAKEINFO}{107}{\code {MAKEINFO}}
\entry {TEX}{107}{\code {TEX}}
\entry {TEXI2DVI}{107}{\code {TEXI2DVI}}
\entry {WEAVE}{107}{\code {WEAVE}}
\entry {CWEAVE}{107}{\code {CWEAVE}}
\entry {TANGLE}{107}{\code {TANGLE}}
\entry {CTANGLE}{107}{\code {CTANGLE}}
\entry {RM}{107}{\code {RM}}
\entry {ARFLAGS}{108}{\code {ARFLAGS}}
\entry {ASFLAGS}{108}{\code {ASFLAGS}}
\entry {CFLAGS}{108}{\code {CFLAGS}}
\entry {CXXFLAGS}{108}{\code {CXXFLAGS}}
\entry {COFLAGS}{108}{\code {COFLAGS}}
\entry {CPPFLAGS}{108}{\code {CPPFLAGS}}
\entry {FFLAGS}{108}{\code {FFLAGS}}
\entry {GFLAGS}{108}{\code {GFLAGS}}
\entry {LDFLAGS}{108}{\code {LDFLAGS}}
\entry {LFLAGS}{108}{\code {LFLAGS}}
\entry {PFLAGS}{108}{\code {PFLAGS}}
\entry {RFLAGS}{108}{\code {RFLAGS}}
\entry {YFLAGS}{108}{\code {YFLAGS}}
\entry {${\tt\char'100}}{112}{\code {${\tt\char'100}}}
\entry {{\tt\char'100} (automatic variable)}{112}{\code {{\tt\char'100} \r {(automatic variable)}}}
\entry {$%}{112}{\code {$%}}
\entry {% (automatic variable)}{112}{\code {% \r {(automatic variable)}}}
\entry {${\tt\less}}{112}{\code {${\tt\less}}}
\entry {{\tt\less} (automatic variable)}{112}{\code {{\tt\less} \r {(automatic variable)}}}
\entry {$?}{112}{\code {$?}}
\entry {? (automatic variable)}{112}{\code {? \r {(automatic variable)}}}
\entry {${\tt\hat}}{112}{\code {${\tt\hat}}}
\entry {{\tt\hat} (automatic variable)}{112}{\code {{\tt\hat} \r {(automatic variable)}}}
\entry {${\tt\char43}}{112}{\code {${\tt\char43}}}
\entry {{\tt\char43} (automatic variable)}{112}{\code {{\tt\char43} \r {(automatic variable)}}}
\entry {$*}{112}{\code {$*}}
\entry {* (automatic variable)}{112}{\code {* \r {(automatic variable)}}}
\entry {$({\tt\char'100}D)}{113}{\code {$({\tt\char'100}D)}}
\entry {{\tt\char'100}D (automatic variable)}{113}{\code {{\tt\char'100}D \r {(automatic variable)}}}
\entry {$({\tt\char'100}F)}{113}{\code {$({\tt\char'100}F)}}
\entry {{\tt\char'100}F (automatic variable)}{113}{\code {{\tt\char'100}F \r {(automatic variable)}}}
\entry {$(*D)}{113}{\code {$(*D)}}
\entry {*D (automatic variable)}{113}{\code {*D \r {(automatic variable)}}}
\entry {$(*F)}{113}{\code {$(*F)}}
\entry {*F (automatic variable)}{113}{\code {*F \r {(automatic variable)}}}
\entry {$(%D)}{113}{\code {$(%D)}}
\entry {%D (automatic variable)}{113}{\code {%D \r {(automatic variable)}}}
\entry {$(%F)}{113}{\code {$(%F)}}
\entry {%F (automatic variable)}{113}{\code {%F \r {(automatic variable)}}}
\entry {$({\tt\less}D)}{114}{\code {$({\tt\less}D)}}
\entry {{\tt\less}D (automatic variable)}{114}{\code {{\tt\less}D \r {(automatic variable)}}}
\entry {$({\tt\less}F)}{114}{\code {$({\tt\less}F)}}
\entry {{\tt\less}F (automatic variable)}{114}{\code {{\tt\less}F \r {(automatic variable)}}}
\entry {$({\tt\hat}D)}{114}{\code {$({\tt\hat}D)}}
\entry {{\tt\hat}D (automatic variable)}{114}{\code {{\tt\hat}D \r {(automatic variable)}}}
\entry {$({\tt\hat}F)}{114}{\code {$({\tt\hat}F)}}
\entry {{\tt\hat}F (automatic variable)}{114}{\code {{\tt\hat}F \r {(automatic variable)}}}
\entry {$(?D)}{114}{\code {$(?D)}}
\entry {?D (automatic variable)}{114}{\code {?D \r {(automatic variable)}}}
\entry {$(?F)}{114}{\code {$(?F)}}
\entry {?F (automatic variable)}{114}{\code {?F \r {(automatic variable)}}}
\entry {.DEFAULT}{117}{\code {.DEFAULT}}
\entry {.SUFFIXES}{118}{\code {.SUFFIXES}}
\entry {SUFFIXES}{119}{\code {SUFFIXES}}
\entry {* (automatic variable), unsupported bizarre usage}{129}{\code {* \r {(automatic variable), unsupported bizarre usage}}}

View File

@@ -1,165 +0,0 @@
\initial {$}
\entry {\code {$%}}{112}
\entry {\code {$(%D)}}{113}
\entry {\code {$(%F)}}{113}
\entry {\code {$(*D)}}{113}
\entry {\code {$(*F)}}{113}
\entry {\code {$(?D)}}{114}
\entry {\code {$(?F)}}{114}
\entry {\code {$({\tt\char'100}D)}}{113}
\entry {\code {$({\tt\char'100}F)}}{113}
\entry {\code {$({\tt\hat}D)}}{114}
\entry {\code {$({\tt\hat}F)}}{114}
\entry {\code {$({\tt\less}D)}}{114}
\entry {\code {$({\tt\less}F)}}{114}
\entry {\code {$*}}{112}
\entry {\code {$*\r {, and static pattern}}}{36}
\entry {\code {$?}}{112}
\entry {\code {${\tt\char'100}}}{112}
\entry {\code {${\tt\char43}}}{112}
\entry {\code {${\tt\hat}}}{112}
\entry {\code {${\tt\less}}}{112}
\initial {%}
\entry {\code {% \r {(automatic variable)}}}{112}
\entry {\code {%D \r {(automatic variable)}}}{113}
\entry {\code {%F \r {(automatic variable)}}}{113}
\initial {*}
\entry {\code {* \r {(automatic variable)}}}{112}
\entry {\code {* \r {(automatic variable), unsupported bizarre usage}}}{129}
\entry {\code {*D \r {(automatic variable)}}}{113}
\entry {\code {*F \r {(automatic variable)}}}{113}
\initial {.}
\entry {\code {.DEFAULT}}{31, 117}
\entry {\code {.DEFAULT\r {, and empty commands}}}{54}
\entry {\code {.DELETE{\_}ON{\_}ERROR}}{45}
\entry {\code {.EXPORT{\_}ALL{\_}VARIABLES}}{32, 49}
\entry {\code {.IGNORE}}{31, 44}
\entry {\code {.PHONY}}{28, 31}
\entry {\code {.POSIX}}{51}
\entry {\code {.PRECIOUS}}{31, 46}
\entry {\code {.SILENT}}{32, 41}
\entry {\code {.SUFFIXES}}{31, 118}
\initial {/}
\entry {\code {/usr/gnu/include}}{15}
\entry {\code {/usr/include}}{15}
\entry {\code {/usr/local/include}}{15}
\initial {?}
\entry {\code {? \r {(automatic variable)}}}{112}
\entry {\code {?D \r {(automatic variable)}}}{114}
\entry {\code {?F \r {(automatic variable)}}}{114}
\initial {{\tt\char'100}}
\entry {\code {{\tt\char'100} \r {(automatic variable)}}}{112}
\entry {\code {{\tt\char'100}D \r {(automatic variable)}}}{113}
\entry {\code {{\tt\char'100}F \r {(automatic variable)}}}{113}
\initial {{\tt\char43}}
\entry {\code {{\tt\char43} \r {(automatic variable)}}}{112}
\initial {{\tt\hat}}
\entry {\code {{\tt\hat} \r {(automatic variable)}}}{112}
\entry {\code {{\tt\hat}D \r {(automatic variable)}}}{114}
\entry {\code {{\tt\hat}F \r {(automatic variable)}}}{114}
\initial {{\tt\less}}
\entry {\code {{\tt\less} \r {(automatic variable)}}}{112}
\entry {\code {{\tt\less}D \r {(automatic variable)}}}{114}
\entry {\code {{\tt\less}F \r {(automatic variable)}}}{114}
\initial {A}
\entry {\code {addprefix}}{82}
\entry {\code {addsuffix}}{82}
\entry {\code {AR}}{107}
\entry {\code {ARFLAGS}}{108}
\entry {\code {AS}}{107}
\entry {\code {ASFLAGS}}{108}
\initial {B}
\entry {\code {basename}}{82}
\initial {C}
\entry {\code {CC}}{107}
\entry {\code {CFLAGS}}{108}
\entry {\code {CO}}{107}
\entry {\code {COFLAGS}}{108}
\entry {\code {CPP}}{107}
\entry {\code {CPPFLAGS}}{108}
\entry {\code {CTANGLE}}{107}
\entry {\code {CWEAVE}}{107}
\entry {\code {CXX}}{107}
\entry {\code {CXXFLAGS}}{108}
\initial {D}
\entry {\code {define}}{67}
\entry {\code {dir}}{81}
\initial {E}
\entry {\code {else}}{72}
\entry {\code {endef}}{67}
\entry {\code {endif}}{72}
\entry {\code {export}}{48}
\initial {F}
\entry {\code {FC}}{107}
\entry {\code {FFLAGS}}{108}
\entry {\code {filter}}{80}
\entry {\code {filter-out}}{80}
\entry {\code {findstring}}{79}
\entry {\code {firstword}}{83}
\entry {\code {foreach}}{83}
\initial {G}
\entry {\code {GET}}{107}
\entry {\code {GFLAGS}}{108}
\entry {\code {GNUmakefile}}{14}
\initial {I}
\entry {\code {ifdef}}{72}
\entry {\code {ifeq}}{72}
\entry {\code {ifndef}}{72}
\entry {\code {ifneq}}{72}
\entry {\code {include}}{14}
\initial {J}
\entry {\code {join}}{82}
\initial {L}
\entry {\code {LDFLAGS}}{108}
\entry {\code {LEX}}{107}
\entry {\code {LFLAGS}}{108}
\initial {M}
\entry {\code {MAKE}}{46, 58}
\entry {\code {makefile}}{14}
\entry {\code {Makefile}}{14}
\entry {\code {MAKEFILES}}{16, 50}
\entry {\code {MAKEFLAGS}}{50}
\entry {\code {MAKEINFO}}{107}
\entry {\code {MAKELEVEL}}{49, 58}
\entry {\code {MAKEOVERRIDES}}{51}
\entry {\code {MFLAGS}}{51}
\initial {N}
\entry {\code {notdir}}{81}
\initial {O}
\entry {\code {origin}}{85}
\entry {\code {OUTPUT{\_}OPTION}}{106}
\entry {\code {override}}{66}
\initial {P}
\entry {\code {patsubst}}{59, 78}
\entry {\code {PC}}{107}
\entry {\code {PFLAGS}}{108}
\initial {R}
\entry {\code {RFLAGS}}{108}
\entry {\code {RM}}{107}
\initial {S}
\entry {\code {shell}}{87}
\entry {\code {SHELL}}{42}
\entry {\code {SHELL \r {(command execution)}}}{42}
\entry {\code {sort}}{80}
\entry {\code {strip}}{79}
\entry {\code {subst}}{33, 78}
\entry {\code {suffix}}{82}
\entry {\code {SUFFIXES}}{119}
\initial {T}
\entry {\code {TANGLE}}{107}
\entry {\code {TEX}}{107}
\entry {\code {TEXI2DVI}}{107}
\initial {U}
\entry {\code {unexport}}{48}
\initial {V}
\entry {\code {vpath}}{23, 24}
\entry {\code {VPATH}}{23}
\initial {W}
\entry {\code {WEAVE}}{107}
\entry {\code {wildcard}}{22, 83}
\entry {\code {word}}{83}
\entry {\code {words}}{83}
\initial {Y}
\entry {\code {YACC}}{107}
\entry {\code {YACCR}}{107}
\entry {\code {YFLAGS}}{108}

View File

@@ -1,355 +0,0 @@
/* Miscellaneous global declarations and portability cruft for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* AIX requires this to be the first thing in the file. */
#if defined (_AIX) && !defined (__GNUC__)
#pragma alloca
#endif
/* We use <config.h> instead of "config.h" so that a compilation
using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
(which it would do because make.h was found in $srcdir). */
#include <config.h>
#undef HAVE_CONFIG_H
#define HAVE_CONFIG_H
#ifdef CRAY
/* This must happen before #include <signal.h> so
that the declaration therein is changed. */
#define signal bsdsignal
#endif
#define _GNU_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <stdio.h>
#include <ctype.h>
#ifdef HAVE_SYS_TIMEB_H
/* SCO 3.2 "devsys 4.2" has a prototype for `ftime' in <time.h> that bombs
unless <sys/timeb.h> has been included first. Does every system have a
<sys/timeb.h>? If any does not, configure should check for it. */
#include <sys/timeb.h>
#endif
#include <time.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#ifndef isblank
#define isblank(c) ((c) == ' ' || (c) == '\t')
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get
POSIX.1 behavior with `cc -YPOSIX', which predefines POSIX itself! */
#if defined (_POSIX_VERSION) && !defined (ultrix)
#define POSIX
#endif
#endif
/* Some systems define _POSIX_VERSION but are not really POSIX.1. */
#if (defined (butterfly) || defined (__arm) || \
(defined (__mips) && defined (_SYSTYPE_SVR3)) || \
(defined (sequent) && defined (i386)))
#undef POSIX
#endif
#if !defined (POSIX) && defined (_AIX) && defined (_POSIX_SOURCE)
#define POSIX
#endif
#if !defined (HAVE_SYS_SIGLIST) && defined (HAVE__SYS_SIGLIST)
#define sys_siglist _sys_siglist
#define HAVE_SYS_SIGLIST /* Now we have it. */
/* It was declared in <signal.h>, with who knows what type.
Don't declare it again and risk conflicting. */
#define SYS_SIGLIST_DECLARED
#endif
#ifdef HAVE_SYS_SIGLIST
#ifndef SYS_SIGLIST_DECLARED
extern char *sys_siglist[];
#endif
#else
#include "signame.h"
#endif
/* Some systems do not define NSIG in <signal.h>. */
#ifndef NSIG
#ifdef _NSIG
#define NSIG _NSIG
#else
#define NSIG 32
#endif
#endif
#ifndef RETSIGTYPE
#define RETSIGTYPE void
#endif
#ifndef sigmask
#define sigmask(sig) (1 << ((sig) - 1))
#endif
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifndef PATH_MAX
#ifndef POSIX
#define PATH_MAX MAXPATHLEN
#endif /* Not POSIX. */
#endif /* No PATH_MAX. */
#ifndef MAXPATHLEN
#define MAXPATHLEN 1024
#endif /* No MAXPATHLEN. */
#ifdef PATH_MAX
#define GET_PATH_MAX PATH_MAX
#define PATH_VAR(var) char var[PATH_MAX]
#else
#define NEED_GET_PATH_MAX
extern unsigned int get_path_max ();
#define GET_PATH_MAX (get_path_max ())
#define PATH_VAR(var) char *var = (char *) alloca (GET_PATH_MAX)
#endif
#ifdef STAT_MACROS_BROKEN
#ifdef S_ISREG
#undef S_ISREG
#endif
#ifdef S_ISDIR
#undef S_ISDIR
#endif
#endif /* STAT_MACROS_BROKEN. */
#ifndef S_ISREG
#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#if (defined (STDC_HEADERS) || defined (__GNU_LIBRARY__))
#include <stdlib.h>
#include <string.h>
#define ANSI_STRING
#else /* No standard headers. */
#ifdef HAVE_STRING_H
#include <string.h>
#define ANSI_STRING
#else
#include <strings.h>
#endif
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
extern char *malloc (), *realloc ();
extern void free ();
extern void abort (), exit ();
#endif /* Standard headers. */
#ifdef ANSI_STRING
#ifndef index
#define index(s, c) strchr((s), (c))
#endif
#ifndef rindex
#define rindex(s, c) strrchr((s), (c))
#endif
#ifndef bcmp
#define bcmp(s1, s2, n) memcmp ((s1), (s2), (n))
#endif
#ifndef bzero
#define bzero(s, n) memset ((s), 0, (n))
#endif
#ifndef bcopy
#define bcopy(s, d, n) memcpy ((d), (s), (n))
#endif
#else /* Not ANSI_STRING. */
#ifndef bcmp
extern int bcmp ();
#endif
#ifndef bzero
extern void bzero ();
#endif
#ifndef bcopy
extern void bcopy ();
#endif
#endif /* ANSI_STRING. */
#undef ANSI_STRING
/* SCO Xenix has a buggy macro definition in <string.h>. */
#undef strerror
#ifndef ANSI_STRING
extern char *strerror ();
#endif
#ifdef __GNUC__
#undef alloca
#define alloca(n) __builtin_alloca (n)
#else /* Not GCC. */
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#elif defined(NETSCAPE)
#include <malloc.h>
#else /* Not HAVE_ALLOCA_H. */
#ifndef _AIX
extern char *alloca ();
#endif /* Not AIX. */
#endif /* HAVE_ALLOCA_H. */
#endif /* GCC. */
#ifndef iAPX286
#define streq(a, b) \
((a) == (b) || \
(*(a) == *(b) && (*(a) == '\0' || !strcmp ((a) + 1, (b) + 1))))
#else
/* Buggy compiler can't handle this. */
#define streq(a, b) (strcmp ((a), (b)) == 0)
#endif
/* Add to VAR the hashing value of C, one character in a name. */
#define HASH(var, c) \
((var += (c)), (var = ((var) << 7) + ((var) >> 20)))
#if defined(__GNUC__) || defined(ENUM_BITFIELDS)
#define ENUM_BITFIELD(bits) :bits
#else
#define ENUM_BITFIELD(bits)
#endif
#if defined(__MSDOS__) || defined(NETSCAPE)
#define PATH_SEPARATOR_CHAR ';'
#else
#define PATH_SEPARATOR_CHAR ':'
#endif
extern void die ();
extern void message (), fatal (), error ();
extern void makefile_error (), makefile_fatal ();
extern void pfatal_with_name (), perror_with_name ();
extern char *savestring (), *concat ();
extern char *xmalloc (), *xrealloc ();
extern char *find_next_token (), *next_token (), *end_of_token ();
extern void collapse_continuations (), remove_comments ();
extern char *sindex (), *lindex ();
extern int alpha_compare (const void *elem1, const void *elem2);
extern void print_spaces ();
extern struct dep *copy_dep_chain ();
extern char *find_char_unquote (), *find_percent ();
extern int safe_stat (char * name, struct stat * buf);
#ifndef NO_ARCHIVES
extern int ar_name ();
extern void ar_parse_name ();
extern int ar_touch ();
extern time_t ar_member_date ();
#endif
extern void dir_load ();
extern int dir_file_exists_p (), file_exists_p (), file_impossible_p ();
extern void file_impossible ();
extern char *dir_name ();
extern void define_default_variables ();
extern void set_default_suffixes (), install_default_suffix_rules ();
extern void install_default_implicit_rules (), count_implicit_rule_limits ();
extern void convert_to_pattern (), create_pattern_rule ();
extern void build_vpath_lists (), construct_vpath_list ();
extern int vpath_search ();
extern void construct_include_path ();
extern void uniquize_deps ();
extern int update_goal_chain ();
extern void notice_finished_file ();
extern void user_access (), make_access (), child_access ();
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif
/* We omit these declarations on non-POSIX systems which define _POSIX_VERSION,
because such systems often declare the in header files anyway. */
#if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION)
extern long int atol ();
extern long int lseek ();
#endif /* Not GNU C library or POSIX. */
#ifdef HAVE_GETCWD
extern char *getcwd ();
#else
extern char *getwd ();
#define getcwd(buf, len) getwd (buf)
#endif
extern char **environ;
extern char *reading_filename;
extern unsigned int *reading_lineno_ptr;
extern int just_print_flag, silent_flag, ignore_errors_flag, keep_going_flag;
extern int debug_flag, print_data_base_flag, question_flag, touch_flag;
extern int env_overrides, no_builtin_rules_flag, print_version_flag;
extern int print_directory_flag, warn_undefined_variables_flag;
extern int posix_pedantic;
extern unsigned int job_slots;
extern double max_load_average;
extern char *program;
extern char *starting_directory;
extern unsigned int makelevel;
extern char *version_string, *remote_description;
extern unsigned int commands_started;
extern int handling_fatal_signal;
#define DEBUGPR(msg) \
do if (debug_flag) { print_spaces (depth); printf (msg, file->name); \
fflush (stdout); } while (0)

View File

@@ -1,163 +0,0 @@
This is Info file make.info, produced by Makeinfo-1.55 from the input
file ./make.texinfo.
This file documents the GNU Make utility, which determines
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
This is Edition 0.48, last updated 4 April 1995, of `The GNU Make
Manual', for `make', Version 3.73 Beta.
Copyright (C) 1988, '89, '90, '91, '92, '93, '94, '95 Free
Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.

Indirect:
make.info-1: 1141
make.info-2: 50405
make.info-3: 97832
make.info-4: 147393
make.info-5: 196701
make.info-6: 243137
make.info-7: 292772
make.info-8: 318335

Tag Table:
(Indirect)
Node: Top1141
Node: Overview12012
Node: Preparing12949
Node: Reading13904
Node: Bugs14826
Node: Introduction16694
Node: Rule Introduction18281
Node: Simple Makefile19990
Node: How Make Works23603
Node: Variables Simplify26101
Node: make Deduces28307
Node: Combine By Dependency30054
Node: Cleanup31082
Node: Makefiles32492
Node: Makefile Contents33189
Node: Makefile Names35449
Node: Include37051
Node: MAKEFILES Variable40462
Node: Remaking Makefiles41964
Node: Overriding Makefiles45782
Node: Rules47805
Node: Rule Example50405
Node: Rule Syntax51240
Node: Wildcards53449
Node: Wildcard Examples54959
Node: Wildcard Pitfall56194
Node: Wildcard Function57444
Node: Directory Search59225
Node: General Search60285
Node: Selective Search61803
Node: Commands/Search64723
Node: Implicit/Search66063
Node: Libraries/Search66998
Node: Phony Targets68067
Node: Force Targets71412
Node: Empty Targets72449
Node: Special Targets73709
Node: Multiple Targets77631
Node: Multiple Rules79498
Node: Static Pattern81581
Node: Static Usage82221
Node: Static versus Implicit85875
Node: Double-Colon87606
Node: Automatic Dependencies89136
Node: Commands93214
Node: Echoing94906
Node: Execution96164
Node: Parallel97832
Node: Errors101147
Node: Interrupts104783
Node: Recursion106364
Node: MAKE Variable107650
Node: Variables/Recursion109608
Node: Options/Recursion114571
Node: -w Option119257
Node: Sequences120243
Node: Empty Commands123238
Node: Using Variables124406
Node: Reference127390
Node: Flavors128935
Node: Advanced134252
Node: Substitution Refs134752
Node: Computed Names136279
Node: Values140849
Node: Setting141766
Node: Appending143475
Node: Override Directive147393
Node: Defining148772
Node: Environment150770
Node: Conditionals152898
Node: Conditional Example153607
Node: Conditional Syntax156173
Node: Testing Flags160919
Node: Functions162016
Node: Syntax of Functions163014
Node: Text Functions165151
Node: Filename Functions171905
Node: Foreach Function177026
Node: Origin Function180232
Node: Shell Function183457
Node: Running184834
Node: Makefile Arguments186822
Node: Goals187517
Node: Instead of Execution191519
Node: Avoiding Compilation194800
Node: Overriding196701
Node: Testing198989
Node: Options Summary200866
Node: Implicit Rules207676
Node: Using Implicit209822
Node: Catalogue of Rules213309
Node: Implicit Variables222290
Node: Chained Rules226416
Node: Pattern Rules229114
Node: Pattern Intro230642
Node: Pattern Examples233453
Node: Automatic235246
Node: Pattern Match241533
Node: Match-Anything Rules243137
Node: Canceling Rules246996
Node: Last Resort247699
Node: Suffix Rules249536
Node: Search Algorithm253243
Node: Archives256739
Node: Archive Members257434
Node: Archive Update259013
Node: Archive Symbols260929
Node: Archive Pitfalls262128
Node: Archive Suffix Rules262844
Node: Features264384
Node: Missing272736
Node: Makefile Conventions277065
Node: Makefile Basics277413
Node: Utilities in Makefiles279752
Node: Standard Targets281444
Node: Command Variables289947
Node: Directory Variables292772
Node: Quick Reference302070
Node: Complex Makefile309668
Node: Concept Index318335
Node: Name Index357722

End Tag Table

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,727 +0,0 @@
This is Info file make.info, produced by Makeinfo-1.55 from the input
file ./make.texinfo.
This file documents the GNU Make utility, which determines
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
This is Edition 0.48, last updated 4 April 1995, of `The GNU Make
Manual', for `make', Version 3.73 Beta.
Copyright (C) 1988, '89, '90, '91, '92, '93, '94, '95 Free
Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.

File: make.info, Node: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
Variables for Installation Directories
======================================
Installation directories should always be named by variables, so it
is easy to install in a nonstandard place. The standard names for these
variables are described below. They are based on a standard filesystem
layout; variants of it are used in SVR4, 4.4BSD, Linux, Ultrix v4, and
other modern operating systems.
These two variables set the root for the installation. All the other
installation directories should be subdirectories of one of these two,
and nothing should be directly installed into these two directories.
`prefix'
A prefix used in constructing the default values of the variables
listed below. The default value of `prefix' should be `/usr/local'
When building the complete GNU system, the prefix will be empty and
`/usr' will be a symbolic link to `/'.
`exec_prefix'
A prefix used in constructing the default values of some of the
variables listed below. The default value of `exec_prefix' should
be `$(prefix)'.
Generally, `$(exec_prefix)' is used for directories that contain
machine-specific files (such as executables and subroutine
libraries), while `$(prefix)' is used directly for other
directories.
Executable programs are installed in one of the following
directories.
`bindir'
The directory for installing executable programs that users can
run. This should normally be `/usr/local/bin', but write it as
`$(exec_prefix)/bin'.
`sbindir'
The directory for installing executable programs that can be run
from the shell, but are only generally useful to system
administrators. This should normally be `/usr/local/sbin', but
write it as `$(exec_prefix)/sbin'.
`libexecdir'
The directory for installing executable programs to be run by other
programs rather than by users. This directory should normally be
`/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
Data files used by the program during its execution are divided into
categories in two ways.
* Some files are normally modified by programs; others are never
normally modified (though users may edit some of these).
* Some files are architecture-independent and can be shared by all
machines at a site; some are architecture-dependent and can be
shared only by machines of the same kind and operating system;
others may never be shared between two machines.
This makes for six different possibilities. However, we want to
discourage the use of architecture-dependent files, aside from of object
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
Therefore, here are the variables makefiles should use to specify
directories:
`datadir'
The directory for installing read-only architecture independent
data files. This should normally be `/usr/local/share', but write
it as `$(prefix)/share'. As a special exception, see `$(infodir)'
and `$(includedir)' below.
`sysconfdir'
The directory for installing read-only data files that pertain to a
single machine-that is to say, files for configuring a host.
Mailer and network configuration files, `/etc/passwd', and so
forth belong here. All the files in this directory should be
ordinary ASCII text files. This directory should normally be
`/usr/local/etc', but write it as `$(prefix)/etc'.
Do not install executables in this directory (they probably belong
in `$(libexecdir)' or `$(sbindir))'. Also do not install files
that are modified in the normal course of their use (programs
whose purpose is to change the configuration of the system
excluded). Those probably belong in `$(localstatedir)'.
`sharedstatedir'
The directory for installing architecture-independent data files
which the programs modify while they run. This should normally be
`/usr/local/com', but write it as `$(prefix)/com'.
`localstatedir'
The directory for installing data files which the programs modify
while they run, and that pertain to one specific machine. Users
should never need to modify files in this directory to configure
the package's operation; put such configuration information in
separate files that go in `datadir' or `$(sysconfdir)'.
`$(localstatedir)' should normally be `/usr/local/var', but write
it as `$(prefix)/var'.
`libdir'
The directory for object files and libraries of object code. Do
not install executables here, they probably belong in
`$(libexecdir)' instead. The value of `libdir' should normally be
`/usr/local/lib', but write it as `$(exec_prefix)/lib'.
`infodir'
The directory for installing the Info files for this package. By
default, it should be `/usr/local/info', but it should be written
as `$(prefix)/info'.
`includedir'
The directory for installing header files to be included by user
programs with the C `#include' preprocessor directive. This
should normally be `/usr/local/include', but write it as
`$(prefix)/include'.
Most compilers other than GCC do not look for header files in
`/usr/local/include'. So installing the header files this way is
only useful with GCC. Sometimes this is not a problem because some
libraries are only really intended to work with GCC. But some
libraries are intended to work with other compilers. They should
install their header files in two places, one specified by
`includedir' and one specified by `oldincludedir'.
`oldincludedir'
The directory for installing `#include' header files for use with
compilers other than GCC. This should normally be `/usr/include'.
The Makefile commands should check whether the value of
`oldincludedir' is empty. If it is, they should not try to use
it; they should cancel the second installation of the header files.
A package should not replace an existing header in this directory
unless the header came from the same package. Thus, if your Foo
package provides a header file `foo.h', then it should install the
header file in the `oldincludedir' directory if either (1) there
is no `foo.h' there or (2) the `foo.h' that exists came from the
Foo package.
To tell whether `foo.h' came from the Foo package, put a magic
string in the file--part of a comment--and grep for that string.
Unix-style man pages are installed in one of the following:
`mandir'
The directory for installing the man pages (if any) for this
package. It should include the suffix for the proper section of
the manual--usually `1' for a utility. It will normally be
`/usr/local/man/man1', but you should write it as
`$(prefix)/man/man1'.
`man1dir'
The directory for installing section 1 man pages.
`man2dir'
The directory for installing section 2 man pages.
`...'
Use these names instead of `mandir' if the package needs to
install man pages in more than one section of the manual.
*Don't make the primary documentation for any GNU software be a
man page. Write a manual in Texinfo instead. Man pages are just
for the sake of people running GNU software on Unix, which is a
secondary application only.*
`manext'
The file name extension for the installed man page. This should
contain a period followed by the appropriate digit; it should
normally be `.1'.
`man1ext'
The file name extension for installed section 1 man pages.
`man2ext'
The file name extension for installed section 2 man pages.
`...'
Use these names instead of `manext' if the package needs to
install man pages in more than one section of the manual.
And finally, you should set the following variable:
`srcdir'
The directory for the sources being compiled. The value of this
variable is normally inserted by the `configure' shell script.
For example:
# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
prefix = /usr/local
exec_prefix = $(prefix)
# Where to put the executable for the command `gcc'.
bindir = $(exec_prefix)/bin
# Where to put the directories used by the compiler.
libexecdir = $(exec_prefix)/libexec
# Where to put the Info files.
infodir = $(prefix)/info
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
into a subdirectory particular to that program. If you do this, you
should write the `install' rule to create these subdirectories.
Do not expect the user to include the subdirectory name in the value
of any of the variables listed above. The idea of having a uniform set
of variable names for installation directories is to enable the user to
specify the exact same values for several different GNU packages. In
order for this to be useful, all the packages must be designed so that
they will work sensibly when the user does so.

File: make.info, Node: Quick Reference, Next: Complex Makefile, Prev: Makefile Conventions, Up: Top
Quick Reference
***************
This appendix summarizes the directives, text manipulation functions,
and special variables which GNU `make' understands. *Note Special
Targets::, *Note Catalogue of Implicit Rules: Catalogue of Rules, and
*Note Summary of Options: Options Summary, for other summaries.
Here is a summary of the directives GNU `make' recognizes:
`define VARIABLE'
`endef'
Define a multi-line, recursively-expanded variable.
*Note Sequences::.
`ifdef VARIABLE'
`ifndef VARIABLE'
`ifeq (A,B)'
`ifeq "A" "B"'
`ifeq 'A' 'B''
`ifneq (A,B)'
`ifneq "A" "B"'
`ifneq 'A' 'B''
`else'
`endif'
Conditionally evaluate part of the makefile.
*Note Conditionals::.
`include FILE'
Include another makefile.
*Note Including Other Makefiles: Include.
`override VARIABLE = VALUE'
`override VARIABLE := VALUE'
`override VARIABLE += VALUE'
`override define VARIABLE'
`endef'
Define a variable, overriding any previous definition, even one
from the command line.
*Note The `override' Directive: Override Directive.
`export'
Tell `make' to export all variables to child processes by default.
*Note Communicating Variables to a Sub-`make': Variables/Recursion.
`export VARIABLE'
`export VARIABLE = VALUE'
`export VARIABLE := VALUE'
`export VARIABLE += VALUE'
`unexport VARIABLE'
Tell `make' whether or not to export a particular variable to child
processes.
*Note Communicating Variables to a Sub-`make': Variables/Recursion.
`vpath PATTERN PATH'
Specify a search path for files matching a `%' pattern.
*Note The `vpath' Directive: Selective Search.
`vpath PATTERN'
Remove all search paths previously specified for PATTERN.
`vpath'
Remove all search paths previously specified in any `vpath'
directive.
Here is a summary of the text manipulation functions (*note
Functions::.):
`$(subst FROM,TO,TEXT)'
Replace FROM with TO in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(patsubst PATTERN,REPLACEMENT,TEXT)'
Replace words matching PATTERN with REPLACEMENT in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(strip STRING)'
Remove excess whitespace characters from STRING.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(findstring FIND,TEXT)'
Locate FIND in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(filter PATTERN...,TEXT)'
Select words in TEXT that match one of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(filter-out PATTERN...,TEXT)'
Select words in TEXT that *do not* match any of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(sort LIST)'
Sort the words in LIST lexicographically, removing duplicates.
*Note Functions for String Substitution and Analysis: Text
Functions.
`$(dir NAMES...)'
Extract the directory part of each file name.
*Note Functions for File Names: Filename Functions.
`$(notdir NAMES...)'
Extract the non-directory part of each file name.
*Note Functions for File Names: Filename Functions.
`$(suffix NAMES...)'
Extract the suffix (the last `.' and following characters) of each
file name.
*Note Functions for File Names: Filename Functions.
`$(basename NAMES...)'
Extract the base name (name without suffix) of each file name.
*Note Functions for File Names: Filename Functions.
`$(addsuffix SUFFIX,NAMES...)'
Append SUFFIX to each word in NAMES.
*Note Functions for File Names: Filename Functions.
`$(addprefix PREFIX,NAMES...)'
Prepend PREFIX to each word in NAMES.
*Note Functions for File Names: Filename Functions.
`$(join LIST1,LIST2)'
Join two parallel lists of words.
*Note Functions for File Names: Filename Functions.
`$(word N,TEXT)'
Extract the Nth word (one-origin) of TEXT.
*Note Functions for File Names: Filename Functions.
`$(words TEXT)'
Count the number of words in TEXT.
*Note Functions for File Names: Filename Functions.
`$(firstword NAMES...)'
Extract the first word of NAMES.
*Note Functions for File Names: Filename Functions.
`$(wildcard PATTERN...)'
Find file names matching a shell file name pattern (*not* a `%'
pattern).
*Note The Function `wildcard': Wildcard Function.
`$(shell COMMAND)'
Execute a shell command and return its output.
*Note The `shell' Function: Shell Function.
`$(origin VARIABLE)'
Return a string describing how the `make' variable VARIABLE was
defined.
*Note The `origin' Function: Origin Function.
`$(foreach VAR,WORDS,TEXT)'
Evaluate TEXT with VAR bound to each word in WORDS, and
concatenate the results.
*Note The `foreach' Function: Foreach Function.
Here is a summary of the automatic variables. *Note Automatic
Variables: Automatic, for full information.
`$@'
The file name of the target.
`$%'
The target member name, when the target is an archive member.
`$<'
The name of the first dependency.
`$?'
The names of all the dependencies that are newer than the target,
with spaces between them. For dependencies which are archive
members, only the member named is used (*note Archives::.).
`$^'
`$+'
The names of all the dependencies, with spaces between them. For
dependencies which are archive members, only the member named is
used (*note Archives::.). The value of `$^' omits duplicate
dependencies, while `$+' retains them and preserves their order.
`$*'
The stem with which an implicit rule matches (*note How Patterns
Match: Pattern Match.).
`$(@D)'
`$(@F)'
The directory part and the file-within-directory part of `$@'.
`$(*D)'
`$(*F)'
The directory part and the file-within-directory part of `$*'.
`$(%D)'
`$(%F)'
The directory part and the file-within-directory part of `$%'.
`$(<D)'
`$(<F)'
The directory part and the file-within-directory part of `$<'.
`$(^D)'
`$(^F)'
The directory part and the file-within-directory part of `$^'.
`$(+D)'
`$(+F)'
The directory part and the file-within-directory part of `$+'.
`$(?D)'
`$(?F)'
The directory part and the file-within-directory part of `$?'.
These variables are used specially by GNU `make':
`MAKEFILES'
Makefiles to be read on every invocation of `make'.
*Note The Variable `MAKEFILES': MAKEFILES Variable.
`VPATH'
Directory search path for files not found in the current directory.
*Note `VPATH' Search Path for All Dependencies: General Search.
`SHELL'
The name of the system default command interpreter, usually
`/bin/sh'. You can set `SHELL' in the makefile to change the
shell used to run commands. *Note Command Execution: Execution.
`MAKE'
The name with which `make' was invoked. Using this variable in
commands has special meaning. *Note How the `MAKE' Variable
Works: MAKE Variable.
`MAKELEVEL'
The number of levels of recursion (sub-`make's).
*Note Variables/Recursion::.
`MAKEFLAGS'
The flags given to `make'. You can set this in the environment or
a makefile to set flags.
*Note Communicating Options to a Sub-`make': Options/Recursion.
`SUFFIXES'
The default list of suffixes before `make' reads any makefiles.

File: make.info, Node: Complex Makefile, Next: Concept Index, Prev: Quick Reference, Up: Top
Complex Makefile Example
************************
Here is the makefile for the GNU `tar' program. This is a
moderately complex makefile.
Because it is the first target, the default goal is `all'. An
interesting feature of this makefile is that `testpad.h' is a source
file automatically created by the `testpad' program, itself compiled
from `testpad.c'.
If you type `make' or `make all', then `make' creates the `tar'
executable, the `rmt' daemon that provides remote tape access, and the
`tar.info' Info file.
If you type `make install', then `make' not only creates `tar',
`rmt', and `tar.info', but also installs them.
If you type `make clean', then `make' removes the `.o' files, and
the `tar', `rmt', `testpad', `testpad.h', and `core' files.
If you type `make distclean', then `make' not only removes the same
files as does `make clean' but also the `TAGS', `Makefile', and
`config.status' files. (Although it is not evident, this makefile (and
`config.status') is generated by the user with the `configure' program,
which is provided in the `tar' distribution, but is not shown here.)
If you type `make realclean', then `make' removes the same files as
does `make distclean' and also removes the Info files generated from
`tar.texinfo'.
In addition, there are targets `shar' and `dist' that create
distribution kits.
# Generated automatically from Makefile.in by configure.
# Un*x Makefile for GNU tar program.
# Copyright (C) 1991 Free Software Foundation, Inc.
# This program is free software; you can redistribute
# it and/or modify it under the terms of the GNU
# General Public License ...
...
...
SHELL = /bin/sh
#### Start of system configuration section. ####
srcdir = .
# If you use gcc, you should either run the
# fixincludes script that comes with it or else use
# gcc with the -traditional option. Otherwise ioctl
# calls will be compiled incorrectly on some systems.
CC = gcc -O
YACC = bison -y
INSTALL = /usr/local/bin/install -c
INSTALLDATA = /usr/local/bin/install -c -m 644
# Things you might add to DEFS:
# -DSTDC_HEADERS If you have ANSI C headers and
# libraries.
# -DPOSIX If you have POSIX.1 headers and
# libraries.
# -DBSD42 If you have sys/dir.h (unless
# you use -DPOSIX), sys/file.h,
# and st_blocks in `struct stat'.
# -DUSG If you have System V/ANSI C
# string and memory functions
# and headers, sys/sysmacros.h,
# fcntl.h, getcwd, no valloc,
# and ndir.h (unless
# you use -DDIRENT).
# -DNO_MEMORY_H If USG or STDC_HEADERS but do not
# include memory.h.
# -DDIRENT If USG and you have dirent.h
# instead of ndir.h.
# -DSIGTYPE=int If your signal handlers
# return int, not void.
# -DNO_MTIO If you lack sys/mtio.h
# (magtape ioctls).
# -DNO_REMOTE If you do not have a remote shell
# or rexec.
# -DUSE_REXEC To use rexec for remote tape
# operations instead of
# forking rsh or remsh.
# -DVPRINTF_MISSING If you lack vprintf function
# (but have _doprnt).
# -DDOPRNT_MISSING If you lack _doprnt function.
# Also need to define
# -DVPRINTF_MISSING.
# -DFTIME_MISSING If you lack ftime system call.
# -DSTRSTR_MISSING If you lack strstr function.
# -DVALLOC_MISSING If you lack valloc function.
# -DMKDIR_MISSING If you lack mkdir and
# rmdir system calls.
# -DRENAME_MISSING If you lack rename system call.
# -DFTRUNCATE_MISSING If you lack ftruncate
# system call.
# -DV7 On Version 7 Unix (not
# tested in a long time).
# -DEMUL_OPEN3 If you lack a 3-argument version
# of open, and want to emulate it
# with system calls you do have.
# -DNO_OPEN3 If you lack the 3-argument open
# and want to disable the tar -k
# option instead of emulating open.
# -DXENIX If you have sys/inode.h
# and need it 94 to be included.
DEFS = -DSIGTYPE=int -DDIRENT -DSTRSTR_MISSING \
-DVPRINTF_MISSING -DBSD42
# Set this to rtapelib.o unless you defined NO_REMOTE,
# in which case make it empty.
RTAPELIB = rtapelib.o
LIBS =
DEF_AR_FILE = /dev/rmt8
DEFBLOCKING = 20
CDEBUG = -g
CFLAGS = $(CDEBUG) -I. -I$(srcdir) $(DEFS) \
-DDEF_AR_FILE=\"$(DEF_AR_FILE)\" \
-DDEFBLOCKING=$(DEFBLOCKING)
LDFLAGS = -g
prefix = /usr/local
# Prefix for each installed program,
# normally empty or `g'.
binprefix =
# The directory to install tar in.
bindir = $(prefix)/bin
# The directory to install the info files in.
infodir = $(prefix)/info
#### End of system configuration section. ####
SRC1 = tar.c create.c extract.c buffer.c \
getoldopt.c update.c gnu.c mangle.c
SRC2 = version.c list.c names.c diffarch.c \
port.c wildmat.c getopt.c
SRC3 = getopt1.c regex.c getdate.y
SRCS = $(SRC1) $(SRC2) $(SRC3)
OBJ1 = tar.o create.o extract.o buffer.o \
getoldopt.o update.o gnu.o mangle.o
OBJ2 = version.o list.o names.o diffarch.o \
port.o wildmat.o getopt.o
OBJ3 = getopt1.o regex.o getdate.o $(RTAPELIB)
OBJS = $(OBJ1) $(OBJ2) $(OBJ3)
AUX = README COPYING ChangeLog Makefile.in \
makefile.pc configure configure.in \
tar.texinfo tar.info* texinfo.tex \
tar.h port.h open3.h getopt.h regex.h \
rmt.h rmt.c rtapelib.c alloca.c \
msd_dir.h msd_dir.c tcexparg.c \
level-0 level-1 backup-specs testpad.c
all: tar rmt tar.info
tar: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
rmt: rmt.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ rmt.c
tar.info: tar.texinfo
makeinfo tar.texinfo
install: all
$(INSTALL) tar $(bindir)/$(binprefix)tar
-test ! -f rmt || $(INSTALL) rmt /etc/rmt
$(INSTALLDATA) $(srcdir)/tar.info* $(infodir)
$(OBJS): tar.h port.h testpad.h
regex.o buffer.o tar.o: regex.h
# getdate.y has 8 shift/reduce conflicts.
testpad.h: testpad
./testpad
testpad: testpad.o
$(CC) -o $@ testpad.o
TAGS: $(SRCS)
etags $(SRCS)
clean:
rm -f *.o tar rmt testpad testpad.h core
distclean: clean
rm -f TAGS Makefile config.status
realclean: distclean
rm -f tar.info*
shar: $(SRCS) $(AUX)
shar $(SRCS) $(AUX) | compress \
> tar-`sed -e '/version_string/!d' \
-e 's/[^0-9.]*\([0-9.]*\).*/\1/' \
-e q
version.c`.shar.Z
dist: $(SRCS) $(AUX)
echo tar-`sed \
-e '/version_string/!d' \
-e 's/[^0-9.]*\([0-9.]*\).*/\1/' \
-e q
version.c` > .fname
-rm -rf `cat .fname`
mkdir `cat .fname`
ln $(SRCS) $(AUX) `cat .fname`
-rm -rf `cat .fname` .fname
tar chZf `cat .fname`.tar.Z `cat .fname`
tar.zoo: $(SRCS) $(AUX)
-rm -rf tmp.dir
-mkdir tmp.dir
-rm tar.zoo
for X in $(SRCS) $(AUX) ; do \
echo $$X ; \
sed 's/$$/^M/' $$X \
> tmp.dir/$$X ; done
cd tmp.dir ; zoo aM ../tar.zoo *
-rm -rf tmp.dir

View File

@@ -1,896 +0,0 @@
This is Info file make.info, produced by Makeinfo-1.55 from the input
file ./make.texinfo.
This file documents the GNU Make utility, which determines
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
This is Edition 0.48, last updated 4 April 1995, of `The GNU Make
Manual', for `make', Version 3.73 Beta.
Copyright (C) 1988, '89, '90, '91, '92, '93, '94, '95 Free
Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.

File: make.info, Node: Concept Index, Next: Name Index, Prev: Complex Makefile, Up: Top
Index of Concepts
*****************
* Menu:
* +, and define: Sequences.
* +=: Appending.
* ,v (RCS file extension): Catalogue of Rules.
* -, and define: Sequences.
* .C: Catalogue of Rules.
* .c: Catalogue of Rules.
* .cc: Catalogue of Rules.
* .ch: Catalogue of Rules.
* .def: Catalogue of Rules.
* .dvi: Catalogue of Rules.
* .F: Catalogue of Rules.
* .f: Catalogue of Rules.
* .info: Catalogue of Rules.
* .l: Catalogue of Rules.
* .ln: Catalogue of Rules.
* .mod: Catalogue of Rules.
* .o: Catalogue of Rules.
* .o: Catalogue of Rules.
* .p: Catalogue of Rules.
* .r: Catalogue of Rules.
* .S: Catalogue of Rules.
* .s: Catalogue of Rules.
* .sh: Catalogue of Rules.
* .sym: Catalogue of Rules.
* .tex: Catalogue of Rules.
* .texi: Catalogue of Rules.
* .texinfo: Catalogue of Rules.
* .txinfo: Catalogue of Rules.
* .w: Catalogue of Rules.
* .web: Catalogue of Rules.
* .y: Catalogue of Rules.
* :=: Setting.
* :=: Flavors.
* =: Flavors.
* =: Setting.
* @, and define: Sequences.
* #include: Automatic Dependencies.
* # (comments), in commands: Commands.
* # (comments), in makefile: Makefile Contents.
* $, in function call: Syntax of Functions.
* $, in rules: Rule Syntax.
* $, in variable name: Computed Names.
* $, in variable reference: Reference.
* %, in pattern rules: Pattern Intro.
* %, quoting in patsubst: Text Functions.
* %, quoting in vpath: Selective Search.
* %, quoting in static pattern: Static Usage.
* %, quoting with \ (backslash): Selective Search.
* %, quoting with \ (backslash): Static Usage.
* %, quoting with \ (backslash): Text Functions.
* * (wildcard character): Wildcards.
* -assume-new: Options Summary.
* -assume-new: Instead of Execution.
* -assume-new, and recursion: Options/Recursion.
* -assume-old: Avoiding Compilation.
* -assume-old: Options Summary.
* -assume-old, and recursion: Options/Recursion.
* -debug: Options Summary.
* -directory: Options Summary.
* -directory: Recursion.
* -directory, and -print-directory: -w Option.
* -directory, and recursion: Options/Recursion.
* -dry-run: Echoing.
* -dry-run: Instead of Execution.
* -dry-run: Options Summary.
* -environment-overrides: Options Summary.
* -file: Options Summary.
* -file: Makefile Arguments.
* -file: Makefile Names.
* -file, and recursion: Options/Recursion.
* -help: Options Summary.
* -ignore-errors: Errors.
* -ignore-errors: Options Summary.
* -include-dir: Options Summary.
* -include-dir: Include.
* -jobs: Parallel.
* -jobs: Options Summary.
* -jobs, and recursion: Options/Recursion.
* -just-print: Options Summary.
* -just-print: Instead of Execution.
* -just-print: Echoing.
* -keep-going: Options Summary.
* -keep-going: Errors.
* -keep-going: Testing.
* -load-average: Options Summary.
* -load-average: Parallel.
* -makefile: Options Summary.
* -makefile: Makefile Arguments.
* -makefile: Makefile Names.
* -max-load: Options Summary.
* -max-load: Parallel.
* -new-file: Instead of Execution.
* -new-file: Options Summary.
* -new-file, and recursion: Options/Recursion.
* -no-builtin-rules: Options Summary.
* -no-keep-going: Options Summary.
* -no-print-directory: -w Option.
* -no-print-directory: Options Summary.
* -old-file: Avoiding Compilation.
* -old-file: Options Summary.
* -old-file, and recursion: Options/Recursion.
* -print-data-base: Options Summary.
* -print-directory: Options Summary.
* -print-directory, and -directory: -w Option.
* -print-directory, and recursion: -w Option.
* -print-directory, disabling: -w Option.
* -question: Instead of Execution.
* -question: Options Summary.
* -quiet: Echoing.
* -quiet: Options Summary.
* -recon: Options Summary.
* -recon: Echoing.
* -recon: Instead of Execution.
* -silent: Options Summary.
* -silent: Echoing.
* -stop: Options Summary.
* -touch: Instead of Execution.
* -touch: Options Summary.
* -touch, and recursion: MAKE Variable.
* -version: Options Summary.
* -warn-undefined-variables: Options Summary.
* -what-if: Instead of Execution.
* -what-if: Options Summary.
* -b: Options Summary.
* -C: Options Summary.
* -C: Recursion.
* -C, and -w: -w Option.
* -C, and recursion: Options/Recursion.
* -d: Options Summary.
* -e: Options Summary.
* -e (shell flag): Automatic Dependencies.
* -f: Makefile Arguments.
* -f: Makefile Names.
* -f: Options Summary.
* -f, and recursion: Options/Recursion.
* -h: Options Summary.
* -I: Options Summary.
* -i: Options Summary.
* -i: Errors.
* -I: Include.
* -j: Options Summary.
* -j: Parallel.
* -j, and archive update: Archive Pitfalls.
* -j, and recursion: Options/Recursion.
* -k: Errors.
* -k: Testing.
* -k: Options Summary.
* -l: Options Summary.
* -l (library search): Libraries/Search.
* -l (load average): Parallel.
* -MM (to GNU compiler): Automatic Dependencies.
* -m: Options Summary.
* -M (to compiler): Automatic Dependencies.
* -n: Echoing.
* -n: Instead of Execution.
* -n: Options Summary.
* -o: Avoiding Compilation.
* -o: Options Summary.
* -o, and recursion: Options/Recursion.
* -p: Options Summary.
* -q: Options Summary.
* -q: Instead of Execution.
* -r: Options Summary.
* -s: Echoing.
* -s: Options Summary.
* -S: Options Summary.
* -t: Options Summary.
* -t: Instead of Execution.
* -t, and recursion: MAKE Variable.
* -v: Options Summary.
* -w: Options Summary.
* -W: Options Summary.
* -W: Instead of Execution.
* -w, and -C: -w Option.
* -W, and recursion: Options/Recursion.
* -w, and recursion: -w Option.
* -w, disabling: -w Option.
* - (in commands): Errors.
* .a (archives): Archive Suffix Rules.
* .d: Automatic Dependencies.
* .PRECIOUS intermediate files: Chained Rules.
* :: rules (double-colon): Double-Colon.
* ? (wildcard character): Wildcards.
* @ (in commands): Echoing.
* all (standard target): Goals.
* cd (shell command): Execution.
* cd (shell command): MAKE Variable.
* check (standard target): Goals.
* clean (standard target): Goals.
* clean target: Cleanup.
* clean target: Simple Makefile.
* clobber (standard target): Goals.
* distclean (standard target): Goals.
* dist (standard target): Goals.
* FORCE: Force Targets.
* install (standard target): Goals.
* lint, rule to run: Catalogue of Rules.
* lpr (shell command): Wildcard Examples.
* lpr (shell command): Empty Targets.
* make depend: Automatic Dependencies.
* mostlyclean (standard target): Goals.
* OBJECTS: Variables Simplify.
* objects: Variables Simplify.
* objs: Variables Simplify.
* OBJS: Variables Simplify.
* obj: Variables Simplify.
* OBJ: Variables Simplify.
* print (standard target): Goals.
* print target: Empty Targets.
* print target: Wildcard Examples.
* README: Makefile Names.
* realclean (standard target): Goals.
* rm (shell command): Phony Targets.
* rm (shell command): Errors.
* rm (shell command): Simple Makefile.
* rm (shell command): Wildcard Examples.
* sed (shell command): Automatic Dependencies.
* shar (standard target): Goals.
* TAGS (standard target): Goals.
* tar (standard target): Goals.
* test (standard target): Goals.
* touch (shell command): Empty Targets.
* touch (shell command): Wildcard Examples.
* VPATH, and implicit rules: Implicit/Search.
* VPATH, and link libraries: Libraries/Search.
* yacc: Sequences.
* [...] (wildcard characters): Wildcards.
* \ (backslash), for continuation lines: Simple Makefile.
* \ (backslash), in commands: Execution.
* \ (backslash), to quote %: Text Functions.
* \ (backslash), to quote %: Static Usage.
* \ (backslash), to quote %: Selective Search.
* __.SYMDEF: Archive Symbols.
* ~ (tilde): Wildcards.
* TeX, rule to run: Catalogue of Rules.
* appending to variables: Appending.
* ar: Implicit Variables.
* archive: Archives.
* archive member targets: Archive Members.
* archive symbol directory updating: Archive Symbols.
* archive, and -j: Archive Pitfalls.
* archive, and parallel execution: Archive Pitfalls.
* archive, suffix rule for: Archive Suffix Rules.
* Arg list too long: Options/Recursion.
* arguments of functions: Syntax of Functions.
* as: Implicit Variables.
* as: Catalogue of Rules.
* assembly, rule to compile: Catalogue of Rules.
* automatic generation of dependencies: Include.
* automatic generation of dependencies: Automatic Dependencies.
* automatic variables: Automatic.
* backquotes: Shell Function.
* backslash (\), for continuation lines: Simple Makefile.
* backslash (\), in commands: Execution.
* backslash (\), to quote %: Text Functions.
* backslash (\), to quote %: Selective Search.
* backslash (\), to quote %: Static Usage.
* basename: Filename Functions.
* broken pipe: Parallel.
* bugs, reporting: Bugs.
* built-in special targets: Special Targets.
* C++, rule to compile: Catalogue of Rules.
* C, rule to compile: Catalogue of Rules.
* cc: Implicit Variables.
* cc: Catalogue of Rules.
* chains of rules: Chained Rules.
* cleaning up: Cleanup.
* co: Implicit Variables.
* co: Catalogue of Rules.
* combining rules by dependency: Combine By Dependency.
* command line variable definitions, and recursion: Options/Recursion.
* command line variables: Overriding.
* commands: Rule Syntax.
* commands, backslash (\) in: Execution.
* commands, comments in: Commands.
* commands, echoing: Echoing.
* commands, empty: Empty Commands.
* commands, errors in: Errors.
* commands, execution: Execution.
* commands, execution in parallel: Parallel.
* commands, expansion: Shell Function.
* commands, how to write: Commands.
* commands, instead of executing: Instead of Execution.
* commands, introduction to: Rule Introduction.
* commands, quoting newlines in: Execution.
* commands, sequences of: Sequences.
* comments, in commands: Commands.
* comments, in makefile: Makefile Contents.
* compatibility: Features.
* compatibility in exporting: Variables/Recursion.
* compilation, testing: Testing.
* computed variable name: Computed Names.
* conditionals: Conditionals.
* continuation lines: Simple Makefile.
* conventions for makefiles: Makefile Conventions.
* ctangle: Implicit Variables.
* ctangle: Catalogue of Rules.
* cweave: Catalogue of Rules.
* cweave: Implicit Variables.
* deducing commands (implicit rules): make Deduces.
* default goal: Rules.
* default goal: How Make Works.
* default makefile name: Makefile Names.
* default rules, last-resort: Last Resort.
* defining variables verbatim: Defining.
* deletion of target files: Interrupts.
* deletion of target files: Errors.
* dependencies: Rule Syntax.
* dependencies, automatic generation: Automatic Dependencies.
* dependencies, automatic generation: Include.
* dependencies, introduction to: Rule Introduction.
* dependencies, list of all: Automatic.
* dependencies, list of changed: Automatic.
* dependencies, varying (static pattern): Static Pattern.
* dependency: Rules.
* dependency pattern, implicit: Pattern Intro.
* dependency pattern, static (not implicit): Static Usage.
* directive: Makefile Contents.
* directories, printing them: -w Option.
* directories, updating archive symbol: Archive Symbols.
* directory part: Filename Functions.
* directory search (VPATH): Directory Search.
* directory search (VPATH), and implicit rules: Implicit/Search.
* directory search (VPATH), and link libraries: Libraries/Search.
* directory search (VPATH), and shell commands: Commands/Search.
* dollar sign ($), in function call: Syntax of Functions.
* dollar sign ($), in rules: Rule Syntax.
* dollar sign ($), in variable name: Computed Names.
* dollar sign ($), in variable reference: Reference.
* double-colon rules: Double-Colon.
* duplicate words, removing: Text Functions.
* E2BIG: Options/Recursion.
* echoing of commands: Echoing.
* editor: Introduction.
* Emacs (M-x compile): Errors.
* empty commands: Empty Commands.
* empty targets: Empty Targets.
* environment: Environment.
* environment, SHELL in: Execution.
* environment, and recursion: Variables/Recursion.
* errors (in commands): Errors.
* errors with wildcards: Wildcard Pitfall.
* execution, in parallel: Parallel.
* execution, instead of: Instead of Execution.
* execution, of commands: Execution.
* exit status (errors): Errors.
* explicit rule, definition of: Makefile Contents.
* exporting variables: Variables/Recursion.
* f77: Catalogue of Rules.
* f77: Implicit Variables.
* features of GNU make: Features.
* features, missing: Missing.
* file name functions: Filename Functions.
* file name of makefile: Makefile Names.
* file name of makefile, how to specify: Makefile Names.
* file name prefix, adding: Filename Functions.
* file name suffix: Filename Functions.
* file name suffix, adding: Filename Functions.
* file name with wildcards: Wildcards.
* file name, basename of: Filename Functions.
* file name, directory part: Filename Functions.
* file name, nondirectory part: Filename Functions.
* files, assuming new: Instead of Execution.
* files, assuming old: Avoiding Compilation.
* files, avoiding recompilation of: Avoiding Compilation.
* files, intermediate: Chained Rules.
* filtering out words: Text Functions.
* filtering words: Text Functions.
* finding strings: Text Functions.
* flags: Options Summary.
* flags for compilers: Implicit Variables.
* flavors of variables: Flavors.
* force targets: Force Targets.
* Fortran, rule to compile: Catalogue of Rules.
* functions: Functions.
* functions, for file names: Filename Functions.
* functions, for text: Text Functions.
* functions, syntax of: Syntax of Functions.
* g++: Implicit Variables.
* g++: Catalogue of Rules.
* gcc: Catalogue of Rules.
* generating dependencies automatically: Include.
* generating dependencies automatically: Automatic Dependencies.
* get: Catalogue of Rules.
* get: Implicit Variables.
* globbing (wildcards): Wildcards.
* goal: How Make Works.
* goal, default: Rules.
* goal, default: How Make Works.
* goal, how to specify: Goals.
* home directory: Wildcards.
* IEEE Standard 1003.2: Overview.
* implicit rule: Implicit Rules.
* implicit rule, and VPATH: Implicit/Search.
* implicit rule, and directory search: Implicit/Search.
* implicit rule, definition of: Makefile Contents.
* implicit rule, how to use: Using Implicit.
* implicit rule, introduction to: make Deduces.
* implicit rule, predefined: Catalogue of Rules.
* implicit rule, search algorithm: Search Algorithm.
* including (MAKEFILES variable): MAKEFILES Variable.
* including other makefiles: Include.
* incompatibilities: Missing.
* Info, rule to format: Catalogue of Rules.
* intermediate files: Chained Rules.
* intermediate files, preserving: Chained Rules.
* interrupt: Interrupts.
* job slots: Parallel.
* job slots, and recursion: Options/Recursion.
* jobs, limiting based on load: Parallel.
* joining lists of words: Filename Functions.
* killing (interruption): Interrupts.
* last-resort default rules: Last Resort.
* ld: Catalogue of Rules.
* lex: Implicit Variables.
* lex: Catalogue of Rules.
* Lex, rule to run: Catalogue of Rules.
* libraries for linking, directory search: Libraries/Search.
* library archive, suffix rule for: Archive Suffix Rules.
* limiting jobs based on load: Parallel.
* link libraries, and directory search: Libraries/Search.
* linking, predefined rule for: Catalogue of Rules.
* lint: Catalogue of Rules.
* list of all dependencies: Automatic.
* list of changed dependencies: Automatic.
* load average: Parallel.
* loops in variable expansion: Flavors.
* m2c: Catalogue of Rules.
* macro: Using Variables.
* makefile: Introduction.
* makefile name: Makefile Names.
* makefile name, how to specify: Makefile Names.
* makefile rule parts: Rule Introduction.
* makefile, and MAKEFILES variable: MAKEFILES Variable.
* makefile, conventions for: Makefile Conventions.
* makefile, how make processes: How Make Works.
* makefile, how to write: Makefiles.
* makefile, including: Include.
* makefile, overriding: Overriding Makefiles.
* makefile, remaking of: Remaking Makefiles.
* makefile, simple: Simple Makefile.
* makeinfo: Catalogue of Rules.
* makeinfo: Implicit Variables.
* match-anything rule: Match-Anything Rules.
* match-anything rule, used to override: Overriding Makefiles.
* missing features: Missing.
* mistakes with wildcards: Wildcard Pitfall.
* modified variable reference: Substitution Refs.
* Modula-2, rule to compile: Catalogue of Rules.
* multiple rules for one target: Multiple Rules.
* multiple rules for one target (::): Double-Colon.
* multiple targets: Multiple Targets.
* multiple targets, in pattern rule: Pattern Intro.
* name of makefile: Makefile Names.
* name of makefile, how to specify: Makefile Names.
* nested variable reference: Computed Names.
* newline, quoting, in commands: Execution.
* newline, quoting, in makefile: Simple Makefile.
* nondirectory part: Filename Functions.
* old-fashioned suffix rules: Suffix Rules.
* options: Options Summary.
* options, and recursion: Options/Recursion.
* options, setting from environment: Options/Recursion.
* options, setting in makefiles: Options/Recursion.
* order of pattern rules: Pattern Intro.
* origin of variable: Origin Function.
* overriding makefiles: Overriding Makefiles.
* overriding variables with arguments: Overriding.
* overriding with override: Override Directive.
* parallel execution: Parallel.
* parallel execution, and archive update: Archive Pitfalls.
* parts of makefile rule: Rule Introduction.
* Pascal, rule to compile: Catalogue of Rules.
* pattern rule: Pattern Intro.
* pattern rules, order of: Pattern Intro.
* pattern rules, static (not implicit): Static Pattern.
* pattern rules, static, syntax of: Static Usage.
* pc: Implicit Variables.
* pc: Catalogue of Rules.
* phony targets: Phony Targets.
* pitfalls of wildcards: Wildcard Pitfall.
* portability: Features.
* POSIX: Overview.
* POSIX.2: Options/Recursion.
* precious targets: Special Targets.
* prefix, adding: Filename Functions.
* preserving intermediate files: Chained Rules.
* preserving with .PRECIOUS: Chained Rules.
* preserving with .PRECIOUS: Special Targets.
* printing directories: -w Option.
* printing of commands: Echoing.
* problems and bugs, reporting: Bugs.
* problems with wildcards: Wildcard Pitfall.
* processing a makefile: How Make Works.
* question mode: Instead of Execution.
* quoting %, in patsubst: Text Functions.
* quoting %, in vpath: Selective Search.
* quoting %, in static pattern: Static Usage.
* quoting newline, in commands: Execution.
* quoting newline, in makefile: Simple Makefile.
* Ratfor, rule to compile: Catalogue of Rules.
* RCS, rule to extract from: Catalogue of Rules.
* recompilation: Introduction.
* recompilation, avoiding: Avoiding Compilation.
* recording events with empty targets: Empty Targets.
* recursion: Recursion.
* recursion, and -C: Options/Recursion.
* recursion, and -f: Options/Recursion.
* recursion, and -j: Options/Recursion.
* recursion, and -o: Options/Recursion.
* recursion, and -t: MAKE Variable.
* recursion, and -W: Options/Recursion.
* recursion, and -w: -w Option.
* recursion, and MAKEFILES variable: MAKEFILES Variable.
* recursion, and MAKE variable: MAKE Variable.
* recursion, and command line variable definitions: Options/Recursion.
* recursion, and environment: Variables/Recursion.
* recursion, and options: Options/Recursion.
* recursion, and printing directories: -w Option.
* recursion, and variables: Variables/Recursion.
* recursion, level of: Variables/Recursion.
* recursive variable expansion: Using Variables.
* recursive variable expansion: Flavors.
* recursively expanded variables: Flavors.
* reference to variables: Reference.
* reference to variables: Advanced.
* relinking: How Make Works.
* remaking makefiles: Remaking Makefiles.
* removal of target files: Errors.
* removal of target files: Interrupts.
* removing duplicate words: Text Functions.
* removing, to clean up: Cleanup.
* reporting bugs: Bugs.
* rm: Implicit Variables.
* rule commands: Commands.
* rule dependencies: Rule Syntax.
* rule syntax: Rule Syntax.
* rule targets: Rule Syntax.
* rule, and $: Rule Syntax.
* rule, double-colon (::): Double-Colon.
* rule, explicit, definition of: Makefile Contents.
* rule, how to write: Rules.
* rule, implicit: Implicit Rules.
* rule, implicit, and VPATH: Implicit/Search.
* rule, implicit, and directory search: Implicit/Search.
* rule, implicit, chains of: Chained Rules.
* rule, implicit, definition of: Makefile Contents.
* rule, implicit, how to use: Using Implicit.
* rule, implicit, introduction to: make Deduces.
* rule, implicit, predefined: Catalogue of Rules.
* rule, introduction to: Rule Introduction.
* rule, multiple for one target: Multiple Rules.
* rule, no commands or dependencies: Force Targets.
* rule, pattern: Pattern Intro.
* rule, static pattern: Static Pattern.
* rule, static pattern versus implicit: Static versus Implicit.
* rule, with multiple targets: Multiple Targets.
* s. (SCCS file prefix): Catalogue of Rules.
* SCCS, rule to extract from: Catalogue of Rules.
* search algorithm, implicit rule: Search Algorithm.
* search path for dependencies (VPATH): Directory Search.
* search path for dependencies (VPATH), and implicit rules: Implicit/Search.
* search path for dependencies (VPATH), and link libraries: Libraries/Search.
* searching for strings: Text Functions.
* selecting words: Filename Functions.
* sequences of commands: Sequences.
* setting options from environment: Options/Recursion.
* setting options in makefiles: Options/Recursion.
* setting variables: Setting.
* several rules for one target: Multiple Rules.
* several targets in a rule: Multiple Targets.
* shell command: Simple Makefile.
* shell command, and directory search: Commands/Search.
* shell command, execution: Execution.
* shell command, function for: Shell Function.
* shell file name pattern (in include): Include.
* shell wildcards (in include): Include.
* signal: Interrupts.
* silent operation: Echoing.
* simple makefile: Simple Makefile.
* simple variable expansion: Using Variables.
* simplifying with variables: Variables Simplify.
* simply expanded variables: Flavors.
* sorting words: Text Functions.
* spaces, in variable values: Flavors.
* spaces, stripping: Text Functions.
* special targets: Special Targets.
* specifying makefile name: Makefile Names.
* standard input: Parallel.
* standards conformance: Overview.
* standards for makefiles: Makefile Conventions.
* static pattern rule: Static Pattern.
* static pattern rule, syntax of: Static Usage.
* static pattern rule, versus implicit: Static versus Implicit.
* stem: Pattern Match.
* stem: Static Usage.
* stem, variable for: Automatic.
* strings, searching for: Text Functions.
* stripping whitespace: Text Functions.
* sub-make: Variables/Recursion.
* subdirectories, recursion for: Recursion.
* substitution variable reference: Substitution Refs.
* suffix rule: Suffix Rules.
* suffix rule, for archive: Archive Suffix Rules.
* suffix, adding: Filename Functions.
* suffix, function to find: Filename Functions.
* suffix, substituting in variables: Substitution Refs.
* switches: Options Summary.
* symbol directories, updating archive: Archive Symbols.
* syntax of rules: Rule Syntax.
* tab character (in commands): Rule Syntax.
* tabs in rules: Rule Introduction.
* tangle: Implicit Variables.
* tangle: Catalogue of Rules.
* target: Rules.
* target pattern, implicit: Pattern Intro.
* target pattern, static (not implicit): Static Usage.
* target, deleting on error: Errors.
* target, deleting on interrupt: Interrupts.
* target, multiple in pattern rule: Pattern Intro.
* target, multiple rules for one: Multiple Rules.
* target, touching: Instead of Execution.
* targets: Rule Syntax.
* targets without a file: Phony Targets.
* targets, built-in special: Special Targets.
* targets, empty: Empty Targets.
* targets, force: Force Targets.
* targets, introduction to: Rule Introduction.
* targets, multiple: Multiple Targets.
* targets, phony: Phony Targets.
* terminal rule: Match-Anything Rules.
* testing compilation: Testing.
* tex: Catalogue of Rules.
* tex: Implicit Variables.
* texi2dvi: Catalogue of Rules.
* texi2dvi: Implicit Variables.
* Texinfo, rule to format: Catalogue of Rules.
* tilde (~): Wildcards.
* touching files: Instead of Execution.
* undefined variables, warning message: Options Summary.
* updating archive symbol directories: Archive Symbols.
* updating makefiles: Remaking Makefiles.
* value: Using Variables.
* value, how a variable gets it: Values.
* variable: Using Variables.
* variable definition: Makefile Contents.
* variables: Variables Simplify.
* variables, $ in name: Computed Names.
* variables, and implicit rule: Automatic.
* variables, appending to: Appending.
* variables, automatic: Automatic.
* variables, command line: Overriding.
* variables, command line, and recursion: Options/Recursion.
* variables, computed names: Computed Names.
* variables, defining verbatim: Defining.
* variables, environment: Variables/Recursion.
* variables, environment: Environment.
* variables, exporting: Variables/Recursion.
* variables, flavors: Flavors.
* variables, how they get their values: Values.
* variables, how to reference: Reference.
* variables, loops in expansion: Flavors.
* variables, modified reference: Substitution Refs.
* variables, nested references: Computed Names.
* variables, origin of: Origin Function.
* variables, overriding: Override Directive.
* variables, overriding with arguments: Overriding.
* variables, recursively expanded: Flavors.
* variables, setting: Setting.
* variables, simply expanded: Flavors.
* variables, spaces in values: Flavors.
* variables, substituting suffix in: Substitution Refs.
* variables, substitution reference: Substitution Refs.
* variables, warning for undefined: Options Summary.
* varying dependencies: Static Pattern.
* verbatim variable definition: Defining.
* vpath: Directory Search.
* weave: Catalogue of Rules.
* weave: Implicit Variables.
* Web, rule to run: Catalogue of Rules.
* what if: Instead of Execution.
* whitespace, in variable values: Flavors.
* whitespace, stripping: Text Functions.
* wildcard: Wildcards.
* wildcard pitfalls: Wildcard Pitfall.
* wildcard, function: Filename Functions.
* wildcard, in include: Include.
* wildcard, in archive member: Archive Members.
* words, extracting first: Filename Functions.
* words, filtering: Text Functions.
* words, filtering out: Text Functions.
* words, finding number: Filename Functions.
* words, iterating over: Foreach Function.
* words, joining lists: Filename Functions.
* words, removing duplicates: Text Functions.
* words, selecting: Filename Functions.
* writing rule commands: Commands.
* writing rules: Rules.
* yacc: Implicit Variables.
* yacc: Catalogue of Rules.
* Yacc, rule to run: Catalogue of Rules.

File: make.info, Node: Name Index, Prev: Concept Index, Up: Top
Index of Functions, Variables, & Directives
*******************************************
* Menu:
* $%: Automatic.
* $(%D): Automatic.
* $(%F): Automatic.
* $(*D): Automatic.
* $(*F): Automatic.
* $(<D): Automatic.
* $(<F): Automatic.
* $(?D): Automatic.
* $(?F): Automatic.
* $(@D): Automatic.
* $(@F): Automatic.
* $(^D): Automatic.
* $(^F): Automatic.
* $*: Automatic.
* $*, and static pattern: Static Usage.
* $+: Automatic.
* $<: Automatic.
* $?: Automatic.
* $@: Automatic.
* $^: Automatic.
* % (automatic variable): Automatic.
* %D (automatic variable): Automatic.
* %F (automatic variable): Automatic.
* * (automatic variable), unsupported bizarre usage: Missing.
* * (automatic variable): Automatic.
* *D (automatic variable): Automatic.
* *F (automatic variable): Automatic.
* + (automatic variable): Automatic.
* .DEFAULT: Last Resort.
* .DEFAULT: Special Targets.
* .DEFAULT, and empty commands: Empty Commands.
* .DELETE_ON_ERROR: Errors.
* .EXPORT_ALL_VARIABLES: Variables/Recursion.
* .EXPORT_ALL_VARIABLES: Special Targets.
* .IGNORE: Errors.
* .IGNORE: Special Targets.
* .PHONY: Special Targets.
* .PHONY: Phony Targets.
* .POSIX: Options/Recursion.
* .PRECIOUS: Interrupts.
* .PRECIOUS: Special Targets.
* .SILENT: Special Targets.
* .SILENT: Echoing.
* .SUFFIXES: Special Targets.
* .SUFFIXES: Suffix Rules.
* /usr/gnu/include: Include.
* /usr/include: Include.
* /usr/local/include: Include.
* < (automatic variable): Automatic.
* <D (automatic variable): Automatic.
* <F (automatic variable): Automatic.
* ? (automatic variable): Automatic.
* ?D (automatic variable): Automatic.
* ?F (automatic variable): Automatic.
* @ (automatic variable): Automatic.
* @D (automatic variable): Automatic.
* @F (automatic variable): Automatic.
* addprefix: Filename Functions.
* addsuffix: Filename Functions.
* AR: Implicit Variables.
* ARFLAGS: Implicit Variables.
* AS: Implicit Variables.
* ASFLAGS: Implicit Variables.
* basename: Filename Functions.
* CC: Implicit Variables.
* CFLAGS: Implicit Variables.
* CO: Implicit Variables.
* COFLAGS: Implicit Variables.
* CPP: Implicit Variables.
* CPPFLAGS: Implicit Variables.
* CTANGLE: Implicit Variables.
* CWEAVE: Implicit Variables.
* CXX: Implicit Variables.
* CXXFLAGS: Implicit Variables.
* define: Defining.
* dir: Filename Functions.
* else: Conditional Syntax.
* endef: Defining.
* endif: Conditional Syntax.
* export: Variables/Recursion.
* FC: Implicit Variables.
* FFLAGS: Implicit Variables.
* filter: Text Functions.
* filter-out: Text Functions.
* findstring: Text Functions.
* firstword: Filename Functions.
* foreach: Foreach Function.
* GET: Implicit Variables.
* GFLAGS: Implicit Variables.
* GNUmakefile: Makefile Names.
* ifdef: Conditional Syntax.
* ifeq: Conditional Syntax.
* ifndef: Conditional Syntax.
* ifneq: Conditional Syntax.
* include: Include.
* join: Filename Functions.
* LDFLAGS: Implicit Variables.
* LEX: Implicit Variables.
* LFLAGS: Implicit Variables.
* MAKE: MAKE Variable.
* MAKE: Flavors.
* Makefile: Makefile Names.
* makefile: Makefile Names.
* MAKEFILES: Variables/Recursion.
* MAKEFILES: MAKEFILES Variable.
* MAKEFLAGS: Options/Recursion.
* MAKEINFO: Implicit Variables.
* MAKELEVEL: Variables/Recursion.
* MAKELEVEL: Flavors.
* MAKEOVERRIDES: Options/Recursion.
* MFLAGS: Options/Recursion.
* notdir: Filename Functions.
* origin: Origin Function.
* OUTPUT_OPTION: Catalogue of Rules.
* override: Override Directive.
* patsubst: Text Functions.
* patsubst: Substitution Refs.
* PC: Implicit Variables.
* PFLAGS: Implicit Variables.
* RFLAGS: Implicit Variables.
* RM: Implicit Variables.
* SHELL: Execution.
* shell: Shell Function.
* SHELL (command execution): Execution.
* sort: Text Functions.
* strip: Text Functions.
* subst: Text Functions.
* subst: Multiple Targets.
* suffix: Filename Functions.
* SUFFIXES: Suffix Rules.
* TANGLE: Implicit Variables.
* TEX: Implicit Variables.
* TEXI2DVI: Implicit Variables.
* unexport: Variables/Recursion.
* vpath: Directory Search.
* VPATH: General Search.
* vpath: Selective Search.
* VPATH: Directory Search.
* WEAVE: Implicit Variables.
* wildcard: Filename Functions.
* wildcard: Wildcard Function.
* word: Filename Functions.
* words: Filename Functions.
* YACC: Implicit Variables.
* YACCR: Implicit Variables.
* YFLAGS: Implicit Variables.
* ^ (automatic variable): Automatic.
* ^D (automatic variable): Automatic.
* ^F (automatic variable): Automatic.

View File

@@ -1,302 +0,0 @@
.TH MAKE 1L "22 August 1989" "GNU" "LOCAL USER COMMANDS"
.SH NAME
make \- GNU make utility to maintain groups of programs
.SH SYNOPSIS
.B "make "
[
.B \-f
makefile ] [ option ] ...
target ...
.SH WARNING
This man paage is an extract of the documentation of
.I GNU make .
It is updated only occasionally, because the GNU project does not use nroff.
For complete, current documentation, refer to the Info file
.B make
or the DVI file
.B make.dvi
which are made from the Texinfo source file
.BR make.texinfo .
.SH DESCRIPTION
.LP
The purpose of the
.I make
utility is to determine automatically which
pieces of a large program need to be recompiled, and issue the commands to
recompile them.
This manual describes the GNU implementation of
.IR make ,
which was written by Richard Stallman and Roland McGrath.
Our examples show C programs, since they are most common, but you can use
.I make
with any programming language whose compiler can be run with a
shell command.
In fact,
.I make
is not limited to programs.
You can use it to describe any task where some files must be
updated automatically from others whenever the others change.
.LP
To prepare to use
.IR make ,
you must write a file called the
.I makefile
that describes the relationships among files in your program, and the
states the commands for updating each file.
In a program, typically the executable file is updated from object
files, which are in turn made by compiling source files.
.LP
Once a suitable makefile exists, each time you change some source files,
this simple shell command:
.sp 1
.RS
.B make
.RE
.sp 1
suffices to perform all necessary recompilations.
The
.I make
program uses the makefile data base and the last-modification times
of the files to decide which of the files need to be updated.
For each of those files, it issues the commands recorded in the data base.
.LP
.I make
executes commands in the
.I makefile
to update
one or more target
.IR names ,
where
.I name
is typically a program.
If no
.B \-f
option is present,
.I make
will look for the makefiles
.IR GNUmakefile ,
.IR makefile ,
and
.IR Makefile ,
in that order.
.LP
Normally you should call your makefile either
.I makefile
or
.IR Makefile .
(We recommend
.I Makefile
because it appears prominently near the beginning of a directory
listing, right near other important files such as
.IR README .)
The first name checked,
.IR GNUmakefile ,
is not recommended for most makefiles.
You should use this name if you have a makefile that is specific to GNU
.IR make ,
and will not be understood by other versions of
.IR make .
If
.I makefile
is `\-', the standard input is read.
.LP
.I make
updates a target if it depends on prerequisite files
that have been modified since the target was last modified,
or if the target does not exist.
.SH OPTIONS
.sp 1
.TP 0.5i
.B \-b
.TP 0.5i
.B \-m
These options are ignored for compatibility with other versions of
.IR make .
.TP 0.5i
.BI "\-C " dir
Change to directory
.I dir
before reading the makefiles or doing anything else.
If multiple
.B \-C
options are specified, each is interpreted relative to the
previous one:
.BR "\-C " /
.BR "\-C " etc
is equivalent to
.BR "\-C " /etc.
This is typically used with recursive invocations of
.IR make .
.TP 0.5i
.B \-d
Print debugging information in addition to normal processing.
The debugging information says which files are being considered for
remaking, which file-times are being compared and with what results,
which files actually need to be remade, which implicit rules are
considered and which are applied---everything interesting about how
.I make
decides what to do.
.TP 0.5i
.B \-e
Give variables taken from the environment precedence
over variables from makefiles.
.TP 0.5i
.BI "\-f " file
Use
.I file
as a makefile.
.TP 0.5i
.B \-i
Ignore all errors in commands executed to remake files.
.TP 0.5i
.BI "\-I " dir
Specifies a directory
.I dir
to search for included makefiles.
If several
.B \-I
options are used to specify several directories, the directories are
searched in the order specified.
Unlike the arguments to other flags of
.IR make ,
directories given with
.B \-I
flags may come directly after the flag:
.BI \-I dir
is allowed, as well as
.BI "\-I " dir.
This syntax is allowed for compatibility with the C
preprocessor's
.B \-I
flag.
.TP 0.5i
.BI "\-j " jobs
Specifies the number of jobs (commands) to run simultaneously.
If there is more than one
.B \-j
option, the last one is effective.
If the
.B \-j
option is given without an argument,
.IR make
will not limit the number of jobs that can run simultaneously.
.TP 0.5i
.B \-k
Continue as much as possible after an error.
While the target that failed, and those that depend on it, cannot
be remade, the other dependencies of these targets can be processed
all the same.
.TP 0.5i
.B \-l
.TP 0.5i
.BI "\-l " load
Specifies that no new jobs (commands) should be started if there are
others jobs running and the load average is at least
.I load
(a floating-point number).
With no argument, removes a previous load limit.
.TP 0.5i
.B \-n
Print the commands that would be executed, but do not execute them.
.TP 0.5i
.BI "\-o " file
Do not remake the file
.I file
even if it is older than its dependencies, and do not remake anything
on account of changes in
.IR file .
Essentially the file is treated as very old and its rules are ignored.
.TP 0.5i
.B \-p
Print the data base (rules and variable values) that results from
reading the makefiles; then execute as usual or as otherwise
specified.
This also prints the version information given by the
.B \-v
switch (see below).
To print the data base without trying to remake any files, use
.B make
.B \-p
.BI \-f /dev/null.
.TP 0.5i
.B \-q
``Question mode''.
Do not run any commands, or print anything; just return an exit status
that is zero if the specified targets are already up to date, nonzero
otherwise.
.TP 0.5i
.B \-r
Eliminate use of the built-in implicit rules.
Also clear out the default list of suffixes for suffix rules.
.TP 0.5i
.B \-s
Silent operation; do not print the commands as they are executed.
.TP 0.5i
.B \-S
Cancel the effect of the
.B \-k
option.
This is never necessary except in a recursive
.I make
where
.B \-k
might be inherited from the top-level
.I make
via MAKEFLAGS or if you set
.B \-k
in MAKEFLAGS in your environment.
.TP 0.5i
.B \-t
Touch files (mark them up to date without really changing them)
instead of running their commands.
This is used to pretend that the commands were done, in order to fool
future invocations of
.IR make .
.TP 0.5i
.B \-v
Print the version of the
.I make
program plus a copyright, a list of authors and a notice that there
is no warranty.
After this information is printed, processing continues normally.
To get this information without doing anything else, use
.B make
.B \-v
.BI \-f /dev/null.
.TP 0.5i
.B \-w
Print a message containing the working directory
before and after other processing.
This may be useful for tracking down errors from complicated nests of
recursive
.I make
commands.
.TP 0.5i
.BI "\-W " file
Pretend that the target
.I file
has just been modified.
When used with the
.B \-n
flag, this shows you what would happen if you were to modify that file.
Without
.BR \-n ,
it is almost the same as running a
.I touch
command on the given file before running
.IR make ,
except that the modification time is changed only in the imagination of
.IR make .
.SH "SEE ALSO"
.PD 0
.TP 2.0i
/usr/local/doc/gnumake.dvi
.I
The GNU Make Manual
.PD
.SH BUGS
See the chapter `Problems and Bugs' in
.I "The GNU Make Manual" .
.SH AUTHOR
This manual page contributed by Dennis Morse of Stanford University.
It has been reworked by Roland McGrath.

File diff suppressed because it is too large Load Diff

View File

@@ -1,118 +0,0 @@
\chapentry {Overview of \code {make}}{1}{1}
\secentry {How to Read This Manual}{1}{1}{1}
\secentry {Problems and Bugs}{1}{2}{2}
\chapentry {An Introduction to Makefiles}{2}{5}
\secentry {What a Rule Looks Like}{2}{1}{5}
\secentry {A Simple Makefile}{2}{2}{6}
\secentry {How \code {make} Processes a Makefile}{2}{3}{8}
\secentry {Variables Make Makefiles Simpler}{2}{4}{9}
\secentry {Letting \code {make} Deduce the Commands}{2}{5}{10}
\secentry {Another Style of Makefile}{2}{6}{11}
\secentry {Rules for Cleaning the Directory}{2}{7}{12}
\chapentry {Writing Makefiles}{3}{13}
\secentry {What Makefiles Contain}{3}{1}{13}
\secentry {What Name to Give Your Makefile}{3}{2}{14}
\secentry {Including Other Makefiles}{3}{3}{14}
\secentry {The Variable \code {MAKEFILES}}{3}{4}{16}
\secentry {How Makefiles Are Remade}{3}{5}{16}
\secentry {Overriding Part of Another Makefile}{3}{6}{18}
\chapentry {Writing Rules}{4}{19}
\secentry {Rule Syntax}{4}{1}{19}
\secentry {Using Wildcard Characters in File Names}{4}{2}{20}
\subsecentry {Wildcard Examples}{4}{2}{1}{21}
\subsecentry {Pitfalls of Using Wildcards}{4}{2}{2}{22}
\subsecentry {The Function \code {wildcard}}{4}{2}{3}{22}
\secentry {Searching Directories for Dependencies}{4}{3}{23}
\subsecentry {\code {VPATH}: Search Path for All Dependencies}{4}{3}{1}{23}
\subsecentry {The \code {vpath} Directive}{4}{3}{2}{24}
\subsecentry {Writing Shell Commands with Directory Search}{4}{3}{3}{26}
\subsecentry {Directory Search and Implicit Rules}{4}{3}{4}{27}
\subsecentry {Directory Search for Link Libraries}{4}{3}{5}{27}
\secentry {Phony Targets}{4}{4}{28}
\secentry {Rules without Commands or Dependencies}{4}{5}{30}
\secentry {Empty Target Files to Record Events}{4}{6}{30}
\secentry {Special Built-in Target Names}{4}{7}{31}
\secentry {Multiple Targets in a Rule}{4}{8}{32}
\secentry {Multiple Rules for One Target}{4}{9}{33}
\secentry {Static Pattern Rules}{4}{10}{34}
\subsecentry {Syntax of Static Pattern Rules}{4}{10}{1}{34}
\subsecentry {Static Pattern Rules versus Implicit Rules}{4}{10}{2}{36}
\secentry {Double-Colon Rules}{4}{11}{37}
\secentry {Generating Dependencies Automatically}{4}{12}{37}
\chapentry {Writing the Commands in Rules}{5}{41}
\secentry {Command Echoing}{5}{1}{41}
\secentry {Command Execution}{5}{2}{42}
\secentry {Parallel Execution}{5}{3}{42}
\secentry {Errors in Commands}{5}{4}{44}
\secentry {Interrupting or Killing \code {make}}{5}{5}{45}
\secentry {Recursive Use of \code {make}}{5}{6}{46}
\subsecentry {How the \code {MAKE} Variable Works}{5}{6}{1}{46}
\subsecentry {Communicating Variables to a Sub-\code {make}}{5}{6}{2}{47}
\subsecentry {Communicating Options to a Sub-\code {make}}{5}{6}{3}{50}
\subsecentry {The \samp {--print-directory} Option}{5}{6}{4}{52}
\secentry {Defining Canned Command Sequences}{5}{7}{52}
\secentry {Using Empty Commands}{5}{8}{54}
\chapentry {How to Use Variables}{6}{55}
\secentry {Basics of Variable References}{6}{1}{55}
\secentry {The Two Flavors of Variables}{6}{2}{56}
\secentry {Advanced Features for Reference to Variables}{6}{3}{59}
\subsecentry {Substitution References}{6}{3}{1}{59}
\subsecentry {Computed Variable Names}{6}{3}{2}{60}
\secentry {How Variables Get Their Values}{6}{4}{63}
\secentry {Setting Variables}{6}{5}{63}
\secentry {Appending More Text to Variables}{6}{6}{64}
\secentry {The \code {override} Directive}{6}{7}{66}
\secentry {Defining Variables Verbatim}{6}{8}{67}
\secentry {Variables from the Environment}{6}{9}{68}
\chapentry {Conditional Parts of Makefiles}{7}{71}
\secentry {Example of a Conditional}{7}{1}{71}
\secentry {Syntax of Conditionals}{7}{2}{72}
\secentry {Conditionals that Test Flags}{7}{3}{75}
\chapentry {Functions for Transforming Text}{8}{77}
\secentry {Function Call Syntax}{8}{1}{77}
\secentry {Functions for String Substitution and Analysis}{8}{2}{78}
\secentry {Functions for File Names}{8}{3}{81}
\secentry {The \code {foreach} Function}{8}{4}{83}
\secentry {The \code {origin} Function}{8}{5}{85}
\secentry {The \code {shell} Function}{8}{6}{87}
\chapentry {How to Run \code {make}}{9}{89}
\secentry {Arguments to Specify the Makefile}{9}{1}{89}
\secentry {Arguments to Specify the Goals}{9}{2}{90}
\secentry {Instead of Executing the Commands}{9}{3}{91}
\secentry {Avoiding Recompilation of Some Files}{9}{4}{93}
\secentry {Overriding Variables}{9}{5}{94}
\secentry {Testing the Compilation of a Program}{9}{6}{95}
\secentry {Summary of Options}{9}{7}{95}
\chapentry {Using Implicit Rules}{10}{101}
\secentry {Using Implicit Rules}{10}{1}{101}
\secentry {Catalogue of Implicit Rules}{10}{2}{103}
\secentry {Variables Used by Implicit Rules}{10}{3}{106}
\secentry {Chains of Implicit Rules}{10}{4}{108}
\secentry {Defining and Redefining Pattern Rules}{10}{5}{109}
\subsecentry {Introduction to Pattern Rules}{10}{5}{1}{110}
\subsecentry {Pattern Rule Examples}{10}{5}{2}{111}
\subsecentry {Automatic Variables}{10}{5}{3}{112}
\subsecentry {How Patterns Match}{10}{5}{4}{114}
\subsecentry {Match-Anything Pattern Rules}{10}{5}{5}{115}
\subsecentry {Canceling Implicit Rules}{10}{5}{6}{116}
\secentry {Defining Last-Resort Default Rules}{10}{6}{116}
\secentry {Old-Fashioned Suffix Rules}{10}{7}{117}
\secentry {Implicit Rule Search Algorithm}{10}{8}{119}
\chapentry {Using \code {make} to Update Archive Files}{11}{121}
\secentry {Archive Members as Targets}{11}{1}{121}
\secentry {Implicit Rule for Archive Member Targets}{11}{2}{122}
\subsecentry {Updating Archive Symbol Directories}{11}{2}{1}{123}
\secentry {Dangers When Using Archives}{11}{3}{123}
\secentry {Suffix Rules for Archive Files}{11}{4}{124}
\chapentry {Features of GNU \code {make}}{12}{125}
\chapentry {Incompatibilities and Missing Features}{13}{129}
\chapentry {Makefile Conventions}{14}{131}
\secentry {General Conventions for Makefiles}{14}{1}{131}
\secentry {Utilities in Makefiles}{14}{2}{132}
\secentry {Standard Targets for Users}{14}{3}{133}
\secentry {Variables for Specifying Commands}{14}{4}{136}
\secentry {Variables for Installation Directories}{14}{5}{138}
\chapentry {Quick Reference}{Appendix{} \char65}{143}
\chapentry {Complex Makefile Example}{Appendix{} \char66}{149}
\unnumbchapentry {Index of Concepts}{155}
\unnumbchapentry {Index of Functions, Variables, & Directives}{165}

View File

@@ -1,739 +0,0 @@
/* Miscellaneous generic support functions for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make 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, or (at your option)
any later version.
GNU Make 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 GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "make.h"
#include "dep.h"
/* Compare strings *S1 and *S2.
Return negative if the first is less, positive if it is greater,
zero if they are equal. */
int
alpha_compare (const void *elem1, const void *elem2)
{
char **s1 = (char **)elem1;
char **s2 = (char **)elem2;
if (**s1 != **s2)
return **s1 - **s2;
return strcmp (*s1, *s2);
}
/* Discard each backslash-newline combination from LINE.
Backslash-backslash-newline combinations become backslash-newlines.
This is done by copying the text at LINE into itself. */
void
collapse_continuations (line)
char *line;
{
register char *in, *out, *p;
register int backslash;
register unsigned int bs_write;
in = index (line, '\n');
if (in == 0)
return;
out = in;
if (out > line)
while (out[-1] == '\\')
--out;
while (*in != '\0')
{
/* BS_WRITE gets the number of quoted backslashes at
the end just before IN, and BACKSLASH gets nonzero
if the next character is quoted. */
backslash = 0;
bs_write = 0;
for (p = in - 1; p >= line && *p == '\\'; --p)
{
if (backslash)
++bs_write;
backslash = !backslash;
/* It should be impossible to go back this far without exiting,
but if we do, we can't get the right answer. */
if (in == out - 1)
abort ();
}
/* Output the appropriate number of backslashes. */
while (bs_write-- > 0)
*out++ = '\\';
/* Skip the newline. */
++in;
/* If the newline is quoted, discard following whitespace
and any preceding whitespace; leave just one space. */
if (backslash)
{
in = next_token (in);
while (out > line && isblank (out[-1]))
--out;
*out++ = ' ';
}
else
/* If the newline isn't quoted, put it in the output. */
*out++ = '\n';
/* Now copy the following line to the output.
Stop when we find backslashes followed by a newline. */
while (*in != '\0')
if (*in == '\\')
{
p = in + 1;
while (*p == '\\')
++p;
if (*p == '\n')
{
in = p;
break;
}
while (in < p)
*out++ = *in++;
}
else
*out++ = *in++;
}
*out = '\0';
}
/* Remove comments from LINE.
This is done by copying the text at LINE onto itself. */
void
remove_comments (line)
char *line;
{
char *comment;
comment = find_char_unquote (line, "#", 0);
if (comment != 0)
/* Cut off the line at the #. */
*comment = '\0';
}
/* Print N spaces (used by DEBUGPR for target-depth). */
void
print_spaces (n)
register unsigned int n;
{
while (n-- > 0)
putchar (' ');
}
/* Return a newly-allocated string whose contents
concatenate those of s1, s2, s3. */
char *
concat (s1, s2, s3)
register char *s1, *s2, *s3;
{
register unsigned int len1, len2, len3;
register char *result;
len1 = *s1 != '\0' ? strlen (s1) : 0;
len2 = *s2 != '\0' ? strlen (s2) : 0;
len3 = *s3 != '\0' ? strlen (s3) : 0;
result = (char *) xmalloc (len1 + len2 + len3 + 1);
if (*s1 != '\0')
bcopy (s1, result, len1);
if (*s2 != '\0')
bcopy (s2, result + len1, len2);
if (*s3 != '\0')
bcopy (s3, result + len1 + len2, len3);
*(result + len1 + len2 + len3) = '\0';
return result;
}
/* Print a message on stdout. */
void
message (s1, s2, s3, s4, s5, s6)
char *s1, *s2, *s3, *s4, *s5, *s6;
{
if (makelevel == 0)
printf ("%s: ", program);
else
printf ("%s[%u]: ", program, makelevel);
printf (s1, s2, s3, s4, s5, s6);
putchar ('\n');
fflush (stdout);
}
/* Print an error message and exit. */
/* VARARGS1 */
void
fatal (s1, s2, s3, s4, s5, s6)
char *s1, *s2, *s3, *s4, *s5, *s6;
{
if (makelevel == 0)
fprintf (stderr, "%s: *** ", program);
else
fprintf (stderr, "%s[%u]: *** ", program, makelevel);
fprintf (stderr, s1, s2, s3, s4, s5, s6);
fputs (". Stop.\n", stderr);
die (2);
}
/* Print error message. `s1' is printf control string, `s2' is arg for it. */
/* VARARGS1 */
void
error (s1, s2, s3, s4, s5, s6)
char *s1, *s2, *s3, *s4, *s5, *s6;
{
if (makelevel == 0)
fprintf (stderr, "%s: ", program);
else
fprintf (stderr, "%s[%u]: ", program, makelevel);
fprintf (stderr, s1, s2, s3, s4, s5, s6);
putc ('\n', stderr);
fflush (stderr);
}
void
makefile_error (file, lineno, s1, s2, s3, s4, s5, s6)
char *file;
unsigned int lineno;
char *s1, *s2, *s3, *s4, *s5, *s6;
{
fprintf (stderr, "%s:%u: ", file, lineno);
fprintf (stderr, s1, s2, s3, s4, s5, s6);
putc ('\n', stderr);
fflush (stderr);
}
void
makefile_fatal (file, lineno, s1, s2, s3, s4, s5, s6)
char *file;
unsigned int lineno;
char *s1, *s2, *s3, *s4, *s5, *s6;
{
fprintf (stderr, "%s:%u: *** ", file, lineno);
fprintf (stderr, s1, s2, s3, s4, s5, s6);
fputs (". Stop.\n", stderr);
die (2);
}
#ifndef HAVE_STRERROR
#undef strerror
char *
strerror (errnum)
int errnum;
{
extern int errno, sys_nerr;
extern char *sys_errlist[];
static char buf[] = "Unknown error 12345678901234567890";
if (errno < sys_nerr)
return sys_errlist[errnum];
sprintf (buf, "Unknown error %d", errnum);
return buf;
}
#endif
/* Print an error message from errno. */
void
perror_with_name (str, name)
char *str, *name;
{
error ("%s%s: %s", str, name, strerror (errno));
}
/* Print an error message from errno and exit. */
void
pfatal_with_name (name)
char *name;
{
fatal ("%s: %s", name, strerror (errno));
/* NOTREACHED */
}
/* Like malloc but get fatal error if memory is exhausted. */
#undef xmalloc
#undef xrealloc
char *
xmalloc (size)
unsigned int size;
{
char *result = (char *) malloc (size);
if (result == 0)
fatal ("virtual memory exhausted");
return result;
}
char *
xrealloc (ptr, size)
char *ptr;
unsigned int size;
{
char *result = (char *) realloc (ptr, size);
if (result == 0)
fatal ("virtual memory exhausted");
return result;
}
char *
savestring (str, length)
char *str;
unsigned int length;
{
register char *out = (char *) xmalloc (length + 1);
if (length > 0)
bcopy (str, out, length);
out[length] = '\0';
return out;
}
/* Search string BIG (length BLEN) for an occurrence of
string SMALL (length SLEN). Return a pointer to the
beginning of the first occurrence, or return nil if none found. */
char *
sindex (big, blen, small, slen)
char *big;
unsigned int blen;
char *small;
unsigned int slen;
{
register unsigned int b;
if (blen < 1)
blen = strlen (big);
if (slen < 1)
slen = strlen (small);
for (b = 0; b < blen; ++b)
if (big[b] == *small && !strncmp (&big[b + 1], small + 1, slen - 1))
return (&big[b]);
return 0;
}
/* Limited INDEX:
Search through the string STRING, which ends at LIMIT, for the character C.
Returns a pointer to the first occurrence, or nil if none is found.
Like INDEX except that the string searched ends where specified
instead of at the first null. */
char *
lindex (s, limit, c)
register char *s, *limit;
int c;
{
while (s < limit)
if (*s++ == c)
return s - 1;
return 0;
}
/* Return the address of the first whitespace or null in the string S. */
char *
end_of_token (s)
char *s;
{
while (*s != '\0' && !isblank (*s))
++s;
return s;
}
/* Return the address of the first nonwhitespace or null in the string S. */
char *
next_token (s)
char *s;
{
register char *p = s;
while (isblank (*p))
++p;
return p;
}
/* Find the next token in PTR; return the address of it, and store the
length of the token into *LENGTHPTR if LENGTHPTR is not nil. */
char *
find_next_token (ptr, lengthptr)
char **ptr;
unsigned int *lengthptr;
{
char *p = next_token (*ptr);
char *end;
if (*p == '\0')
return 0;
*ptr = end = end_of_token (p);
if (lengthptr != 0)
*lengthptr = end - p;
return p;
}
/* Copy a chain of `struct dep', making a new chain
with the same contents as the old one. */
struct dep *
copy_dep_chain (d)
register struct dep *d;
{
register struct dep *c;
struct dep *firstnew = 0;
struct dep *lastnew;
while (d != 0)
{
c = (struct dep *) xmalloc (sizeof (struct dep));
bcopy ((char *) d, (char *) c, sizeof (struct dep));
if (c->name != 0)
c->name = savestring (c->name, strlen (c->name));
c->next = 0;
if (firstnew == 0)
firstnew = lastnew = c;
else
lastnew = lastnew->next = c;
d = d->next;
}
return firstnew;
}
#ifdef iAPX286
/* The losing compiler on this machine can't handle this macro. */
char *
dep_name (dep)
struct dep *dep;
{
return dep->name == 0 ? dep->file->name : dep->name;
}
#endif
#ifdef GETLOADAVG_PRIVILEGED
#ifdef POSIX
/* Hopefully if a system says it's POSIX.1 and has the setuid and setgid
functions, they work as POSIX.1 says. Some systems (Alpha OSF/1 1.2,
for example) which claim to be POSIX.1 also have the BSD setreuid and
setregid functions, but they don't work as in BSD and only the POSIX.1
way works. */
#undef HAVE_SETREUID
#undef HAVE_SETREGID
#else /* Not POSIX. */
/* Some POSIX.1 systems have the seteuid and setegid functions. In a
POSIX-like system, they are the best thing to use. However, some
non-POSIX systems have them too but they do not work in the POSIX style
and we must use setreuid and setregid instead. */
#undef HAVE_SETEUID
#undef HAVE_SETEGID
#endif /* POSIX. */
#ifndef HAVE_UNISTD_H
extern int getuid (), getgid (), geteuid (), getegid ();
extern int setuid (), setgid ();
#ifdef HAVE_SETEUID
extern int seteuid ();
#else
#ifdef HAVE_SETREUID
extern int setreuid ();
#endif /* Have setreuid. */
#endif /* Have seteuid. */
#ifdef HAVE_SETEGID
extern int setegid ();
#else
#ifdef HAVE_SETREGID
extern int setregid ();
#endif /* Have setregid. */
#endif /* Have setegid. */
#endif /* No <unistd.h>. */
/* Keep track of the user and group IDs for user- and make- access. */
static int user_uid = -1, user_gid = -1, make_uid = -1, make_gid = -1;
#define access_inited (user_uid != -1)
static enum { make, user } current_access;
/* Under -d, write a message describing the current IDs. */
static void
log_access (flavor)
char *flavor;
{
if (! debug_flag)
return;
/* All the other debugging messages go to stdout,
but we write this one to stderr because it might be
run in a child fork whose stdout is piped. */
fprintf (stderr, "%s access: user %d (real %d), group %d (real %d)\n",
flavor, geteuid (), getuid (), getegid (), getgid ());
fflush (stderr);
}
static void
init_access ()
{
user_uid = getuid ();
user_gid = getgid ();
make_uid = geteuid ();
make_gid = getegid ();
/* Do these ever fail? */
if (user_uid == -1 || user_gid == -1 || make_uid == -1 || make_gid == -1)
pfatal_with_name ("get{e}[gu]id");
log_access ("Initialized");
current_access = make;
}
#endif /* GETLOADAVG_PRIVILEGED */
/* Give the process appropriate permissions for access to
user data (i.e., to stat files, or to spawn a child process). */
void
user_access ()
{
#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
init_access ();
if (current_access == user)
return;
/* We are in "make access" mode. This means that the effective user and
group IDs are those of make (if it was installed setuid or setgid).
We now want to set the effective user and group IDs to the real IDs,
which are the IDs of the process that exec'd make. */
#ifdef HAVE_SETEUID
/* Modern systems have the seteuid/setegid calls which set only the
effective IDs, which is ideal. */
if (seteuid (user_uid) < 0)
pfatal_with_name ("user_access: seteuid");
#else /* Not HAVE_SETEUID. */
#ifndef HAVE_SETREUID
/* System V has only the setuid/setgid calls to set user/group IDs.
There is an effective ID, which can be set by setuid/setgid.
It can be set (unless you are root) only to either what it already is
(returned by geteuid/getegid, now in make_uid/make_gid),
the real ID (return by getuid/getgid, now in user_uid/user_gid),
or the saved set ID (what the effective ID was before this set-ID
executable (make) was exec'd). */
if (setuid (user_uid) < 0)
pfatal_with_name ("user_access: setuid");
#else /* HAVE_SETREUID. */
/* In 4BSD, the setreuid/setregid calls set both the real and effective IDs.
They may be set to themselves or each other. So you have two alternatives
at any one time. If you use setuid/setgid, the effective will be set to
the real, leaving only one alternative. Using setreuid/setregid, however,
you can toggle between your two alternatives by swapping the values in a
single setreuid or setregid call. */
if (setreuid (make_uid, user_uid) < 0)
pfatal_with_name ("user_access: setreuid");
#endif /* Not HAVE_SETREUID. */
#endif /* HAVE_SETEUID. */
#ifdef HAVE_SETEGID
if (setegid (user_gid) < 0)
pfatal_with_name ("user_access: setegid");
#else
#ifndef HAVE_SETREGID
if (setgid (user_gid) < 0)
pfatal_with_name ("user_access: setgid");
#else
if (setregid (make_gid, user_gid) < 0)
pfatal_with_name ("user_access: setregid");
#endif
#endif
current_access = user;
log_access ("User");
#endif /* GETLOADAVG_PRIVILEGED */
}
/* Give the process appropriate permissions for access to
make data (i.e., the load average). */
void
make_access ()
{
#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
init_access ();
if (current_access == make)
return;
/* See comments in user_access, above. */
#ifdef HAVE_SETEUID
if (seteuid (make_uid) < 0)
pfatal_with_name ("make_access: seteuid");
#else
#ifndef HAVE_SETREUID
if (setuid (make_uid) < 0)
pfatal_with_name ("make_access: setuid");
#else
if (setreuid (user_uid, make_uid) < 0)
pfatal_with_name ("make_access: setreuid");
#endif
#endif
#ifdef HAVE_SETEGID
if (setegid (make_gid) < 0)
pfatal_with_name ("make_access: setegid");
#else
#ifndef HAVE_SETREGID
if (setgid (make_gid) < 0)
pfatal_with_name ("make_access: setgid");
#else
if (setregid (user_gid, make_gid) < 0)
pfatal_with_name ("make_access: setregid");
#endif
#endif
current_access = make;
log_access ("Make");
#endif /* GETLOADAVG_PRIVILEGED */
}
/* Give the process appropriate permissions for a child process.
This is like user_access, but you can't get back to make_access. */
void
child_access ()
{
#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
abort ();
/* Set both the real and effective UID and GID to the user's.
They cannot be changed back to make's. */
#ifndef HAVE_SETREUID
if (setuid (user_uid) < 0)
pfatal_with_name ("child_access: setuid");
#else
if (setreuid (user_uid, user_uid) < 0)
pfatal_with_name ("child_access: setreuid");
#endif
#ifndef HAVE_SETREGID
if (setgid (user_gid) < 0)
pfatal_with_name ("child_access: setgid");
#else
if (setregid (user_gid, user_gid) < 0)
pfatal_with_name ("child_access: setregid");
#endif
log_access ("Child");
#endif /* GETLOADAVG_PRIVILEGED */
}
#ifdef NEED_GET_PATH_MAX
unsigned int
get_path_max ()
{
static unsigned int value;
if (value == 0)
{
long int x = pathconf ("/", _PC_PATH_MAX);
if (x > 0)
value = x;
else
return MAXPATHLEN;
}
return value;
}
#endif
/* On some systems, stat can return EINTR. */
int
safe_stat (name, buf)
char *name;
struct stat *buf;
{
int ret;
#ifdef EINTR
do
#endif
ret = stat (name, buf);
#ifdef EINTR
while (ret < 0 && errno == EINTR);
#endif
return ret;
}

View File

@@ -1,32 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Last modified: 1994-03-25
# Public domain
errstatus=0
for file in ${1+"$@"} ; do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d in ${1+"$@"} ; do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp" 1>&2
mkdir "$pathcomp" || errstatus=$?
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# mkinstalldirs ends here

File diff suppressed because it is too large Load Diff

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