Compare commits

...

2093 Commits

Author SHA1 Message Date
spence%netscape.com
233427693e unix build fix
git-svn-id: svn://10.0.0.236/branches/N2@24851 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:37:01 +00:00
spence%netscape.com
8a5d6cea8a unix parity
git-svn-id: svn://10.0.0.236/branches/N2@24825 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:41:00 +00:00
spence%netscape.com
060c6b2ea2 unix cleanup
git-svn-id: svn://10.0.0.236/branches/N2@24822 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:23:21 +00:00
spence%netscape.com
09b0cb9dac still bringing unix up-to-date
git-svn-id: svn://10.0.0.236/branches/N2@24646 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:41:00 +00:00
spence%netscape.com
edba634cae unix parity
git-svn-id: svn://10.0.0.236/branches/N2@24644 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:30:33 +00:00
spence%netscape.com
a7365899d1 unix parity
git-svn-id: svn://10.0.0.236/branches/N2@24639 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 01:14:23 +00:00
spence%netscape.com
c3389b3323 bring up-to-date on unix
git-svn-id: svn://10.0.0.236/branches/N2@24637 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 01:10:00 +00:00
gagan%netscape.com
718ec18100 Updates, just moving between machines...
git-svn-id: svn://10.0.0.236/branches/N2@24279 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 22:53:00 +00:00
gagan%netscape.com
7d190a8dd4 Removed pluggable for now...
git-svn-id: svn://10.0.0.236/branches/N2@23299 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 08:26:52 +00:00
gagan%netscape.com
e1ebb3e092 Changes... updates. Added nsIHeader.h
git-svn-id: svn://10.0.0.236/branches/N2@23287 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:27:33 +00:00
gagan%netscape.com
59705f110a Updates.
git-svn-id: svn://10.0.0.236/branches/N2@23286 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:27:07 +00:00
gagan%netscape.com
10d067c837 Added HTTP specific files for the pluggable protocols architecture. Made changes from IID() to GetIID() function. Other misc. errors etc.
git-svn-id: svn://10.0.0.236/branches/N2@23223 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 23:52:00 +00:00
gagan%netscape.com
0995f00878 The new files for pluggable HTTP. These would eventually go under mozilla/network/pluggable/http but are here till DP's autoregistration code
gets in for HTTP.


git-svn-id: svn://10.0.0.236/branches/N2@23222 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 23:49:55 +00:00
spence%netscape.com
44c6ee7bd0 make unix build with new netlib changes
git-svn-id: svn://10.0.0.236/branches/N2@22550 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 08:52:18 +00:00
gagan%netscape.com
6b475c2062 Makefiles for about:protocol.
git-svn-id: svn://10.0.0.236/branches/N2@22044 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 03:38:56 +00:00
gagan%netscape.com
6445d6fc19 Some diff...
git-svn-id: svn://10.0.0.236/branches/N2@22032 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 02:34:56 +00:00
gagan%netscape.com
504987c7f8 Added pluggable protocols directory. Eventually the protocols directory will go away.
git-svn-id: svn://10.0.0.236/branches/N2@22031 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 02:32:22 +00:00
gagan%netscape.com
3c3c9de879 Added pluggable dir structure. Eventually this will replace the protocol
tree. First checkin.


git-svn-id: svn://10.0.0.236/branches/N2@22030 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 02:31:09 +00:00
gagan%netscape.com
4fb4cdbaf9 Changes related to calling nsIProtocolInstance, and added error handling codes.
git-svn-id: svn://10.0.0.236/branches/N2@22015 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 01:51:02 +00:00
gagan%netscape.com
6c56d63c2b First checkin of nsIProtocolInstance.
git-svn-id: svn://10.0.0.236/branches/N2@21819 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 01:35:28 +00:00
gagan%netscape.com
6360bf628f Changes...
git-svn-id: svn://10.0.0.236/branches/N2@21818 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 01:34:58 +00:00
gagan%netscape.com
17afc12ff5 More changes...
git-svn-id: svn://10.0.0.236/branches/N2@21817 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 01:34:32 +00:00
gagan%netscape.com
d2c8923434 Debug method...
git-svn-id: svn://10.0.0.236/branches/N2@21707 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-24 05:44:01 +00:00
gagan%netscape.com
d962f6c931 Some fixes and changed the parsing routine to use PL_strpbrk.
git-svn-id: svn://10.0.0.236/branches/N2@21703 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-24 04:57:40 +00:00
gagan%netscape.com
c467d95fcc URL parsing related work.
git-svn-id: svn://10.0.0.236/branches/N2@20920 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 08:35:12 +00:00
gagan%netscape.com
7d6ab18c04 Removed local nsFileStream.cpp.
git-svn-id: svn://10.0.0.236/branches/N2@20882 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 04:23:49 +00:00
gagan%netscape.com
2267821c34 Removed local nsFileStream.h we are now using mozilla/base/public/nsFileStream.h
git-svn-id: svn://10.0.0.236/branches/N2@20881 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 04:18:56 +00:00
spence%netscape.com
f652521f1f replacement of nsFileStream
git-svn-id: svn://10.0.0.236/branches/N2@20880 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 04:12:27 +00:00
gagan%netscape.com
4df60ddcca Minor tweaks to build on windows.
git-svn-id: svn://10.0.0.236/branches/N2@20864 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 03:15:35 +00:00
gagan%netscape.com
2a952c444d Ah... more of TheManager changes.
git-svn-id: svn://10.0.0.236/branches/N2@20861 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 02:58:48 +00:00
gagan%netscape.com
b1d8f9e682 Modified the global manager to be initialized only when somebody makes the first request for it. Possible fix for the static initialization problem. Should work.
git-svn-id: svn://10.0.0.236/branches/N2@20859 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 02:46:17 +00:00
spence%netscape.com
d2229d1d13 cleanup of old FileStream class
git-svn-id: svn://10.0.0.236/branches/N2@20835 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 00:16:19 +00:00
gagan%netscape.com
1165868b3c Updates. transfering to my desktop...
git-svn-id: svn://10.0.0.236/branches/N2@20827 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-16 22:42:10 +00:00
gagan%netscape.com
f74ec1b6ec Makefile changes for the new files.
git-svn-id: svn://10.0.0.236/branches/N2@20746 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-16 00:05:43 +00:00
gagan%netscape.com
2946bb22b6 Updates. Should compile now.
git-svn-id: svn://10.0.0.236/branches/N2@20745 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-16 00:04:30 +00:00
gagan%netscape.com
071e3adc48 First checkin of URL interfaces. Not in the build yet.
git-svn-id: svn://10.0.0.236/branches/N2@20536 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-12 05:54:58 +00:00
gagan%netscape.com
46e56a76cd New URL implementation files. Not in the build as yet. (Even for N2)
git-svn-id: svn://10.0.0.236/branches/N2@20535 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-12 05:51:23 +00:00
spence%netscape.com
7a5a6134fc resurrected
git-svn-id: svn://10.0.0.236/branches/N2@20350 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 03:31:54 +00:00
spence%netscape.com
57dafff70d cleanup
git-svn-id: svn://10.0.0.236/branches/N2@20344 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 03:00:37 +00:00
(no author)
34420a2e9d This commit was manufactured by cvs2svn to create branch 'N2'.
git-svn-id: svn://10.0.0.236/branches/N2@20337 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 02:25:26 +00:00
spence%netscape.com
81aeb86448 updated to use mozilla/base nsFileStream
git-svn-id: svn://10.0.0.236/branches/N2@20336 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 02:25:25 +00:00
spence%netscape.com
5586abebc4 updated NU_CACHE to use mozilla/base nsFileStream class
git-svn-id: svn://10.0.0.236/branches/N2@20333 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 01:58:11 +00:00
spence%netscape.com
76c32f445f updated to use mozilla/base nsFileStream; changed name to avoid confusion
git-svn-id: svn://10.0.0.236/branches/N2@20309 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 00:25:41 +00:00
spence%netscape.com
ca07152e56 removed bogosity that broke NU_CACHE on unix
git-svn-id: svn://10.0.0.236/branches/N2@20287 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-10 20:51:08 +00:00
spence%netscape.com
aa16a83c74 NU_CACHE build changes for Linux
git-svn-id: svn://10.0.0.236/branches/N2@19429 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-03 13:54:52 +00:00
spence%netscape.com
df7795dbf4 NU_CACHE build changes for Linux
git-svn-id: svn://10.0.0.236/branches/N2@19428 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-03 13:45:53 +00:00
(no author)
74ce2dfd5d This commit was manufactured by cvs2svn to create branch 'N2'.
git-svn-id: svn://10.0.0.236/branches/N2@18827 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 23:06:34 +00:00
jband%netscape.com
9f11bbe8cc removed IMalloc clone and replaced it with use of nsIAllocator
git-svn-id: svn://10.0.0.236/trunk@18826 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 23:06:33 +00:00
wtc%netscape.com
4174f88609 Backed out the previous revision, which was checked in when the tree
is closed.


git-svn-id: svn://10.0.0.236/trunk@18825 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 22:39:53 +00:00
wtc%netscape.com
c543c71121 changed value of TOO_LONG to 5000
git-svn-id: svn://10.0.0.236/trunk@18824 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 22:36:24 +00:00
pinkerton%netscape.com
53318941d5 appr for checkin while tree closed by sar. addref and release when we save a ptr to which widget the mouse is over or clicked on. Since we now do widget refcounting correctly, we need to do it correctly elsewhere ;)
git-svn-id: svn://10.0.0.236/trunk@18823 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 22:17:42 +00:00
jj%netscape.com
bea7127b57 fixed non-debug build bustage
git-svn-id: svn://10.0.0.236/trunk@18822 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 22:10:44 +00:00
petitta%netscape.com
b84c7b45fa Added Files
git-svn-id: svn://10.0.0.236/trunk@18821 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 21:48:24 +00:00
mcmullen%netscape.com
ba14699cdd First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18820 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 21:34:36 +00:00
terry%netscape.com
77a57f11b6 Was picking wrong OS for Macs by default (according to brade@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@18819 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 21:28:38 +00:00
terry%netscape.com
1d1db39246 Fixed stupid typo.
git-svn-id: svn://10.0.0.236/trunk@18818 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 21:23:06 +00:00
terry%netscape.com
f5e4efb177 Added three new fields (which appear in the UI only if params are
turned on): target_milestone, qa_contact, and status_whiteboard.


git-svn-id: svn://10.0.0.236/trunk@18817 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 21:17:10 +00:00
terry%netscape.com
a27c99e830 Oops; wasn't setting the URL field.
git-svn-id: svn://10.0.0.236/trunk@18816 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 20:46:27 +00:00
briano%netscape.com
773f5dbf54 Automated update
git-svn-id: svn://10.0.0.236/trunk@18815 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 20:00:49 +00:00
slamm%netscape.com
a7cd6099cd Use TK_CFLAGS instead of TK_(MOTIF|GTK)_CFLAGS. Use TK_LIBS instead of TK_(MOTIF|GTK)_LIBS to simplify makefile rules. Also general Makefile clean up.
git-svn-id: svn://10.0.0.236/trunk@18814 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:54:40 +00:00
slamm%netscape.com
f0c4854988 Removing module name that does not apply.
git-svn-id: svn://10.0.0.236/trunk@18813 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:54:36 +00:00
slamm%netscape.com
42981e777b Use TK_CFLAGS instead of TK_(MOTIF|GTK)_CFLAGS. Use TK_LIBS instead of TK_(MOTIF|GTK)_LIBS to simplify makefile rules. Also general Makefile clean up. The link line still needs some work.
git-svn-id: svn://10.0.0.236/trunk@18812 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:53:37 +00:00
slamm%netscape.com
133ae04eae Use TK_CFLAGS instead of TK_MOTIF_FLAGS.
git-svn-id: svn://10.0.0.236/trunk@18811 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:53:18 +00:00
slamm%netscape.com
3e044b9cd2 Use TK_CFLAGS instead of TK_GTK_FLAGS.
git-svn-id: svn://10.0.0.236/trunk@18810 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:53:07 +00:00
slamm%netscape.com
6ae4bf74e6 Use TK_LIBS instead of TK_GTK_LIBS and clean up the makefile a bit
git-svn-id: svn://10.0.0.236/trunk@18809 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:52:45 +00:00
slamm%netscape.com
7f37e1cc1b Use TK_CFLAGS instead of TK_GTK_FLAGS. Put each CPPSRC on its own line
git-svn-id: svn://10.0.0.236/trunk@18808 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:52:30 +00:00
slamm%netscape.com
da0e16aeae Use TK_CFLAGS instead of TK_(MOTIF|GTK)_CFLAGS. Use TK_LIBS instead of TK_(MOTIF|GTK)_LIBS to simplify makefile rules.
git-svn-id: svn://10.0.0.236/trunk@18807 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:51:59 +00:00
buster%netscape.com
4e86fbc278 primarily comments and documentation
also removed nsTableFrame::QueryInterface() because it was just extraneous, and it made
an assumption about what class nsTableFrame derives from.  Let the vtable do its work...


git-svn-id: svn://10.0.0.236/trunk@18806 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:29:24 +00:00
kmcclusk%netscape.com
30f6f5db1a Replaced defaultchecked with checked
git-svn-id: svn://10.0.0.236/trunk@18805 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:19:07 +00:00
pinkerton%netscape.com
ca6d66dfbe make toolbars a little wider in their parent frame.
git-svn-id: svn://10.0.0.236/trunk@18804 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:15:01 +00:00
pinkerton%netscape.com
1d7cc71d41 backing out last two changes because they hork everything up.
git-svn-id: svn://10.0.0.236/trunk@18803 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 19:10:16 +00:00
erik%netscape.com
82ce19e7f7 again, had to fix some strange IID stuff that wouldn't compile on the Mac
git-svn-id: svn://10.0.0.236/trunk@18802 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:46:07 +00:00
erik%netscape.com
baa996e88c added PropertiesTest for new Java property file-like class
git-svn-id: svn://10.0.0.236/trunk@18801 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:42:28 +00:00
erik%netscape.com
144c1ce875 added nsProperties.cpp and nsBaseDLL.cpp
(for Java property file-like class, and its NSGetFactory)


git-svn-id: svn://10.0.0.236/trunk@18800 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:22:03 +00:00
mscott%netscape.com
fcbd98b397 Include sockstub
git-svn-id: svn://10.0.0.236/trunk@18799 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:19:40 +00:00
erik%netscape.com
62ec62189f added nsIProperties.h (like Java property files)
git-svn-id: svn://10.0.0.236/trunk@18798 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:18:35 +00:00
mscott%netscape.com
b85bbf44ef Include sockstub directory...
git-svn-id: svn://10.0.0.236/trunk@18797 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:17:25 +00:00
cata%netscape.com
dc32ee6b17 Test code for the hacky Ascii Encoder added.
git-svn-id: svn://10.0.0.236/trunk@18796 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:06:03 +00:00
cata%netscape.com
cf5bd0e193 Hacky Ascii Unicode encoder added for testing purposes.
git-svn-id: svn://10.0.0.236/trunk@18795 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:05:08 +00:00
cata%netscape.com
bec0cde3ee More methods added in the interface.
git-svn-id: svn://10.0.0.236/trunk@18794 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:03:59 +00:00
cata%netscape.com
b42e6a8457 Docs added. Changes in error codes.
git-svn-id: svn://10.0.0.236/trunk@18793 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:02:58 +00:00
cata%netscape.com
2bacaceb15 Added Error Offset Code for the Unicode Converters module.
git-svn-id: svn://10.0.0.236/trunk@18792 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 18:00:50 +00:00
kipp%netscape.com
a6a37b1d25 Fixed build bustage
git-svn-id: svn://10.0.0.236/trunk@18791 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:40:10 +00:00
saari%netscape.com
951d8949f7 fixing secondary build break
nsMenu should be nsMenuItem


git-svn-id: svn://10.0.0.236/trunk@18790 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:38:43 +00:00
saari%netscape.com
6c31961b64 fixing secondary build break
nsMenu not defined. Should be nsMenuItem


git-svn-id: svn://10.0.0.236/trunk@18789 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:37:42 +00:00
pinkerton%netscape.com
5076ef03f5 make toolbox gray, not green.
git-svn-id: svn://10.0.0.236/trunk@18788 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:36:39 +00:00
pinkerton%netscape.com
01cdf927e8 add in toolbox
git-svn-id: svn://10.0.0.236/trunk@18787 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:36:12 +00:00
saari%netscape.com
c415de0dcb fixed a previous typo of mine
git-svn-id: svn://10.0.0.236/trunk@18786 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:33:55 +00:00
saari%netscape.com
1a3881cf7d hacking xptoolkit menus
git-svn-id: svn://10.0.0.236/trunk@18785 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:33:00 +00:00
saari%netscape.com
4981161e36 Adding in a XUL menubar.
This isn't really the right place for a XUL menubar, but it will do for the M1 demo.


git-svn-id: svn://10.0.0.236/trunk@18783 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:16:38 +00:00
pinkerton%netscape.com
465d554d62 add xul namespace line.
git-svn-id: svn://10.0.0.236/trunk@18782 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:11:02 +00:00
saari%netscape.com
cb3aa7d868 fixing build break
change AddItem to AddMenuItem


git-svn-id: svn://10.0.0.236/trunk@18781 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 17:00:11 +00:00
kostello%netscape.com
34cb44acbc Updated XIFDTD token processing to match Rick's changes
by imitating behavior found in nsWellFormedDTD.cpp


git-svn-id: svn://10.0.0.236/trunk@18780 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 16:37:53 +00:00
kostello%netscape.com
91f739386d Fixed bug: dereferencing a null in nsMarkupDocument
Suppressed creation of STYLE leaf tag in the XIF encoding
until style sheet output is fixed.


git-svn-id: svn://10.0.0.236/trunk@18779 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 16:35:32 +00:00
saari%netscape.com
b5d0671483 /m/pub/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
- Several menu construction changes


git-svn-id: svn://10.0.0.236/trunk@18778 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 16:25:22 +00:00
saari%netscape.com
c4c3da74b7 /m/pub/mozilla/widget/public/nsIMenuItem.h
- Added SetLabel method

/m/pub/mozilla/widget/src/mac/nsMenuItem.h
/m/pub/mozilla/widget/src/gtk/nsMenuItem.h
/m/pub/mozilla/widget/src/motif/nsMenuItem.h
/m/pub/mozilla/widget/src/windows/nsMenuItem.h
- Added SetLabel method

/m/pub/mozilla/widget/src/mac/nsMenuItem.cpp
/m/pub/mozilla/widget/src/gtk/nsMenuItem.cpp
/m/pub/mozilla/widget/src/motif/nsMenuItem.cpp
/m/pub/mozilla/widget/src/windows/nsMenuItem.cpp
- Added SetLabel method


git-svn-id: svn://10.0.0.236/trunk@18777 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 16:14:48 +00:00
saari%netscape.com
aa2dacad70 /m/pub/mozilla/widget/public/nsIMenuBar.h
- Added Paint method

/m/pub/mozilla/widget/src/mac/nsMenuBar.h
- Added Paint method
- Mac implementation changes
/m/pub/mozilla/widget/src/gtk/nsMenuBar.h
/m/pub/mozilla/widget/src/motif/nsMenuBar.h
/m/pub/mozilla/widget/src/windows/nsMenuBar.h
- Added Paint method

/m/pub/mozilla/widget/src/mac/nsMenuBar.cpp
- Added Paint method
- Mac implementation changes
/m/pub/mozilla/widget/src/gtk/nsMenuBar.cpp
/m/pub/mozilla/widget/src/motif/nsMenuBar.cpp
/m/pub/mozilla/widget/src/windows/nsMenuBar.cpp
- Added Paint method


git-svn-id: svn://10.0.0.236/trunk@18776 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 16:05:57 +00:00
saari%netscape.com
b82abe0bdc /m/pub/mozilla/widget/public/nsIMenu.h
- Changed AddItem to AddMenuItem

/m/pub/mozilla/widget/src/mac/nsMenu.h
/m/pub/mozilla/widget/src/gtk/nsMenu.h
/m/pub/mozilla/widget/src/motif/nsMenu.h
/m/pub/mozilla/widget/src/windows/nsMenu.h
- Changed AddItem to AddMenuItem

/m/pub/mozilla/widget/src/mac/nsMenu.cpp
/m/pub/mozilla/widget/src/gtk/nsMenu.cpp
/m/pub/mozilla/widget/src/motif/nsMenu.cpp
/m/pub/mozilla/widget/src/windows/nsMenu.cpp
- Changed AddItem to AddMenuItem


git-svn-id: svn://10.0.0.236/trunk@18775 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 15:57:57 +00:00
saari%netscape.com
ddb6f2dc54 /m/pub/mozilla/widget/public/nsIWidget.h
- Added AddMenuListener method


git-svn-id: svn://10.0.0.236/trunk@18774 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 15:48:22 +00:00
rods%netscape.com
271bdffbb9 Commented out some debug statements
git-svn-id: svn://10.0.0.236/trunk@18773 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 15:32:19 +00:00
rods%netscape.com
abd0d10a02 The :prefs" variable in the "Print" method is null so I changed
NS_RELEASE(prefs) to NS_IF_RELEASE(prefs) why is prefs null??


git-svn-id: svn://10.0.0.236/trunk@18772 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 15:25:56 +00:00
rods%netscape.com
5d60d05625 Added Throbber
git-svn-id: svn://10.0.0.236/trunk@18771 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 15:15:21 +00:00
hyatt%netscape.com
4b53bc9711 Making events still possible within tree cells.
git-svn-id: svn://10.0.0.236/trunk@18770 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 12:42:37 +00:00
hyatt%netscape.com
4aab5ce7f9 Making events for arbitrary HTML still work in tree cells.
git-svn-id: svn://10.0.0.236/trunk@18769 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 12:42:21 +00:00
hyatt%netscape.com
bdfeda7589 Improvements to the tree widget to implement expanding and collapsing
nodes.


git-svn-id: svn://10.0.0.236/trunk@18768 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 12:17:35 +00:00
saari%netscape.com
2c9d2f2f26 mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
- Added LoadMenus method to construct menus

mozilla/xpfe/appshell/src/nsWebShellWindow.h
- Added LoadMenus method


git-svn-id: svn://10.0.0.236/trunk@18767 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 10:51:28 +00:00
saari%netscape.com
951f351f66 Fixing missing return value breakage.
git-svn-id: svn://10.0.0.236/trunk@18766 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 10:39:52 +00:00
hyatt%netscape.com
7be892c832 Implemented selection in the tree view.
git-svn-id: svn://10.0.0.236/trunk@18765 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 10:10:37 +00:00
hyatt%netscape.com
72e9f65dec Fixed a bug wherein tree frames weren't being added to the flow.
git-svn-id: svn://10.0.0.236/trunk@18764 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 10:10:02 +00:00
saari%netscape.com
44aab19939 /m/pub/mozilla/widget/src/mac/nsWindow.cpp
/m/pub/mozilla/widget/src/motif/nsWindow.cpp
/m/pub/mozilla/widget/src/windows/nsWindow.cpp
- call nsMenuListener in DispatchEvent


git-svn-id: svn://10.0.0.236/trunk@18763 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 09:37:23 +00:00
saari%netscape.com
eb40ba55b1 /m/pub/mozilla/widget/src/mac/nsIMenuBar.cpp
/m/pub/mozilla/widget/src/gtk/nsIMenuBar.cpp
/m/pub/mozilla/widget/src/motif/nsIMenuBar.cpp
/m/pub/mozilla/widget/src/windows/nsIMenuBar.cpp
- Added MenuSelected routine

/m/pub/mozilla/widget/src/mac/nsMenuBar.h
/m/pub/mozilla/widget/src/gtk/nsMenuBar.h
/m/pub/mozilla/widget/src/motif/nsMenuBar.h
/m/pub/mozilla/widget/src/windows/nsMenuBar.h
- nsMenuBar inherits from nsMenuListener


git-svn-id: svn://10.0.0.236/trunk@18762 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 09:02:51 +00:00
cls%seawood.org
0a820d90f0 Better handling of compiler options. Thanks to Tim Rice <tim@trr.metro.NET> for the patch.
git-svn-id: svn://10.0.0.236/trunk@18761 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 08:45:40 +00:00
saari%netscape.com
05ddd629aa nsIMenu.h
- Add SetLabel method

nsMenu.h
- Added SetLabel method

nsMenu.cpp
- Added SetLabel method

nsIWidget.h
- Added AddMenuListener method

/m/pub/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp
- Registered factories for nsMenuBar, nsMenu, and nsMenuItem


git-svn-id: svn://10.0.0.236/trunk@18760 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:51:20 +00:00
hyatt%netscape.com
97b9d670fb Adding nsTreeCellFrame.cpp to project.
git-svn-id: svn://10.0.0.236/trunk@18759 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:46:10 +00:00
hyatt%netscape.com
6fa63c6ee6 Adding tree cell frame.
git-svn-id: svn://10.0.0.236/trunk@18758 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:31:14 +00:00
hyatt%netscape.com
2ae301f308 @%!%@!
git-svn-id: svn://10.0.0.236/trunk@18757 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:30:24 +00:00
hyatt%netscape.com
bfe575e019 Getting rid of a conflict that I had.
git-svn-id: svn://10.0.0.236/trunk@18756 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:23:58 +00:00
hyatt%netscape.com
eeb09800bb Tweaking XUL frame construction. Also adding in a temporary tweak to
keep a NOTYETIMPLEMENTED from firing when an attribute in XML is
changed.  (Making it do a reflow rather than a reframe.)


git-svn-id: svn://10.0.0.236/trunk@18755 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:22:05 +00:00
mcafee%netscape.com
2f2f97c6a2 Adding pure target to run purify (Solaris)
git-svn-id: svn://10.0.0.236/trunk@18754 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 07:17:32 +00:00
sfraser%netscape.com
d9f7d78652 Return a result (duh) from InitNativeWindow()
git-svn-id: svn://10.0.0.236/trunk@18753 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 06:47:08 +00:00
coop%netscape.com
d91301c106 NOT YET PART OF SEAMONKEY:
* fixed XPT_SizeOfHeader. It wasn't actually walking the annotations, but it does now.
* added some basic dumping code to SimpleTypeLib. Currently only the headers can be dumped. Once XDR read code is up and running, this dumping code will become a separate utility, most likely under a libxpt/tools subdir.


git-svn-id: svn://10.0.0.236/trunk@18752 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 06:32:57 +00:00
saari%netscape.com
dac2b29609 Adding a nsnull check before we call through a returned pointer. Breaking on linux
git-svn-id: svn://10.0.0.236/trunk@18751 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 06:01:38 +00:00
troy%netscape.com
3e91c0d918 Changed Reflow() to take into account absolutely positioned child
frames when computing the desired size


git-svn-id: svn://10.0.0.236/trunk@18750 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:58:43 +00:00
ramiro%netscape.com
8ef7c25bf9 Fix it for real this time. I thought i fixed before. Why is this so hard ?
git-svn-id: svn://10.0.0.236/trunk@18749 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:55:09 +00:00
troy%netscape.com
df2016e126 Added work-in-progress for 'fixed' positioning
git-svn-id: svn://10.0.0.236/trunk@18748 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:37:55 +00:00
troy%netscape.com
3381a561f5 Added helper function IsAbsolutelyPositioned() to nsStylePosition
git-svn-id: svn://10.0.0.236/trunk@18747 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:35:54 +00:00
sfraser%netscape.com
d4ac017acd Changes to avoid using window refCons for raptor data. Store a list of windows in nsMacMessageSink, pass all events to the sink, and return a boolean for handled status. In the window, add and remove raptor windows from the list.
git-svn-id: svn://10.0.0.236/trunk@18746 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:24:26 +00:00
sfraser%netscape.com
f777c9980b Fix menu ID conflict between Print one column, and tree view menu items.
git-svn-id: svn://10.0.0.236/trunk@18745 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:22:06 +00:00
sfraser%netscape.com
fbb47872c1 Added a method to nsBrowserWindow to allow platform-specific subclasses to set up native window data on window creation. On Mac, the viewer uses the window refCon to store an nsBrowserWindow now.
Also fixed menu item numbering, as two different items were using 2000.


git-svn-id: svn://10.0.0.236/trunk@18744 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:21:43 +00:00
sfraser%netscape.com
40a9063f33 Added a method to nsBrowserWindow to allow platform-specific subclasses to set up native window data on window creation. On Mac, we use this to set refCon data. On other platforms, it's just a stub.
git-svn-id: svn://10.0.0.236/trunk@18743 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:20:43 +00:00
briano%netscape.com
6d18ce16f8 Automated update
git-svn-id: svn://10.0.0.236/trunk@18742 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:15:34 +00:00
ramiro%netscape.com
e6691ac53f Add xpfe/browser/public to build.
git-svn-id: svn://10.0.0.236/trunk@18741 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:13:41 +00:00
pollmann%netscape.com
d6917d7a28 Bug 2370: FreeBSD 3.0 patches
git-svn-id: svn://10.0.0.236/trunk@18740 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:10:54 +00:00
ramiro%netscape.com
449732ccac Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@18739 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:09:47 +00:00
mcafee%netscape.com
bf03978d35 ignore generated Makefile
git-svn-id: svn://10.0.0.236/trunk@18738 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:06:20 +00:00
sfraser%netscape.com
dacac830ff Fix the about box so that it doesn't refer to PowerPlant
git-svn-id: svn://10.0.0.236/trunk@18737 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 05:05:52 +00:00
rods%netscape.com
b02a88cfcd Added setting of the initial URL in the URL Bar
git-svn-id: svn://10.0.0.236/trunk@18736 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:53:10 +00:00
ramiro%netscape.com
fec89f754b Add makefile to unbreak build.
git-svn-id: svn://10.0.0.236/trunk@18735 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:49:35 +00:00
gagan%netscape.com
fe96f1475e Replaced default 4.05 with 5.0 for User agent string.
git-svn-id: svn://10.0.0.236/trunk@18734 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:28:34 +00:00
mscott%netscape.com
e852893424 Externally define msg_LineBuffer....
git-svn-id: svn://10.0.0.236/trunk@18733 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:23:11 +00:00
rods%netscape.com
d46dbf1fea Added BUTTON.ROLLOVER and BUTTON.DIABLED pseudo-classes
git-svn-id: svn://10.0.0.236/trunk@18732 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:22:35 +00:00
saari%netscape.com
b45b87c481 mozilla/widget/src/xpwidgets/nsBaseWidget.h
uncommented nsIMenuListener   *mMenuListener for XPToolkit menus

Index: nsBaseWidget.cpp
===================================================================
RCS file: /m/pub/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp
uncommented  mMenuListener code for XPToolkit menus


git-svn-id: svn://10.0.0.236/trunk@18731 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:20:20 +00:00
mscott%netscape.com
061191ff9e Include rdf to fix build breakage when nsIMsgFolder started inheriting from an RDF interface....
git-svn-id: svn://10.0.0.236/trunk@18730 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:19:26 +00:00
rods%netscape.com
bf214b42ce Implemented the window.print() method
git-svn-id: svn://10.0.0.236/trunk@18729 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:15:19 +00:00
rods%netscape.com
40a68b95fc Commented out the MACRO for for settting and getting the disabled attribute
I implemented them fully so I code set the "disabled" pseudo-class properly


git-svn-id: svn://10.0.0.236/trunk@18728 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:13:44 +00:00
sdagley%netscape.com
b9ba3e6a61 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18727 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:12:38 +00:00
sdagley%netscape.com
3b80fdaa48 Updating so that builds on the Mac will use a SIOUX console window rather than writing to a file (which doesn't work unless running under the debugger for an undetermined reason).
git-svn-id: svn://10.0.0.236/trunk@18726 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:11:54 +00:00
rods%netscape.com
b44e44cb62 Added rollover pseudo-class processing for mouse enter and exit
git-svn-id: svn://10.0.0.236/trunk@18725 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:09:12 +00:00
rods%netscape.com
6d6fb26dd3 Fixed up the UI, added the status bar
git-svn-id: svn://10.0.0.236/trunk@18724 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:03:46 +00:00
mscott%netscape.com
0aa401a0e6 Use nsMsgFolderFlags.h instead of msgFolderFlags.h...
git-svn-id: svn://10.0.0.236/trunk@18723 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:03:17 +00:00
rods%netscape.com
dd210ba364 Added a lot code for M1
git-svn-id: svn://10.0.0.236/trunk@18722 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:02:33 +00:00
mscott%netscape.com
72385b26ac Export nsMsgPtrArray.h and nsMsgGroupRecord.h
git-svn-id: svn://10.0.0.236/trunk@18721 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 04:02:04 +00:00
mscott%netscape.com
406bb8f692 include rosetta.h in this file.
git-svn-id: svn://10.0.0.236/trunk@18720 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:58:45 +00:00
rods%netscape.com
9cc237bfee initial checkin
git-svn-id: svn://10.0.0.236/trunk@18719 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:55:39 +00:00
troy%netscape.com
8b3ad3c365 Changed nsAbsoluteItems to be a derived class of nsFrameItems
git-svn-id: svn://10.0.0.236/trunk@18718 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:53:54 +00:00
mscott%netscape.com
9f44caa1f6 Export nsINNTPCategoryContainer.h
git-svn-id: svn://10.0.0.236/trunk@18717 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:52:53 +00:00
rods%netscape.com
090afdeb87 I uncommented out the progation of the EndLoadURL notification
git-svn-id: svn://10.0.0.236/trunk@18716 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:50:10 +00:00
alecf%netscape.com
0290bab375 whoops, this was the wrong name for this file
git-svn-id: svn://10.0.0.236/trunk@18715 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:49:09 +00:00
troy%netscape.com
00c1f554bc Added nsLayoutAtoms::fixedList for specifying the name of the additional
child list for 'fixed' elements


git-svn-id: svn://10.0.0.236/trunk@18714 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:48:39 +00:00
alecf%netscape.com
020bec1e30 adding utility macros to implement XPIDL-generated getter/setter methods
git-svn-id: svn://10.0.0.236/trunk@18713 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:34:53 +00:00
alecf%netscape.com
87e829537e updated to use more standard naming conventions and added function descriptions
git-svn-id: svn://10.0.0.236/trunk@18712 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:28:20 +00:00
troy%netscape.com
fe96feb62a Hooked printing back up. It was a casuality of the viewport changes
git-svn-id: svn://10.0.0.236/trunk@18711 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:24:12 +00:00
alecf%netscape.com
233bdcb5ad remove some cruft, fix some indenting
git-svn-id: svn://10.0.0.236/trunk@18710 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:12:49 +00:00
alecf%netscape.com
3a0c7221e0 add nsNNTPHost to build
git-svn-id: svn://10.0.0.236/trunk@18709 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:12:24 +00:00
wtc%netscape.com
c49c5990c0 Bugsplat bug #340901: On AIX, PR_TransmitFile calls the new send_file()
system call if it is available.  The patch is contributed by IBM's
Anthony Moore <anthonym@npec.netscape.com>.


git-svn-id: svn://10.0.0.236/trunk@18708 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:12:16 +00:00
alecf%netscape.com
2a2c6ceac1 slight case change in new interface
git-svn-id: svn://10.0.0.236/trunk@18707 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:12:11 +00:00
putterman%netscape.com
004e28586a Added nsIMsgFolder implentation
git-svn-id: svn://10.0.0.236/trunk@18706 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:04:29 +00:00
terry%netscape.com
2fe75675e5 If the version isn't valid, try "other" before giving up.
git-svn-id: svn://10.0.0.236/trunk@18705 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 03:00:31 +00:00
putterman%netscape.com
68757819d4 Add new methods to nsIMsgFolder interface
git-svn-id: svn://10.0.0.236/trunk@18704 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:59:12 +00:00
mscott%netscape.com
252ad58710 Adding code to parse a news url and to load a news url for the test harness...
git-svn-id: svn://10.0.0.236/trunk@18703 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:58:53 +00:00
alecf%netscape.com
f6bf2a81b4 first entry of Proxy via Event Queue utility routines
git-svn-id: svn://10.0.0.236/trunk@18702 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:58:19 +00:00
alecf%netscape.com
dc15ecd43c first entry of nsProxyEvent helper routines for writing proxy interfaces
git-svn-id: svn://10.0.0.236/trunk@18701 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:57:46 +00:00
terry%netscape.com
6ef898005f Fixed error message when version is invalid.
git-svn-id: svn://10.0.0.236/trunk@18700 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:56:20 +00:00
pollmann%netscape.com
71a84022b9 Bug 1958: Submit value for checkboxes or "on" for checkboxes with no value.
git-svn-id: svn://10.0.0.236/trunk@18699 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:33:16 +00:00
briano%netscape.com
63cfa56abe Automated update
git-svn-id: svn://10.0.0.236/trunk@18698 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:30:35 +00:00
mcafee%netscape.com
39fe474e3b Adding toolbar icons
git-svn-id: svn://10.0.0.236/trunk@18697 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:26:53 +00:00
mcafee%netscape.com
9d1b6ffc74 Adding xpfe/browser to build
git-svn-id: svn://10.0.0.236/trunk@18696 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:26:07 +00:00
mcafee%netscape.com
a9911ab9bf Adding xpfe/browser
git-svn-id: svn://10.0.0.236/trunk@18695 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:24:53 +00:00
mjudge%netscape.com
72e99c7c16 Must allow for the fact that content may be nsnull in ALL cases.
git-svn-id: svn://10.0.0.236/trunk@18694 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:15:38 +00:00
warren%netscape.com
879bf81b4e Looks like I forgot a public declaration.
git-svn-id: svn://10.0.0.236/trunk@18693 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:12:57 +00:00
mcmullen%netscape.com
d530ae462b Added a new InitializeMacToolbox() to NSStdLib (declared in macstdlibextras.h) and exported it. This makes all the Mac Toolbox Init calls, and also (if DEBUG) initializes SIOUX without menus. Safe to call this multiple times (it has a static boolean). Removed toolbox initialization from constructor of nsAppShell, and called InitializeMacToolbox() instead. Called InitializeMacToolbox from main in viewer app, and also from a static initializer in nsAppRunner.cpp.
git-svn-id: svn://10.0.0.236/trunk@18692 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:11:56 +00:00
pinkerton%netscape.com
b6116d5d47 Got reflow working so that it lays out its children one right after the other, leaving room for a grippy to be drawn.
git-svn-id: svn://10.0.0.236/trunk@18691 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:11:07 +00:00
warren%netscape.com
eef8571946 Added nsIAllocator and implementation. Made service manager services sticky'.
git-svn-id: svn://10.0.0.236/trunk@18690 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 02:02:22 +00:00
kmcclusk%netscape.com
78f31b3921 Modified GetDefaultChecked and SetDefaultChecked to get and set the checked
attribute.


git-svn-id: svn://10.0.0.236/trunk@18689 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 01:35:30 +00:00
despotdaemon%netscape.com
8c22f7a0dc Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18688 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 01:34:46 +00:00
rjc%netscape.com
cb72ae28f2 Oops, didn't mean to check in changes for the file system into makefiles.
git-svn-id: svn://10.0.0.236/trunk@18687 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 01:26:08 +00:00
rjc%netscape.com
64903cc309 First cut at a file system data source.
git-svn-id: svn://10.0.0.236/trunk@18686 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 01:26:07 +00:00
despotdaemon%netscape.com
fa263f5e52 Pseudo-automatic update of changes made by wtc@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18685 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 01:07:59 +00:00
waterson%netscape.com
4fb93e8735 Exposed EventListenerManager.
git-svn-id: svn://10.0.0.236/trunk@18684 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:58:49 +00:00
bienvenu%netscape.com
7b287efdfc initial entry into cvs of makefiles for mdb
git-svn-id: svn://10.0.0.236/trunk@18683 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:56:09 +00:00
bienvenu%netscape.com
668a8e2aad add mdb directory to db build
git-svn-id: svn://10.0.0.236/trunk@18682 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:54:49 +00:00
kmcclusk%netscape.com
bb135eae27 Implemented GetChecked and SetChecked for nsHTMLInputElement by going through
the nsCheckboxControlFrame and nsRadioControlFrame.cpp


git-svn-id: svn://10.0.0.236/trunk@18681 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:51:46 +00:00
bienvenu%netscape.com
b815400fc6 initial entry into cvs of MDB interface
git-svn-id: svn://10.0.0.236/trunk@18680 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:45:21 +00:00
bienvenu%netscape.com
76f95a8712 add win makefile for msgdb
git-svn-id: svn://10.0.0.236/trunk@18679 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:43:00 +00:00
bienvenu%netscape.com
516f7fd8d2 start implementing mail msg db
git-svn-id: svn://10.0.0.236/trunk@18678 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:42:13 +00:00
bienvenu%netscape.com
7e3a4dd843 start getting msgdb code to build
git-svn-id: svn://10.0.0.236/trunk@18677 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:40:29 +00:00
bienvenu%netscape.com
2ffac12ecc start getting msgdb building
git-svn-id: svn://10.0.0.236/trunk@18676 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:37:45 +00:00
bienvenu%netscape.com
686d146dff add makefiles for db directories
git-svn-id: svn://10.0.0.236/trunk@18675 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:36:45 +00:00
bienvenu%netscape.com
2870f82941 export MailNewsTypes.h
git-svn-id: svn://10.0.0.236/trunk@18674 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:35:12 +00:00
bienvenu%netscape.com
8432c564f8 add view index, remove msg flags which are stored elsewhere
git-svn-id: svn://10.0.0.236/trunk@18673 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:34:31 +00:00
pollmann%netscape.com
2e9ab16293 Bug 1958: Submit x, y coords for unnamed image elements. Submit coords only once.
git-svn-id: svn://10.0.0.236/trunk@18672 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:25:40 +00:00
nhotta%netscape.com
82bcd53640 Initial check in.
git-svn-id: svn://10.0.0.236/trunk@18671 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:19:24 +00:00
erik%netscape.com
4ae5d93417 For some reason, the IID stuff didn't compile on the Mac. Fixed now.
git-svn-id: svn://10.0.0.236/trunk@18670 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:18:34 +00:00
ducarroz%netscape.com
eb2fed3e15 Added command to execute manifest on network:protocol:sockstub:
git-svn-id: svn://10.0.0.236/trunk@18669 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:15:25 +00:00
vidur%netscape.com
bd2f738058 First pass implementation of document.implementation
git-svn-id: svn://10.0.0.236/trunk@18668 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:12:33 +00:00
ducarroz%netscape.com
13acab0d03 added sub group sockstub and added to it file sockstub.cpp
git-svn-id: svn://10.0.0.236/trunk@18667 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:12:09 +00:00
ducarroz%netscape.com
b6c9941c80 Added command to execute manifest on network:protocol:sockstub:
git-svn-id: svn://10.0.0.236/trunk@18666 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:03:50 +00:00
ducarroz%netscape.com
1383058e53 Added nsITransport.h
git-svn-id: svn://10.0.0.236/trunk@18665 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:03:49 +00:00
cmanske%netscape.com
0c870ba5af Changed Windows makefile to use BASE directory instead of CORE
git-svn-id: svn://10.0.0.236/trunk@18664 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:00:37 +00:00
briano%netscape.com
a517c981d1 Automated update
git-svn-id: svn://10.0.0.236/trunk@18663 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-27 00:00:34 +00:00
mcafee%netscape.com
2461c1d3c3 Renaming editor/core to editor/base
git-svn-id: svn://10.0.0.236/trunk@18662 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:59:14 +00:00
slamm%netscape.com
52f5c6a55c Only update .md files when NO_MDUPDATE is unset.
git-svn-id: svn://10.0.0.236/trunk@18661 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:54:59 +00:00
erik%netscape.com
714a8f406b Added test program and test file for new nsIStringBundle class
(for externalizing strings so that they can be localized).


git-svn-id: svn://10.0.0.236/trunk@18660 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:54:30 +00:00
erik%netscape.com
894a7ba3bd Added implementation of new nsIStringBundle class.
git-svn-id: svn://10.0.0.236/trunk@18659 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:53:37 +00:00
erik%netscape.com
a7283ed820 Added public header file for new nsIStringBundle class.
git-svn-id: svn://10.0.0.236/trunk@18658 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:53:01 +00:00
erik%netscape.com
cc32d390c7 Added test program and test file for new nsIProperties stuff.
(Like Java properties.)


git-svn-id: svn://10.0.0.236/trunk@18657 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:51:18 +00:00
erik%netscape.com
961ef36d39 Added implementation of new nsIProperties class (like Java properties).
Also added nsBaseDLL.cpp for factory for this DLL (raptorbase).


git-svn-id: svn://10.0.0.236/trunk@18656 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:50:25 +00:00
alecf%netscape.com
98eefe872a makefile for XPIDL on Windows
git-svn-id: svn://10.0.0.236/trunk@18655 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:49:43 +00:00
waterson%netscape.com
c3e5920240 Got Win32-specific stuff up and running. This caused a bit of code-juggling in the Unix and Mac implementations. a=mcmullen.
git-svn-id: svn://10.0.0.236/trunk@18654 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:49:33 +00:00
mjudge%netscape.com
ce3006450c Fixing rangelist to look at frame content not the frame hierarchy do decide if you clicked on the background frame.
git-svn-id: svn://10.0.0.236/trunk@18653 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:49:17 +00:00
erik%netscape.com
21ae15f95f public header file for new nsIProperties class (like Java properties)
git-svn-id: svn://10.0.0.236/trunk@18652 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:48:54 +00:00
kmcclusk%netscape.com
6550e9da04 Added GetPrimaryFrame utility method.
git-svn-id: svn://10.0.0.236/trunk@18651 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:43:52 +00:00
alecf%netscape.com
5f81a8c8dd add declarations for factories
git-svn-id: svn://10.0.0.236/trunk@18650 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 23:17:39 +00:00
pollmann%netscape.com
1e53362e49 Bug 2279: Don't create widgets for hidden form elements.
git-svn-id: svn://10.0.0.236/trunk@18649 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 22:11:59 +00:00
rhp%netscape.com
e64187e51f Cleanup changes for libmime.
git-svn-id: svn://10.0.0.236/trunk@18648 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:47:51 +00:00
alecf%netscape.com
2ab9aad2f4 slight change to meet new nsRepository API
git-svn-id: svn://10.0.0.236/trunk@18647 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:42:39 +00:00
alecf%netscape.com
9d2f7df13e fix build bustage - API change for GetRangeOfArtsToDownload and
special case for Windows to use char* instead of const char* for XP_AppCodeName


git-svn-id: svn://10.0.0.236/trunk@18646 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:41:55 +00:00
bienvenu%netscape.com
25db1aed1f remove so I can name it correctly nsMsgHdr.cpp
git-svn-id: svn://10.0.0.236/trunk@18645 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:41:50 +00:00
alecf%netscape.com
bf42a83e5d nsNNTPNewsgroupList should be implementing nsINNTPNewsgroupList, not nsINNTPArticleList.
Made some API changes and class changes to bring them in sync


git-svn-id: svn://10.0.0.236/trunk@18644 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:32:51 +00:00
alecf%netscape.com
3b7baf5487 the IDL compiler is smart enough to handle nsINNTPHost now
git-svn-id: svn://10.0.0.236/trunk@18643 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:32:04 +00:00
mscott%netscape.com
38330b38e1 Temporarily add NET_SaCat/Copy to nsNNTPProtocol. Include allxpstr.h as well....
git-svn-id: svn://10.0.0.236/trunk@18642 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 21:26:48 +00:00
slamm%netscape.com
839f5f7862 Cleaning this up. Some of these rules don't apply. Others are in rules.mk
git-svn-id: svn://10.0.0.236/trunk@18640 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 20:17:35 +00:00
petitta%netscape.com
f583b70913 updated yet again
git-svn-id: svn://10.0.0.236/trunk@18639 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 20:11:43 +00:00
alecf%netscape.com
37be85660a add delete operator so this will compile
git-svn-id: svn://10.0.0.236/trunk@18637 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 20:08:34 +00:00
alecf%netscape.com
3122ee1ba4 add factory and declarations for interface methods
git-svn-id: svn://10.0.0.236/trunk@18636 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 20:07:48 +00:00
alecf%netscape.com
1de29ceae9 rename Initialize->Init to match interface, and add factory
git-svn-id: svn://10.0.0.236/trunk@18635 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 20:04:41 +00:00
petitta%netscape.com
1334d0d0b6 updated again
git-svn-id: svn://10.0.0.236/trunk@18634 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 19:52:07 +00:00
shaver%netscape.com
50af4f507e Fixed method and type descriptors, made const descriptors go.
git-svn-id: svn://10.0.0.236/trunk@18633 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 19:31:25 +00:00
rods%netscape.com
5a8321381d took browser out of the build
git-svn-id: svn://10.0.0.236/trunk@18632 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 19:21:18 +00:00
michaelp%netscape.com
b448a5f840 turned on the throbbing N again.
git-svn-id: svn://10.0.0.236/trunk@18631 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 19:09:22 +00:00
petitta%netscape.com
d1f8c96d05 Modified
git-svn-id: svn://10.0.0.236/trunk@18630 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 18:44:23 +00:00
alecf%netscape.com
f5bacba5d7 stop using IsXXX for boolean Getters
git-svn-id: svn://10.0.0.236/trunk@18629 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 18:20:30 +00:00
pinkerton%netscape.com
bb880b4b55 fix a leak where the Enumerator would create itself with a refcnt of 1 and then we'd addref it again in GetChildren(). Fixed so that the Enumerator doesn't addref itself and added addref's in the appropriate places to correct that assumption.
git-svn-id: svn://10.0.0.236/trunk@18628 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 18:07:11 +00:00
rods%netscape.com
7902fb13e2 Added the "Home" button.
git-svn-id: svn://10.0.0.236/trunk@18627 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 18:03:08 +00:00
rods%netscape.com
0f5dd89cc5 It now looks for it's children WebShell by name and instead of assuming
that they are at a given position.


git-svn-id: svn://10.0.0.236/trunk@18626 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 18:01:38 +00:00
rods%netscape.com
692077b956 Added commands
git-svn-id: svn://10.0.0.236/trunk@18625 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 17:45:44 +00:00
nhotta%netscape.com
85d13bd02e Change to use WinAPI for collation key creation.
git-svn-id: svn://10.0.0.236/trunk@18624 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 17:37:17 +00:00
nhotta%netscape.com
e0818cc28e Added additional library to to link.
git-svn-id: svn://10.0.0.236/trunk@18623 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 17:35:42 +00:00
pinkerton%netscape.com
76a4ad4447 Pull throbber gifs from viewer instead of xpviewer to match what the windows build is doing.
git-svn-id: svn://10.0.0.236/trunk@18622 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 17:29:41 +00:00
pinkerton%netscape.com
ca0330b3fe Pull some chrome stuff from xpfe/browser to get appviewer up and running. These chrome files will move, but they live where they live right now.
git-svn-id: svn://10.0.0.236/trunk@18621 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 17:14:37 +00:00
troy%netscape.com
88177ce149 Fixed a problem in CalculateLeftRightMargin()
git-svn-id: svn://10.0.0.236/trunk@18620 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 16:34:08 +00:00
rods%netscape.com
86547bd566 Added appshell bootstrap and browser directories to build
git-svn-id: svn://10.0.0.236/trunk@18619 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 16:01:30 +00:00
rods%netscape.com
3bc4bf2b13 Changed initial document to appshell.html
git-svn-id: svn://10.0.0.236/trunk@18618 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 16:00:57 +00:00
rods%netscape.com
8d18051670 Added nsXULCommand
git-svn-id: svn://10.0.0.236/trunk@18617 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:59:53 +00:00
rods%netscape.com
3e82cea749 It now derives from nsIDocumentLoader and it processes and itstalls XULCommands
git-svn-id: svn://10.0.0.236/trunk@18616 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:58:58 +00:00
rods%netscape.com
8b344cdfea It now derives from nsIDocumentLoader and I added the XUL Command list
git-svn-id: svn://10.0.0.236/trunk@18615 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:57:59 +00:00
rods%netscape.com
976a2fafb8 Added cast for mWindowList methods
git-svn-id: svn://10.0.0.236/trunk@18614 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:55:44 +00:00
rods%netscape.com
dbb8132f71 added nsXULCommand
git-svn-id: svn://10.0.0.236/trunk@18613 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:45:35 +00:00
rods%netscape.com
7a5f2025aa Initial checkin
git-svn-id: svn://10.0.0.236/trunk@18612 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:44:24 +00:00
rods%netscape.com
0444d79703 Initial checkin (not building source yet)
git-svn-id: svn://10.0.0.236/trunk@18611 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:43:34 +00:00
dcone%netscape.com
c966f58d0d Added nsXULCommand.cpp for Rod Spears
git-svn-id: svn://10.0.0.236/trunk@18610 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:30:43 +00:00
rods%netscape.com
d600d7cae9 Added toolbar.xml and xul.css
git-svn-id: svn://10.0.0.236/trunk@18609 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:26:14 +00:00
rods%netscape.com
d3e9bd91a1 Changed the IFRAME to use toolbar.xml
git-svn-id: svn://10.0.0.236/trunk@18608 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:22:25 +00:00
rods%netscape.com
3a56986bde Initial checkin
git-svn-id: svn://10.0.0.236/trunk@18607 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:08:23 +00:00
rods%netscape.com
90dae20de7 Added nsIXULCommand
git-svn-id: svn://10.0.0.236/trunk@18606 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 15:06:21 +00:00
briano%netscape.com
3ba6e59952 Automated update
git-svn-id: svn://10.0.0.236/trunk@18605 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 13:00:37 +00:00
mcafee%netscape.com
89b776545b Adding intl/locale, intl/unicharutil Makefiles
git-svn-id: svn://10.0.0.236/trunk@18604 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 12:48:25 +00:00
mcafee%netscape.com
406f101f88 Adding makefiles for Linux, hope that's Ok
git-svn-id: svn://10.0.0.236/trunk@18603 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 12:47:33 +00:00
mcafee%netscape.com
e313740053 Use local TOOLKIT_LIBS instead of hard-coding in gtk. Still needs to be fixed in rules.mk
git-svn-id: svn://10.0.0.236/trunk@18602 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 11:59:48 +00:00
mcafee%netscape.com
23f7b9f073 Fixing Solaris build breakage
git-svn-id: svn://10.0.0.236/trunk@18601 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 11:44:32 +00:00
mcafee%netscape.com
543b008d43 Cleaning this up: whitespace only
git-svn-id: svn://10.0.0.236/trunk@18600 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 10:45:46 +00:00
rpotts%netscape.com
126778f89f Added PR_BEGIN_MACRO/PR_END_MACRO around all multi-line macros...
git-svn-id: svn://10.0.0.236/trunk@18599 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 09:46:33 +00:00
mcafee%netscape.com
2e4daba1da Switch to using rules in rules.mk instead of making them up here. Nuked unnecessary link lines, fixed incorrect reference to viewer.exe.
git-svn-id: svn://10.0.0.236/trunk@18598 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 09:29:54 +00:00
rpotts%netscape.com
8f0d397a2d The AttributeChanged(...) method of all form controls now call their base class AttributeChanged() method. Also implemented the disabled attribute in the base class...
git-svn-id: svn://10.0.0.236/trunk@18597 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:57:54 +00:00
mcafee%netscape.com
92f7c1bbaa Use logic in rules.mk for -DWIDGET_DLL and -DGFXWIN_DLL defines; nuked unnecessary INCLUDES addition; renamed nsUnixMain.cpp to nsMotifMain.cpp to be consistant with the Gtk naming here.
git-svn-id: svn://10.0.0.236/trunk@18596 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:48:13 +00:00
rpotts%netscape.com
3ef498ecfb Added some more LINCS after the big OJI checkin...
git-svn-id: svn://10.0.0.236/trunk@18595 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:46:51 +00:00
rpotts%netscape.com
ede3b2feb0 Fixed up NSGetFactory(...) after the big service manager checkin...
git-svn-id: svn://10.0.0.236/trunk@18594 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:44:02 +00:00
mcafee%netscape.com
21951bcff7 Renaming to nsMotifMain.cpp to be consistant with nsGTKMain.cpp
git-svn-id: svn://10.0.0.236/trunk@18593 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:40:57 +00:00
rickg%netscape.com
6239093dc6 more incremental improvements
git-svn-id: svn://10.0.0.236/trunk@18592 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:36:27 +00:00
mcafee%netscape.com
aad69207fd Moving nsUnixMain.cpp to nsMotifMain.cpp to be consistant with nsGTKMain.cpp, unix is ambiguous and might be misleading
git-svn-id: svn://10.0.0.236/trunk@18591 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:31:44 +00:00
gagan%netscape.com
ab193e013b Fix for 2107.
git-svn-id: svn://10.0.0.236/trunk@18590 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:23:51 +00:00
waterson%netscape.com
00c1047430 Moved XPCOM to in front of LiveConnect to fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@18589 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 07:02:51 +00:00
troy%netscape.com
e23285c5da Fixed a problem in ConstructFrameByTag() where absolutely positioned elements
weren't handled properly


git-svn-id: svn://10.0.0.236/trunk@18588 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 06:00:30 +00:00
troy%netscape.com
99f8cc5c71 Fixed some problem in ConstructFrameByDisplayType() where in now cases
(e.g. floaters and relatively positioned blocks) the newly constructed
frame wasn't getting added to aFrameItems


git-svn-id: svn://10.0.0.236/trunk@18587 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 05:46:04 +00:00
waterson%netscape.com
35841c5590 Fixed bug where random properties on the root content node were coming up as bogus columns.
git-svn-id: svn://10.0.0.236/trunk@18586 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 05:30:24 +00:00
wtc%netscape.com
f2c3098f2c Dealt with the definitions of the obsolete integer types that
conflict with the typedefs in BeOS's <support/SupportDefs.h>.
(Acknowledgment: Matthew Zahorik <maz@albany.net>)


git-svn-id: svn://10.0.0.236/trunk@18585 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 05:23:03 +00:00
ramiro%netscape.com
2370b023c9 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@18584 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 05:07:03 +00:00
troy%netscape.com
44300b03b8 Fixed a problem with placeholder frame's clearing the child list and
causing the previous frames to disappear


git-svn-id: svn://10.0.0.236/trunk@18583 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 05:05:19 +00:00
bienvenu%netscape.com
62ed743f3e initial entry into cvs of news and mail db subclasses
git-svn-id: svn://10.0.0.236/trunk@18582 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:50:54 +00:00
ramiro%netscape.com
8f2990b857 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@18581 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:46:37 +00:00
alecf%netscape.com
eabd0bfa79 reflect Is -> Get getter stuff from XPIDL compiler change
git-svn-id: svn://10.0.0.236/trunk@18580 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:30:10 +00:00
alecf%netscape.com
50abd3de2a fix an api change
git-svn-id: svn://10.0.0.236/trunk@18579 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:15:20 +00:00
alecf%netscape.com
ee8f616d02 fix a few more functions to bring this up to match the IDL
git-svn-id: svn://10.0.0.236/trunk@18578 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:14:57 +00:00
alecf%netscape.com
38f75cbfce fix some warnings, etc
git-svn-id: svn://10.0.0.236/trunk@18577 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:14:30 +00:00
alecf%netscape.com
cec8a9a572 add new function so nsNNTPHost can compile
git-svn-id: svn://10.0.0.236/trunk@18576 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:12:46 +00:00
alecf%netscape.com
82c431066f remove pane-specific AddSubscribedNewsgroup for now, and rename function
git-svn-id: svn://10.0.0.236/trunk@18575 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:12:10 +00:00
waterson%netscape.com
98cfa2b5da Fixed capitalization error.
git-svn-id: svn://10.0.0.236/trunk@18573 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 04:03:59 +00:00
alecf%netscape.com
2f6556e311 add ignore files
git-svn-id: svn://10.0.0.236/trunk@18572 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 03:50:34 +00:00
mcafee%netscape.com
d5d68ac980 Making this test build on Solaris
git-svn-id: svn://10.0.0.236/trunk@18571 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 03:19:50 +00:00
rickg%netscape.com
7b84baad9b fix build crash
git-svn-id: svn://10.0.0.236/trunk@18570 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 03:02:29 +00:00
rickg%netscape.com
70609b39ee fix build crash
git-svn-id: svn://10.0.0.236/trunk@18569 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 02:59:09 +00:00
mcafee%netscape.com
c9f16df0cd Making tests build on Solaris
git-svn-id: svn://10.0.0.236/trunk@18568 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 02:51:10 +00:00
alecf%netscape.com
8cd44bae4a do lots of implementation of nsINNTPHost interface so that this class is instantiable.
git-svn-id: svn://10.0.0.236/trunk@18567 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 02:17:07 +00:00
alecf%netscape.com
a4d377fd96 nsNNTPArticleList should be implementing the right interface
and implementing nsISupports


git-svn-id: svn://10.0.0.236/trunk@18566 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 02:15:59 +00:00
alecf%netscape.com
7a384da5bf fix return types
git-svn-id: svn://10.0.0.236/trunk@18565 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 02:14:12 +00:00
wtc%netscape.com
7761ce2d75 Merged first batch of BeOS port patches contributed by
Matthew Zahorik <maz@albany.net>.


git-svn-id: svn://10.0.0.236/trunk@18564 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:56:55 +00:00
troy%netscape.com
ca757713fa Removed "tab" chars
git-svn-id: svn://10.0.0.236/trunk@18563 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:47:01 +00:00
rickg%netscape.com
0ee8c3c05f missed this API change
git-svn-id: svn://10.0.0.236/trunk@18562 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:45:40 +00:00
beard%netscape.com
bf04f97fec Added nsElementTable.cpp for rickg.
git-svn-id: svn://10.0.0.236/trunk@18561 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:41:32 +00:00
troy%netscape.com
6ecb547128 Hooked up print-preview to work again
git-svn-id: svn://10.0.0.236/trunk@18560 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:39:08 +00:00
shaver%netscape.com
4764e3bd54 fixed fencepost in XPT_DoHeader, along with more error-checking
git-svn-id: svn://10.0.0.236/trunk@18559 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:34:21 +00:00
rickg%netscape.com
ff454b59ec made javascript happier
git-svn-id: svn://10.0.0.236/trunk@18558 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:25:37 +00:00
waterson%netscape.com
5a9f7dd463 Added code to spit out style sheet and named data source info. Fixed some bugs with references to internal anonymous resources.
git-svn-id: svn://10.0.0.236/trunk@18557 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:24:34 +00:00
rickg%netscape.com
20a3af2667 fixed a wad of parser bugs
git-svn-id: svn://10.0.0.236/trunk@18556 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:24:31 +00:00
waterson%netscape.com
fb766d5316 Altered anonymous resources to be produced with a hash mark, so they look more like anchors.
git-svn-id: svn://10.0.0.236/trunk@18555 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:23:55 +00:00
terry%netscape.com
aca4488af6 Added MailNews project.
git-svn-id: svn://10.0.0.236/trunk@18554 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:22:56 +00:00
waterson%netscape.com
14cf8d9163 Fixed bug in arcs-out cursor.
git-svn-id: svn://10.0.0.236/trunk@18553 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:22:40 +00:00
waterson%netscape.com
29fafe3a49 Changes for new service manager stuff.
git-svn-id: svn://10.0.0.236/trunk@18552 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:21:25 +00:00
hyatt%netscape.com
33451dc445 Adding support for tree indentation. nsTreeIndentation.cpp
git-svn-id: svn://10.0.0.236/trunk@18551 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:20:28 +00:00
beard%netscape.com
dd6cebf197 Added LiveConnect to build and MANIFEST processing.
git-svn-id: svn://10.0.0.236/trunk@18550 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:14:00 +00:00
hyatt%netscape.com
83b6123fe6 Added support for tree indentation.
git-svn-id: svn://10.0.0.236/trunk@18549 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:12:51 +00:00
petitta%netscape.com
c6a1e8d864 Updated to 1.0.3
git-svn-id: svn://10.0.0.236/trunk@18548 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:09:50 +00:00
sfraser%netscape.com
0303ea33b9 Add an optimization in the large heap allocators which keeps track of the largest contiguous free block in each chunk.
git-svn-id: svn://10.0.0.236/trunk@18547 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:08:54 +00:00
mjudge%netscape.com
8df9a54c9b oops ifdef 0 is bad should be if 0
git-svn-id: svn://10.0.0.236/trunk@18545 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 01:01:56 +00:00
bienvenu%netscape.com
fd10199de6 add MessageHdrStruct and db cache apis
git-svn-id: svn://10.0.0.236/trunk@18544 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:54:09 +00:00
bienvenu%netscape.com
2db1bb7d5d initial entry of types used throughout mailnews backend
git-svn-id: svn://10.0.0.236/trunk@18543 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:52:54 +00:00
mjudge%netscape.com
8856b10b58 turning off printf debug statements in debug to speed up resizing
git-svn-id: svn://10.0.0.236/trunk@18542 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:40:39 +00:00
buster%netscape.com
c4f9290ed2 checked in wrong version of editor previously. This is the right version.
git-svn-id: svn://10.0.0.236/trunk@18541 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:38:34 +00:00
buster%netscape.com
817b2a47d9 DeleteSelection now walks the content tree, so it can handle delete at the
end of a node and backspace at the beginning of a node


git-svn-id: svn://10.0.0.236/trunk@18540 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:37:42 +00:00
troy%netscape.com
d0406126ba Changed scrolling so it happens on the viewport instead of the HTML
element


git-svn-id: svn://10.0.0.236/trunk@18539 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:05:21 +00:00
terry%netscape.com
7d54925600 Added CCK project.
git-svn-id: svn://10.0.0.236/trunk@18538 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-26 00:04:33 +00:00
guha%netscape.com
1658de670e fix template
git-svn-id: svn://10.0.0.236/trunk@18537 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:57:52 +00:00
mjudge%netscape.com
cee15cff25 fixing build bustage for someone
git-svn-id: svn://10.0.0.236/trunk@18536 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:55:59 +00:00
guha%netscape.com
45bd69beef fix template
git-svn-id: svn://10.0.0.236/trunk@18535 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:55:05 +00:00
wtc%netscape.com
568e392af7 Bumped revision to 3.1.
git-svn-id: svn://10.0.0.236/trunk@18534 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:52:26 +00:00
wtc%netscape.com
5e0ff19bc7 Added BeOS files contributed by Matthew Zahorik <maz@albany.net>.
git-svn-id: svn://10.0.0.236/trunk@18533 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:52:00 +00:00
alecf%netscape.com
20cff3e357 nsNNTPHost finally compiles. Adding it to the build system
git-svn-id: svn://10.0.0.236/trunk@18532 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:45:57 +00:00
wtc%netscape.com
4128e5d1a8 Bumped the revision to 3.1.
git-svn-id: svn://10.0.0.236/trunk@18531 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:45:48 +00:00
alecf%netscape.com
3d609968e8 newsgroups keep track of thier pretty names
newsgroups don't keep track of flags (that's a job for nsIMsgFolder)


git-svn-id: svn://10.0.0.236/trunk@18530 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:45:29 +00:00
wtc%netscape.com
18ddca2674 Added new BeOS files contributed by Matthew Zahorik <maz@albany.net>.
git-svn-id: svn://10.0.0.236/trunk@18529 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:41:16 +00:00
michaelp%netscape.com
db1f2bd88d fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@18528 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:40:01 +00:00
alecf%netscape.com
e11912d34b rename Profile->Virtual and change API slightly to be more COM like
git-svn-id: svn://10.0.0.236/trunk@18527 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:38:53 +00:00
alecf%netscape.com
9438e2b421 more changes to nsIMsgFolder for functions we need to have once the real
nsIMsgFolder arrives


git-svn-id: svn://10.0.0.236/trunk@18526 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:38:09 +00:00
mjudge%netscape.com
7073ad3df7 changing paintunicodestring and paintasciistring to map from content coordinates to painttext coordinatres. in get position, i am now mapping from paint coordinates to content coordinates. also, the frames themselves now set the focus and anchor for a nsIFocusTracker passed in object.
git-svn-id: svn://10.0.0.236/trunk@18525 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:29:53 +00:00
mjudge%netscape.com
4bcd16ae84 keeping the selection code pure by not knowing anything about the graphic representation of the selection. just offset to offset. adding code to reselect the anchor and focus frame in the nsIFocusTracker by passing it to the nsIFrame setselectedcontent method.
git-svn-id: svn://10.0.0.236/trunk@18524 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:28:59 +00:00
mjudge%netscape.com
44f08a72d5 adding parameters to setselectedcontent. This will keep down overhead of the nsIFrame implementation and still not allow outsiders to talk to their presshell. so please forgive this grown method. this extra parameter will maintain the anchor and focus point after reflow
git-svn-id: svn://10.0.0.236/trunk@18523 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:28:23 +00:00
terry%netscape.com
6e5e8910da Check for undefined var.
git-svn-id: svn://10.0.0.236/trunk@18522 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:26:28 +00:00
rhp%netscape.com
97740bb7bb Continuing cleanup of calls no longer needed.
git-svn-id: svn://10.0.0.236/trunk@18521 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:21:14 +00:00
rhp%netscape.com
886616001a Add HTML tags back into code after a bug was fixed in raptor.
git-svn-id: svn://10.0.0.236/trunk@18520 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:19:24 +00:00
guha%netscape.com
8a77d70353 slightly faster parser
git-svn-id: svn://10.0.0.236/trunk@18519 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:16:04 +00:00
mscott%netscape.com
9952f7bf55 Include netutils.h before including mktcp.h for Linux build.
git-svn-id: svn://10.0.0.236/trunk@18518 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:08:27 +00:00
hyatt%netscape.com
34a5cfcdd8 Tweaks to enable XUL frame construction to prevent the construction based on
display type.


git-svn-id: svn://10.0.0.236/trunk@18517 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:07:17 +00:00
michaelp%netscape.com
8f2fccaa79 apparently this needs to be exported too...
git-svn-id: svn://10.0.0.236/trunk@18516 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 23:06:55 +00:00
mscott%netscape.com
69bca89f3e Correct spelling error in libary name for sockstub...
git-svn-id: svn://10.0.0.236/trunk@18515 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:31:28 +00:00
rhp%netscape.com
2252d04796 Changes for HTML generation
git-svn-id: svn://10.0.0.236/trunk@18514 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:31:18 +00:00
rhp%netscape.com
e21485acfe Changes for html generation
git-svn-id: svn://10.0.0.236/trunk@18513 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:29:03 +00:00
michaelp%netscape.com
3a8fb707b7 removed gfx/src from list of MANIFESTs to process.
git-svn-id: svn://10.0.0.236/trunk@18512 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:17:26 +00:00
vidur%netscape.com
d804a8f7f9 Implemented nsIDOMElement::Normalize
git-svn-id: svn://10.0.0.236/trunk@18511 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:17:15 +00:00
michaelp%netscape.com
25094ac7f0 moving headers from src to public. added support for dib sections to windows
drawing surface. WIP on making blender work with arbitrary pixel organizations.


git-svn-id: svn://10.0.0.236/trunk@18510 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:16:47 +00:00
kmcclusk%netscape.com
509a2f333f Added SetProperty/GetProperty methods to nsIFormControlFrame. Added stub
implementations for all classes that derive from nsIFormControlFrame


git-svn-id: svn://10.0.0.236/trunk@18509 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:16:27 +00:00
hyatt%netscape.com
5031243e51 Altered the way frame construction works. ConstructFrame can now potentially
build up a list of sibling frame subtrees.  This allows for the creation of
multiple frames from a single content node, and for easy merging of two different
lists of subtrees during frame construction.


git-svn-id: svn://10.0.0.236/trunk@18508 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:13:03 +00:00
akkana%netscape.com
006f55116c Pav's changes only work if you also have his fixes to gtk.
Since those aren't available yet, I've reverted his changes to make
selection and editor typein work.
When the new gtk is available, search for HAVE_GTK_BETTER_THAN_1_1_13
to see how to turn his changes back on (they are very worthwhile, we
just can't afford a regression while we wait for the new gtk).


git-svn-id: svn://10.0.0.236/trunk@18507 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 22:10:48 +00:00
mscott%netscape.com
b932a218b9 Test app for verifying the socket implmeentation of nsITransport. (not currently being built by any of the public makefiles)
git-svn-id: svn://10.0.0.236/trunk@18506 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 19:42:32 +00:00
shaver%netscape.com
d08f3acd1b Fixed IID copying (duh -- all the bytes matter).
NewString and NewStringZ APIs.
No more bit-fields (nod to jband and fur, thanks).
Cleaned up Annotation structures.
On-disk offsets are 1-based.
Write annotations to disk, and account for them in header size, etc.
Fix sundry cursor-vs-&cursor bugs and don't-allocate-on-decode bugs.
Write MethodDescriptors and InterfaceDescriptors to disk!
Executive Summary: can now write very simple .xpt files!


git-svn-id: svn://10.0.0.236/trunk@18505 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 19:36:48 +00:00
pinkerton%netscape.com
658c86f7a4 fixing a leak in GetChildren() and cleaning it up to use nsComPtr when creating a new enumerator.
git-svn-id: svn://10.0.0.236/trunk@18504 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 19:18:43 +00:00
mscott%netscape.com
73cbb5ae24 socket implementation of the transport interface. (not currently being built by checked in makefiles)
git-svn-id: svn://10.0.0.236/trunk@18503 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 19:10:04 +00:00
ramiro%netscape.com
62b2548020 Added that lovely alternate/default style selector to the menu (it works great
on Linux), and fixed a typo in the compatibility menu. Just little stuff, as
usual...
Thanks to Steve Morrison <smorrison@gte.com> for providing the fix.


git-svn-id: svn://10.0.0.236/trunk@18502 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 18:54:10 +00:00
mscott%netscape.com
f4c3d83059 Build the sockstub directory.
git-svn-id: svn://10.0.0.236/trunk@18501 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 18:24:58 +00:00
briano%netscape.com
a961931540 Automated update
git-svn-id: svn://10.0.0.236/trunk@18500 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 18:00:35 +00:00
mscott%netscape.com
3ceba2a26e Build network/protocol/sockstub directory.
git-svn-id: svn://10.0.0.236/trunk@18499 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:51:52 +00:00
mscott%netscape.com
2ceefe58b9 Build sockstub directory
git-svn-id: svn://10.0.0.236/trunk@18498 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:51:06 +00:00
mscott%netscape.com
77868dc446 Makefile for the sockstub protocol directory..
git-svn-id: svn://10.0.0.236/trunk@18497 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:50:41 +00:00
mscott%netscape.com
aa60cc320b Build the sockstub directory....
git-svn-id: svn://10.0.0.236/trunk@18496 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:48:44 +00:00
pinkerton%netscape.com
8cad597409 Fix bug 2535 (memory leaks) with nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@18495 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:45:04 +00:00
pinkerton%netscape.com
148b605fbb Fix bug 2535 (memory leak) with nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@18494 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 17:44:21 +00:00
ftang%netscape.com
48e0a7b1ab change nsCharSetID into nsString type
git-svn-id: svn://10.0.0.236/trunk@18491 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 16:05:04 +00:00
rhp%netscape.com
321a2a9f44 Handler for calendar info.
git-svn-id: svn://10.0.0.236/trunk@18490 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 14:27:33 +00:00
rhp%netscape.com
7e2cd3bad4 Updates for external vcard handler.
git-svn-id: svn://10.0.0.236/trunk@18489 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 14:27:05 +00:00
rhp%netscape.com
d9c3a6a581 Changes for external content type handlers.
git-svn-id: svn://10.0.0.236/trunk@18488 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 13:40:08 +00:00
rhp%netscape.com
1e570382d7 Removing files from mime src.
git-svn-id: svn://10.0.0.236/trunk@18487 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 13:34:07 +00:00
rhp%netscape.com
b0e0b9e79d Removing files.
git-svn-id: svn://10.0.0.236/trunk@18486 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 13:33:21 +00:00
rhp%netscape.com
706dcd2d19 Changes for external content type handlers.
git-svn-id: svn://10.0.0.236/trunk@18485 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 13:29:16 +00:00
amusil%netscape.com
13e555c340 Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@18484 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 12:18:51 +00:00
amusil%netscape.com
629296566d Fix Mac build bustage
git-svn-id: svn://10.0.0.236/trunk@18483 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 11:39:48 +00:00
grail%cafebabe.org
8f044d3596 Fixed spacing problem between icon in toolbar for Composition window.
git-svn-id: svn://10.0.0.236/trunk@18482 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 11:29:40 +00:00
amusil%netscape.com
1a6a7a52aa New Service Manager changes
git-svn-id: svn://10.0.0.236/trunk@18481 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 11:08:18 +00:00
amusil%netscape.com
46e3e5e60a Changed function name
git-svn-id: svn://10.0.0.236/trunk@18480 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:57:57 +00:00
amusil%netscape.com
5868424a36 Added support for new service manager
git-svn-id: svn://10.0.0.236/trunk@18479 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:55:35 +00:00
amusil%netscape.com
5d0d9931c7 new stream files
git-svn-id: svn://10.0.0.236/trunk@18478 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:36:43 +00:00
tague%netscape.com
a7951cb1e3 Fixed build bustage. Added nsIPluginStreamInfo.h to export list.
git-svn-id: svn://10.0.0.236/trunk@18477 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:26:43 +00:00
amusil%netscape.com
2e6673e09c new stream files
git-svn-id: svn://10.0.0.236/trunk@18476 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:17:46 +00:00
amusil%netscape.com
31299a6bfd update for new stream
git-svn-id: svn://10.0.0.236/trunk@18475 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:11:51 +00:00
amusil%netscape.com
5259c020ba *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@18474 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 10:10:29 +00:00
amusil%netscape.com
3386ab9d93 New Stream API update
git-svn-id: svn://10.0.0.236/trunk@18473 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 09:30:04 +00:00
sudu%netscape.com
135544df29 Files Sudu's script failed to check in
git-svn-id: svn://10.0.0.236/trunk@18472 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 09:00:42 +00:00
rpotts%netscape.com
259184bc0e Made sure all interface methods were defined with NS_IMETHOD... Windows cares about this :-(
git-svn-id: svn://10.0.0.236/trunk@18471 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:34:56 +00:00
rpotts%netscape.com
e02d0064a8 Added nsCommandLineArgs to the build...
git-svn-id: svn://10.0.0.236/trunk@18470 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:34:02 +00:00
rpotts%netscape.com
f516f061bf Added nsICmdLineService.h to the exports list...
git-svn-id: svn://10.0.0.236/trunk@18469 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:24:26 +00:00
sudu%netscape.com
0f4d19b4b7 added nsIPluginStreamInfo.h to export
git-svn-id: svn://10.0.0.236/trunk@18468 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:14:40 +00:00
sudu%netscape.com
e74bb46494 New steam API header file
git-svn-id: svn://10.0.0.236/trunk@18467 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:13:10 +00:00
amusil%netscape.com
b700b8dbb9 OJI MozClassic to raptor merge
git-svn-id: svn://10.0.0.236/trunk@18466 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:05:06 +00:00
sudu%netscape.com
d3239a027a OJI MozClassic to raptor merge
git-svn-id: svn://10.0.0.236/trunk@18465 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 08:05:00 +00:00
pavlov%pavlov.net
1174d93a4d only redraw the stuff that needs to be redrawn, not the entire widget.
git-svn-id: svn://10.0.0.236/trunk@18464 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 02:21:20 +00:00
mjudge%netscape.com
c01fb9bfc1 adding same code to paintAscii as i did to paintUnicode
git-svn-id: svn://10.0.0.236/trunk@18463 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 01:53:40 +00:00
mjudge%netscape.com
58d3c27e3c ok I am changing nsPresShell to "do the right thing". The virtual methods to support nsIFocusTracker needed to use the MACROS the same as the rest of the methods. I also moved the growing inline methods to their own method declarations. pres shell also needs to send itself as a focus tracker to "reset selection" to allow a callback to reset the frames that will be the focus and anchor frames for the future. getting frames from content is easy, getting the exact frame with an offset as well is difficult. nsTextFrame does some funny things with whitespaces that was throwing off the selection code. one minute the beginning of a word is offset 1 then it grows to 2 if the whitespace on the previous line wraps. I also put limits on the selection drawing. the drawing was happening after reflow, but before reset selection. this made the selection drawing extend beyond the legal limits of the "textlength". P.S. since the paint unicode and paint ascii are so similar, is it better to make a helper func to do the common things? or maybe make another method just to save namespace?
git-svn-id: svn://10.0.0.236/trunk@18462 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 01:48:01 +00:00
mjudge%netscape.com
2cf43972e0 Focus tracker needs to send the tracker to the implementation of selection so that it can update the tracker as to which frame(s) should be considered the focus frames ect. This is not yet working fully. Everything I am checking in will stay, I simply have a decision to make as to exactly what to do next. RangeList also had some modifications to better selection
git-svn-id: svn://10.0.0.236/trunk@18461 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 01:42:34 +00:00
bienvenu%netscape.com
3cfade4c64 initial entry into cvs of msgdb api
git-svn-id: svn://10.0.0.236/trunk@18460 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 01:36:27 +00:00
bienvenu%netscape.com
6d5093b405 initial entry into cvs of msgdb impl
git-svn-id: svn://10.0.0.236/trunk@18459 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 01:31:40 +00:00
pavlov%pavlov.net
2cfa0d9b30 fix button pressing
git-svn-id: svn://10.0.0.236/trunk@18458 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-25 00:51:21 +00:00
pierre%netscape.com
217629589e added nsViewportFrame.cpp for Troy
git-svn-id: svn://10.0.0.236/trunk@18457 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 22:01:58 +00:00
troy%netscape.com
b276e5bb3a Initial check-in
git-svn-id: svn://10.0.0.236/trunk@18456 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 20:36:46 +00:00
grail%cafebabe.org
7b69d0f19b Minor "bug" in the xml file. Line with "\"\"". Ick.
git-svn-id: svn://10.0.0.236/trunk@18455 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 12:03:05 +00:00
grail%cafebabe.org
56e346a7d5 Moved to a recursive processing model so you don't have to mess with a
hashtable of parent widgets anymore.


git-svn-id: svn://10.0.0.236/trunk@18454 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 12:02:31 +00:00
pavlov%pavlov.net
bf1e7cbfda compute the scrollbar width/height instead of using a constant number
git-svn-id: svn://10.0.0.236/trunk@18453 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 07:53:30 +00:00
pavlov%pavlov.net
fbe22a1bf9 use some funky calculations to figure out the underline offset and the
underlining size


git-svn-id: svn://10.0.0.236/trunk@18452 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 06:55:17 +00:00
saari%netscape.com
d07fc84c6f Needed to add nsCommandLineService to AppShell.mcp to define NS_NewCmdLineService(), lest a build failure.
git-svn-id: svn://10.0.0.236/trunk@18451 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 00:16:56 +00:00
saari%netscape.com
301348a97e Fixing mac build. Tinderbox is lying.
Misnamed NS_NewCommandLineServiceFactory
renamed to 
NS_NewCmdLineServiceFactory

\Index: nsICmdLineService.h
===================================================================
RCS file: /m/pub/mozilla/xpfe/appshell/public/nsICmdLineService.h,v
retrieving revision 1.1
diff -r1.1 nsICmdLineService.h
54c54
< NS_NewCommandLineServiceFactory(nsIFactory** aFactory);
---
> NS_NewCmdLineServiceFactory(nsIFactory** aFactory);


git-svn-id: svn://10.0.0.236/trunk@18450 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-24 00:00:38 +00:00
mjudge%netscape.com
e5e6535f63 This checkin will stop the double addref to the incomming ranges. The problem was that the changing of the old array of voids and the nsVoidPtr array do NOT addref whereas the nsISupportsArray DOES! I suspected as much. I have removed the offending code and I believe this should make selection much cleaner.
git-svn-id: svn://10.0.0.236/trunk@18449 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 20:43:13 +00:00
peterl%netscape.com
633da8094f fixed a leak of an input stream
git-svn-id: svn://10.0.0.236/trunk@18448 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 19:28:09 +00:00
mcafee%netscape.com
88a347ab56 Switching to SIMPLE_PROGRAMS
git-svn-id: svn://10.0.0.236/trunk@18447 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 12:21:27 +00:00
mcafee%netscape.com
d87afbf15b Need NSPR to link
git-svn-id: svn://10.0.0.236/trunk@18446 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 12:20:31 +00:00
mcafee%netscape.com
30c7cb2930 Forgot link line rule
git-svn-id: svn://10.0.0.236/trunk@18445 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 12:20:00 +00:00
pavlov%pavlov.net
b732addd9c we require gtk 1.1.13, remove #ifdef's. clean up key press handling
git-svn-id: svn://10.0.0.236/trunk@18444 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 12:03:14 +00:00
mcafee%netscape.com
642a555baf Trying the 3.35 commit again (SIMPLE_PROGRAMS)
git-svn-id: svn://10.0.0.236/trunk@18443 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 11:41:15 +00:00
pavlov%pavlov.net
9e1b689b9f fix text widgets getting focus.
git-svn-id: svn://10.0.0.236/trunk@18442 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 11:26:09 +00:00
mcafee%netscape.com
60c3665391 Backing out until tree builds Ok
git-svn-id: svn://10.0.0.236/trunk@18441 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 10:14:58 +00:00
mcafee%netscape.com
3bd409654c Pushing the 1:1 source-file-to-binary mapping mechanism into rules.mk so we can share this with other directories. Look for the SIMPLE_PROGRAMS checkin into config/rules.mk
git-svn-id: svn://10.0.0.236/trunk@18440 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 09:42:33 +00:00
mcafee%netscape.com
0ef9e9e297 Adding support for 1:1 mapping for source files & binaries; this lets 2 or more binaries coexist in a single directory. Usage: <SIMPLE_PROGRAMS = Foo Bar> very similar to the way PROGRAM works.
git-svn-id: svn://10.0.0.236/trunk@18439 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 09:36:40 +00:00
briano%netscape.com
b68f174e2d Automated update
git-svn-id: svn://10.0.0.236/trunk@18438 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 09:00:36 +00:00
ramiro%netscape.com
c602963710 Add a -DMOZ_TOOLKIT=foo flag that makes it easy to distinguish toolkits in
code.


git-svn-id: svn://10.0.0.236/trunk@18437 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 08:57:10 +00:00
braddr%puremagic.com
a28d35c3d8 solaris 2.6 native makedepend can't handle lines over 4000 bytes, shorten this down to fit.
git-svn-id: svn://10.0.0.236/trunk@18436 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 08:24:39 +00:00
peterl%netscape.com
2f236a6ccc added style menu
git-svn-id: svn://10.0.0.236/trunk@18435 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:10:37 +00:00
peterl%netscape.com
05710ba81b sync to style set api change
git-svn-id: svn://10.0.0.236/trunk@18434 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:09:27 +00:00
peterl%netscape.com
4671b6225b cleaned up style sheet ordering
git-svn-id: svn://10.0.0.236/trunk@18433 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:09:06 +00:00
peterl%netscape.com
2d1ae38e3d allow reconstruct frames to work on all documents
git-svn-id: svn://10.0.0.236/trunk@18432 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:08:38 +00:00
peterl%netscape.com
8d45726e09 made media case insensitive (for now)
git-svn-id: svn://10.0.0.236/trunk@18431 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:08:11 +00:00
peterl%netscape.com
41850df73f added insert style sheet
git-svn-id: svn://10.0.0.236/trunk@18430 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:07:32 +00:00
peterl%netscape.com
77f64014a3 cleaned up style sheet ordering
support for selecting alternate style sheets


git-svn-id: svn://10.0.0.236/trunk@18429 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:07:09 +00:00
peterl%netscape.com
b02405c8c0 added meta tag http-equiv support
fixed selection of default style sheets
made style sheet loading not block parser
added support for several http headers


git-svn-id: svn://10.0.0.236/trunk@18428 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:05:49 +00:00
peterl%netscape.com
e67550003e only parse style attributes if doc style language is text/css
git-svn-id: svn://10.0.0.236/trunk@18427 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:04:28 +00:00
peterl%netscape.com
dd89cd1401 added helper methods for selecting & querying alternate style sheets
git-svn-id: svn://10.0.0.236/trunk@18426 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:03:46 +00:00
peterl%netscape.com
64dba30423 added HTTP header atoms
git-svn-id: svn://10.0.0.236/trunk@18425 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:02:56 +00:00
peterl%netscape.com
3ed30608b4 fixed case of media atoms
git-svn-id: svn://10.0.0.236/trunk@18424 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:02:10 +00:00
peterl%netscape.com
9a51691424 set now manages order of doc style sheets
git-svn-id: svn://10.0.0.236/trunk@18423 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:01:57 +00:00
peterl%netscape.com
d1a8b01386 added header data accessors
cleaned up style sheet ordering


git-svn-id: svn://10.0.0.236/trunk@18422 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:01:40 +00:00
peterl%netscape.com
9713cc8a09 simplified setting doc style sheets (set now manages ordering)
git-svn-id: svn://10.0.0.236/trunk@18421 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:01:02 +00:00
peterl%netscape.com
c2d5d9cb79 added accessors to get & set alternate style sheets
git-svn-id: svn://10.0.0.236/trunk@18420 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:00:39 +00:00
peterl%netscape.com
edced705c2 added header data accesors
git-svn-id: svn://10.0.0.236/trunk@18419 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 07:00:10 +00:00
peterl%netscape.com
d86add4d82 sync to nsIDocument API changes
git-svn-id: svn://10.0.0.236/trunk@18418 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 06:59:35 +00:00
peterl%netscape.com
b30e13c978 removed nspr from the pull_seamonkey target
git-svn-id: svn://10.0.0.236/trunk@18417 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 06:59:09 +00:00
peterl%netscape.com
4c6a934d77 added nsStringArray
git-svn-id: svn://10.0.0.236/trunk@18416 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 06:58:34 +00:00
gagan%netscape.com
e65729cc50 See diffs. Thanks wtc.
git-svn-id: svn://10.0.0.236/trunk@18415 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 06:15:22 +00:00
troy%netscape.com
953e1a3dbc Part of the fix for bug #2502. For the time being mark relative/absolute positioned
views as having transparent content


git-svn-id: svn://10.0.0.236/trunk@18414 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 05:47:55 +00:00
troy%netscape.com
94c5f449dd Added check for unconstrained width/height of the containing block when
computing 'offsets'


git-svn-id: svn://10.0.0.236/trunk@18413 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 04:49:15 +00:00
troy%netscape.com
e2ce091433 Fixed a memory leak of the web shell in LoadURL()
git-svn-id: svn://10.0.0.236/trunk@18412 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 04:16:18 +00:00
pavlov%pavlov.net
11541f543f clean up some font code
git-svn-id: svn://10.0.0.236/trunk@18411 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 03:29:50 +00:00
troy%netscape.com
01fc8b39f2 Fixed some assertions that didn't compile...
git-svn-id: svn://10.0.0.236/trunk@18410 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 03:19:38 +00:00
mscott%netscape.com
ce2f1c7917 Export nsITransport.h
git-svn-id: svn://10.0.0.236/trunk@18409 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 03:05:42 +00:00
mscott%netscape.com
0830d10110 Add sockstub to list of url types.
git-svn-id: svn://10.0.0.236/trunk@18408 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:56:30 +00:00
alecf%netscape.com
1dcbc8af25 add dummy nsIMsgFolder so that other things can compile.
putterman will check a real interface


git-svn-id: svn://10.0.0.236/trunk@18407 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:48:58 +00:00
alecf%netscape.com
2424f94ec5 get rid of all references to MSG_FolderInfo (should be nsIMsgFolder)
git-svn-id: svn://10.0.0.236/trunk@18406 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:46:15 +00:00
alecf%netscape.com
e61703b9b8 more updates to make this thing compile!
Fix alot of the GetType() and IsCategory() routines to use QueryInterface instead.


git-svn-id: svn://10.0.0.236/trunk@18405 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:45:28 +00:00
alecf%netscape.com
1e04b4539c add new nsINNTPCategoryContainer to be exported
git-svn-id: svn://10.0.0.236/trunk@18404 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:42:26 +00:00
alecf%netscape.com
6d49cd9f6d forgot to check in generated header
git-svn-id: svn://10.0.0.236/trunk@18403 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:42:05 +00:00
alecf%netscape.com
9cb38d2bda update attributes - flag is not an attribute, it's an accessor for many
different newsgroup (folder?) flags


git-svn-id: svn://10.0.0.236/trunk@18402 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:41:32 +00:00
alecf%netscape.com
691d1ed037 add new nsINNTPCategoryContainer interface
git-svn-id: svn://10.0.0.236/trunk@18401 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:40:27 +00:00
alecf%netscape.com
b23674c817 add an IID and make this derive from nsISupports
git-svn-id: svn://10.0.0.236/trunk@18400 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:39:43 +00:00
troy%netscape.com
1128cee41a Added XXX comment indicating that the #if 0 code in Init() is causing
a memory leak...


git-svn-id: svn://10.0.0.236/trunk@18399 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:38:16 +00:00
mscott%netscape.com
d9d77970dc A stub protocol used to support the new netlib <--> protocol model in the old networking world.
git-svn-id: svn://10.0.0.236/trunk@18398 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:34:01 +00:00
wtc%netscape.com
418e67a4a4 Avoid string literals that span multiple lines because some compilers
don't like line endings in string literals.


git-svn-id: svn://10.0.0.236/trunk@18397 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:04:40 +00:00
wtc%netscape.com
3682a5c58a Text after #endif should be put inside a comment.
git-svn-id: svn://10.0.0.236/trunk@18396 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 02:02:42 +00:00
pavlov%pavlov.net
f1d4e0ab8a animated things work, editor works, etc etc etc. be happy!
git-svn-id: svn://10.0.0.236/trunk@18395 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 01:58:45 +00:00
saari%netscape.com
c75d529454 Commenting out until I figure out what I horked
git-svn-id: svn://10.0.0.236/trunk@18394 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 01:08:17 +00:00
alecf%netscape.com
4ac8d4dbbd fix #include (unix is case sensitive)
git-svn-id: svn://10.0.0.236/trunk@18393 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 01:04:28 +00:00
alecf%netscape.com
3155d91aa3 forgot uuid
git-svn-id: svn://10.0.0.236/trunk@18392 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 01:02:16 +00:00
radha%netscape.com
d5dfa107f3 Remove that stupid printf from fe_GetConfigDir
git-svn-id: svn://10.0.0.236/trunk@18391 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:59:41 +00:00
radha%netscape.com
e116442fb0 Use the EventQueue service provider instead of manipulating directly with PLEventQueue
git-svn-id: svn://10.0.0.236/trunk@18390 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:54:43 +00:00
radha%netscape.com
8aa668599e Use the EventQueueService instead of creating the PLEventqueue directly.
Not quite sure if it works in motif.


git-svn-id: svn://10.0.0.236/trunk@18389 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:53:49 +00:00
radha%netscape.com
2bc4d3b1d0 Few debug statements added
git-svn-id: svn://10.0.0.236/trunk@18388 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:52:52 +00:00
mcafee%netscape.com
99ae4cff00 Compiler warning
git-svn-id: svn://10.0.0.236/trunk@18387 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:52:08 +00:00
radha%netscape.com
edbcac6ce6 gWebShell_UnixEventQueue is gone. Use the Event queue service instead
git-svn-id: svn://10.0.0.236/trunk@18386 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:52:01 +00:00
radha%netscape.com
f3974cee75 Compile nsEventQueueService for unix
git-svn-id: svn://10.0.0.236/trunk@18385 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:51:17 +00:00
radha%netscape.com
225f6f51be Export nsEventQueueService and bunch of other files
git-svn-id: svn://10.0.0.236/trunk@18384 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:50:55 +00:00
slamm%netscape.com
7efebe117e Make depend.mk files smaller by putting more dependencies on one line (i.e. Add a '-w' flag to makedepend).
git-svn-id: svn://10.0.0.236/trunk@18383 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:50:39 +00:00
radha%netscape.com
155a723fc9 Don't need that gWebShell_UnixEventQueue anymore. Unix uses the event queue
service just like XP_PC


git-svn-id: svn://10.0.0.236/trunk@18382 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:50:08 +00:00
saari%netscape.com
4a0954c052 Commenting out until I figure out what I horked
git-svn-id: svn://10.0.0.236/trunk@18381 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:46:57 +00:00
akkana%netscape.com
3ba704ef6d remove some verbose debugging messages
git-svn-id: svn://10.0.0.236/trunk@18380 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:38:54 +00:00
saari%netscape.com
1606aa27bf Commenting out until I figure out what I horked
git-svn-id: svn://10.0.0.236/trunk@18379 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:26:51 +00:00
troy%netscape.com
456f4bc464 Turned off debug message that was outputing to the console
git-svn-id: svn://10.0.0.236/trunk@18378 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:20:58 +00:00
vidur%netscape.com
af97890612 Implemented splitText for text nodes
git-svn-id: svn://10.0.0.236/trunk@18377 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:10:08 +00:00
ramiro%netscape.com
c4a45795d5 Ignore generated file.
git-svn-id: svn://10.0.0.236/trunk@18376 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:09:34 +00:00
ramiro%netscape.com
b21219c408 Build TestCOMPtr by default.
git-svn-id: svn://10.0.0.236/trunk@18375 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:03:44 +00:00
mcafee%netscape.com
a33b370cfb Cleaning up whitespace
git-svn-id: svn://10.0.0.236/trunk@18374 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:02:41 +00:00
akkana%netscape.com
579c399f12 2028: Get selection highlighting working on Linux
git-svn-id: svn://10.0.0.236/trunk@18373 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-23 00:00:46 +00:00
mcafee%netscape.com
1010f84a9c Missing license
git-svn-id: svn://10.0.0.236/trunk@18372 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:56:59 +00:00
mcafee%netscape.com
03a60460f8 Woops, forgot the license.
git-svn-id: svn://10.0.0.236/trunk@18371 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:54:25 +00:00
saari%netscape.com
cb9c9fb271 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18370 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:53:53 +00:00
despotdaemon%netscape.com
f30eb3c31d Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18369 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:41:27 +00:00
saari%netscape.com
e67ca2314a Set mMenuListener to null in constructor
git-svn-id: svn://10.0.0.236/trunk@18368 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:25:16 +00:00
saari%netscape.com
f8cb83a03e Added nsIMenuListener.h and made a member variable in nsBaseWidget for holding one of these.
This is for the XPToolkit menus to hook in and get notified of menu events.


git-svn-id: svn://10.0.0.236/trunk@18367 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:23:00 +00:00
troy%netscape.com
19c55aa5c3 Fixed ReflowTemp() so it's doing a legal incremental reflow, and changed
Reflow() so it does a minimally acceptable job of handling incremental reflow
commands...


git-svn-id: svn://10.0.0.236/trunk@18366 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:10:02 +00:00
troy%netscape.com
1e43a7153b Changed Reflow() to make sure we remove the reflow command for
incremental reflow commands passing through us


git-svn-id: svn://10.0.0.236/trunk@18365 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:08:42 +00:00
troy%netscape.com
f311f2476e Changed ContentChanged() to generate a reflow command
git-svn-id: svn://10.0.0.236/trunk@18364 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 23:07:09 +00:00
buster%netscape.com
cd2edf3e7c added some basic tree navigation methods.
implemented part of backspacing from the beginning of a text node.


git-svn-id: svn://10.0.0.236/trunk@18363 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:58:15 +00:00
vidur%netscape.com
ea2adbea24 Comments added to content model. Comments and text content now have a special tagname
git-svn-id: svn://10.0.0.236/trunk@18362 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:48:00 +00:00
harishd%netscape.com
bb9e8f162b StyleContext passed onto PaintBorder()
git-svn-id: svn://10.0.0.236/trunk@18361 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:38:34 +00:00
harishd%netscape.com
d04bba5e7b StyleContext passed onto PaintBorder()/PaintArrow()
git-svn-id: svn://10.0.0.236/trunk@18360 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:35:12 +00:00
harishd%netscape.com
81ef9c4292 StyleContext passed onto PaintArrow()
git-svn-id: svn://10.0.0.236/trunk@18359 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:34:28 +00:00
harishd%netscape.com
8f1b6c4b34 styleContext is passed onto PaintBorder()/PaintArrow()
git-svn-id: svn://10.0.0.236/trunk@18358 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:31:15 +00:00
harishd%netscape.com
3dea579ecf StyleContext info. is passed on into PaintBorder()
git-svn-id: svn://10.0.0.236/trunk@18357 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:30:02 +00:00
harishd%netscape.com
72a54d60f4 Stylecontext is passed to PaintBorder()
git-svn-id: svn://10.0.0.236/trunk@18356 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:28:12 +00:00
harishd%netscape.com
1aafb50b75 PaintBorder() method has stylecontext info.
git-svn-id: svn://10.0.0.236/trunk@18355 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:27:19 +00:00
harishd%netscape.com
3c5ba1d382 PaintBorder() modified to accept styleContext
git-svn-id: svn://10.0.0.236/trunk@18354 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:26:29 +00:00
harishd%netscape.com
e0f64c68e8 Passing styleContext info. to PaintBorder().
git-svn-id: svn://10.0.0.236/trunk@18353 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:25:58 +00:00
harishd%netscape.com
ac07320328 Passing stylecontext into Paintborder()
git-svn-id: svn://10.0.0.236/trunk@18352 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:25:00 +00:00
harishd%netscape.com
f95d3a13e2 Got stylecontext info into PaintBorder() for displaying
CSS borders.


git-svn-id: svn://10.0.0.236/trunk@18351 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:24:05 +00:00
radha%netscape.com
2727b67152 Use command line service to obtain URLs etc...
git-svn-id: svn://10.0.0.236/trunk@18350 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:22:33 +00:00
harishd%netscape.com
023152a6fa Modified the PaintBorder(), MakeBevelColor(), DrawSide(),
PaintBorderEdge() methods.


git-svn-id: svn://10.0.0.236/trunk@18349 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:22:26 +00:00
radha%netscape.com
a926066dba Add command line service to registry list
git-svn-id: svn://10.0.0.236/trunk@18348 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:22:13 +00:00
radha%netscape.com
40df649a4e Command line service provider. Initial checkin
git-svn-id: svn://10.0.0.236/trunk@18347 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:21:45 +00:00
radha%netscape.com
e2f35e4d1b Add factory instanciation for command line service provider
git-svn-id: svn://10.0.0.236/trunk@18346 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:20:57 +00:00
radha%netscape.com
96e6d94e56 Added nsICmdLineService.h
git-svn-id: svn://10.0.0.236/trunk@18345 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:20:23 +00:00
harishd%netscape.com
4946dc1658 Added method to display CSS 3D borders.
git-svn-id: svn://10.0.0.236/trunk@18344 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:20:11 +00:00
radha%netscape.com
708b23bb32 Added nsCommandLineService.cpp
git-svn-id: svn://10.0.0.236/trunk@18343 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:19:18 +00:00
harishd%netscape.com
4c1c0791f1 Added method to display CSS 3D borders.
Also, have added a helper method.


git-svn-id: svn://10.0.0.236/trunk@18342 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:19:13 +00:00
radha%netscape.com
b79029fdb8 Interface for command line service provider
git-svn-id: svn://10.0.0.236/trunk@18341 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:18:49 +00:00
terry%netscape.com
b70ff8ac48 That didn't work. Disable freshmeat another way.
git-svn-id: svn://10.0.0.236/trunk@18340 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:15:08 +00:00
kmcclusk%netscape.com
a3204bdd9b Removed code which set the defaultchecked from the checked attribute.
git-svn-id: svn://10.0.0.236/trunk@18339 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:14:58 +00:00
terry%netscape.com
801eeca0a3 Change mozbot's diet -- freshmeat is causing it to choke.
git-svn-id: svn://10.0.0.236/trunk@18338 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:11:19 +00:00
mjudge%netscape.com
549eaa4d7f selection rocks ass
git-svn-id: svn://10.0.0.236/trunk@18337 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:04:54 +00:00
waterson%netscape.com
7eb41b0061 Added a missing header file.
git-svn-id: svn://10.0.0.236/trunk@18336 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:04:27 +00:00
waterson%netscape.com
a945a4c56e Fixed a reference counting bug and a problem with the NS_RELEASE() macro.
git-svn-id: svn://10.0.0.236/trunk@18335 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:04:04 +00:00
mcafee%netscape.com
b39970f6d5 moving from STDARG to autoconf-blessed STDC_HEADERS
git-svn-id: svn://10.0.0.236/trunk@18334 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 22:01:40 +00:00
kipp%netscape.com
0360db506c reserved IID
git-svn-id: svn://10.0.0.236/trunk@18333 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 21:48:33 +00:00
sfraser%netscape.com
989547753d Fix non-debug build spankage, approved sar, jj.
git-svn-id: svn://10.0.0.236/trunk@18332 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 21:22:22 +00:00
sfraser%netscape.com
5355ea66f7 Fixing a test-stopping bug, approved by sar.
Fix some copy-paste madness in idler/repeater code,
and add an assert to ensure you are not running a bad timer.


git-svn-id: svn://10.0.0.236/trunk@18331 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 20:16:30 +00:00
terry%netscape.com
4aba402296 Make a bigger field to type your email address.
git-svn-id: svn://10.0.0.236/trunk@18330 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:54:18 +00:00
buster%netscape.com
652e32c887 better delete now that selection offsets are real.
git-svn-id: svn://10.0.0.236/trunk@18329 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:44:46 +00:00
kmcclusk%netscape.com
128da5b0f8 Removed nsIFormControLFrame.h since it now lives in public
git-svn-id: svn://10.0.0.236/trunk@18328 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:22:37 +00:00
kmcclusk%netscape.com
2dfc331847 Added missing methods to nsIFormControlFrame.h
git-svn-id: svn://10.0.0.236/trunk@18327 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:10:10 +00:00
buster%netscape.com
2c02dfaabf fixed debug asserts to allow for offset=count, since offsets represent
the slots between content.


git-svn-id: svn://10.0.0.236/trunk@18326 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:06:27 +00:00
buster%netscape.com
53a4f6ba7d delete range now iterates through the selection properly.
fixed an xpcom usage problem with macros...ALWAYS use {} on your if statements!


git-svn-id: svn://10.0.0.236/trunk@18325 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:05:08 +00:00
buster%netscape.com
048be49b69 made split test work with Ctrl-S only, so now you can type "s"
git-svn-id: svn://10.0.0.236/trunk@18324 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 19:03:23 +00:00
mjudge%netscape.com
21276a494f adding IID to interface
git-svn-id: svn://10.0.0.236/trunk@18323 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:58:43 +00:00
mjudge%netscape.com
06c5902e82 chagnes for selection to work
git-svn-id: svn://10.0.0.236/trunk@18322 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:58:14 +00:00
troy%netscape.com
064afea0b7 Added XXX comment for ReResolveStyleContext()
git-svn-id: svn://10.0.0.236/trunk@18321 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:23:06 +00:00
kmcclusk%netscape.com
5429720a08 Added export of nsIFormControlFrame.h for the MAC build
git-svn-id: svn://10.0.0.236/trunk@18320 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:21:39 +00:00
kmcclusk%netscape.com
aec40f3832 Modified Linux and Mac to export nsIFormControlFrame.h
git-svn-id: svn://10.0.0.236/trunk@18319 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:19:12 +00:00
kmcclusk%netscape.com
bd9bdef601 Added nsIFormControlFrame to the set of files to export
git-svn-id: svn://10.0.0.236/trunk@18318 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 18:14:23 +00:00
shaver%netscape.com
2d41ee208d Added prototypes for Header XDR functions.
Minor brace-placement tweaks.
Added SimpleTypeLib test program, although it doesn't build due to Makefile.in
suckage.
Fixed XPT_DoHeader to only write IDEs once (duh).
Added SizeOfHeaderBlock to API.


git-svn-id: svn://10.0.0.236/trunk@18317 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 17:53:35 +00:00
wtc%netscape.com
6e40fc8cb5 The build/hcc and build/hcpp scripts now take the compiler name as the
first argument.  This patch is contributed by Tim Rice <tim@trr.metro.net>.


git-svn-id: svn://10.0.0.236/trunk@18316 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 17:24:20 +00:00
buster%netscape.com
62018679d8 updated to new nsCOMPtr usage
git-svn-id: svn://10.0.0.236/trunk@18315 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:55:59 +00:00
dcone%netscape.com
e8cb1bcbfa Combined files so 3 were deleted, one added. The Rendering and Device contexts
no longer need deligates, so they were removed.  Cleaned up alot of code no
longer needed


git-svn-id: svn://10.0.0.236/trunk@18314 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:21:58 +00:00
blizzard%appliedtheory.com
66a6d1fe9b handle the top level widget special in resizing
git-svn-id: svn://10.0.0.236/trunk@18313 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:10:29 +00:00
dcone%netscape.com
b7650b7bc0 nsFormcontrolHelper.cpp
nsListControlFrame.cpp
nsCombboxcontrolframe.cpp


git-svn-id: svn://10.0.0.236/trunk@18312 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:08:52 +00:00
dcone%netscape.com
639fb0996b Added a manifest file for layout:html:forms:public
git-svn-id: svn://10.0.0.236/trunk@18311 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:04:51 +00:00
dcone%netscape.com
8f5b9c1901 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18310 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:04:08 +00:00
blizzard%appliedtheory.com
13cedd6699 resizing fixes
git-svn-id: svn://10.0.0.236/trunk@18309 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 16:02:34 +00:00
rods%netscape.com
2a580719d4 Ifdef'ed out the Pluggable event code
git-svn-id: svn://10.0.0.236/trunk@18308 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:56:21 +00:00
rods%netscape.com
749a5217b7 Initial checkin factored code from nsFormControlFrame
git-svn-id: svn://10.0.0.236/trunk@18307 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:47:33 +00:00
rods%netscape.com
ce9720c590 initial checkin
git-svn-id: svn://10.0.0.236/trunk@18306 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:41:28 +00:00
rods%netscape.com
3702364a44 Added nsIListControlFrame.h and nsComboboxControlFrame.h
git-svn-id: svn://10.0.0.236/trunk@18305 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:41:05 +00:00
buster%netscape.com
f1bacd2e07 made GetIsTransient return false by default, so most transactions don't need to implement GetIsTransient
made delete and backspace do the right thing (testing hacks removed)


git-svn-id: svn://10.0.0.236/trunk@18304 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:40:31 +00:00
rods%netscape.com
25196ce4f2 Added methods for creating ListControlFrame and ComboxControlFrames
git-svn-id: svn://10.0.0.236/trunk@18303 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:34:13 +00:00
rods%netscape.com
9b13d22d70 Factored out code for helper functions for determining size and for rendering
git-svn-id: svn://10.0.0.236/trunk@18302 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:32:57 +00:00
rods%netscape.com
9d5248a35c Added nsComboboxControlFrame nsListControlFrame
git-svn-id: svn://10.0.0.236/trunk@18301 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:32:34 +00:00
rods%netscape.com
5d9d7b1a75 Factored out the Initialization code for the ScrollFrame into a separate method
Added code to hide and show view when applied to the whole tree
Added a method for Creating the proper frames for the SELECT tag


git-svn-id: svn://10.0.0.236/trunk@18300 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:27:54 +00:00
rods%netscape.com
c4d19ab423 Added some additional attoms for the Combobox Frame Control
git-svn-id: svn://10.0.0.236/trunk@18299 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:25:12 +00:00
rods%netscape.com
b4a0472893 Removed the class def and put it in a new header nsScrollFrame.h
git-svn-id: svn://10.0.0.236/trunk@18298 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:23:51 +00:00
rods%netscape.com
6717d57280 Initial checkin the code was in nsScrollFrame.cpp
git-svn-id: svn://10.0.0.236/trunk@18297 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 15:23:15 +00:00
rhp%netscape.com
ebf361fe42 Just some cleanup of commented out code.
git-svn-id: svn://10.0.0.236/trunk@18296 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 14:06:55 +00:00
rhp%netscape.com
48bcd628fe Now, DLL's are loaded in an XP manner.
git-svn-id: svn://10.0.0.236/trunk@18295 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 14:05:15 +00:00
mcafee%netscape.com
bec9fa4dee Yanked rules that are in rules.mk
git-svn-id: svn://10.0.0.236/trunk@18294 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 12:14:51 +00:00
pavlov%pavlov.net
2e6a02ca58 setup place for ramiro to fix bug 2503 easily
git-svn-id: svn://10.0.0.236/trunk@18293 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 12:10:43 +00:00
briano%netscape.com
f6ea73216d Automated update
git-svn-id: svn://10.0.0.236/trunk@18292 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 12:00:40 +00:00
mcafee%netscape.com
3f6a97da54 Breathing Unix life into the rdf tests
git-svn-id: svn://10.0.0.236/trunk@18291 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:47:39 +00:00
mcafee%netscape.com
0a090ef99c Adding test directories for network, rdf
git-svn-id: svn://10.0.0.236/trunk@18290 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:46:46 +00:00
mcafee%netscape.com
8d7747b12f Add tests if ENABLE_TESTS=1
git-svn-id: svn://10.0.0.236/trunk@18289 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:46:20 +00:00
mcafee%netscape.com
871ba5cc04 Better link line, closer to linking...
git-svn-id: svn://10.0.0.236/trunk@18288 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:19:42 +00:00
mcafee%netscape.com
22bd814852 Unhard-coded library suffixes, yanked rules that are already in rules.mk
git-svn-id: svn://10.0.0.236/trunk@18287 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:11:16 +00:00
mcafee%netscape.com
23f177d2c6 Removing unneeded rule, we are closer to linking now
git-svn-id: svn://10.0.0.236/trunk@18286 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:05:34 +00:00
mcafee%netscape.com
57d4e8b0c9 Add tests if ENABLE_TESTS=1, cleaning up a bit
git-svn-id: svn://10.0.0.236/trunk@18285 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 11:05:00 +00:00
mcafee%netscape.com
dd2975fe39 Adding a Unix makefile for fftest
git-svn-id: svn://10.0.0.236/trunk@18284 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:44:32 +00:00
mcafee%netscape.com
a8a8007a50 Unix makefile for tests
git-svn-id: svn://10.0.0.236/trunk@18283 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:43:46 +00:00
mcafee%netscape.com
5e0f4f6e7d Removing stuff that is already in rules.mk, why duplicate it here?
git-svn-id: svn://10.0.0.236/trunk@18282 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:13:38 +00:00
mcafee%netscape.com
8ce2376142 Add tests if ENABLE_TESTS=1.
git-svn-id: svn://10.0.0.236/trunk@18281 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:04:51 +00:00
mcafee%netscape.com
dd4c94c66e Removed hard-coded link line, use the one in rules.mk instead.
git-svn-id: svn://10.0.0.236/trunk@18280 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:03:32 +00:00
mcafee%netscape.com
85eccd7f77 Turn on C++ linking if we have any .cpp files.
git-svn-id: svn://10.0.0.236/trunk@18279 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 10:01:44 +00:00
mcafee%netscape.com
0fe5e0486e hooked up STDARG to the autoconf definition.
git-svn-id: svn://10.0.0.236/trunk@18278 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 09:22:37 +00:00
shaver%netscape.com
2f66be3784 Added methods to create or fill headers, IDEs, interface descriptors,
method descriptors, param descriptors, const descriptors (partial)
and annotations.
Rejigged XPTAnnotation for proper struct nesting and linked-listed-ness.
Implemented SizeOfHeader (partially).
Fixed data_pool handling in XPT_DoHeader.
Implemented XPT_SeekTo and XPT_DoIID.


git-svn-id: svn://10.0.0.236/trunk@18277 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 09:13:02 +00:00
jfrancis%netscape.com
8f3f641ccb efficiency improvement to ComparePointToRange()
git-svn-id: svn://10.0.0.236/trunk@18276 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 08:59:26 +00:00
jfrancis%netscape.com
ca8e5f4cdd fixing bugs #2547 #2295
git-svn-id: svn://10.0.0.236/trunk@18275 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 08:58:43 +00:00
waterson%netscape.com
3920604b69 Implemented RDF container support and improved support for 'anonymous' resources for output of RDF/XML. Cleaned up common RDF vocabularies, placing #defines into rdf.h.
git-svn-id: svn://10.0.0.236/trunk@18274 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:48:25 +00:00
grail%cafebabe.org
3f2b918ccc Temporary fix for the new folder action. The dialog for it is still
broke. Too many things are just temporary hacks.


git-svn-id: svn://10.0.0.236/trunk@18273 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:45:10 +00:00
grail%cafebabe.org
4322f254c1 Removed classpath's bogusness. We need to get a better way to do this.
git-svn-id: svn://10.0.0.236/trunk@18272 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:44:30 +00:00
ramiro%netscape.com
3329dafec7 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@18271 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:33:54 +00:00
briano%netscape.com
00c92ab262 Automated update
git-svn-id: svn://10.0.0.236/trunk@18270 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:15:34 +00:00
ramiro%netscape.com
6c2d59ff3e Add xul dirs.
git-svn-id: svn://10.0.0.236/trunk@18269 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:00:44 +00:00
ramiro%netscape.com
4871e4700f Add -I flags to pick up the right style and html base headers.
git-svn-id: svn://10.0.0.236/trunk@18268 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 06:00:21 +00:00
ramiro%netscape.com
41c102bca1 Add base to DIRS.
git-svn-id: svn://10.0.0.236/trunk@18267 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 05:59:42 +00:00
hyatt%netscape.com
069accd798 Adding linkage for the XUL base library.
git-svn-id: svn://10.0.0.236/trunk@18266 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:15:29 +00:00
troy%netscape.com
c86c1c1ca7 Correction to how offsets are computed for relatively positioned elements
git-svn-id: svn://10.0.0.236/trunk@18265 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:12:03 +00:00
mcafee%netscape.com
0cd1281d38 Bringing dbm/tests into the new autoconf world
git-svn-id: svn://10.0.0.236/trunk@18264 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:11:01 +00:00
mcafee%netscape.com
d964c42276 STDARG=1 is the default until we can autoconf this
git-svn-id: svn://10.0.0.236/trunk@18263 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:07:13 +00:00
pinkerton%netscape.com
70c4e1b464 hooking toolbars and toolbox back up. Sigh.
git-svn-id: svn://10.0.0.236/trunk@18262 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:04:12 +00:00
mcafee%netscape.com
73ed3a22a1 Adding support for linking binaries
git-svn-id: svn://10.0.0.236/trunk@18261 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 04:00:13 +00:00
sfraser%netscape.com
3c160c6d18 Fix ftang's build bustage -- move base.mcp to be built before the uconv stuff.
git-svn-id: svn://10.0.0.236/trunk@18260 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:53:24 +00:00
mjudge%netscape.com
bbddba9557 fixing build bustages
git-svn-id: svn://10.0.0.236/trunk@18259 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:50:22 +00:00
hyatt%netscape.com
9aea9834cb added nsTreeFrame.cpp to xul/base
git-svn-id: svn://10.0.0.236/trunk@18258 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:40:32 +00:00
hyatt%netscape.com
182b211c16 Tweak to make the XUL base library build.
git-svn-id: svn://10.0.0.236/trunk@18257 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:34:41 +00:00
hyatt%netscape.com
4335e45643 Added support for tree frame instantiation.
git-svn-id: svn://10.0.0.236/trunk@18256 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:31:56 +00:00
hyatt%netscape.com
17a01c504e Adding the tree frame class.
git-svn-id: svn://10.0.0.236/trunk@18255 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:28:29 +00:00
hyatt%netscape.com
5826d3fb46 Added atoms for the tree widget. Modified the makefile to make sure
that nsTreeView.cpp builds.


git-svn-id: svn://10.0.0.236/trunk@18254 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:27:35 +00:00
mjudge%netscape.com
da1cc58b72 fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@18253 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 03:18:51 +00:00
mjudge%netscape.com
7a09e861da fix build
git-svn-id: svn://10.0.0.236/trunk@18252 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 02:06:06 +00:00
pinkerton%netscape.com
71d3b9f726 ack, unhook toolbars until i can solve the export problem on win.
git-svn-id: svn://10.0.0.236/trunk@18251 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:53:05 +00:00
rhp%netscape.com
4cb696a903 Adding changes for external modular content type handler plugins.
git-svn-id: svn://10.0.0.236/trunk@18250 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:51:43 +00:00
wtc%netscape.com
d9166e1649 Bugsplat bug #340345: need to initialize the last two function pointers
in the file I/O method table.


git-svn-id: svn://10.0.0.236/trunk@18249 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:49:28 +00:00
davidm%netscape.com
8ef5c8c436 2239 Crash when leaving test9
git-svn-id: svn://10.0.0.236/trunk@18248 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:49:08 +00:00
wtc%netscape.com
b14b6cf164 Removed an extra comma.
git-svn-id: svn://10.0.0.236/trunk@18247 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:47:31 +00:00
mscott%netscape.com
dcdbe4cbec Checking in the real fix for nsBufferedStream this time...
git-svn-id: svn://10.0.0.236/trunk@18246 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:46:37 +00:00
cyeh%netscape.com
e33cc2e2db added new hacky build configuration. if MOZ_DEBUG is not set, you can
set MOZ_DEBUGOPT. MOZ_DEBUGOPT will generate optimized bits, but also
generate debugging information linked into the libraries and executables.

this can be insanely useful when you are trying to track down compiler
optimization bugs.

to use, set MOZ_DEBUG=, set MOZ_DEBUGOPT=1


git-svn-id: svn://10.0.0.236/trunk@18245 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:45:38 +00:00
rhp%netscape.com
2263bd1e29 Adding changes for external modular content type handler plugins.
git-svn-id: svn://10.0.0.236/trunk@18244 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:44:22 +00:00
pinkerton%netscape.com
870c082b0a hookup toolbars and toolbox so they are instantiated when xul sees those tags.
git-svn-id: svn://10.0.0.236/trunk@18243 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:42:44 +00:00
cyeh%netscape.com
d9bb8b494e wrap !ifdef MOZ_DEBUG around custom .cpp rule so that if you are building optimized with
debug symbols, the rule doesn't go looking for PDB files that don't exist.
approved: kipp


git-svn-id: svn://10.0.0.236/trunk@18242 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:41:27 +00:00
mscott%netscape.com
6a47bca0aa nsBufferedStream::GetLength should return the data length instead of the write offset.
git-svn-id: svn://10.0.0.236/trunk@18241 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:35:44 +00:00
ftang%netscape.com
f5e5ee4980 add uconv, ucvlatin, ucvja into the build process
git-svn-id: svn://10.0.0.236/trunk@18240 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:30:07 +00:00
alecf%netscape.com
f2ea90ba00 add rules to automatically build .h files from .idl files if they are newer,
and add way of exporting IDL files with IDLSRCS


git-svn-id: svn://10.0.0.236/trunk@18239 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:28:13 +00:00
alecf%netscape.com
93b60e3ef6 specify the exact location of the XPIDL compiler
git-svn-id: svn://10.0.0.236/trunk@18238 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:27:28 +00:00
ftang%netscape.com
c1270ca38b fix the target name from shlib to shlb
git-svn-id: svn://10.0.0.236/trunk@18237 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:26:41 +00:00
mcafee%netscape.com
e1b0c0ce54 OBJS rule is in mozilla/config/rules.mk, don't duplicate it here.
git-svn-id: svn://10.0.0.236/trunk@18236 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:20:34 +00:00
scc%netscape.com
f2a42cc021 Made the constructor explicit again (see comment) to stop people from breaking the Linux builds.
git-svn-id: svn://10.0.0.236/trunk@18235 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:17:48 +00:00
pinkerton%netscape.com
ccac147d8b Work to get these instantiated.
git-svn-id: svn://10.0.0.236/trunk@18234 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:10:28 +00:00
pavlov%pavlov.net
fa6326f96b fix rods's broken code
git-svn-id: svn://10.0.0.236/trunk@18233 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:45:56 +00:00
rods%netscape.com
c45a0f4395 I removed the error.
git-svn-id: svn://10.0.0.236/trunk@18232 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:41:18 +00:00
troy%netscape.com
edef2644e5 Made handling of absolutely positioned child frames more efficient
git-svn-id: svn://10.0.0.236/trunk@18231 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:30:27 +00:00
sfraser%netscape.com
6b621fbc7f Removing ProfilerLib that I left in there by mistake.
git-svn-id: svn://10.0.0.236/trunk@18230 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:22:19 +00:00
sfraser%netscape.com
e336506959 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18229 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:21:46 +00:00
sfraser%netscape.com
65f954e71e Added a new target that builds a NewPtr-based implementation of malloc/free for debugging purposes.
git-svn-id: svn://10.0.0.236/trunk@18228 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:20:42 +00:00
sfraser%netscape.com
ab55f7150c Various optimizations in the memory allocators as fix for bug 2254. Also now zap the contents of allocated and freed blocks.
git-svn-id: svn://10.0.0.236/trunk@18227 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 00:20:06 +00:00
rods%netscape.com
4960f36497 Removed the GetFont method (this functionality is now a part of the nsIDeviceContext)
git-svn-id: svn://10.0.0.236/trunk@18226 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:59:14 +00:00
rods%netscape.com
d3e70b8d69 Added new Method for getting System Attributes (colors, fonts, sizes)
many of these are duplicated in nsLookAndFeel. The enums will be removed
from nsLookAndFeel.


git-svn-id: svn://10.0.0.236/trunk@18225 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:55:27 +00:00
ftang%netscape.com
f68075a555 add intl directory to the makefile
git-svn-id: svn://10.0.0.236/trunk@18224 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:53:08 +00:00
leif%netscape.com
06d474a186 Merged v1.1 development branch to trunk, v1.1 released
git-svn-id: svn://10.0.0.236/trunk@18220 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:52:52 +00:00
nhotta%netscape.com
fe81c0710b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18219 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:40:32 +00:00
nhotta%netscape.com
d70fa8a71d Changes for Mac build.
git-svn-id: svn://10.0.0.236/trunk@18218 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:37:56 +00:00
sfraser%netscape.com
2534046117 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18217 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:35:30 +00:00
sfraser%netscape.com
ad8275889f Added a #pragma error noting that this file is obsolete, but remains for reference reasons.
git-svn-id: svn://10.0.0.236/trunk@18216 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:35:08 +00:00
sfraser%netscape.com
cfae70862f Commented out obsolete PowerPlant includes
git-svn-id: svn://10.0.0.236/trunk@18215 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:34:32 +00:00
briano%netscape.com
cdf6f26113 Automated update
git-svn-id: svn://10.0.0.236/trunk@18214 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:30:38 +00:00
pavlov%pavlov.net
c9edc53ca0 require GTK 1.1.13
git-svn-id: svn://10.0.0.236/trunk@18213 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:26:19 +00:00
nhotta%netscape.com
fa0a416208 File Removed.
git-svn-id: svn://10.0.0.236/trunk@18212 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:26:07 +00:00
despotdaemon%netscape.com
cd408aa4cf Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18211 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:15:17 +00:00
nhotta%netscape.com
14c155e457 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18210 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:13:03 +00:00
wtc%netscape.com
e2e5fa8fb9 Bugsplat bug #340332: _PR_MD_CLOSE should wait, with no timeout,
until the pending async I/O operation is aborted.  Thanks to
Mark Rawling <mwr@npec.netscape.com> for the bug report and help
with debugging.


git-svn-id: svn://10.0.0.236/trunk@18209 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 23:11:22 +00:00
briano%netscape.com
9c8d20e4ac Automated update
git-svn-id: svn://10.0.0.236/trunk@18208 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:30:35 +00:00
waterson%netscape.com
718181609f Updated for new header files (not in the build).
git-svn-id: svn://10.0.0.236/trunk@18207 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:29:11 +00:00
waterson%netscape.com
039b980f72 Improved namespace handling for output of RDF/XML streams. Modified basic data source interface to include GetAllResources(), which enumerates all of the resources in the datasource. Moved code for dumping an RDF/XML stream out of nsInMemoryDataSource into nsRDFXMLDataSource.
git-svn-id: svn://10.0.0.236/trunk@18206 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:24:32 +00:00
mcafee%netscape.com
1cc8a06ad0 Adding guimgr to the editor build to match Win32
git-svn-id: svn://10.0.0.236/trunk@18205 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:19:45 +00:00
despotdaemon%netscape.com
b7d8a404ea Pseudo-automatic update of changes made by bienvenu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18204 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:16:13 +00:00
despotdaemon%netscape.com
dc8dabe88e Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@18203 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:12:01 +00:00
mcafee%netscape.com
fcb10dcf9b Comment: No output = test passed
git-svn-id: svn://10.0.0.236/trunk@18202 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 22:10:57 +00:00
kostello%netscape.com
c2d6eda11b Changed Code to match new selection work
git-svn-id: svn://10.0.0.236/trunk@18201 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 21:51:21 +00:00
kostello%netscape.com
aacb407d9b Commented out assert until Rick and I can figure
appropriate fix.


git-svn-id: svn://10.0.0.236/trunk@18200 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 21:48:40 +00:00
kostello%netscape.com
22f14ea4e2 Updated RDF document to match changed XIF signature
git-svn-id: svn://10.0.0.236/trunk@18199 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 21:46:27 +00:00
kostello%netscape.com
75d16ce80a Updated XIF code to match the new selection work.
git-svn-id: svn://10.0.0.236/trunk@18198 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 21:45:17 +00:00
akkana%netscape.com
826d1b136d Try a different form of casting to keep both Linux and the Mac happy
git-svn-id: svn://10.0.0.236/trunk@18197 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 21:10:12 +00:00
shaver%netscape.com
07a4b636fb test DoString
git-svn-id: svn://10.0.0.236/trunk@18193 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 20:05:58 +00:00
shaver%netscape.com
7d1aefc5e1 allocate memory for str->bytes in DoString decode, duh
git-svn-id: svn://10.0.0.236/trunk@18192 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 20:05:27 +00:00
buster%netscape.com
902ec60ee1 factored editor so a request (public) is separate from building the txn for that request (private)
added some debug code to transactions


git-svn-id: svn://10.0.0.236/trunk@18190 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:44:26 +00:00
vidur%netscape.com
7908dffae7 Fix to get default namespaces to work. Cleanup of DOM handling of character data.
git-svn-id: svn://10.0.0.236/trunk@18189 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:33:03 +00:00
akkana%netscape.com
9f4dfbc49b Fix nsCOMPtr casting build bustage
git-svn-id: svn://10.0.0.236/trunk@18188 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:31:57 +00:00
pinkerton%netscape.com
dc84cfe6ba remove file that shouldn't be there. mea culpa.
git-svn-id: svn://10.0.0.236/trunk@18187 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:25:25 +00:00
shaver%netscape.com
5d43857d3d fix dumb DBG thing
git-svn-id: svn://10.0.0.236/trunk@18186 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:21:58 +00:00
coop%netscape.com
5230673778 NOT YET PART OF SEAMONKEY:
* removed struct size #defines -> they were just silly anyway.
* replaced references to IDE file offsetsi with uint32 indices.
* first attempt at sorting out order of storage for XPTHeader and XPTInterfaceDirectoryEntry


git-svn-id: svn://10.0.0.236/trunk@18185 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 19:18:47 +00:00
alecf%netscape.com
bbe9ff8df9 changes to make XPIDL compiler work under Windows
git-svn-id: svn://10.0.0.236/trunk@18184 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:59:52 +00:00
pinkerton%netscape.com
299037dd3a not building the base dir for now.
git-svn-id: svn://10.0.0.236/trunk@18183 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:56:49 +00:00
wtc%netscape.com
30bf014603 Removed unnecessary macro define -D_THREAD_SAFE.
git-svn-id: svn://10.0.0.236/trunk@18182 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:49:31 +00:00
pinkerton%netscape.com
0b102f784e change lib name
git-svn-id: svn://10.0.0.236/trunk@18181 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:44:19 +00:00
pinkerton%netscape.com
1b89be8db8 start building the base directory
git-svn-id: svn://10.0.0.236/trunk@18180 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:36:33 +00:00
pinkerton%netscape.com
3877c94e12 added xul/base group and nsToolbarFrame.cpp and nsToolboxFrame.cpp
git-svn-id: svn://10.0.0.236/trunk@18179 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:33:29 +00:00
pinkerton%netscape.com
4a59b0b852 get compiling
git-svn-id: svn://10.0.0.236/trunk@18178 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:31:48 +00:00
pinkerton%netscape.com
6cb074b798 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18177 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 18:31:39 +00:00
shaver%netscape.com
ec12610954 Better cursor management stuff.
Mild macro renaming.
Debugging output from CHECK_COUNT.
Fixed primitives and PrimitiveTest: we now pass! (32, 16, 8 and CString)
Dynamically link PrimitiveTest.


git-svn-id: svn://10.0.0.236/trunk@18176 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 17:37:54 +00:00
pinkerton%netscape.com
fe46e5b54f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18175 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 16:11:40 +00:00
pinkerton%netscape.com
fc4915922f Moving to base/src to mimic rest of layout.
git-svn-id: svn://10.0.0.236/trunk@18174 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 16:10:03 +00:00
ramiro%netscape.com
f1c348081a Fix for bug 1982. Remove bogus NS_RELEASE() on a timer.
Thanks to Davide Pasetto <dipo@sis.it> for providing the fix and looking
the bug up on bugzilla!.


git-svn-id: svn://10.0.0.236/trunk@18173 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 14:37:51 +00:00
ftang%netscape.com
22322765b4 add intl directory
git-svn-id: svn://10.0.0.236/trunk@18172 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 12:12:49 +00:00
pierre%netscape.com
a3439dbf47 Fix #2251 "Garbage renders over the back button"
git-svn-id: svn://10.0.0.236/trunk@18171 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 11:42:00 +00:00
pierre%netscape.com
dee020a45b Removed the obsolete 'mTE'.
git-svn-id: svn://10.0.0.236/trunk@18170 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 11:41:26 +00:00
pierre%netscape.com
ba1dd649af Removed the unused method DrawWidget()
git-svn-id: svn://10.0.0.236/trunk@18169 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 11:21:51 +00:00
pierre%netscape.com
bfde531d65 Calls SetOrigin() in Invalidate(). Fixes the problem where on going to a new page the top of the html area gets drawn last. Thanks to Cyrus Harmon <cyrus@neomorphic.com>
git-svn-id: svn://10.0.0.236/trunk@18168 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 11:21:10 +00:00
rpotts%netscape.com
e3fb7eb1aa appshell.html
git-svn-id: svn://10.0.0.236/trunk@18167 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 11:01:01 +00:00
rpotts%netscape.com
39f9762907 Added support for updating the state of the toolbar controls after each URL load...
git-svn-id: svn://10.0.0.236/trunk@18166 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 10:02:23 +00:00
rpotts%netscape.com
f70ca77f96 whacked the default size of the webshellwindow for now...
git-svn-id: svn://10.0.0.236/trunk@18165 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:59:26 +00:00
pierre%netscape.com
daefb175d4 Mac only: added 'isCommand' in nsInputEvent
git-svn-id: svn://10.0.0.236/trunk@18164 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:52:07 +00:00
rpotts%netscape.com
f149440910 Added support for setting the DISABLED attrivute via the DOM...
git-svn-id: svn://10.0.0.236/trunk@18163 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:51:28 +00:00
briano%netscape.com
0f8bb10baa Automated update
git-svn-id: svn://10.0.0.236/trunk@18162 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:30:33 +00:00
hyatt%netscape.com
57173e943c Adding support for the widget tag to XUL.
git-svn-id: svn://10.0.0.236/trunk@18161 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:26:01 +00:00
hyatt%netscape.com
cf211c6530 Fixing bugs related to the widget atom.
git-svn-id: svn://10.0.0.236/trunk@18160 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:25:40 +00:00
ftang%netscape.com
6ffbd3ae72 add intl/uconv into the build system
git-svn-id: svn://10.0.0.236/trunk@18159 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 09:20:39 +00:00
pierre%netscape.com
ee08981436 initialize the Rendering Context from a GrafPort to fix a crash on print
git-svn-id: svn://10.0.0.236/trunk@18158 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 08:41:21 +00:00
rpotts%netscape.com
568c9da34d Base implementation on a DOM event listener...
git-svn-id: svn://10.0.0.236/trunk@18157 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:45:40 +00:00
rpotts%netscape.com
ec10bbffde controller component for the browser...
git-svn-id: svn://10.0.0.236/trunk@18156 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:45:11 +00:00
rpotts%netscape.com
c65113fc4a UI document for the apprunner.exe
git-svn-id: svn://10.0.0.236/trunk@18155 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:44:38 +00:00
rpotts%netscape.com
58b52f6a99 Factory for the browser DLL
git-svn-id: svn://10.0.0.236/trunk@18154 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:43:17 +00:00
ramiro%netscape.com
8ab33955da Add 'alldep' and 'everything' rules.
git-svn-id: svn://10.0.0.236/trunk@18153 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:42:44 +00:00
rpotts%netscape.com
1b4095133b windows makefile...
git-svn-id: svn://10.0.0.236/trunk@18152 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:42:37 +00:00
ramiro%netscape.com
94bce04a89 Make sure clobber kills dependancies.
git-svn-id: svn://10.0.0.236/trunk@18151 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:42:08 +00:00
rpotts%netscape.com
6af6ca022b CIDs for browser components...
git-svn-id: svn://10.0.0.236/trunk@18150 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:33:32 +00:00
rpotts%netscape.com
c360e48ecf windows makefile...
git-svn-id: svn://10.0.0.236/trunk@18149 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:33:08 +00:00
rpotts%netscape.com
cda381cbdc makefile.win
git-svn-id: svn://10.0.0.236/trunk@18148 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:32:30 +00:00
rpotts%netscape.com
2d570b4ffc Added nsAppShellCIDs.h as an include...
git-svn-id: svn://10.0.0.236/trunk@18147 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:29:53 +00:00
rpotts%netscape.com
697a5dceba Added an argument to CreateTopLevelWindow() which specifies the controller object to instantiate along with the UI document
git-svn-id: svn://10.0.0.236/trunk@18146 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:25:05 +00:00
rpotts%netscape.com
df9dc847f5 The WebShellWindow now implements nsIWebShellContainer. Added a controller argument to CreateTopLevelWindow()
git-svn-id: svn://10.0.0.236/trunk@18145 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:24:01 +00:00
rpotts%netscape.com
f32e0cbabf The AppShell now uses the EventQueue service. Added a temporary argument to CreateTopLevelWindow() which represents the controller object associated with a UI document - this will be removed when XUL supports this feature. Reworked the factory to use the template implementation provided by XPCom...
git-svn-id: svn://10.0.0.236/trunk@18144 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:22:58 +00:00
rpotts%netscape.com
8be182c8d8 Added the DOM to the include path...
git-svn-id: svn://10.0.0.236/trunk@18143 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:20:32 +00:00
rpotts%netscape.com
5d9b93e9f8 CIDs are now kept in nsAppShellCIDs.h
git-svn-id: svn://10.0.0.236/trunk@18142 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:20:01 +00:00
rpotts%netscape.com
7825607ddf Added a controller CID string argument to createTopLevelWindow (for now)...
git-svn-id: svn://10.0.0.236/trunk@18141 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:18:30 +00:00
rpotts%netscape.com
0325b85810 Added exports for nsAppShellCIDs.h and nsIWidgetController.h
git-svn-id: svn://10.0.0.236/trunk@18140 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:17:44 +00:00
rpotts%netscape.com
aebef542bf Interface for a non-ui controller component...
git-svn-id: svn://10.0.0.236/trunk@18139 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:17:01 +00:00
rpotts%netscape.com
422b53a5da AppShell CID file...
git-svn-id: svn://10.0.0.236/trunk@18138 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 07:15:52 +00:00
pinkerton%netscape.com
111eb2015c adding toolbox to collection of xul atoms
git-svn-id: svn://10.0.0.236/trunk@18137 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 05:54:38 +00:00
pinkerton%netscape.com
c0d8e5b3ef First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18136 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 05:49:24 +00:00
pollmann%netscape.com
98d9fcade3 Bug 2279: Don't create widgets for hidden form elements.
git-svn-id: svn://10.0.0.236/trunk@18135 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 04:02:37 +00:00
danm%netscape.com
97da2ade09 build XUL
git-svn-id: svn://10.0.0.236/trunk@18134 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:51:16 +00:00
briano%netscape.com
38abe0e2d4 Automated update
git-svn-id: svn://10.0.0.236/trunk@18133 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:45:38 +00:00
danm%netscape.com
d040388bff build xul
git-svn-id: svn://10.0.0.236/trunk@18132 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:41:43 +00:00
danm%netscape.com
04e9301e4d build XUL
git-svn-id: svn://10.0.0.236/trunk@18131 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:40:21 +00:00
danm%netscape.com
713bd78058 create XUL frames
git-svn-id: svn://10.0.0.236/trunk@18130 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:37:37 +00:00
danm%netscape.com
efa4d4f460 load XUL atoms on XML document creation
git-svn-id: svn://10.0.0.236/trunk@18129 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:35:24 +00:00
danm%netscape.com
4f178959a5 added file xul/content/src/nsXULAtoms.cpp
git-svn-id: svn://10.0.0.236/trunk@18128 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:32:30 +00:00
pollmann%netscape.com
85c77005a0 Bug 1958: Fixing an apparent typo.
git-svn-id: svn://10.0.0.236/trunk@18127 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 03:09:25 +00:00
buster%netscape.com
4490a6149a bug fixes to delete range, plus some debugging printf's
git-svn-id: svn://10.0.0.236/trunk@18126 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 02:29:52 +00:00
jj%netscape.com
a8097b0db4 changed default CVS module from 'RaptorMac' to 'SeaMonkeyEditor'.
git-svn-id: svn://10.0.0.236/trunk@18125 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 02:26:40 +00:00
danm%netscape.com
64c1df8ee4 new xul directory
git-svn-id: svn://10.0.0.236/trunk@18124 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:56:05 +00:00
buster%netscape.com
801958a339 starting to move towards a slimmed down nsIEditor.h
git-svn-id: svn://10.0.0.236/trunk@18123 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:53:10 +00:00
buster%netscape.com
b48e2caf7c * added TransactionFactory. Editor no longer allocates its own transactions. This gives us an oppurtunity for a recycler.
* added DeleteSelection to editor.  Doesn't work very well yet because selection is giving me random offsets into text content.
* lots of work in the various transactions.


git-svn-id: svn://10.0.0.236/trunk@18122 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:51:09 +00:00
jfrancis%netscape.com
4891b6afd8 added a bunch of editor stuff for Steve
git-svn-id: svn://10.0.0.236/trunk@18121 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:46:52 +00:00
nhotta%netscape.com
562508f0d5 Initial check in.
git-svn-id: svn://10.0.0.236/trunk@18120 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:28:27 +00:00
waterson%netscape.com
b6493e8cbf Modified to just descend into the subdirs; got rid of rdftest.cpp.
git-svn-id: svn://10.0.0.236/trunk@18119 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:26:51 +00:00
waterson%netscape.com
2a8db68537 Obsolete.
git-svn-id: svn://10.0.0.236/trunk@18118 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:26:07 +00:00
fur%netscape.com
0a1d12585c Add java_lang_Thread.h
git-svn-id: svn://10.0.0.236/trunk@18117 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:25:12 +00:00
mscott%netscape.com
8431595ebe Add news to top level directories that get built.
git-svn-id: svn://10.0.0.236/trunk@18116 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:15:26 +00:00
mscott%netscape.com
28f5092aca Use the transport interface for communicating across the thread boundary...
git-svn-id: svn://10.0.0.236/trunk@18115 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:14:03 +00:00
mscott%netscape.com
af293b2d97 Cosmetic changes to build on windows...
git-svn-id: svn://10.0.0.236/trunk@18114 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:13:08 +00:00
mscott%netscape.com
0b26371b83 Export new header files.
git-svn-id: svn://10.0.0.236/trunk@18113 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:12:11 +00:00
nhotta%netscape.com
2f72e68727 Initial check in.
git-svn-id: svn://10.0.0.236/trunk@18112 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:11:00 +00:00
mscott%netscape.com
3664b28e00 Added new event sink files to makefile. nsINNTPHost should support ISupports....
git-svn-id: svn://10.0.0.236/trunk@18111 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:09:10 +00:00
mscott%netscape.com
e681cad92e First checked in.
git-svn-id: svn://10.0.0.236/trunk@18110 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:07:44 +00:00
mscott%netscape.com
68e0a17491 Export nsITransport.h
git-svn-id: svn://10.0.0.236/trunk@18109 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:06:55 +00:00
mscott%netscape.com
f56f2d4e52 First checked in. The transport interface is the means through which a protocol communicates to a socket (or file or some other mechanism) across the thread boundary between netlib and the protocol.
git-svn-id: svn://10.0.0.236/trunk@18108 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 01:06:22 +00:00
mjudge%netscape.com
1e63a95689 changes to unload my library correctly
git-svn-id: svn://10.0.0.236/trunk@18107 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:56:18 +00:00
nhotta%netscape.com
a3af3d319a Initial check in.
git-svn-id: svn://10.0.0.236/trunk@18106 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:49:28 +00:00
endico%mozilla.org
fb2904dbb0 Add java support
git-svn-id: svn://10.0.0.236/trunk@18105 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:42:26 +00:00
fur%netscape.com
b223edc9b8 Fix comment.
git-svn-id: svn://10.0.0.236/trunk@18104 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:42:03 +00:00
fur%netscape.com
c8fb4d3ae8 Allow class CharToByteConverter to be initialized, since the codegen limitations
that didn't allow it to be compiled have been remedied.


git-svn-id: svn://10.0.0.236/trunk@18103 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:41:09 +00:00
fur%netscape.com
72b5c556c0 Unicode characters are uint16, not int16.
git-svn-id: svn://10.0.0.236/trunk@18102 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:39:17 +00:00
fur%netscape.com
e41832992f Added routines to handle conversion of Java strings between UTF8 and UCS2
representations.


git-svn-id: svn://10.0.0.236/trunk@18101 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:38:34 +00:00
fur%netscape.com
28e0286a67 Frame::getCallingJavaMethod() now takes a stack depth parameter which indicates
the number of levels to pop the stack.


git-svn-id: svn://10.0.0.236/trunk@18100 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:37:14 +00:00
fur%netscape.com
2f763cedea Flush the log file after entry into a method is traced.
git-svn-id: svn://10.0.0.236/trunk@18099 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:22:22 +00:00
fur%netscape.com
3729c4258b Unicode characters are uint16's not int16's.
git-svn-id: svn://10.0.0.236/trunk@18098 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:20:41 +00:00
fur%netscape.com
eb71ff785b Fixes to newInstance0() method:
When checking to see if a calling method has permission to access a
class/constructor with package-level scope, walk two levels up the
stack, instead of one, since the immediate caller is always
java.lang.newInstance().

In addition to creating the object, invoke it's zero-argument constructor.


git-svn-id: svn://10.0.0.236/trunk@18097 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:19:56 +00:00
fur%netscape.com
4744e211dd Added do-nothing stub for registerNatives().
git-svn-id: svn://10.0.0.236/trunk@18096 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:16:40 +00:00
fur%netscape.com
d0b03dc69c Implement doPrivileged() method in a trivial way, such that privileges are
not actually checked or set.


git-svn-id: svn://10.0.0.236/trunk@18095 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:15:55 +00:00
fur%netscape.com
f1d1b986ee Don't add a thread-id or a newline to each logfile output line, at least not
in the default case.


git-svn-id: svn://10.0.0.236/trunk@18094 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:12:46 +00:00
fur%netscape.com
5707f6d56d Ensure that log-file flushing occurs even if the default log file is being used.
git-svn-id: svn://10.0.0.236/trunk@18093 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-21 00:11:55 +00:00
briano%netscape.com
321b0f22b1 Automated update
git-svn-id: svn://10.0.0.236/trunk@18092 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:37:59 +00:00
briano%netscape.com
be726c08ac Fixes provided by kstailey@disclosure.com. Unfortunately, I don't have a machine to test them on....
git-svn-id: svn://10.0.0.236/trunk@18091 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:30:52 +00:00
briano%netscape.com
51711ffde5 Automated update
git-svn-id: svn://10.0.0.236/trunk@18090 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:30:31 +00:00
buster%netscape.com
48e612895f put in Mike's change to Clear the selection when we take focus
this fixes the bug that the collection of ranges was monotonically increasing to infinity
as you clicked around in the document.


git-svn-id: svn://10.0.0.236/trunk@18089 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:23:28 +00:00
shaver%netscape.com
4bdd8e7d22 added libxpt/tests
git-svn-id: svn://10.0.0.236/trunk@18088 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:18:27 +00:00
shaver%netscape.com
b7788d4156 added some tests (we don't pass yet =) ), wrote some primitives
git-svn-id: svn://10.0.0.236/trunk@18087 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:17:05 +00:00
buster%netscape.com
1629d20dfd added IID static method so nsIEnumerator can be used with nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@18086 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:16:28 +00:00
srinivas%netscape.com
bb380e6470 Suspended local threads should be moved to the suspend queue after I/O
completion or timeout.


git-svn-id: svn://10.0.0.236/trunk@18085 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 23:13:06 +00:00
leaf%mozilla.org
9507265d17 removed dup NSPR entry
git-svn-id: svn://10.0.0.236/trunk@18084 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 20:32:59 +00:00
leaf%mozilla.org
2bb4427ae0 removing duplicate include
git-svn-id: svn://10.0.0.236/trunk@18083 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 20:20:20 +00:00
dougt%netscape.com
6a7a0d086a Added real IID's
git-svn-id: svn://10.0.0.236/trunk@18082 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 19:59:16 +00:00
waterson%netscape.com
c405cd59c1 Backed out bogus checking.
git-svn-id: svn://10.0.0.236/trunk@18081 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 19:56:34 +00:00
waterson%netscape.com
e4af99d487 Obsolete.
git-svn-id: svn://10.0.0.236/trunk@18080 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 19:53:07 +00:00
terry%netscape.com
3f8992a334 Simple script to show some build bustage stats.
git-svn-id: svn://10.0.0.236/trunk@18079 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 19:38:13 +00:00
akkana%netscape.com
31b1c02876 Handle alphanumeric characters properly
git-svn-id: svn://10.0.0.236/trunk@18078 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 18:43:59 +00:00
despotdaemon%netscape.com
fb8116a5d3 Pseudo-automatic update of changes made by don@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18077 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 18:30:36 +00:00
coop%netscape.com
46278f0bfa NOT YET PART OF SEAMONKEY:
* added looping to read/write InterfaceDirectoryEntrys
* InterfaceDescriptors are no longer DECODEd as part of the IDE DECODEing process
* added skeleton for XPT_GetDescriptorByOffset


git-svn-id: svn://10.0.0.236/trunk@18076 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 17:58:14 +00:00
kipp%netscape.com
9c0fa91c65 allocated an IID
git-svn-id: svn://10.0.0.236/trunk@18075 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 17:53:09 +00:00
rods%netscape.com
f46b63bfa0 Fixed scrollbar rendering problem by commenting out the WM_CTLCOLORSCROLLBAR
message in switch statement. (fix thanks to Michael Lowe)


git-svn-id: svn://10.0.0.236/trunk@18074 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 15:42:51 +00:00
sar%netscape.com
824374961b add nsprpub since 1) we need to pull it from the tip, 2) it was in RaptorDist, so needs to be here --sarah
git-svn-id: svn://10.0.0.236/trunk@18073 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 10:25:46 +00:00
grail%cafebabe.org
04a228881d GridBagContraints.WEST is somehow an illegal argument. I have no
idea. Most problems with "New Folder ..."  is solved now up to
runtime. Nothing viewable is available yet. It can't find the resource
bundle "grendel.ui.Labels".


git-svn-id: svn://10.0.0.236/trunk@18072 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 09:56:13 +00:00
grail%cafebabe.org
48d3b28c3a Stupid stupid stupid. JComboBox.removeAllItems() NullExceptions if
there's a zero count. The safe way to call it is by:

if (combobox.getItemCount() > 0) {
  combobox.removeAllItems();
}

This is stupid.


git-svn-id: svn://10.0.0.236/trunk@18071 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 09:53:28 +00:00
sar%netscape.com
1559395b74 fixing a error in SeaMonkeyBrowser modules
git-svn-id: svn://10.0.0.236/trunk@18070 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 09:10:52 +00:00
rickg%netscape.com
6b9ae6865a tiny debugging improvements
git-svn-id: svn://10.0.0.236/trunk@18069 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 08:51:34 +00:00
sar%netscape.com
2e04bf6189 There is stuff that was in RaptorMac that wasn't in Seamonkey*. Now it's there --sarah
git-svn-id: svn://10.0.0.236/trunk@18068 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 07:54:22 +00:00
rickg%netscape.com
add2c72fa0 fixed nearly 20 parser bugs
git-svn-id: svn://10.0.0.236/trunk@18067 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 07:29:33 +00:00
buster%netscape.com
5ca7f5e8c6 fixed bug 2516. The InitChildList code needed to check display types before
assigning the mCaptionFrame member variable.


git-svn-id: svn://10.0.0.236/trunk@18066 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 07:27:06 +00:00
rickg%netscape.com
6f3675f1ff fixed nearly 20 parser bugs
git-svn-id: svn://10.0.0.236/trunk@18065 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 06:56:07 +00:00
grail%cafebabe.org
2749296524 Added action mapping to menus. Trimming is still missing.
git-svn-id: svn://10.0.0.236/trunk@18064 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 06:40:16 +00:00
grail%cafebabe.org
780a797180 Added action mapping to menus.
git-svn-id: svn://10.0.0.236/trunk@18063 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 06:40:01 +00:00
jband%netscape.com
1c7f6dde92 NOT PART OF SEAMONKEY. Workingon dealing with more types. Added access to WrappedNative from JSObject
git-svn-id: svn://10.0.0.236/trunk@18062 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 06:38:00 +00:00
troy%netscape.com
9b88cc5f1d Added additional parameter to GetNext() that specifies whether the frame is
removed from the path. This allows peeking at the next frame in the reflow
chain


git-svn-id: svn://10.0.0.236/trunk@18060 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 05:11:17 +00:00
troy%netscape.com
d152766772 Added additional parameter to GetNext() that allows peeking at the next
frame in the reflow command


git-svn-id: svn://10.0.0.236/trunk@18059 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 05:10:12 +00:00
troy%netscape.com
d0a1720f4d Added XXX reminder for myself
git-svn-id: svn://10.0.0.236/trunk@18058 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 04:50:35 +00:00
sar%netscape.com
f136a67812 try realtime quotes. the # should work, if not, it will get backed out.
git-svn-id: svn://10.0.0.236/trunk@18057 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 04:21:18 +00:00
troy%netscape.com
26a8236401 Removed some scroll related logic that was causing computed widths to be
computed incorrectly. Now the scroll frame handles it


git-svn-id: svn://10.0.0.236/trunk@18056 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 03:43:33 +00:00
briano%netscape.com
de5055d62a Automated update
git-svn-id: svn://10.0.0.236/trunk@18055 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 02:23:00 +00:00
briano%netscape.com
262843afe6 Automated update
git-svn-id: svn://10.0.0.236/trunk@18054 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 02:18:12 +00:00
despotdaemon%netscape.com
eaf487828a Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@18053 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 02:05:54 +00:00
briano%netscape.com
dee0b35090 Pre-generated configure script for platforms that don't have autoconf and GNU m4, and for people who don't want to waste time downloading and building them.
git-svn-id: svn://10.0.0.236/trunk@18052 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:49:03 +00:00
waterson%netscape.com
e822ec666d Renamed 'stream data source' to 'RDF/XML data source'; renamed 'data base' to 'composite data source'.
git-svn-id: svn://10.0.0.236/trunk@18051 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:43:39 +00:00
waterson%netscape.com
f081594357 Removed unnecessary #includes.
git-svn-id: svn://10.0.0.236/trunk@18050 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:42:34 +00:00
waterson%netscape.com
258b0d3c24 Changed 'data base' to 'composite data source'. Merged RDF/XML document and stream data source into one big happy interface.
git-svn-id: svn://10.0.0.236/trunk@18049 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:42:13 +00:00
akkana%netscape.com
74ec22f88f Fix pierre's silentdl build bustage
git-svn-id: svn://10.0.0.236/trunk@18048 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:39:08 +00:00
leaf%mozilla.org
6b366ba64c changing pull of nsprpub to pull from the tip.
git-svn-id: svn://10.0.0.236/trunk@18047 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 01:05:02 +00:00
vidur%netscape.com
2904958913 Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@18046 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:50:07 +00:00
donm%netscape.com
2467da69e4 making change to include Doug Turner's silentdl
git-svn-id: svn://10.0.0.236/trunk@18045 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:37:17 +00:00
pierre%netscape.com
f0aca82372 added silentdl to the list of manifest files
git-svn-id: svn://10.0.0.236/trunk@18044 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:36:13 +00:00
pierre%netscape.com
f81b0c50fe First Checked In.
git-svn-id: svn://10.0.0.236/trunk@18043 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:29:40 +00:00
dougt%netscape.com
7aa910f11c Adding Makefile.in to export headers.
git-svn-id: svn://10.0.0.236/trunk@18042 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:25:52 +00:00
sar%netscape.com
6daa819b73 add silentdl for dougt --sarah
git-svn-id: svn://10.0.0.236/trunk@18041 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-20 00:24:23 +00:00
coop%netscape.com
7383c42ad7 NOT YET PART OF SEAMONKEY:
* added offset management code in the form of calls to shaver's macros


git-svn-id: svn://10.0.0.236/trunk@18038 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:46:20 +00:00
wtc%netscape.com
661e55b97f Merged the pthreads patches for BSD/OS 4.0 contributed by
Bert Driehuis <bert_driehuis@nl.compuware.com>.
Modified files: BSD_OS.mk, _pth.h, bsdi.c, ptio.c, and pr/tests/Makefile.


git-svn-id: svn://10.0.0.236/trunk@18037 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:38:54 +00:00
dougt%netscape.com
7d9e3b3d43 Adding SilentDownload startup and shutdown to the viewer application.
git-svn-id: svn://10.0.0.236/trunk@18036 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:37:17 +00:00
mjudge%netscape.com
54b82849bb fiximg text selection for frames in frames
git-svn-id: svn://10.0.0.236/trunk@18035 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:36:06 +00:00
dougt%netscape.com
3aff90e222 Adding silentdl to the build directories.
git-svn-id: svn://10.0.0.236/trunk@18034 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:35:21 +00:00
karnaze%netscape.com
2242310cce content sink uses nsWebShell::GetIsFrame to set scrolling on nsWebShell
git-svn-id: svn://10.0.0.236/trunk@18033 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:16:02 +00:00
karnaze%netscape.com
506ead5fcd added GetIsFrame, SetIsFrame to distinguish <frame> documents
git-svn-id: svn://10.0.0.236/trunk@18032 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:14:31 +00:00
vidur%netscape.com
fdfa2b0b22 Completion of document as node - specifically, the childNodes array. Completion of nodeName, nodeValue and attributes properties for different types of nodes.
git-svn-id: svn://10.0.0.236/trunk@18031 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 23:07:33 +00:00
rpotts%netscape.com
a3efbe88da fixed bug when firing the OnConnectionsComplete() notification. If one of the listeners initiated a new URL load then state in the doc loader became inconsistent...
git-svn-id: svn://10.0.0.236/trunk@18030 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 22:48:05 +00:00
pierre%netscape.com
ae42b2d56a display the AppearanceMgr frame around edit fields
git-svn-id: svn://10.0.0.236/trunk@18029 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 22:34:43 +00:00
sfraser%netscape.com
a9183717cf File Removed.
git-svn-id: svn://10.0.0.236/trunk@18028 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 22:34:36 +00:00
pierre%netscape.com
f55ce79305 fixed Scroll() in case the caller passes a null clipRect
git-svn-id: svn://10.0.0.236/trunk@18022 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 19:29:43 +00:00
donm%netscape.com
8159390ee2 adding the smoke test build script
git-svn-id: svn://10.0.0.236/trunk@18021 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 18:54:41 +00:00
mjudge%netscape.com
e034b82d75 fixing selection a little
git-svn-id: svn://10.0.0.236/trunk@18020 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:41:08 +00:00
rods%netscape.com
529b6e8f8f Added new Method for Querying System Fonts
git-svn-id: svn://10.0.0.236/trunk@18019 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:36:19 +00:00
karnaze%netscape.com
3b1d92015b <form> inside <table> submits; marginwidth, marginheight in <frame> working; scrolling in <frame>, <iframe> working
git-svn-id: svn://10.0.0.236/trunk@18018 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:26:06 +00:00
pinkerton%netscape.com
c0703d6b97 Added cut/copy to pierre's paste work and sync'd the work done in textWidget to that in textAreaWidget so both now support cut/copy/paste the same way (though the code isn't shared).
git-svn-id: svn://10.0.0.236/trunk@18017 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:21:37 +00:00
terry%netscape.com
aaabaf86c1 Wasn't properly stripping out null queries on text searches.
Harmless, but was generating overly complicated SQL.


git-svn-id: svn://10.0.0.236/trunk@18016 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:17:21 +00:00
terry%netscape.com
c9d48f9027 Allow a "not regexp" search of email addresses.
git-svn-id: svn://10.0.0.236/trunk@18015 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:10:02 +00:00
terry%netscape.com
34312b1f2f I guess nobody ever queries for URLs by regexp, since that radio
button was completely busted.


git-svn-id: svn://10.0.0.236/trunk@18014 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 17:02:39 +00:00
vidur%netscape.com
582f32db7a Started implementation of Node properties and methods for documents.
git-svn-id: svn://10.0.0.236/trunk@18013 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 16:58:45 +00:00
pinkerton%netscape.com
b3afe20c10 added nsGenericDomNodeList.cpp
git-svn-id: svn://10.0.0.236/trunk@18012 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 16:39:10 +00:00
vidur%netscape.com
41ca50f15b new file - base class for other node lists
git-svn-id: svn://10.0.0.236/trunk@18011 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 15:50:20 +00:00
pierre%netscape.com
b3fd92890d use the newly added HandleUpdateEvent() to redraw the top-level widget
git-svn-id: svn://10.0.0.236/trunk@18010 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 14:34:14 +00:00
pierre%netscape.com
449bfd60e6 fixed live scrolling
git-svn-id: svn://10.0.0.236/trunk@18009 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 14:33:47 +00:00
pierre%netscape.com
b4ea06ef45 added HandleUpdateEvent() and use ::BeginUpdate() in Update() in order to improve performance during live scrolling
git-svn-id: svn://10.0.0.236/trunk@18008 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 14:33:21 +00:00
pierre%netscape.com
6d58fb6b7c added Paste
git-svn-id: svn://10.0.0.236/trunk@18007 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 10:29:48 +00:00
pierre%netscape.com
505e3d5466 moved ConvertOSMenuResultToPPMenuResult() from nsMacMain
git-svn-id: svn://10.0.0.236/trunk@18006 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 10:29:30 +00:00
pierre%netscape.com
13aa059a73 moved ConvertOSMenuResultToPPMenuResult() to the message pump
git-svn-id: svn://10.0.0.236/trunk@18005 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 10:29:14 +00:00
pierre%netscape.com
934589348e propagate menu event to focused widget and its parents
git-svn-id: svn://10.0.0.236/trunk@18004 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 10:28:53 +00:00
mjudge%netscape.com
2434c90ca2 selection should work now more or less
git-svn-id: svn://10.0.0.236/trunk@18003 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 06:42:39 +00:00
troy%netscape.com
7936b86b4a Changed it so the DidReflow() temporary hack doesn't apply to scrolled
frames


git-svn-id: svn://10.0.0.236/trunk@18001 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 06:00:08 +00:00
troy%netscape.com
c68ea5ab6f Fixed it so computedHeight is correctly computed
git-svn-id: svn://10.0.0.236/trunk@18000 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 05:59:24 +00:00
troy%netscape.com
d21c2c56d3 Minor cleanup
git-svn-id: svn://10.0.0.236/trunk@17999 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 05:18:26 +00:00
troy%netscape.com
fb1c8ede06 Part of the fix for bug #2485
git-svn-id: svn://10.0.0.236/trunk@17998 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 05:17:39 +00:00
pierre%netscape.com
47bd3bb6e7 Fixed the clip rgn in Scroll(): the scrollbars no longer flicker.
git-svn-id: svn://10.0.0.236/trunk@17997 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 04:29:08 +00:00
vidur%netscape.com
d39be21072 Made unparented nodes outside the document return a new document fragment as parent. Inserting a node into a tree removes it from its previous position
git-svn-id: svn://10.0.0.236/trunk@17996 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 03:54:26 +00:00
jfrancis%netscape.com
caa9033cb0 added Show() to DoFileOpen() - fixes bug #2415
git-svn-id: svn://10.0.0.236/trunk@17993 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 03:12:18 +00:00
pavlov%pavlov.net
319109dbd6 parse ~/.gtkrc (if it exists) file to make things look more consistant with
other gtk apps.


git-svn-id: svn://10.0.0.236/trunk@17991 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 02:45:55 +00:00
waterson%netscape.com
18451d26e9 Replacement for nsIRDFXMLDocument.h. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@17988 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 02:43:03 +00:00
waterson%netscape.com
6b18066ef9 Replacement for nsStreamDataSource.cpp. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@17987 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 02:42:30 +00:00
pavlov%pavlov.net
5b2738d43e return true for events that we handle and not false
git-svn-id: svn://10.0.0.236/trunk@17986 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 02:17:30 +00:00
jfrancis%netscape.com
cb60c36d89 adding checks for null mContext member in a couple of places - fixes bug #2200
git-svn-id: svn://10.0.0.236/trunk@17985 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 02:05:53 +00:00
jfrancis%netscape.com
10747a8399 fixing addref/release errors in SelectAll code - fixes bug #2166
git-svn-id: svn://10.0.0.236/trunk@17984 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 01:54:57 +00:00
jfrancis%netscape.com
372fb40b32 fixing bug in range endpoint comparison
git-svn-id: svn://10.0.0.236/trunk@17983 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 01:07:52 +00:00
mjudge%netscape.com
39596a0bb8 fixing linux
git-svn-id: svn://10.0.0.236/trunk@17982 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 01:00:31 +00:00
mjudge%netscape.com
815cd2038f update for linux
git-svn-id: svn://10.0.0.236/trunk@17981 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:40:38 +00:00
mjudge%netscape.com
63d65c3623 trying to fix linux..
git-svn-id: svn://10.0.0.236/trunk@17980 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:32:51 +00:00
mjudge%netscape.com
34e121bd88 test check
git-svn-id: svn://10.0.0.236/trunk@17979 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:13:07 +00:00
terry%netscape.com
140e93b105 Majorly changed querying of email addresses.
git-svn-id: svn://10.0.0.236/trunk@17978 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:07:46 +00:00
pierre%netscape.com
39b1681518 Paint only the damaged area instead of the whole widget. Reuse the rendering context to update the children. Scroll the children.
git-svn-id: svn://10.0.0.236/trunk@17977 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:02:51 +00:00
pierre%netscape.com
6df7749aba Numerous changes: introduced the DrawingSurface, a combination of GraphicState and GrafPort.
git-svn-id: svn://10.0.0.236/trunk@17976 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:02:15 +00:00
pierre%netscape.com
5ff85d5f7b DoMessagePump() no longer returns a boolean
git-svn-id: svn://10.0.0.236/trunk@17975 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-19 00:01:41 +00:00
buster%netscape.com
0d84dd5f3e workaround for bug 2476: check for null child list before calling nsFrameList::AppendFrames
git-svn-id: svn://10.0.0.236/trunk@17974 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 23:54:23 +00:00
pavlov%pavlov.net
56ad6341a4 fix mouse clicking
git-svn-id: svn://10.0.0.236/trunk@17973 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 23:42:04 +00:00
locka%iol.ie
d0d14bad7f Renamed m_nReadyState as m_nBrowserReadyState
Added fix to get_LocationURL, courtesy of Ryota Ando <rando@ca2.so-net.ne.jp>


git-svn-id: svn://10.0.0.236/trunk@17972 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 23:04:25 +00:00
mjudge%netscape.com
9251454eba Files for selection across frames.
git-svn-id: svn://10.0.0.236/trunk@17971 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:57:12 +00:00
locka%iol.ie
df3dbc9122 Added plugin headers. These are still #ifdef'd out for backwards compatibility
git-svn-id: svn://10.0.0.236/trunk@17970 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:38:46 +00:00
waterson%netscape.com
f52d81f64d Added documentation comments.
git-svn-id: svn://10.0.0.236/trunk@17969 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:31:05 +00:00
locka%iol.ie
802c8b4d2d First impl of ActiveX control site plugin
git-svn-id: svn://10.0.0.236/trunk@17968 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:29:43 +00:00
waterson%netscape.com
4b67c3a3c3 Added an assertion after OpenContainer() to help catch parse errors.
git-svn-id: svn://10.0.0.236/trunk@17967 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:14:59 +00:00
coop%netscape.com
df9664e830 NOT YET PART OF SEAMONKEY:
* added #defines for is_pointer/tag combos used in TypeDescriptors to match table in typelib spec.
* now handle error case in xpt_struct.c using macro
* still must do offset management


git-svn-id: svn://10.0.0.236/trunk@17966 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 22:04:49 +00:00
scc%netscape.com
7112370451 OK. We were wrong about the SOLARIS case. Sorry.
git-svn-id: svn://10.0.0.236/trunk@17964 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 20:32:41 +00:00
coop%netscape.com
c47ab182ae NOT YET PART OF SEAMONKEY:
* modified in-memory structs slightly to get them to compile
* xpt_strcut.c now compiles, and with no warnings (at no extra charge)
* still must do offset management


git-svn-id: svn://10.0.0.236/trunk@17963 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 19:53:47 +00:00
troy%netscape.com
5d136cd0e4 Changed to position absolute child elements relative to the padding edge not the
border edge


git-svn-id: svn://10.0.0.236/trunk@17962 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 19:30:42 +00:00
cls%seawood.org
0df6a2d9ae Don't include local cdefs.h if we have a system version.
git-svn-id: svn://10.0.0.236/trunk@17961 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 19:11:35 +00:00
cls%seawood.org
0d36c93ec3 Ifdef'd out obsolete header includes.
git-svn-id: svn://10.0.0.236/trunk@17960 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 19:05:24 +00:00
scc%netscape.com
a47b5a1409 Added patch for bsdi from netscape.public.mozilla.patches; removed test for !SOLARIS as agreed with macafee.
git-svn-id: svn://10.0.0.236/trunk@17958 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 18:32:33 +00:00
shaver%netscape.com
f3af37b200 Much XDR header whacking. Still need to figure out how the pool management
stuff looks.
Fixed XPT_PREAMBLE (again).
xpt_xdr.c now compiles!


git-svn-id: svn://10.0.0.236/trunk@17957 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 18:28:14 +00:00
shaver%netscape.com
e2bcd3d211 added libxpt Makefiles
git-svn-id: svn://10.0.0.236/trunk@17956 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 18:03:45 +00:00
shaver%netscape.com
10074f0384 fix up XPT_PREAMBLE booboo
git-svn-id: svn://10.0.0.236/trunk@17955 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:58:34 +00:00
shaver%netscape.com
8c0e3973f3 make goop (Win and Unix)
git-svn-id: svn://10.0.0.236/trunk@17954 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:44:06 +00:00
shaver%netscape.com
1a3b09ee9b make goop (Windows and Unix) and header fixes
git-svn-id: svn://10.0.0.236/trunk@17953 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:43:36 +00:00
troy%netscape.com
64fcc4cfa2 Improvements to absolute positioning code
git-svn-id: svn://10.0.0.236/trunk@17952 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:27:27 +00:00
troy%netscape.com
46eb195775 Initial check-in
git-svn-id: svn://10.0.0.236/trunk@17951 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:26:49 +00:00
coop%netscape.com
4082964458 NOT YET PART OF SEAMONKEY:
* updated XPT_Do code to match in-memory structs


git-svn-id: svn://10.0.0.236/trunk@17950 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 17:26:04 +00:00
shaver%netscape.com
ef01cf77ca new API stuff, and start on primitive implementations
git-svn-id: svn://10.0.0.236/trunk@17949 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 16:54:57 +00:00
rods%netscape.com
f07dcd7083 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@17948 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 15:14:00 +00:00
coop%netscape.com
1692a63ff2 NOT YET PART OF SEAMONKEY:
* Added at least basic comments for all structs.
* Added #defines for struct sizes.


git-svn-id: svn://10.0.0.236/trunk@17947 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 15:00:03 +00:00
fur%netscape.com
22c3cb9f47 Work in progress
git-svn-id: svn://10.0.0.236/trunk@17946 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 06:22:14 +00:00
vidur%netscape.com
1897c0ba41 Implemented Element::GetElementsByTagName. Fixed bug 2327 - forms appearing multiple times in document.forms array.
git-svn-id: svn://10.0.0.236/trunk@17945 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 03:43:43 +00:00
val4%cornell.edu
a8feca1043 Background image
git-svn-id: svn://10.0.0.236/trunk@17944 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 03:43:04 +00:00
troy%netscape.com
17ecd2e936 Added nsIAreaFrame
git-svn-id: svn://10.0.0.236/trunk@17943 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 03:14:48 +00:00
troy%netscape.com
525b1062ea Fix for bug #2450; 'padding' wasn't getting handled properly
git-svn-id: svn://10.0.0.236/trunk@17942 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 00:48:59 +00:00
karnaze%netscape.com
46dc14a9bb scrollable row groups
git-svn-id: svn://10.0.0.236/trunk@17941 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 23:35:56 +00:00
pavlov%pavlov.net
f875678a9c use the right visual when we create the pixmaps
git-svn-id: svn://10.0.0.236/trunk@17940 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 22:48:27 +00:00
pavlov%pavlov.net
3f34c23843 fix Invalidate() and Update()
git-svn-id: svn://10.0.0.236/trunk@17939 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 19:30:13 +00:00
pavlov%pavlov.net
1485e914c7 only create 1 GC since we are pushing the same visual for all of the widgets.
git-svn-id: svn://10.0.0.236/trunk@17938 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 18:58:28 +00:00
pavlov%pavlov.net
c14457833d fix for crashing.
git-svn-id: svn://10.0.0.236/trunk@17937 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 17:51:02 +00:00
rpotts%netscape.com
684383509d Changed NS_DOCUMENTLOADER_CID to the new NS_DOCUMENTLOADER_SERVICE_CID
git-svn-id: svn://10.0.0.236/trunk@17936 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 11:49:41 +00:00
rpotts%netscape.com
64515206b5 The DocumentLoader is now a global service. Rather than creating document loaders via the factory, they are now created as child loaders of the global DocumentLoader service which is accessable via GetService.
git-svn-id: svn://10.0.0.236/trunk@17935 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 11:48:58 +00:00
rpotts%netscape.com
dc9ee3099d Changed NS_DOCUMENTLOADER_CID to NS_DOCUMENTLOADER_SERVICE_CID
git-svn-id: svn://10.0.0.236/trunk@17934 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 11:47:27 +00:00
troy%netscape.com
e0f2b783e6 Added 'computedMargin' to nsHTMLReflowState, which replaced the individual
margin values (e.g., computedLeftMargin)


git-svn-id: svn://10.0.0.236/trunk@17933 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 05:43:02 +00:00
pavlov%pavlov.net
b4df8837c5 fix bustage
git-svn-id: svn://10.0.0.236/trunk@17932 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 03:08:56 +00:00
pavlov%pavlov.net
0323370c96 move the event queue into nsToolkit
git-svn-id: svn://10.0.0.236/trunk@17931 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 02:09:55 +00:00
pavlov%pavlov.net
7ad97a3888 remove unused code
git-svn-id: svn://10.0.0.236/trunk@17930 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 02:09:24 +00:00
pavlov%pavlov.net
397d825a68 Inherit nsDialog from nsWindow instead of nsWidget. s/Motif/GTK+/ in *.h for
some comments


git-svn-id: svn://10.0.0.236/trunk@17929 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-17 01:36:13 +00:00
pavlov%pavlov.net
be590a7f1b move some stuff from nsWindow to nsWidget. Removed more unused code, do
redraws correctly...


git-svn-id: svn://10.0.0.236/trunk@17928 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 23:12:35 +00:00
troy%netscape.com
a8f6c4be42 Fixed it so relatively positioned block frames act as containing blocks
for absolutely positioned child elements


git-svn-id: svn://10.0.0.236/trunk@17927 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 22:18:08 +00:00
troy%netscape.com
09fde7e34c Changed nsHTMLReflowState to compute 'offsets' for relatively positioned
elements


git-svn-id: svn://10.0.0.236/trunk@17926 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 20:58:17 +00:00
talisman%anamorphic.com
e776b17de6 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@17925 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 07:42:16 +00:00
pierre%netscape.com
46bf27e1f8 #2439: Links are not underlined correctly
git-svn-id: svn://10.0.0.236/trunk@17924 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 07:09:59 +00:00
alecf%netscape.com
0e1ebde9db change RemoveGroup a bit so we can remove by name and by newsgropu
git-svn-id: svn://10.0.0.236/trunk@17923 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:54:02 +00:00
alecf%netscape.com
9a8dd89fb4 adding new Category interface
git-svn-id: svn://10.0.0.236/trunk@17922 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:53:21 +00:00
alecf%netscape.com
c6499366d9 a little more - many more functions updated to match interface
git-svn-id: svn://10.0.0.236/trunk@17921 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:52:51 +00:00
alecf%netscape.com
eaf777dadd fix busted build in main tree
git-svn-id: svn://10.0.0.236/trunk@17920 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:52:29 +00:00
grail%cafebabe.org
1bda28a96d Lots of clean up with XML generated menus. Need some documentation
and action code inserted.


git-svn-id: svn://10.0.0.236/trunk@17919 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:24:25 +00:00
alecf%netscape.com
5fbd559ca3 back out relevant changes that broke the tree
git-svn-id: svn://10.0.0.236/trunk@17918 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 05:09:24 +00:00
alecf%netscape.com
10ce1a2ee5 add nsIMsgGroupRecord to build process
git-svn-id: svn://10.0.0.236/trunk@17917 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 04:59:25 +00:00
alecf%netscape.com
84a333ae28 new interface to nsMsgGroupRecord
git-svn-id: svn://10.0.0.236/trunk@17916 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 04:52:15 +00:00
alecf%netscape.com
95ddbb5ffd start moving stuff out of msgcom.h and into individual header files in mailnews
git-svn-id: svn://10.0.0.236/trunk@17915 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 04:44:00 +00:00
alecf%netscape.com
4089317770 adding MSG_FOLDER_FLAG* values from old include/msgcom.h
git-svn-id: svn://10.0.0.236/trunk@17914 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 04:30:00 +00:00
rickg%netscape.com
1de8de8681 fixed viewsource and parser/netlib bug
git-svn-id: svn://10.0.0.236/trunk@17913 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 04:25:40 +00:00
alecf%netscape.com
c6325f6625 more work trying to get this thing to compile - XPCOMify some interfaces
git-svn-id: svn://10.0.0.236/trunk@17912 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 03:57:39 +00:00
alecf%netscape.com
12f6e2266d adding new attributes subscribed and category
git-svn-id: svn://10.0.0.236/trunk@17911 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 03:56:56 +00:00
hyatt%netscape.com
614150d9c9 Added code to support CLSID instantiation. Approved by amusil and av.
git-svn-id: svn://10.0.0.236/trunk@17909 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 02:43:51 +00:00
scc%netscape.com
941d7a5f92 Now test pointer result _and_ error code on return from QueryInterface, as some implementations return garbage.
git-svn-id: svn://10.0.0.236/trunk@17908 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 02:37:22 +00:00
sfraser%netscape.com
e1b3d3bd12 Fix control key handling to call HandleControlKey, to fix the font problem. Also draw a box around the control for looks.
git-svn-id: svn://10.0.0.236/trunk@17907 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:42:33 +00:00
sfraser%netscape.com
37e14404f9 Mcmullen's fixes for scroll bar behaviour, and override a method so that scroll bars are sized correctly.
git-svn-id: svn://10.0.0.236/trunk@17906 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:41:20 +00:00
sfraser%netscape.com
1d7ca056f7 Tweak the window size so that the scroll bar is correctly positioned, and create a root Mac control for the window (so that we get control embedding).
git-svn-id: svn://10.0.0.236/trunk@17904 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:40:26 +00:00
sfraser%netscape.com
86e06cbf5a mcmullen's scrollbar fixes (use 32-bit control values), some tweaks of Mac control visibility to avoid drawing controls in the wrong places, add a couple of utility methods for creating and adjusting Mac controls.
git-svn-id: svn://10.0.0.236/trunk@17903 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:39:28 +00:00
davidm%netscape.com
17170dd5f8 2258 [PP] Messed up drawing after scrolling
git-svn-id: svn://10.0.0.236/trunk@17902 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:38:32 +00:00
sfraser%netscape.com
2046d592c4 Optimization: don't refocus a widget if it is already focussed
git-svn-id: svn://10.0.0.236/trunk@17901 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:30:40 +00:00
sfraser%netscape.com
bb73563bf0 Make the status bar read-only
git-svn-id: svn://10.0.0.236/trunk@17900 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:29:07 +00:00
ftang%netscape.com
6d11d388ca First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17899 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:29:00 +00:00
ftang%netscape.com
f8c10c6657 add EUC-JP converter
git-svn-id: svn://10.0.0.236/trunk@17898 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:20:44 +00:00
kipp%netscape.com
3c2e84fe27 Removed List code now that base class dumps all child lists
git-svn-id: svn://10.0.0.236/trunk@17897 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:19:30 +00:00
kipp%netscape.com
fd7f93dbd7 Update List implementations to use GetAdditionalChildLists so that all lists of children are dumped out automatically
git-svn-id: svn://10.0.0.236/trunk@17896 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:19:10 +00:00
kipp%netscape.com
4e355995e6 Spanked away SizeOf methods and nsIListFilter
git-svn-id: svn://10.0.0.236/trunk@17895 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:00:50 +00:00
kipp%netscape.com
5f839220a3 Removed IListFilter and SizeOf API usage
git-svn-id: svn://10.0.0.236/trunk@17894 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:51:00 +00:00
sfraser%netscape.com
8286fbb064 Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@17893 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:47:23 +00:00
guha%netscape.com
4995984517 started implementing history (not yet in build system)
git-svn-id: svn://10.0.0.236/trunk@17892 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:44:37 +00:00
alecf%netscape.com
15773fd920 update to reflect renaming nsIMsgNewsgroup -> nsINNTPNewsgroup
git-svn-id: svn://10.0.0.236/trunk@17891 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:38:04 +00:00
alecf%netscape.com
4570d5baf2 update idl and header files to reflect nsIMsgNewsgroup->nsINNTPNewsgroup change
git-svn-id: svn://10.0.0.236/trunk@17890 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:34:20 +00:00
alecf%netscape.com
95618732f8 rename nsIMsgNewsgroup -> nsINNTPNewsgroup
git-svn-id: svn://10.0.0.236/trunk@17889 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:31:39 +00:00
despotdaemon%netscape.com
1c030bfa0b Pseudo-automatic update of changes made by akkana@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17888 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:28:34 +00:00
jfrancis%netscape.com
d1c3b53530 redoing timer addref/release strategy, and guaranteeing that timers will only be put on the firing list _once_, even if a client tries to add it multiple times.
git-svn-id: svn://10.0.0.236/trunk@17887 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 23:18:57 +00:00
kipp%netscape.com
0471bcb97b Fixed a typo in the test url list
git-svn-id: svn://10.0.0.236/trunk@17886 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:58:06 +00:00
kipp%netscape.com
bcd0726142 new
git-svn-id: svn://10.0.0.236/trunk@17885 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:53:51 +00:00
kipp%netscape.com
1f0fa192a0 Switch to using nsFrameList for frame lists
git-svn-id: svn://10.0.0.236/trunk@17884 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:53:39 +00:00
kipp%netscape.com
c3040176bf Used revised version of nsContainerFrame that uses an nsFrameList instead of a raw nsIFrame*
git-svn-id: svn://10.0.0.236/trunk@17883 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:52:05 +00:00
dcone%netscape.com
478aeecf15 Added new postscript fontmetric code, and update the Device and Rendering context to use them
git-svn-id: svn://10.0.0.236/trunk@17882 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:44:32 +00:00
pierre%netscape.com
2a1651c3e4 fix for #2209 "Can't display toolbars and xpTree": always call CommonInit() in SelectDrawingSurface().
git-svn-id: svn://10.0.0.236/trunk@17881 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:35:41 +00:00
pierre%netscape.com
cf1d92e1f0 fixed the windowless menu handler to work with non-raptor windows (SIOUX debug window, for instance)
git-svn-id: svn://10.0.0.236/trunk@17880 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:34:59 +00:00
pierre%netscape.com
450d620463 no longer ignores the returned value from m_Observer->OnStartBinding(). This allows embedding apps (eg. Intuit) to intercept and filter URLs.
git-svn-id: svn://10.0.0.236/trunk@17879 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:34:46 +00:00
pierre%netscape.com
151f94686f fixed the bookmarks file path for the Mac
git-svn-id: svn://10.0.0.236/trunk@17878 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:34:15 +00:00
pierre%netscape.com
258d93b5db make aliases of RDF resources
git-svn-id: svn://10.0.0.236/trunk@17877 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:32:53 +00:00
joki%netscape.com
b10f143b39 Fix bogus return value on GetImageMap
git-svn-id: svn://10.0.0.236/trunk@17876 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:26:30 +00:00
harishd%netscape.com
221a2bc36c Added two new border style defines that
would be used later.


git-svn-id: svn://10.0.0.236/trunk@17875 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:24:29 +00:00
joki%netscape.com
06d70c449d Temporary fix to windows key events to give them a coord not associated with the mouse.
git-svn-id: svn://10.0.0.236/trunk@17874 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:24:23 +00:00
michaelp%netscape.com
3b9905b53c fixed busted javascript.
git-svn-id: svn://10.0.0.236/trunk@17873 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:16:40 +00:00
wtc%netscape.com
efcfe62f11 Bugzilla bug #2431: fixed PL_GetNextOpt so that it returns PL_OPT_BAD
instead of asserts when an option that has an associated value is
not followed by a value.  Also fixed a bug that incorrectly skipped
the option following a naked option.


git-svn-id: svn://10.0.0.236/trunk@17872 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:13:26 +00:00
michaelp%netscape.com
a1dbc02252 when a clip is specified for a view, the clip now only affects the
view for which it is specified, not any of it's children or other
views stacked "behind" it.


git-svn-id: svn://10.0.0.236/trunk@17871 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:11:46 +00:00
jfrancis%netscape.com
b21480c640 fixing destructor bug in Repeater
git-svn-id: svn://10.0.0.236/trunk@17870 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:11:16 +00:00
troy%netscape.com
c8ffafa0d6 Fixed it so that box offsets (left/right/top/bottom) can be negative numbers
git-svn-id: svn://10.0.0.236/trunk@17869 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:09:15 +00:00
terry%netscape.com
99aa534807 Allow querying by OS.
git-svn-id: svn://10.0.0.236/trunk@17868 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 22:05:42 +00:00
shaver%netscape.com
0d6c623096 more primitives and over-complex macros. next stop: bit-handling (not yet part of seamonkey)
git-svn-id: svn://10.0.0.236/trunk@17867 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 21:14:48 +00:00
terry%netscape.com
7053e3f078 When viewing a bug, make it possible to change its OS.
git-svn-id: svn://10.0.0.236/trunk@17866 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 20:39:20 +00:00
hshaw%netscape.com
31cbcecdc1 Remove C++ comments from previous checkin
git-svn-id: svn://10.0.0.236/trunk@17865 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 20:08:54 +00:00
rickg%netscape.com
797e5add3c fix for 2390
git-svn-id: svn://10.0.0.236/trunk@17864 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:55:29 +00:00
buster%netscape.com
a86baa60f0 comments and removal of dead code
git-svn-id: svn://10.0.0.236/trunk@17863 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:55:19 +00:00
gagan%netscape.com
6aa855c91d Switching off NU_CACHE by default for now...
git-svn-id: svn://10.0.0.236/trunk@17862 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:33:17 +00:00
rickg%netscape.com
2884211b1d fixed a dozen new parser bugs
git-svn-id: svn://10.0.0.236/trunk@17861 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:29:35 +00:00
coop%netscape.com
bcae14f76c NOT PART OF SEAMONKEY
- updated and streamlined in-memory structure to coincide with typelib specification.
- added comments for more obtuse structures


git-svn-id: svn://10.0.0.236/trunk@17860 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:23:40 +00:00
rickg%netscape.com
aaaf38083e exposed objectAt in deque, and fixed toInteger bug
git-svn-id: svn://10.0.0.236/trunk@17859 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:20:51 +00:00
vidur%netscape.com
c2d4d4ab29 Wildcard handling of document.getElementsByTagName. Better handling of casing and namespaces for tagNames.
git-svn-id: svn://10.0.0.236/trunk@17858 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 19:18:30 +00:00
mjudge%netscape.com
546bdab866 scc and I decided that the explicit keyword was not necessary for the constructor.
It never hurts you to make an nsCOMPtr.  MJ


git-svn-id: svn://10.0.0.236/trunk@17857 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:57:31 +00:00
guha%netscape.com
e1e2b2708a bookmarks stuff
git-svn-id: svn://10.0.0.236/trunk@17856 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:56:28 +00:00
alecf%netscape.com
9625b32c35 add useful constants
git-svn-id: svn://10.0.0.236/trunk@17855 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:28:52 +00:00
troy%netscape.com
8a00831853 Fix for bug #1998. Now we render the background image over the padding area and not over the border area
git-svn-id: svn://10.0.0.236/trunk@17854 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:25:58 +00:00
sfraser%netscape.com
47646ffd92 Turning off ATSUI font rendering (for now) so that QA can test layout that semi-works.
git-svn-id: svn://10.0.0.236/trunk@17853 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:18:02 +00:00
sfraser%netscape.com
8665f1db57 Another part of fix for 2411 -- add a condition that was in the 4.x codebase, that no font smaller than 9pt was used.
git-svn-id: svn://10.0.0.236/trunk@17852 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 18:15:21 +00:00
terry%netscape.com
209d13cfe2 Allow querying of URL.
git-svn-id: svn://10.0.0.236/trunk@17851 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 17:49:50 +00:00
kipp%netscape.com
7554cf628e Fixed absolute positioning bug I introduced in my last checkin
git-svn-id: svn://10.0.0.236/trunk@17850 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 17:33:00 +00:00
pinkerton%netscape.com
19c301f5fd remove powerplant debug/optimized libs.
git-svn-id: svn://10.0.0.236/trunk@17849 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 17:24:32 +00:00
despotdaemon%netscape.com
3f413cb923 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17848 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 17:02:49 +00:00
rpotts%netscape.com
437fa7cdb5 Always fire the OnStopBinding() notification... Even if a previous call to the stream listener returned an error...
git-svn-id: svn://10.0.0.236/trunk@17847 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 10:23:32 +00:00
rpotts%netscape.com
401a0c93d9 Added some more debug trace messages...
git-svn-id: svn://10.0.0.236/trunk@17846 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 10:10:46 +00:00
sfraser%netscape.com
0297504a3b Fix font selection when using ATSUI (part of bug 2411)
git-svn-id: svn://10.0.0.236/trunk@17845 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 05:23:23 +00:00
jfrancis%netscape.com
a662b272cd Removing Powerplant
git-svn-id: svn://10.0.0.236/trunk@17844 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 05:19:59 +00:00
jfrancis%netscape.com
cc277fb0fc Powerplant Removal
git-svn-id: svn://10.0.0.236/trunk@17843 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 05:15:26 +00:00
jfrancis%netscape.com
a17a5c72c4 Fixing leaking of GraphioStates in nsRenderingContextMac destructor
git-svn-id: svn://10.0.0.236/trunk@17842 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 05:14:51 +00:00
jfrancis%netscape.com
7a1879608d Powerplant removal
git-svn-id: svn://10.0.0.236/trunk@17841 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 05:11:22 +00:00
troy%netscape.com
4eab0af794 Fixed an assert that was getting hit for absolutely positioned elements
git-svn-id: svn://10.0.0.236/trunk@17840 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 04:28:17 +00:00
pierre%netscape.com
fb7e0083d9 added html/base/src/nsFrameList.cpp for Kipp
git-svn-id: svn://10.0.0.236/trunk@17839 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 03:51:15 +00:00
sfraser%netscape.com
6d6a2a47aa Bustage fix: adding PowerPlant library back (DEBUG target only)
git-svn-id: svn://10.0.0.236/trunk@17838 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 03:46:36 +00:00
talisman%anamorphic.com
1b86ec0556 Moved member boolean collapsible into the Collapsible interface, where it belongs. Added javadoc comments for API documentation.(talisman)
git-svn-id: svn://10.0.0.236/trunk@17837 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 03:39:10 +00:00
talisman%anamorphic.com
952312d17b Moved member boolean collapsible into the interface, where it belongs.(talisman)
git-svn-id: svn://10.0.0.236/trunk@17836 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 03:38:02 +00:00
peterl%netscape.com
4903734012 fixed bad html that triggers an interesting bug in select control frame
git-svn-id: svn://10.0.0.236/trunk@17835 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 03:01:28 +00:00
mcmullen%netscape.com
8d0407462f More build bustage.
git-svn-id: svn://10.0.0.236/trunk@17834 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:33:47 +00:00
alecf%netscape.com
128bbd56f0 include fe_proto.h instead of manually defining LINEBREAK
git-svn-id: svn://10.0.0.236/trunk@17833 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:11:42 +00:00
peterl%netscape.com
03c3316c37 better base url handling
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17832 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:09:56 +00:00
peterl%netscape.com
6a133b5aec better base url support
added support for "none" style change hint
added assert for recycling of html attributes

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17831 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:09:29 +00:00
peterl%netscape.com
5418d308a2 don't assert when not mapping anything without mapping function
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17830 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:08:20 +00:00
peterl%netscape.com
6f8531ba11 better base url support
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17829 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:07:46 +00:00
peterl%netscape.com
3ea8de5a73 better base url support
fixed assert in call to deprecated url method

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17828 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:07:15 +00:00
peterl%netscape.com
3d6d5eed05 better base URL support
better parsing of media types (per HTML4.0 spec)
enforce pseudo element sepectors at end of seletor list

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17827 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:06:13 +00:00
peterl%netscape.com
ca0b670784 better computation of style hint
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17826 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:04:51 +00:00
peterl%netscape.com
745ebf782f better base url support
fixed parsing of media attribute

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17825 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:02:48 +00:00
peterl%netscape.com
707412ef5e better base url and target support
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17824 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 02:01:36 +00:00
peterl%netscape.com
7f81a64fe4 better base URL support
set base url when parsing style attributes
better style attribute change notification

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17823 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:59:42 +00:00
peterl%netscape.com
404b08681a made font color also set text decoration color
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17822 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:58:41 +00:00
peterl%netscape.com
7a0ed38a4e better base URL support
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17821 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:57:58 +00:00
peterl%netscape.com
3c961a8c32 changed parent/child ref/counting policy
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17820 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:57:05 +00:00
peterl%netscape.com
80f5bcaac3 added better base url support
tweaks to attribute change notification

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17819 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:56:18 +00:00
alecf%netscape.com
fa221950f2 add XPPtrArray and related classes
git-svn-id: svn://10.0.0.236/trunk@17818 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:54:38 +00:00
peterl%netscape.com
7b54523bc5 added GetBaseURL
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17817 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:53:50 +00:00
peterl%netscape.com
f40f1b9daa added style hint "none"
Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17816 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:53:03 +00:00
peterl%netscape.com
faf263ca85 finally removed compatibility emulation of Nav font rounding bug
Let the games begin

Checkin during red tree approved by sar


git-svn-id: svn://10.0.0.236/trunk@17815 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:52:03 +00:00
kipp%netscape.com
f547bf04d4 Fixed up print-preview menu
git-svn-id: svn://10.0.0.236/trunk@17814 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:31:39 +00:00
kipp%netscape.com
a8300fda29 Stop using reflow commands for frame structure changes; instead invoke methods on the frames which then generate reflow commands as needed
git-svn-id: svn://10.0.0.236/trunk@17813 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:30:12 +00:00
kipp%netscape.com
ff4f7a9fe8 Implement temporary versions of AppendFrames/InsertFrames/RemoveFrame; stub out ReplaceFrame
git-svn-id: svn://10.0.0.236/trunk@17812 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:29:15 +00:00
kipp%netscape.com
098c401a87 Added nsFrameList to the build
git-svn-id: svn://10.0.0.236/trunk@17811 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:28:46 +00:00
kipp%netscape.com
ef96cd4a72 Added append/insert/remove/replace methods
git-svn-id: svn://10.0.0.236/trunk@17810 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:28:28 +00:00
kipp%netscape.com
f465191dd8 new
git-svn-id: svn://10.0.0.236/trunk@17809 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:28:07 +00:00
kipp%netscape.com
b2faafdce6 Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@17808 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 01:01:39 +00:00
mcmullen%netscape.com
9905bf6e1a Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@17807 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:57:14 +00:00
jfrancis%netscape.com
a47c7d6527 turning building of PP back on for now - something else appears to need it.
git-svn-id: svn://10.0.0.236/trunk@17806 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:28:12 +00:00
jfrancis%netscape.com
f0f22a9148 Removing Powerplant
git-svn-id: svn://10.0.0.236/trunk@17805 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:12:02 +00:00
alecf%netscape.com
1b2a75f8e6 add imap to build tree
git-svn-id: svn://10.0.0.236/trunk@17804 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:08:56 +00:00
alecf%netscape.com
7888f0ca7a nsINNTPHost and nsNNTPHost now compile.
git-svn-id: svn://10.0.0.236/trunk@17803 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:08:34 +00:00
alecf%netscape.com
0319af5eec fix Emacs identing line
git-svn-id: svn://10.0.0.236/trunk@17802 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:07:52 +00:00
coop%netscape.com
9d9781932c Fleshed out XDR code for in-memory structs.
To do:
- still need to track data pool offsets for most structs


git-svn-id: svn://10.0.0.236/trunk@17801 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:06:44 +00:00
jfrancis%netscape.com
73d5178d78 Removing Powerplant
git-svn-id: svn://10.0.0.236/trunk@17800 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:06:35 +00:00
alecf%netscape.com
0a0005d6bc fix Emacs indenting
git-svn-id: svn://10.0.0.236/trunk@17799 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:06:12 +00:00
alecf%netscape.com
31c86c4cb7 update NSPR APIs and fix Emacs identing
git-svn-id: svn://10.0.0.236/trunk@17798 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:05:47 +00:00
coop%netscape.com
f10c484578 Made necessary modifications to in-memory structs after writing some of
the XDR code for them.


git-svn-id: svn://10.0.0.236/trunk@17797 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:04:56 +00:00
sfraser%netscape.com
42d6e74fbe Reinstate buster's changes, with a fix for the nsCOMPtr problem.
git-svn-id: svn://10.0.0.236/trunk@17796 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:03:41 +00:00
alecf%netscape.com
3a4c7fbd89 fix Emacs identing
git-svn-id: svn://10.0.0.236/trunk@17795 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:03:24 +00:00
jfrancis%netscape.com
582edeead6 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17794 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:01:47 +00:00
alecf%netscape.com
5833f62773 new nsIMAPGroupRecord
git-svn-id: svn://10.0.0.236/trunk@17793 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:00:49 +00:00
alecf%netscape.com
86dfe9cb2d start building nsMsgGroupRecord
git-svn-id: svn://10.0.0.236/trunk@17792 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-15 00:00:31 +00:00
alecf%netscape.com
05dde72e8f move nsIMsgHost.* into base
git-svn-id: svn://10.0.0.236/trunk@17791 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:51:32 +00:00
davidm%netscape.com
6821d981a7 2312 When not using ATSUI, no conversion is made from Latin-1 to MacRoman
2155  Proportional font spacing issues using metrics ( fix for nonATSUI drawing case )


git-svn-id: svn://10.0.0.236/trunk@17790 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:51:17 +00:00
gagan%netscape.com
8a5d4c16b8 Fix for 1856 and 2094. is_write_ready for the next stream was returning 0 and we were continuing to write with that size (0). This triggered the end of stream. Now we correctly do nothing if is_write_ready returns 0.
git-svn-id: svn://10.0.0.236/trunk@17789 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:51:11 +00:00
sfraser%netscape.com
f55d23d9be Call Inherited::SetFont in the SetFont method
git-svn-id: svn://10.0.0.236/trunk@17788 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:43:41 +00:00
vidur%netscape.com
2fdb6d754e clone test
git-svn-id: svn://10.0.0.236/trunk@17787 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:42:11 +00:00
sfraser%netscape.com
08e3cd334b Fix a couple of warnings by making callbacks static.
git-svn-id: svn://10.0.0.236/trunk@17786 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:37:57 +00:00
sfraser%netscape.com
4bb3f24b2b Moved nsTextNode.cpp, nsCommentNode.cpp, nsGenericDOMDataNode.cpp from html/content to base (for vidur)
git-svn-id: svn://10.0.0.236/trunk@17785 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:37:18 +00:00
law%netscape.com
89203899af Updated with new enumerator protocols
git-svn-id: svn://10.0.0.236/trunk@17784 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:30:44 +00:00
mcmullen%netscape.com
89a909043d Added all the nucache files to the memory module project (as a group) so that NU_CACHE can be turned on with a flick of the wrist, made the modular memory library build with the NU_CACHE flag turned on, fixed build warnings and errors. The NU_CACHE flag is still OFF, because the database code doesn't exist for Macintosh or Unix :-(
git-svn-id: svn://10.0.0.236/trunk@17783 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:27:36 +00:00
mcmullen%netscape.com
9b9be1867f Fixed some warnings.Added all the nucache files to the memory module project (as a group) so that NU_CACHE can be turned on with a flick of the wrist, made the modular memory library build with the NU_CACHE flag turned on, fixed build warnings and errors. The NU_CACHE flag is still OFF, because the database code doesn't exist for Macintosh or Unix :-(
git-svn-id: svn://10.0.0.236/trunk@17782 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:27:27 +00:00
ftang%netscape.com
e4802c01ae fix the bug which will crash when some converter are not available
git-svn-id: svn://10.0.0.236/trunk@17781 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:24:17 +00:00
ftang%netscape.com
0ece72f323 add greek test case
git-svn-id: svn://10.0.0.236/trunk@17780 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:23:30 +00:00
ftang%netscape.com
043757e9fc add ucvlatin into -I
git-svn-id: svn://10.0.0.236/trunk@17779 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:23:13 +00:00
mcmullen%netscape.com
46a406db90 Added all the nucache files to the memory module project (as a group) so that NU_CACHE can be turned on with a flick of the wrist, made the modular memory library build with the NU_CACHE flag turned on, fixed build warnings and errors. The NU_CACHE flag is still OFF, because the database code doesn't exist for Macintosh or Unix :-(
git-svn-id: svn://10.0.0.236/trunk@17778 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:21:06 +00:00
alecf%netscape.com
ccf32dc186 add new MIME and IMAP trees to --enable-mailnews
git-svn-id: svn://10.0.0.236/trunk@17777 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:20:33 +00:00
alecf%netscape.com
66bdba18ff add new IMAP makefiles
git-svn-id: svn://10.0.0.236/trunk@17776 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:16:27 +00:00
vidur%netscape.com
d81e61b1ff Moved text and comment code out of HTML-specific directories. Completed CloneNode for elements. Completed factory methods for intersection of XML and HTML.
git-svn-id: svn://10.0.0.236/trunk@17775 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:14:02 +00:00
alecf%netscape.com
9b8f7545fe adding nsMsgGroupRecord (previously msg_GroupRecord)
git-svn-id: svn://10.0.0.236/trunk@17773 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:09:22 +00:00
dveditz%netscape.com
1ff29abbe0 merging in changes from Classic branch. Not part of SeaMonkey build (yet)
git-svn-id: svn://10.0.0.236/trunk@17772 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:08:21 +00:00
waterson%netscape.com
5d490128a8 Turn off arithmetic conversion warnings in build.
git-svn-id: svn://10.0.0.236/trunk@17770 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:05:28 +00:00
waterson%netscape.com
f48c09fa09 Fix compiler warning.
git-svn-id: svn://10.0.0.236/trunk@17769 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:04:59 +00:00
despotdaemon%netscape.com
92b1cc77bb Pseudo-automatic update of changes made by val4@cornell.edu.
git-svn-id: svn://10.0.0.236/trunk@17768 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:04:41 +00:00
waterson%netscape.com
52326281de Oops. Had an = when I meant ==.
git-svn-id: svn://10.0.0.236/trunk@17767 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:04:16 +00:00
waterson%netscape.com
7ad183bf13 Fixed compiler warning.
git-svn-id: svn://10.0.0.236/trunk@17766 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:03:07 +00:00
pavlov%pavlov.net
82360354b0 #ifdef around some recent gtk changes
git-svn-id: svn://10.0.0.236/trunk@17765 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 23:02:50 +00:00
terry%netscape.com
cec25e81be rickg now owns what toshok did.
git-svn-id: svn://10.0.0.236/trunk@17753 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 22:18:58 +00:00
buster%netscape.com
045c82cdbf backed out Merge functionality because it doesn't compile on Mac.
git-svn-id: svn://10.0.0.236/trunk@17752 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 21:52:08 +00:00
despotdaemon%netscape.com
552637d5ff Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17750 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 20:41:35 +00:00
mcmullen%netscape.com
5922ad8b08 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17749 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 19:46:11 +00:00
buster%netscape.com
162941cddc added pres shell to nsIEditor::Init
git-svn-id: svn://10.0.0.236/trunk@17748 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 19:41:38 +00:00
mcmullen%netscape.com
875d966f65 Added #ifdefs to recent temp hack, to make it easy to turn the temp hack off.
git-svn-id: svn://10.0.0.236/trunk@17747 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 19:36:22 +00:00
pinkerton%netscape.com
b3353eb548 fix misunderstanding with params to SetText()
git-svn-id: svn://10.0.0.236/trunk@17746 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:57:44 +00:00
pinkerton%netscape.com
baa0573468 fix misunderstanding with parameters in SetText()
git-svn-id: svn://10.0.0.236/trunk@17745 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:56:49 +00:00
buster%netscape.com
4cd5464496 pass the pres shell to the editor init method
git-svn-id: svn://10.0.0.236/trunk@17744 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:52:16 +00:00
gagan%netscape.com
5d422e8d5b Fix the errors resulting from no Content-Length headers.
git-svn-id: svn://10.0.0.236/trunk@17743 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:47:38 +00:00
pavlov%pavlov.net
9c2f480a0e fix bug 2352
git-svn-id: svn://10.0.0.236/trunk@17742 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:35:55 +00:00
dcone%netscape.com
d6dd039681 Added files DeleteRangeTxn.cpp DeleteNodeTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17741 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:19:19 +00:00
buster%netscape.com
dceac9452d added DeleteElementTxn and DeleteRangeTxn, and added merging of text insertions.
added some better error checking on all transactions.


git-svn-id: svn://10.0.0.236/trunk@17740 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 18:02:45 +00:00
shaver%netscape.com
f062e83a76 updated API example in XPT_DoIDE
git-svn-id: svn://10.0.0.236/trunk@17739 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 17:35:14 +00:00
larryh%netscape.com
a3ac02c342 Diffs from John Fairhurst mjf35@hermes.cam.ac.uk for OS/2
git-svn-id: svn://10.0.0.236/trunk@17738 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 16:14:22 +00:00
waterson%netscape.com
deecde44a4 Rearranged stream and content sink stuff to be a part of base: content sink will eventually be replaced by a lower-level parser implementation. Improved the named data source handling.
git-svn-id: svn://10.0.0.236/trunk@17737 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 10:55:08 +00:00
ftang%netscape.com
ee542163d0 make UNIX build and run
git-svn-id: svn://10.0.0.236/trunk@17736 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 10:28:18 +00:00
ftang%netscape.com
2d37ef1259 fix the FastTableInit code
git-svn-id: svn://10.0.0.236/trunk@17730 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 08:49:03 +00:00
ftang%netscape.com
4d05a35652 fix the 0x00-0x20 and 0x7f problem nsUnicodeDecodeUtil.cpp
git-svn-id: svn://10.0.0.236/trunk@17729 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 08:22:31 +00:00
ftang%netscape.com
08a09d5e00 fix charset is caseless bug
git-svn-id: svn://10.0.0.236/trunk@17724 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:46:17 +00:00
ftang%netscape.com
91bf06000f add ucvlatin, add cp1253, iso-8859-1, windows-1253 converter, change the nsIUnicodeDecodeUtil interface
git-svn-id: svn://10.0.0.236/trunk@17722 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:39:45 +00:00
ftang%netscape.com
0fa4a59674 add first check in
git-svn-id: svn://10.0.0.236/trunk@17721 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:35:24 +00:00
pierre%netscape.com
a5b1311644 fixed build breakage
git-svn-id: svn://10.0.0.236/trunk@17720 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:30:02 +00:00
sfraser%netscape.com
cc87efd697 Fix build bustage (adding method CreateFontAliasTable())
git-svn-id: svn://10.0.0.236/trunk@17719 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:14:24 +00:00
pierre%netscape.com
a1c5cf9b9d Fix (part of) bug 2154: small-caps are displayed with the 'condense' attribute.
git-svn-id: svn://10.0.0.236/trunk@17718 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:12:07 +00:00
pierre%netscape.com
7e6e42282a Fixed the mouseRgn in WaitNextEvent in order not to continuously send mouseMoved events.
git-svn-id: svn://10.0.0.236/trunk@17717 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 07:02:28 +00:00
pierre%netscape.com
d0824bc3f6 Fix (part of) bug 2154: small-caps are displayed with the 'condense' attribute.
git-svn-id: svn://10.0.0.236/trunk@17716 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:54:21 +00:00
rpotts%netscape.com
5ab09dfebf Fixed up the signature for nsIContentViewerContainer::GetContentViewer()...
git-svn-id: svn://10.0.0.236/trunk@17715 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:49:59 +00:00
rpotts%netscape.com
9251d0c8b0 Added support for GetContainer()/SetContainer(). Added the OnStartURLLoad() notification to the DocumentLoadObserver...
git-svn-id: svn://10.0.0.236/trunk@17714 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:44:23 +00:00
rpotts%netscape.com
73e2ec4c7e Added OnStartURLLoad() notification which is called whenever the document loader has established a connection...
git-svn-id: svn://10.0.0.236/trunk@17713 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:37:11 +00:00
rpotts%netscape.com
f98ba48091 Added GetContainer() and SetContainer() methods which allow access to the ContentViewerContainer (ie webshell) associated with the document loader.
git-svn-id: svn://10.0.0.236/trunk@17712 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:34:56 +00:00
rpotts%netscape.com
943b5057e7 Moved GetContentViewer() from nsIWebShell into nsIContentViewerContainer...
git-svn-id: svn://10.0.0.236/trunk@17711 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:33:54 +00:00
rpotts%netscape.com
2c59a6eb70 Add some code that was lost from nsURL.cpp OpenStream(...). Use the nsIURLGroup if available to open the stream. This allows URL loads to be grouped together.
git-svn-id: svn://10.0.0.236/trunk@17710 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 06:12:36 +00:00
sfraser%netscape.com
db5ebeda1e No longer call the static method of nsFontMetricsMac in StartDraw; since nsMacControl implements SetFont now, this is no longer necessary.
git-svn-id: svn://10.0.0.236/trunk@17709 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:50:56 +00:00
sfraser%netscape.com
26ba0ffeae Add a utility routine to set the port's text traits, and call it from GetWidth and DrawString. Also fix warnings with the ATSUI calls, and fix the ATSUI #ifdef so that it's possible to #ifdef out all calls to the ATSUI library.
git-svn-id: svn://10.0.0.236/trunk@17708 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:49:51 +00:00
sfraser%netscape.com
707af630d5 Override SetFont to setup the control font properly. Previously, it was being picked up from the port just before drawing, which no longer works after the font optimizations in GFX.
git-svn-id: svn://10.0.0.236/trunk@17707 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:48:29 +00:00
sfraser%netscape.com
057f004909 Fix for bug 2211, and other font rendering changes and fixes. Fix davidm's changes to avoid blowing the font cache, change the static function to return font information, rather than set it.
git-svn-id: svn://10.0.0.236/trunk@17706 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:47:20 +00:00
sfraser%netscape.com
e1318ff7cd Override CreateFontAliasTable to tweak the font settings for Mac (specifically, use Courier in preference to Courier New for the fixed width font). Also #ifdef out the font num cache, now that nsFontMetricsMac is smarter about cacheing the font num.
git-svn-id: svn://10.0.0.236/trunk@17705 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:44:50 +00:00
sfraser%netscape.com
19b8fd4bae Added FontManager lib, for the call to the MacOS 8.5 routine FetchFontInfo
git-svn-id: svn://10.0.0.236/trunk@17704 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:43:18 +00:00
sfraser%netscape.com
d96a496896 Warnings fix (remove ; )
git-svn-id: svn://10.0.0.236/trunk@17703 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:37:28 +00:00
troy%netscape.com
ecc9f6f19d Removed the content-parent frame pointer. Now we just have the one geometric
parent


git-svn-id: svn://10.0.0.236/trunk@17702 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:16:23 +00:00
troy%netscape.com
5caea33110 Fix for bug #2316. Added back some code I removed because I didn't think we
needed it, but without out it 'color' doesn't inherit properly


git-svn-id: svn://10.0.0.236/trunk@17701 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:14:11 +00:00
sfraser%netscape.com
1667c46952 Warning fix (remove ;)
git-svn-id: svn://10.0.0.236/trunk@17700 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:12:30 +00:00
endico%mozilla.org
1d6131a23a Be still more terse.
git-svn-id: svn://10.0.0.236/trunk@17699 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 05:00:43 +00:00
endico%mozilla.org
b38a1bbdc3 make the credits at the end of each page more terse
git-svn-id: svn://10.0.0.236/trunk@17697 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 04:53:30 +00:00
jband%netscape.com
fb0c34af4a NOT PART OF SEAMONKEY - factored out data conversion routines, need to now make them handle datatypes not yet handled
git-svn-id: svn://10.0.0.236/trunk@17696 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 04:25:31 +00:00
endico%mozilla.org
fad62ea3b8 fix regexps to fix shaver's xpcom/tools/xpidl/ description bustage
git-svn-id: svn://10.0.0.236/trunk@17695 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 03:52:10 +00:00
dougt%netscape.com
fda6b1aa8a Initial Checkin of SilentDownload examples.
git-svn-id: svn://10.0.0.236/trunk@17681 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 01:48:18 +00:00
dougt%netscape.com
adbc6f06d0 Initial checkin of Silentdownload. This does not hook it up to the build
system.


git-svn-id: svn://10.0.0.236/trunk@17680 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 01:47:16 +00:00
despotdaemon%netscape.com
a305cc3f93 Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17674 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 00:46:13 +00:00
alecf%netscape.com
6e4020a144 move to new NSPR APIs
git-svn-id: svn://10.0.0.236/trunk@17673 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 00:45:46 +00:00
alecf%netscape.com
5add71ad41 Ignore Makefile's
git-svn-id: svn://10.0.0.236/trunk@17672 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 00:42:15 +00:00
alecf%netscape.com
d34fd206f5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@17671 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-14 00:41:25 +00:00
val4%cornell.edu
1f3ae5b4a0 Working on condensing the file manipulation functions.
Some error checking.


git-svn-id: svn://10.0.0.236/trunk@17666 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 23:39:46 +00:00
norris%netscape.com
301616f606 fix bug 335882: crash printing out a function
git-svn-id: svn://10.0.0.236/trunk@17665 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 23:28:45 +00:00
alecf%netscape.com
dbba5b8db2 PL_Malloc -> PR_Malloc
(oops)


git-svn-id: svn://10.0.0.236/trunk@17663 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 22:48:44 +00:00
jband%netscape.com
f2d2484bc9 NOT PART OF SEAMONKEY - initial stuff for calling from native to JS (works with int params and hardcoded InterfaceInfo). quick implementation of nsID for JavaScript
git-svn-id: svn://10.0.0.236/trunk@17662 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 22:45:12 +00:00
shaver%netscape.com
94275ccb6c start of per-struct XDR code; a: leaf
git-svn-id: svn://10.0.0.236/trunk@17661 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 21:52:02 +00:00
terry%netscape.com
2187a56ca7 Oops; wasn't cleaning up properly.
git-svn-id: svn://10.0.0.236/trunk@17659 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 20:33:03 +00:00
terry%netscape.com
8f4dfd10d3 despot now also automatically creates mailing lists of people who can
check into a repository.


git-svn-id: svn://10.0.0.236/trunk@17658 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 20:31:36 +00:00
sfraser%netscape.com
bd27d339e7 Remove nsEditorInterfaces.cpp
git-svn-id: svn://10.0.0.236/trunk@17654 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 19:16:26 +00:00
buster%netscape.com
aaf9843c9f removed nsEditorInterfaces.cpp and all references to global methods therein.
all editing is handled by the editor now.


git-svn-id: svn://10.0.0.236/trunk@17653 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 18:52:02 +00:00
buster%netscape.com
2ec12ddca8 removed the test inspectors from the menu. They were confusing people.
When the time is right, I'll add them back in conditionally.


git-svn-id: svn://10.0.0.236/trunk@17652 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 18:14:35 +00:00
shaver%netscape.com
9da4ecb3d3 more header goo, xdr implementation stubs
git-svn-id: svn://10.0.0.236/trunk@17651 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 15:20:25 +00:00
rickg%netscape.com
fbfe87c995 fixed nested listing bug, and prep work for new logparse system
git-svn-id: svn://10.0.0.236/trunk@17650 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 08:43:20 +00:00
pollmann%netscape.com
1c39ca1162 Bug 2088 2099: Similar fixes for nsListBox (add PreCreateWidget to get mMultiSelect)
git-svn-id: svn://10.0.0.236/trunk@17648 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 07:27:24 +00:00
rpotts%netscape.com
c7fcd604c6 If no range headers are set then return NULL from GetByteRangeHeader() not an empty string...
git-svn-id: svn://10.0.0.236/trunk@17647 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 07:17:39 +00:00
pollmann%netscape.com
a58c0398d8 Bug 2088 2099: Check the IsPassword and IsReadOnly data members on creation.
git-svn-id: svn://10.0.0.236/trunk@17646 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 07:14:22 +00:00
pollmann%netscape.com
3d8261ebe9 Bug 2088 2099: Add PreCreateWidget method for password and readonly text elements.
git-svn-id: svn://10.0.0.236/trunk@17645 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 07:09:21 +00:00
troy%netscape.com
e69d38cccb Fix for bug #2276, and some initial support for 'right' and 'bottom'
for absolutely positioned elements


git-svn-id: svn://10.0.0.236/trunk@17644 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 06:37:31 +00:00
grail%cafebabe.org
c372c414ad Fix to get sizes of folder, threads, and messages to retain sizing
information.


git-svn-id: svn://10.0.0.236/trunk@17643 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 05:59:26 +00:00
rhp%netscape.com
c051bc3777 Adding modular libMIME to the tree.
git-svn-id: svn://10.0.0.236/trunk@17642 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 02:51:00 +00:00
mcmullen%netscape.com
629f7e6755 These include fixes of crashing bugs that were in the Nova tree and made since the last merge point (April 98), along with some bug prevention efforts, such as unobfuscating the return types. For example, some JSBools were being simply cast to a return value of "int", reversing their sense (success = JS_TRUE = 1 != 0)! In a world where everybody returns "int", the hidden bug is king.
git-svn-id: svn://10.0.0.236/trunk@17640 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 02:32:09 +00:00
rhp%netscape.com
80f6c6fa18 Adding modular libMIME to the tree.
git-svn-id: svn://10.0.0.236/trunk@17639 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 02:26:49 +00:00
davidm%netscape.com
418e0c2c79 Bugzilla [PP] Font mapping is wrong
git-svn-id: svn://10.0.0.236/trunk@17638 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 02:14:10 +00:00
rhp%netscape.com
2b4f3e72b9 Adding modular libMIME to the tree.
git-svn-id: svn://10.0.0.236/trunk@17637 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 01:54:56 +00:00
ebina%netscape.com
33caa0addc Add the gzip decoder back in.
git-svn-id: svn://10.0.0.236/trunk@17636 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 01:43:28 +00:00
petitta%netscape.com
db6199f447 Temporarly took out #define MOZ_FULLCIRCLE
git-svn-id: svn://10.0.0.236/trunk@17635 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 01:11:54 +00:00
petitta%netscape.com
1340dbe0ef Full Circle Mods
git-svn-id: svn://10.0.0.236/trunk@17634 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:46:28 +00:00
troy%netscape.com
bbcce4c71a Re-commiting my fucking changes...
git-svn-id: svn://10.0.0.236/trunk@17633 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:44:48 +00:00
troy%netscape.com
bb626b6036 Re-committing my fucking changes...
git-svn-id: svn://10.0.0.236/trunk@17632 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:38:29 +00:00
ebina%netscape.com
b860710c8e Once I turn on automatic decompressing gain we will have a dependency
on the zip library here.


git-svn-id: svn://10.0.0.236/trunk@17631 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:19:29 +00:00
pinkerton%netscape.com
4cd5350a12 fix problem where SetText would truncate text to 255.
git-svn-id: svn://10.0.0.236/trunk@17630 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:03:05 +00:00
pinkerton%netscape.com
496db1c678 fix #2247 to fix lack of redraw when text is set
git-svn-id: svn://10.0.0.236/trunk@17629 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:02:51 +00:00
cltbld%netscape.com
cd62100e23 backing out changes made against a red tree
git-svn-id: svn://10.0.0.236/trunk@17628 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-13 00:00:57 +00:00
vidur%netscape.com
672d296303 Fix for bug 1258. Content sink flushes tags when it sees a script, but makes sure that reflow doesn't happen until its safe again.
git-svn-id: svn://10.0.0.236/trunk@17627 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:49:13 +00:00
petitta%netscape.com
2f690d5017 Fixed Syntax errors
git-svn-id: svn://10.0.0.236/trunk@17626 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:32:30 +00:00
petitta%netscape.com
ae0b14d006 Set MOZ_FULLCIRCLE = 0
git-svn-id: svn://10.0.0.236/trunk@17625 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:27:04 +00:00
troy%netscape.com
9654e78020 Fixed a memory leak
git-svn-id: svn://10.0.0.236/trunk@17624 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:17:49 +00:00
troy%netscape.com
b2b5d3f972 Moved a NS_RELEASE to a different point so we're less likely to have a non-local exit
miss the release


git-svn-id: svn://10.0.0.236/trunk@17623 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:17:20 +00:00
pollmann%netscape.com
73e3b8a43c Bug 2234: Crash on JS Submit().
git-svn-id: svn://10.0.0.236/trunk@17622 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 23:11:26 +00:00
petitta%netscape.com
bd7aae37af Fixed my boneheaded syntax goofs.....
git-svn-id: svn://10.0.0.236/trunk@17621 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:47:08 +00:00
shaver%netscape.com
13346a8dec initial XDR primitives
git-svn-id: svn://10.0.0.236/trunk@17620 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:36:11 +00:00
gagan%netscape.com
87b98ccf20 Fixed MAX_FORMATS_OUT which is now correctly defined in net.h. Thanks ebina.
git-svn-id: svn://10.0.0.236/trunk@17619 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:34:58 +00:00
despotdaemon%netscape.com
6be3aae4eb Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17618 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:34:49 +00:00
gagan%netscape.com
06fa45f3b8 Fixed MAX_FORMATS_OUT that used to be incorrectly set.
git-svn-id: svn://10.0.0.236/trunk@17617 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:34:20 +00:00
alecf%netscape.com
704571812b update to use new NSPR APIs
git-svn-id: svn://10.0.0.236/trunk@17616 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:03:59 +00:00
alecf%netscape.com
90489758d1 fix string routines to use NSPR
git-svn-id: svn://10.0.0.236/trunk@17615 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 21:01:54 +00:00
petitta%netscape.com
7b94973506 Added MOZ_FULLCIRCLE for the TalkBack Client.
git-svn-id: svn://10.0.0.236/trunk@17614 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:57:30 +00:00
petitta%netscape.com
3ec094cb24 Updated to handle Talkback Client.
git-svn-id: svn://10.0.0.236/trunk@17613 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:53:24 +00:00
despotdaemon%netscape.com
662ba5f4fc Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17612 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:50:56 +00:00
despotdaemon%netscape.com
705558e337 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17611 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:50:23 +00:00
petitta%netscape.com
d83e0f433d Updated Build scripts for the inclusion of the talkback stuff.
git-svn-id: svn://10.0.0.236/trunk@17610 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:49:54 +00:00
alecf%netscape.com
bb238f863d rename nsIMsgNewsHost -> nsINNTPHost in all files that use it
git-svn-id: svn://10.0.0.236/trunk@17609 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:44:13 +00:00
alecf%netscape.com
0ae88c5c48 add new nsNNTPHost implementation - NNTP specific version of nsIMsgHost, implementation of nsINNTPHost
git-svn-id: svn://10.0.0.236/trunk@17608 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:42:22 +00:00
alecf%netscape.com
9f2af5acbd get Emacs mode line right for IDL!
git-svn-id: svn://10.0.0.236/trunk@17607 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:41:04 +00:00
alecf%netscape.com
25444d1c4c adding new nsIMsgHost interface
git-svn-id: svn://10.0.0.236/trunk@17606 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:37:41 +00:00
alecf%netscape.com
250cc6f3dc rename nsIMsgNewsHost -> nsINNTPHost and start adding old MSG_NewsHost methods
git-svn-id: svn://10.0.0.236/trunk@17605 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:36:37 +00:00
despotdaemon%netscape.com
1b72eebb15 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@17604 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 20:23:14 +00:00
despotdaemon%netscape.com
9464edcc8f Pseudo-automatic update of changes made by cbegle@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17603 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:59:19 +00:00
dougt%netscape.com
dac03c0d9a Added GetContentLength and GetServerStatus to nsIURL class
git-svn-id: svn://10.0.0.236/trunk@17602 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:45:46 +00:00
waterson%netscape.com
d2fd5b8e78 Obsoleted.
git-svn-id: svn://10.0.0.236/trunk@17601 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:42:36 +00:00
waterson%netscape.com
f4e23d1ec9 Added resources to build.
git-svn-id: svn://10.0.0.236/trunk@17598 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:41:44 +00:00
waterson%netscape.com
c637ea386a Factored content model builder code into its own interface. Hooked up RDF-to-content model notification. Minor bug fixes in data sources.
git-svn-id: svn://10.0.0.236/trunk@17595 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:41:06 +00:00
coop%netscape.com
e922cb1761 Removed references to xpidl_typelib.h
git-svn-id: svn://10.0.0.236/trunk@17594 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:26:37 +00:00
mcmullen%netscape.com
590180f6f7 Fully implement scrollbars - live scrolling, etc. Includes changes by Cyrus Harmon.
git-svn-id: svn://10.0.0.236/trunk@17593 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:26:31 +00:00
shaver%netscape.com
420e0f51a8 initial typelib structures
git-svn-id: svn://10.0.0.236/trunk@17592 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 19:17:25 +00:00
pinkerton%netscape.com
efa104cbfb fixes for SetDOMAttribute --> SetAttribute change.
git-svn-id: svn://10.0.0.236/trunk@17591 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 18:20:58 +00:00
guha%netscape.com
46e5bfae41 adding a tree interface to datasources. Not yet in build system
git-svn-id: svn://10.0.0.236/trunk@17590 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 17:35:25 +00:00
dcone%netscape.com
f161b6e232 Added files
nsDomAttribute.cpp, nsDomAttributeMap.cpp, nsGenericXMLElement.cpp


git-svn-id: svn://10.0.0.236/trunk@17588 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:54:30 +00:00
vidur%netscape.com
7cee1d1143 attributes test
git-svn-id: svn://10.0.0.236/trunk@17587 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:43:24 +00:00
kipp%netscape.com
c5c21eff17 Use new flag defines
git-svn-id: svn://10.0.0.236/trunk@17586 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:42:03 +00:00
kipp%netscape.com
4bf9a053b1 Clean up block frame flags
git-svn-id: svn://10.0.0.236/trunk@17585 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:41:30 +00:00
vidur%netscape.com
78eec9966b Added nsIDOMAttributePrivate
git-svn-id: svn://10.0.0.236/trunk@17584 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:38:52 +00:00
vidur%netscape.com
5435e41ebe Added new namespace/attribute parsing methods to nsIContent
git-svn-id: svn://10.0.0.236/trunk@17583 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:38:28 +00:00
vidur%netscape.com
c5e776a818 Second pass of attributes as nodes. Improved namespace management - XML elements now hold on to their containing namespace. Fixed Get/SetDOMAttriute naming issue. Added new namespace parsing methods to nsIContent
git-svn-id: svn://10.0.0.236/trunk@17582 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:37:24 +00:00
vidur%netscape.com
4a1535fb62 Fixed Get/SetAttribute naming problem
git-svn-id: svn://10.0.0.236/trunk@17581 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 16:35:14 +00:00
pierre%netscape.com
6179f08691 Some cleanup in ATSUI. The constant USE_ATSUI_HACK, when it's not defined, now effectively removes all the ATSUI code and the ATSUnicodeLib can be removed from the project.
git-svn-id: svn://10.0.0.236/trunk@17580 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 11:35:49 +00:00
rickg%netscape.com
e6c9ca3a33 removed problematic assertion
git-svn-id: svn://10.0.0.236/trunk@17574 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:46:02 +00:00
vidur%netscape.com
8a6027fba4 new files
git-svn-id: svn://10.0.0.236/trunk@17573 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:45:23 +00:00
ftang%netscape.com
3a68d19d55 change dependency. add sjis test cases
git-svn-id: svn://10.0.0.236/trunk@17572 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:35:45 +00:00
ftang%netscape.com
40144bd963 add shift jis converter, add table driven decode utility and interface, change module name from intl to uconv
git-svn-id: svn://10.0.0.236/trunk@17571 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:34:29 +00:00
ftang%netscape.com
84652f9f5e change module from intl to uconv, add utility files
git-svn-id: svn://10.0.0.236/trunk@17570 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:26:54 +00:00
ftang%netscape.com
5f280e103c add Shift to Unicode converter
git-svn-id: svn://10.0.0.236/trunk@17569 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:24:34 +00:00
dp%netscape.com
2f3f7cea38 Eliminating NU_CACHE build dependency if NO_NU_CACHE is defined
git-svn-id: svn://10.0.0.236/trunk@17568 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 08:07:19 +00:00
rickg%netscape.com
86ed346089 fixed bug 2274
git-svn-id: svn://10.0.0.236/trunk@17557 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 06:04:05 +00:00
ramiro%netscape.com
acb177fff4 Make sure .cvsignore gets checked out with the MozillaSourceUnixOnly module.
git-svn-id: svn://10.0.0.236/trunk@17553 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 05:53:52 +00:00
waterson%netscape.com
304f152661 Initial revision (not yet in build.)
git-svn-id: svn://10.0.0.236/trunk@17546 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 05:33:32 +00:00
waterson%netscape.com
17741ff819 Initial revision. (Not yet in the build.)
git-svn-id: svn://10.0.0.236/trunk@17545 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 05:32:30 +00:00
despotdaemon%netscape.com
7cd134bac0 Pseudo-automatic update of changes made by bienvenu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17544 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 05:18:51 +00:00
blizzard%appliedtheory.com
df0c9d4a08 clean up factories for gtk. make destroying for nsWidgets() cleaner.
git-svn-id: svn://10.0.0.236/trunk@17543 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 04:42:09 +00:00
pavlov%pavlov.net
936b4bb074 sync all my changes. removed lots of code that is provided in nsBaseWidget,
added focus handlers, etc etc etc


git-svn-id: svn://10.0.0.236/trunk@17542 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 03:56:33 +00:00
rickg%netscape.com
6b72f77ef5 this fixes some of what ails us with XML
git-svn-id: svn://10.0.0.236/trunk@17541 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 02:37:22 +00:00
despotdaemon%netscape.com
3ab32dadcd Pseudo-automatic update of changes made by davidmc@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17540 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 02:33:25 +00:00
sdagley%netscape.com
e7b7c5345f Fix improper calculation of gmtDelta - was using Mac toolbox BitTest routine to test the wrong bit, changed to a simpler & test. Checking in with permission of cyeh.
git-svn-id: svn://10.0.0.236/trunk@17539 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:22:46 +00:00
warren%netscape.com
87fb4e371e Added headings
git-svn-id: svn://10.0.0.236/trunk@17538 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:19:11 +00:00
rickg%netscape.com
eac2a23d6b incremental fix for DON to get Linux off the floor
git-svn-id: svn://10.0.0.236/trunk@17537 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:14:12 +00:00
alecf%netscape.com
772621999e update windows makefile to export the right XPCOM headers
git-svn-id: svn://10.0.0.236/trunk@17536 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:10:13 +00:00
alecf%netscape.com
6e248cd38a oops, misspelled MEWS->NEWS
git-svn-id: svn://10.0.0.236/trunk@17535 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:09:45 +00:00
alecf%netscape.com
7c484d3803 update windows makefile
git-svn-id: svn://10.0.0.236/trunk@17534 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:06:39 +00:00
alecf%netscape.com
c52f8ecd3d add new files to the Unix build process
git-svn-id: svn://10.0.0.236/trunk@17533 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 01:05:21 +00:00
alecf%netscape.com
633383ee9e nsNNTPArticleSet compiles now
git-svn-id: svn://10.0.0.236/trunk@17532 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:48:47 +00:00
alecf%netscape.com
6b917f4b51 needed MarkDirty so that nsNNTPArticleSet could compile
git-svn-id: svn://10.0.0.236/trunk@17531 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:48:28 +00:00
alecf%netscape.com
6b0124e885 InitXOVER does not need most of these parameters!
git-svn-id: svn://10.0.0.236/trunk@17530 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:38:46 +00:00
alecf%netscape.com
67eef9e8c0 move to NSPR2
git-svn-id: svn://10.0.0.236/trunk@17529 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:38:14 +00:00
alecf%netscape.com
eb32e6bf84 data structure types have changed, and move XP_ASSERT to PR_ASSERT
git-svn-id: svn://10.0.0.236/trunk@17528 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:37:36 +00:00
alecf%netscape.com
0419a70e8a make net_NewsChunkSize global for now, so that we can change it from outside
the file


git-svn-id: svn://10.0.0.236/trunk@17527 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:36:49 +00:00
alecf%netscape.com
8c763dbcd0 this almost compiles now
git-svn-id: svn://10.0.0.236/trunk@17526 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:32:55 +00:00
rickg%netscape.com
cb2742db98 fixed a few parser problems having to do with dynamic enabling
git-svn-id: svn://10.0.0.236/trunk@17525 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-12 00:19:17 +00:00
alecf%netscape.com
9b37e362b4 update to NSPR2
git-svn-id: svn://10.0.0.236/trunk@17523 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 23:31:40 +00:00
alecf%netscape.com
8fe2086b64 updated to NSPR2
git-svn-id: svn://10.0.0.236/trunk@17522 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 23:30:16 +00:00
alecf%netscape.com
81694f575c adding new article set code
git-svn-id: svn://10.0.0.236/trunk@17521 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 23:25:32 +00:00
pavlov%pavlov.net
b53694a93e set event.point.[xy] to 0
git-svn-id: svn://10.0.0.236/trunk@17520 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 23:06:13 +00:00
alecf%netscape.com
3e7e911cdd changes to make it compile
git-svn-id: svn://10.0.0.236/trunk@17519 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 22:54:51 +00:00
buster%netscape.com
8a19fb26be shuffled around the responsibilities of core editing objects.
The key listener is now mostly a mapper of key events to editor actions.  Soon, this should be 100% true.
The editor builds transactions that are themselves intelligent. The editor makes very few DOM calls itself.
It relies on the transactions to do most of the actual editing.


git-svn-id: svn://10.0.0.236/trunk@17518 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 22:47:23 +00:00
despotdaemon%netscape.com
19f97e42a1 Pseudo-automatic update of changes made by bienvenu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17517 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 21:38:46 +00:00
despotdaemon%netscape.com
9f6e0a85d8 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@17514 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 21:35:59 +00:00
despotdaemon%netscape.com
e804357187 Pseudo-automatic update of changes made by sudu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17513 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 21:22:45 +00:00
locka%iol.ie
b1b3f5f24e Added implementation of get_ReadyState
Overrode default InPlaceActivate method to fix broken containers


git-svn-id: svn://10.0.0.236/trunk@17511 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 21:08:54 +00:00
alecf%netscape.com
3e9bd176d9 adding new nsNNTPNewsgroupList and nsNNTPArticleList objects
git-svn-id: svn://10.0.0.236/trunk@17510 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 20:56:39 +00:00
alecf%netscape.com
aa16127a53 updated to add messenger-specific utility macros
git-svn-id: svn://10.0.0.236/trunk@17509 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 20:46:13 +00:00
despotdaemon%netscape.com
2d1e32ed00 Pseudo-automatic update of changes made by namachi@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17508 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 20:22:11 +00:00
alecf%netscape.com
3198e5cd24 add error constant for mail/news
git-svn-id: svn://10.0.0.236/trunk@17507 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 20:15:17 +00:00
despotdaemon%netscape.com
03bcd515aa Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17506 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 20:14:34 +00:00
sfraser%netscape.com
926558813f Added new debug menu items, changed menus to be more similar to windows viewer.
git-svn-id: svn://10.0.0.236/trunk@17505 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:46:49 +00:00
sfraser%netscape.com
23f1bb6ead Added a couple of NS_PRECONDITIONSs in the event listener functions.
git-svn-id: svn://10.0.0.236/trunk@17504 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:46:09 +00:00
rickg%netscape.com
ed9e1fe3f0 fixed part of style/script bug in new pasring engine
git-svn-id: svn://10.0.0.236/trunk@17503 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:45:28 +00:00
troy%netscape.com
4c4c2ea13a Fix for bug #2285. Just reseting the mFlags isn't enough, because the PaintBackground()
member function ignores the flags and checks for a non-empty URL. This way is safer and
should work in all cases


git-svn-id: svn://10.0.0.236/trunk@17502 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:44:22 +00:00
alecf%netscape.com
d4019b7169 updated to match new interfaces, and some general cleanup
git-svn-id: svn://10.0.0.236/trunk@17501 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:20:59 +00:00
alecf%netscape.com
a508a227d6 merge in XOVER parser
git-svn-id: svn://10.0.0.236/trunk@17500 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:17:19 +00:00
alecf%netscape.com
45107eea52 rename nsINNTPArticleKeysState to nsINNTPArticleList
git-svn-id: svn://10.0.0.236/trunk@17499 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:16:52 +00:00
alecf%netscape.com
8535ef0c3b newly generated files from updated XPIDL parser
git-svn-id: svn://10.0.0.236/trunk@17498 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:16:09 +00:00
alecf%netscape.com
910429eee7 MsgNewsHost has a newsgroupList associated with it.
git-svn-id: svn://10.0.0.236/trunk@17497 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:14:03 +00:00
alecf%netscape.com
7b40f21a57 merged XOVER parser back into nsINNTPNewsgroupList
git-svn-id: svn://10.0.0.236/trunk@17496 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:13:16 +00:00
buster%netscape.com
97e2d5d092 implemented joinNode. expect this and similar methods to move into editor.cpp
git-svn-id: svn://10.0.0.236/trunk@17495 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:06:37 +00:00
rickg%netscape.com
02460caff3 fixed bug 2284, and brought demo7 back online
git-svn-id: svn://10.0.0.236/trunk@17494 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 19:00:07 +00:00
alecf%netscape.com
4e0af9a7d4 use C++ mode in emacs
git-svn-id: svn://10.0.0.236/trunk@17493 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 18:38:00 +00:00
cls%seawood.org
e0ba8b09c6 No need to create a bogus library in the header dir.
git-svn-id: svn://10.0.0.236/trunk@17492 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 17:51:24 +00:00
shaver%netscape.com
63a3cae583 Update to (and require!) libIDL 0.5.8.
Fix silly argument processing brokenness.
Prepare for IDL_tree_to_IDL when it arrives.
Proper basename stuff for #ifdef __gen_nsIFoo_h__ and others.
Handle empty interfaces.
Dead code trimming (ident, etc.).
Typedef support, including arrays.
nsVarArgs instead of ... in C++ headers.
Fix #include scanning bug that caused pain when we skipped an include that
had already been processed.


git-svn-id: svn://10.0.0.236/trunk@17491 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 16:56:45 +00:00
rickg%netscape.com
160a996665 fixes to bugs 2272 and 2273
git-svn-id: svn://10.0.0.236/trunk@17490 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 07:40:11 +00:00
rickg%netscape.com
0e0363a6bd fixed bugs 625 and 1521
git-svn-id: svn://10.0.0.236/trunk@17489 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 07:14:42 +00:00
grail%cafebabe.org
9cd45bdc69 Added XML parsing to build menus and changed dependency on
grendel.ui.Splitter to javax.swing.JSplitPane.

TODO:
1. Need to get sizing information for immediate children components of
JSplitPane.
2. Externalize XML parsing to an external object to build more than just
menus. Dialogs, frames, etc. would be really cool.


git-svn-id: svn://10.0.0.236/trunk@17488 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 07:01:27 +00:00
talisman%anamorphic.com
3f045241f5 oops... fixed a mistake I made last time (talisman)
git-svn-id: svn://10.0.0.236/trunk@17487 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 04:01:35 +00:00
pavlov%pavlov.net
ea54ed3088 strikethrough now shows...
git-svn-id: svn://10.0.0.236/trunk@17486 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 00:54:15 +00:00
talisman%anamorphic.com
1adf3ddb71 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@17485 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-11 00:08:15 +00:00
despotdaemon%netscape.com
b9f8f12bdb Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17484 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 23:31:01 +00:00
talisman%anamorphic.com
b01056fa69 General functionality and UI enhancements (global).
git-svn-id: svn://10.0.0.236/trunk@17483 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:31:08 +00:00
talisman%anamorphic.com
daf4c21cb2 New file - gives build instructions.
git-svn-id: svn://10.0.0.236/trunk@17482 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:29:35 +00:00
talisman%anamorphic.com
3888da36ad Added Spring, Collapsible, CollapsiblePanel to SRCS. Removed Util from SRCS (it's already in ui).
git-svn-id: svn://10.0.0.236/trunk@17481 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:17:04 +00:00
talisman%anamorphic.com
5f0317d1c2 Util.java really doesn't belong in widgets, since it's part of the ui package. Removed.
git-svn-id: svn://10.0.0.236/trunk@17480 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:16:00 +00:00
talisman%anamorphic.com
7fac94d0f4 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@17479 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:14:13 +00:00
talisman%anamorphic.com
271084ac71 Modified to correctly catch MessagingExceptions instead of re-throwing them.
git-svn-id: svn://10.0.0.236/trunk@17478 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:09:06 +00:00
talisman%anamorphic.com
788095d952 Changes to get the folder tree displaying along with the current folder's list of messages.
git-svn-id: svn://10.0.0.236/trunk@17477 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:02:57 +00:00
talisman%anamorphic.com
94b8ac7cfa Temporarily hacked around a SecurityException when null Authenticator passed. **IMPORTANT** we need to remember to put the authentication stuff back before making a real release.
git-svn-id: svn://10.0.0.236/trunk@17476 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 22:01:20 +00:00
talisman%anamorphic.com
db479a82dc General UI enhancements.
git-svn-id: svn://10.0.0.236/trunk@17475 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:57:56 +00:00
talisman%anamorphic.com
0001b16786 Minor modifications to get the message display working. Hacked in a JEditorPane to provide -very basic- html display capability.
git-svn-id: svn://10.0.0.236/trunk@17474 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:55:57 +00:00
talisman%anamorphic.com
c272181df5 Mods to get the folder tree displaying correctly.
git-svn-id: svn://10.0.0.236/trunk@17473 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:52:11 +00:00
talisman%anamorphic.com
11e25ec707 Changed NSToolbar references to GrendelToolBar, IUICmd changed to UIAction.
git-svn-id: svn://10.0.0.236/trunk@17472 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:49:40 +00:00
talisman%anamorphic.com
8057b8be8a General UI enhancements.
git-svn-id: svn://10.0.0.236/trunk@17471 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:48:15 +00:00
talisman%anamorphic.com
43027a66aa Got this displaying properly when we load a set of mail folders.
git-svn-id: svn://10.0.0.236/trunk@17470 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:46:34 +00:00
talisman%anamorphic.com
15bf4f2fdf Added target run and set up vars to handle CLASSPATH.
git-svn-id: svn://10.0.0.236/trunk@17469 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:40:31 +00:00
talisman%anamorphic.com
905c70b0f1 Added code to look for and create if necessary a mail dir and folder in the user's home dir. This will need some modification to address x-platform homedir issues.
git-svn-id: svn://10.0.0.236/trunk@17468 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 21:37:14 +00:00
pavlov%pavlov.net
649a36d0af allow nsWindow's to take focus. this should fix problem for editor people
git-svn-id: svn://10.0.0.236/trunk@17467 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 18:48:05 +00:00
rpotts%netscape.com
f82b442b3c Changed to use the EventQueue service rather than the PL_InitializeEventsLib() and GetMainEventQueue() apis...
git-svn-id: svn://10.0.0.236/trunk@17466 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 08:18:25 +00:00
rickg%netscape.com
f8fb00ca59 fixed bug in Compare() and error in ToInteger()
git-svn-id: svn://10.0.0.236/trunk@17465 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 08:17:40 +00:00
rpotts%netscape.com
f7f7d95b74 overhaul of the EventQueue service...
git-svn-id: svn://10.0.0.236/trunk@17464 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 08:12:01 +00:00
rickg%netscape.com
c1bb351fdc re-enabled viewsource
git-svn-id: svn://10.0.0.236/trunk@17463 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-10 05:39:13 +00:00
pavlov%pavlov.net
890b0592ba halfway fix the excessive GC problem. more work on resizing
git-svn-id: svn://10.0.0.236/trunk@17462 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 21:16:20 +00:00
talisman%anamorphic.com
9d1ff5c821 Layout manager for toolbars. A little rough, but it's a start.
git-svn-id: svn://10.0.0.236/trunk@17461 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 19:58:09 +00:00
pavlov%pavlov.net
fc2138096e Resizing works.... somewhat. More to come
git-svn-id: svn://10.0.0.236/trunk@17460 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 17:41:20 +00:00
despotdaemon%netscape.com
cf3a317e91 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17459 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 11:28:10 +00:00
talisman%anamorphic.com
a4be1febce Changed JToolBars to GrendelToolBars.
git-svn-id: svn://10.0.0.236/trunk@17458 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 08:44:30 +00:00
talisman%anamorphic.com
4aa2c5eea8 ImageIcon images for the CollapseButton.
git-svn-id: svn://10.0.0.236/trunk@17457 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:41:37 +00:00
talisman%anamorphic.com
8f8fa72183 Implements a component with no view but participates in layout - this is what
makes the Animation sit on the right-hand side of the toolbar panel.


git-svn-id: svn://10.0.0.236/trunk@17456 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:39:20 +00:00
talisman%anamorphic.com
1fecabe576 Subclass of JToolBar which has some convenience methods for layout.
git-svn-id: svn://10.0.0.236/trunk@17455 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:37:40 +00:00
talisman%anamorphic.com
70ee43eed4 Implementation of Collapsible interface. Provides collapsing toolbar behaviour.
May be useful for other collapsing items (if we make any).


git-svn-id: svn://10.0.0.236/trunk@17454 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:36:17 +00:00
talisman%anamorphic.com
1b18ab6a23 Interface which must be implemented for collapse behaviour.
git-svn-id: svn://10.0.0.236/trunk@17453 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:34:13 +00:00
talisman%anamorphic.com
6d919cbaef Added for class library version requirements.
git-svn-id: svn://10.0.0.236/trunk@17452 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:31:17 +00:00
talisman%anamorphic.com
ab86759584 Changed to add explicit CLASSPATH and some rule modification.
git-svn-id: svn://10.0.0.236/trunk@17451 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:27:54 +00:00
rpotts%netscape.com
f1bf3a2dfd Reworked the initialization of the PLEvent queue to use the new EventQueueService instead of calling PL_InitializeEventsLib(...)
git-svn-id: svn://10.0.0.236/trunk@17450 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 07:18:22 +00:00
grail%cafebabe.org
cb748a31e9 Code from Jeff to get ActionFactory and company all happy.
git-svn-id: svn://10.0.0.236/trunk@17449 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 06:06:14 +00:00
troy%netscape.com
73dcbfbee5 Hooked up marginwidth and marginheight attributes to change the 'margin'
property instead of the 'padding' property


git-svn-id: svn://10.0.0.236/trunk@17448 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 04:31:51 +00:00
grail%cafebabe.org
59023ea173 Old references to Orion, etc. ripped now. Replacements dropped it. It
compiles. Let the games begin.


git-svn-id: svn://10.0.0.236/trunk@17447 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 03:55:32 +00:00
mcmullen%netscape.com
b24197fa96 Fix for bug #2164. Balanced the NS_ADDREF and NS_RELEASE, which takes some doing, because it gets released in a module that did not add the reference (during Stop(), when all timers are released). This is bad design, methinks.
git-svn-id: svn://10.0.0.236/trunk@17446 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 02:47:34 +00:00
mcmullen%netscape.com
da1a7d5331 Remove illegal TextTxn:: within TextTxn class (this is illegal in C++ unless you have a nested class with the same name). This fixes Macintosh build bustage.
git-svn-id: svn://10.0.0.236/trunk@17445 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 02:41:35 +00:00
rickg%netscape.com
dfaa6e9b09 fixed unix build crash based on NS_DEBUG flag
git-svn-id: svn://10.0.0.236/trunk@17444 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 02:13:32 +00:00
kipp%netscape.com
36cc1ed161 Added in code from bug #1935 to improve auto-protocol handling on urls
git-svn-id: svn://10.0.0.236/trunk@17443 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 02:00:42 +00:00
rickg%netscape.com
192c334fda added htmlgeneration tool
git-svn-id: svn://10.0.0.236/trunk@17442 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:49:20 +00:00
troy%netscape.com
31fe96b5ba Turned off assert
git-svn-id: svn://10.0.0.236/trunk@17441 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:43:02 +00:00
dcone%netscape.com
9dd8a3d1db Added nsXMLTokenizer and nsHthmTokenizer
git-svn-id: svn://10.0.0.236/trunk@17440 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:20:52 +00:00
dcone%netscape.com
bda28e3c9e Changed include
git-svn-id: svn://10.0.0.236/trunk@17439 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:19:49 +00:00
dougt%netscape.com
4aebf56bff Added SilentDownload Preferences. Remove unused autoupdt.backgro*
git-svn-id: svn://10.0.0.236/trunk@17438 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:18:11 +00:00
dougt%netscape.com
f0390cbaba Added Byte-Range Support.
git-svn-id: svn://10.0.0.236/trunk@17437 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:16:40 +00:00
rickg%netscape.com
53ea652e5f merged parsertypes into nsIParser.h
git-svn-id: svn://10.0.0.236/trunk@17436 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:14:10 +00:00
rickg%netscape.com
977421c9eb sync up with mods to the parser
git-svn-id: svn://10.0.0.236/trunk@17435 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:11:37 +00:00
rickg%netscape.com
a8382eb7c5 modest improvements to string and deque
git-svn-id: svn://10.0.0.236/trunk@17434 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:09:39 +00:00
rickg%netscape.com
c8fc6237d4 A wad of changes to the parser. See my update
git-svn-id: svn://10.0.0.236/trunk@17433 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 01:09:02 +00:00
akkana%netscape.com
d67d163fe3 Add debug menu; see bug 2249
git-svn-id: svn://10.0.0.236/trunk@17432 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:35:19 +00:00
alecf%netscape.com
5e7d188dcb rename
nsIMsgNewsArticleList-> nsINNTPNewsgroupList
nsINNTPArticleKeysState -> nsINNTPArticleList


git-svn-id: svn://10.0.0.236/trunk@17431 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:29:21 +00:00
despotdaemon%netscape.com
4ba5317bfb Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17430 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:26:32 +00:00
despotdaemon%netscape.com
d273e05710 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17429 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:24:50 +00:00
buster%netscape.com
be4b7d375b better code factoring, so split and join base methods can be reused
git-svn-id: svn://10.0.0.236/trunk@17428 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:24:48 +00:00
kipp%netscape.com
ab9a64b454 new
git-svn-id: svn://10.0.0.236/trunk@17427 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:18:08 +00:00
kipp%netscape.com
907e445ae7 Implement GetAreas; cleanup some whitespace; removed some out of date comments
git-svn-id: svn://10.0.0.236/trunk@17426 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:17:07 +00:00
kipp%netscape.com
71b47e4756 Removed a spurious Addref of an atom
git-svn-id: svn://10.0.0.236/trunk@17425 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:16:42 +00:00
alecf%netscape.com
4d41c9404b add nsINNTPArticleKeysState to the build
git-svn-id: svn://10.0.0.236/trunk@17424 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:16:41 +00:00
despotdaemon%netscape.com
148c970cbb Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17423 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:16:36 +00:00
kipp%netscape.com
375d1ffa3e Added some whitespace
git-svn-id: svn://10.0.0.236/trunk@17422 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:16:07 +00:00
kipp%netscape.com
b793ab7603 Reformatted a comment
git-svn-id: svn://10.0.0.236/trunk@17421 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:15:54 +00:00
alecf%netscape.com
96ea6b03e7 adding nsINNTPArticleKeysState for the first time - broke these three
methods out of nsIMsgNewsArticleList.idl


git-svn-id: svn://10.0.0.236/trunk@17420 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:15:46 +00:00
despotdaemon%netscape.com
5fe4fe9386 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17419 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:15:20 +00:00
kipp%netscape.com
e14f3074db Store maps as nsIDOMHTMLMapElement instead of the obsolete nsIImageMap
git-svn-id: svn://10.0.0.236/trunk@17418 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:15:19 +00:00
kipp%netscape.com
eaf4ef5a49 Use dom content objects for map/area tags; add map to the content model
git-svn-id: svn://10.0.0.236/trunk@17417 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:14:53 +00:00
kipp%netscape.com
1e8f20f877 nuked
git-svn-id: svn://10.0.0.236/trunk@17416 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:14:17 +00:00
kipp%netscape.com
263cc7d9ae Removed a turd
git-svn-id: svn://10.0.0.236/trunk@17415 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:14:09 +00:00
kipp%netscape.com
4c2b7a7459 Reworked to use dom content objects for holding the raw map data and observering content changes and updating the 'compiled' map
git-svn-id: svn://10.0.0.236/trunk@17414 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:13:53 +00:00
kipp%netscape.com
43e27c5332 Use nsImageMap
git-svn-id: svn://10.0.0.236/trunk@17413 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:13:19 +00:00
kipp%netscape.com
c616a840d6 Changed over to using nsImageMap instead of nsIImageMap
git-svn-id: svn://10.0.0.236/trunk@17412 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:12:49 +00:00
kipp%netscape.com
180c1911ec Added new atom
git-svn-id: svn://10.0.0.236/trunk@17411 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:12:28 +00:00
despotdaemon%netscape.com
fe3c0c5b0f Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17410 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:11:48 +00:00
kipp%netscape.com
163cc2e69b Added defines and comments indicating which parts of the frames reflow state are reserved
git-svn-id: svn://10.0.0.236/trunk@17409 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:11:40 +00:00
kipp%netscape.com
60c4b45a54 Added missing forward decl of nsIAtom
git-svn-id: svn://10.0.0.236/trunk@17408 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:11:10 +00:00
despotdaemon%netscape.com
933341da74 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17407 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:10:51 +00:00
despotdaemon%netscape.com
cc5514275a Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17406 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:07:41 +00:00
despotdaemon%netscape.com
9510d27748 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17405 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-09 00:00:03 +00:00
despotdaemon%netscape.com
2348d08595 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17404 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:59:05 +00:00
despotdaemon%netscape.com
ac31f2aef1 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17403 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:55:40 +00:00
despotdaemon%netscape.com
f918a4d82b Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17402 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:53:20 +00:00
despotdaemon%netscape.com
fc5c6f3e0e Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17401 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:52:33 +00:00
despotdaemon%netscape.com
24921b08d0 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17400 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:50:33 +00:00
despotdaemon%netscape.com
3a69773553 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17399 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:42:48 +00:00
despotdaemon%netscape.com
cff2c2c582 Pseudo-automatic update of changes made by sudu@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17398 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 23:16:01 +00:00
beard%netscape.com
588d9f328d Turned off call to NET_PollSockets() on XP_MAC, to fix link error, not really needed anyway.
git-svn-id: svn://10.0.0.236/trunk@17397 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:43:45 +00:00
mcmullen%netscape.com
6980f434b4 Renamed these, since everybody is calling it apprunner.
git-svn-id: svn://10.0.0.236/trunk@17396 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:35:47 +00:00
mcmullen%netscape.com
97fdad841c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17395 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:32:33 +00:00
mcmullen%netscape.com
ba184c3b57 Changed the name of XPAppViewer to apprunner, since that is what other platforms call it. Too many viewers spoil the broth.
git-svn-id: svn://10.0.0.236/trunk@17394 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:29:00 +00:00
wtc%netscape.com
c8cd5bfcd5 Bugzilla bug #2248: PR_ImportFile, PR_ImportTCPSocket, and
PR_ImportUDPSocket should initialize NSPR implicitly.  Thanks
to John McMullen <mcmullen@netscape.com> for the bug report
and fix.


git-svn-id: svn://10.0.0.236/trunk@17393 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:24:14 +00:00
dcone%netscape.com
a845fe996f Added splitelementtxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17392 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:18:21 +00:00
buster%netscape.com
62f2a08600 SplitElementTxn implementation. Do only.
test with Control-S.


git-svn-id: svn://10.0.0.236/trunk@17391 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:16:22 +00:00
ftang%netscape.com
189d1720ed Ignore (NS_ERROR_FACTORY_EXISTS != res) return result
git-svn-id: svn://10.0.0.236/trunk@17390 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 22:02:41 +00:00
brade%netscape.com
2041e6a41f fix unnecessary ifdefs (and reduce Macintosh compiler warnings)
git-svn-id: svn://10.0.0.236/trunk@17389 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 21:53:11 +00:00
sfraser%netscape.com
c1c7c84e7d Fix for 2161 -- if nsView::GetViewFor() is called with a null widget, just return a null view.
git-svn-id: svn://10.0.0.236/trunk@17388 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 21:31:56 +00:00
joki%netscape.com
b39d75f877 Move focus shifting code from nsScrollingView.cpp to nsEventStateManager.cpp
git-svn-id: svn://10.0.0.236/trunk@17387 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 21:13:59 +00:00
radha%netscape.com
6324764a40 Use libwidgetgtk.so and libgfxgtk.so as default for WIDGET_DLL and
GFXWIN_DLL


git-svn-id: svn://10.0.0.236/trunk@17386 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 20:14:49 +00:00
radha%netscape.com
1eb75f8c27 Added TOOLKIT_CFLAGS to CFLAGS so that gtk/motif libraries are picked
up in nsSetupRegistry.cpp (for WIDGET_DLL and GFXWIN_DLL) based on what
MOZ_TOOLKIT is set to


git-svn-id: svn://10.0.0.236/trunk@17385 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 20:10:36 +00:00
wtc%netscape.com
b67bcf4843 Removed hardcoded AIX pathnames /usr/lpp/xlC from the makefiles,
because the new version of AIX xlC compilers (3.6.4) is installed
in a different directory (/usr/ibmcxx).


git-svn-id: svn://10.0.0.236/trunk@17384 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 19:51:14 +00:00
despotdaemon%netscape.com
a69758c914 Pseudo-automatic update of changes made by talisman@anamorphic.com.
git-svn-id: svn://10.0.0.236/trunk@17383 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 19:43:12 +00:00
karnaze%netscape.com
35bfe95ab7 dom table methods, moved align="char" data members from nsReflowState to nsHTMLReflowState
git-svn-id: svn://10.0.0.236/trunk@17382 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 18:57:40 +00:00
ftang%netscape.com
16dbd9c4a8 add unix makefile
git-svn-id: svn://10.0.0.236/trunk@17381 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 18:57:27 +00:00
ftang%netscape.com
89572dc342 add Makefile to call uconv
git-svn-id: svn://10.0.0.236/trunk@17380 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 18:55:54 +00:00
ftang%netscape.com
c58abca41f add directory description
git-svn-id: svn://10.0.0.236/trunk@17379 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 18:36:17 +00:00
despotdaemon%netscape.com
a328928280 Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17378 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 17:25:29 +00:00
pavlov%pavlov.net
962ae76bc0 use GDK bit stuff for the alt/ctrl/shift mods
git-svn-id: svn://10.0.0.236/trunk@17377 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 15:55:52 +00:00
pavlov%pavlov.net
c8813f8fc8 remove unused code. fixed underlining.
git-svn-id: svn://10.0.0.236/trunk@17376 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 15:51:46 +00:00
ramiro%netscape.com
990a41d5fe Added view source ('cos it works!), fixed typo in Tools.
Thanks to Steve Morrison <smorrison@gte.com> for the patch.


git-svn-id: svn://10.0.0.236/trunk@17375 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 15:19:29 +00:00
pierre%netscape.com
ca37b268f7 Fixed bug in SetPosition. Thanks to Cyrus Harmon <cyrus@neomorphic.com>
git-svn-id: svn://10.0.0.236/trunk@17374 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 05:36:06 +00:00
val4%cornell.edu
9c3d464503 Even more error handling stuff. Will need to go thru the
file and double-check all error handlers.


git-svn-id: svn://10.0.0.236/trunk@17373 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 04:58:34 +00:00
troy%netscape.com
4ccdea739f Added support for 'right' and 'bottom' properties. Changed to using a
nsStyleSides struct to hold all the offsets


git-svn-id: svn://10.0.0.236/trunk@17372 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 04:47:46 +00:00
pierre%netscape.com
6a8ebab58d bumped up the memory partition of the optimized target to 10Mb
git-svn-id: svn://10.0.0.236/trunk@17371 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:53:59 +00:00
sfraser%netscape.com
092a294bbc Hack so that keycodes are returned on Mac (again! Buster wiped it out).
git-svn-id: svn://10.0.0.236/trunk@17370 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:39:55 +00:00
wtc%netscape.com
5d6d168bed The lm argument for _PR_SetLogModuleLevel is
shadowed by a local variable by the same name.  Rewrote the code to
make it more clear.  Thanks to Kathy Brade <brade@netscape.com> for
reporting this bug.


git-svn-id: svn://10.0.0.236/trunk@17369 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:38:51 +00:00
sfraser%netscape.com
fbe2455d8d Add SIOUX event handling in debug mode. Also remove a couple of unnecessary #defines and use the Universal Header versions.
git-svn-id: svn://10.0.0.236/trunk@17368 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:29:39 +00:00
sfraser%netscape.com
67f1bd08f8 Change 'memory' include to search in system path
git-svn-id: svn://10.0.0.236/trunk@17367 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:28:47 +00:00
sfraser%netscape.com
6c72708d72 Call SIOUX initialization in debug mode
git-svn-id: svn://10.0.0.236/trunk@17366 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:27:57 +00:00
sfraser%netscape.com
39eb289850 Add SIOUX initialization routine
git-svn-id: svn://10.0.0.236/trunk@17365 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:27:22 +00:00
sfraser%netscape.com
20a2c4f432 Added SIOUX files in the debug target, and made a new debug target with console stubs. Also turned on PPC struct alignment in all targets.
git-svn-id: svn://10.0.0.236/trunk@17364 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:26:55 +00:00
sfraser%netscape.com
d1c8376449 Change to use regular prefix configuration
git-svn-id: svn://10.0.0.236/trunk@17363 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:26:09 +00:00
sfraser%netscape.com
f81fc2c840 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17362 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:25:16 +00:00
wtc%netscape.com
b7f7196be3 md/_pth.h should be included after pthread.h.
git-svn-id: svn://10.0.0.236/trunk@17361 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:15:21 +00:00
sfraser%netscape.com
19ed51c4e1 Fix the damn asserts
git-svn-id: svn://10.0.0.236/trunk@17360 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 03:15:15 +00:00
troy%netscape.com
06af02477c Fix for bug #2040. Changed BODY to use margin and not padding now that #2054 is fixed
git-svn-id: svn://10.0.0.236/trunk@17359 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 02:51:07 +00:00
val4%cornell.edu
c60139781d More error handling code
git-svn-id: svn://10.0.0.236/trunk@17358 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 02:37:38 +00:00
val4%cornell.edu
beb1e2a4bd Some additional error messages
git-svn-id: svn://10.0.0.236/trunk@17357 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 02:03:43 +00:00
val4%cornell.edu
939e901bce *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@17356 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 02:03:09 +00:00
cls%seawood.org
edf72c7977 Explicitly cast pToolbarWindow to nsIWidget * to unconfuse old compilers.
git-svn-id: svn://10.0.0.236/trunk@17355 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:43:32 +00:00
buster%netscape.com
29389f0fcd fixed an uninitialized pointer problem
ctrl-ins appends an HR to the BODY


git-svn-id: svn://10.0.0.236/trunk@17354 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:41:34 +00:00
buster%netscape.com
136be95fe1 implemented do and undo for CreateElement
the test is INS key, it adds an HR


git-svn-id: svn://10.0.0.236/trunk@17353 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:30:53 +00:00
despotdaemon%netscape.com
d701b6973a Pseudo-automatic update of changes made by amusil@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17352 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:21:12 +00:00
troy%netscape.com
cf5cfbf04e Fix for bug #2054. If the HTML element's background is 'transparent' then it
uses the BODY's background property


git-svn-id: svn://10.0.0.236/trunk@17351 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:14:59 +00:00
troy%netscape.com
18a677af22 Added BackgroundIsTransparent() member function to nsStyleColor
git-svn-id: svn://10.0.0.236/trunk@17350 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:13:34 +00:00
ftang%netscape.com
ca13a5ef65 change add the DLL name for Mac and UNIX and add placeholder for planned converters
git-svn-id: svn://10.0.0.236/trunk@17349 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 01:03:24 +00:00
leaf%mozilla.org
19dedb1939 mozilla/intl added per frank tang's request
git-svn-id: svn://10.0.0.236/trunk@17348 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:50:44 +00:00
ftang%netscape.com
72350d066b move to intl/unicharutil
git-svn-id: svn://10.0.0.236/trunk@17347 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:43:25 +00:00
ftang%netscape.com
87e2a4b54b move into intl/unicharutil
git-svn-id: svn://10.0.0.236/trunk@17346 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:42:14 +00:00
rpotts%netscape.com
0f2cf4f48b bug #2227 - NSPR is not being implicitly initialized when PR_CEnterMonitor() is called. This hack should be removed when NSPR is fixed.
git-svn-id: svn://10.0.0.236/trunk@17345 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:38:56 +00:00
ftang%netscape.com
a0b5009a3a move these into intl/unicharutil
git-svn-id: svn://10.0.0.236/trunk@17344 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:38:14 +00:00
ftang%netscape.com
838649dfee move these files to intl/unicharutil
git-svn-id: svn://10.0.0.236/trunk@17343 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:34:07 +00:00
rpotts%netscape.com
a706077c61 Bug fix from Davide Pasetto (dipo@sis.it) for nsWebShell::Init(...). I Also changed a bunch of checks against NS_OK to use the NS_SUCCEEDED() and NS_FAILED() macros...
git-svn-id: svn://10.0.0.236/trunk@17342 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:32:55 +00:00
wtc%netscape.com
1b15d81f48 Bugzilla bug #2227: PR_CEnterMonitor should initialize NSPR implicitly.
git-svn-id: svn://10.0.0.236/trunk@17341 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:31:15 +00:00
terry%netscape.com
79a67545f4 Oops; removed debugging printf.
git-svn-id: svn://10.0.0.236/trunk@17340 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:27:56 +00:00
terry%netscape.com
21aa4a2f9a Netscape has changed the way its internal LDAP is set up.
git-svn-id: svn://10.0.0.236/trunk@17339 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:27:15 +00:00
ftang%netscape.com
8b9aea19d5 move from modules into intl
git-svn-id: svn://10.0.0.236/trunk@17338 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:26:45 +00:00
ftang%netscape.com
d7c9639cc1 move from modules into intl
git-svn-id: svn://10.0.0.236/trunk@17337 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-08 00:20:08 +00:00
jband%netscape.com
bcf50862d1 calling XPCOM method from JS with two int params using hardcoded InterfaceInfo
git-svn-id: svn://10.0.0.236/trunk@17336 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 23:36:07 +00:00
despotdaemon%netscape.com
bd43b6a25d Pseudo-automatic update of changes made by grail@cafebabe.org.
git-svn-id: svn://10.0.0.236/trunk@17335 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 23:30:20 +00:00
terry%netscape.com
fa8e52aa86 Throw some freshmeat into the fray.
git-svn-id: svn://10.0.0.236/trunk@17334 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 23:21:44 +00:00
terry%netscape.com
7f62da4f83 Whoops. Do things in a better order, so we don't have uninitialized
variables.


git-svn-id: svn://10.0.0.236/trunk@17333 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 22:42:42 +00:00
dcone%netscape.com
21da573629 Added createelementtxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17332 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 22:40:21 +00:00
buster%netscape.com
32c39f7e29 create element transaction WIP
git-svn-id: svn://10.0.0.236/trunk@17331 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 22:36:23 +00:00
terry%netscape.com
01e98927ec Tracks stocks, too.
git-svn-id: svn://10.0.0.236/trunk@17330 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 22:33:01 +00:00
waterson%netscape.com
05147c382f Made the aCopy parameter to nsString::Insert const to clear up some compiler warnings. a=rickg.
git-svn-id: svn://10.0.0.236/trunk@17329 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 22:19:57 +00:00
akkana%netscape.com
b29533962b Remove erroneous NOT_IMPLEMENTED return
git-svn-id: svn://10.0.0.236/trunk@17327 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 21:06:43 +00:00
akkana%netscape.com
005795626a 1965: Fix mouse-down events
git-svn-id: svn://10.0.0.236/trunk@17326 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 21:06:21 +00:00
law%netscape.com
bca7c818e7 Added new interface header; not yet building it
git-svn-id: svn://10.0.0.236/trunk@17325 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 21:04:21 +00:00
donm%netscape.com
cc8882b870 fixing includes for solaris. -donm
git-svn-id: svn://10.0.0.236/trunk@17324 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 21:03:42 +00:00
mcafee%netscape.com
b27f2edc57 Variable had wrong type (1229), thanks to tor@cs.brown.edu
git-svn-id: svn://10.0.0.236/trunk@17323 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 20:14:34 +00:00
waterson%netscape.com
5c782392db Use root node of LocalStore.rdf as the tree control's root. Added bookmarks data source to the DB.
git-svn-id: svn://10.0.0.236/trunk@17322 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:44:12 +00:00
waterson%netscape.com
a42211ad52 Fixed namespace stuff, added column info, added bookmarks data store.
git-svn-id: svn://10.0.0.236/trunk@17321 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:43:39 +00:00
waterson%netscape.com
d4089c1822 Put namespaces back (bug was in LocalStore.rdf). Fixed some bugs with RDF containers.
git-svn-id: svn://10.0.0.236/trunk@17320 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:43:03 +00:00
waterson%netscape.com
c3621304cb Un-hardcoded column info. This is now provided by a resource: RDF file (like LocalStore.rdf).
git-svn-id: svn://10.0.0.236/trunk@17319 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:42:14 +00:00
ftang%netscape.com
9e46d5912f add ATSUI hack. This hack could be turn off by comment out the
#define USE_ATSUI_HACK 

line.


git-svn-id: svn://10.0.0.236/trunk@17318 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:27:09 +00:00
ftang%netscape.com
e8296305ec add weak link to ATSUnicodeLib
git-svn-id: svn://10.0.0.236/trunk@17317 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:24:42 +00:00
dcone%netscape.com
ba58676aea Added deletettexttxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17316 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 18:01:38 +00:00
buster%netscape.com
9a53de3e33 support for DeleteTextTxn, backspace and delete
git-svn-id: svn://10.0.0.236/trunk@17315 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 17:58:15 +00:00
buster%netscape.com
2659c27999 use base class Redo
git-svn-id: svn://10.0.0.236/trunk@17314 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 17:57:57 +00:00
buster%netscape.com
5bab9ec73f make Redo call Do by default
git-svn-id: svn://10.0.0.236/trunk@17313 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 17:57:16 +00:00
buster%netscape.com
7a9a74ed4f Delete Text Transaction initial implementation
git-svn-id: svn://10.0.0.236/trunk@17312 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 17:56:20 +00:00
dcone%netscape.com
90d8b8bcc8 Continued work on the Postscript Device and RenderingContexts.
Removed unessisary file, factory is not needed.


git-svn-id: svn://10.0.0.236/trunk@17311 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 14:50:53 +00:00
rpotts%netscape.com
4a5911d416 Changes for the new EventQueueService...
git-svn-id: svn://10.0.0.236/trunk@17309 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 07:47:25 +00:00
rpotts%netscape.com
90711db7da Changed over to the EventQueueService...
git-svn-id: svn://10.0.0.236/trunk@17308 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 07:15:02 +00:00
rpotts%netscape.com
ae0b875228 Added some null ptr tests to net new EventQueueService code...
git-svn-id: svn://10.0.0.236/trunk@17307 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 07:06:59 +00:00
troy%netscape.com
d1d8c0129f Changed to handle FrameRemoved reflow command for an absolutely positioned
child frame


git-svn-id: svn://10.0.0.236/trunk@17306 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 05:46:26 +00:00
waterson%netscape.com
e08cbc29b4 Added some comments to call out potential funkiness.
git-svn-id: svn://10.0.0.236/trunk@17305 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 05:29:31 +00:00
jband%netscape.com
50fff54810 int constants accessible from JS using hardcoded InterfaceInfo
git-svn-id: svn://10.0.0.236/trunk@17304 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 05:18:09 +00:00
troy%netscape.com
f1e9e67f66 Changed ContentRemoved() to also generate a reflow command for the placeholder
for an absolutely positioned frame. Also made sure the child list name is
properly set for the reflow command for the absolutely positioned frame


git-svn-id: svn://10.0.0.236/trunk@17303 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 05:03:53 +00:00
troy%netscape.com
0e2a9c299a Fixed FindFrameWithContent() to do a better job of recognizing placeholder
frames and skipping them


git-svn-id: svn://10.0.0.236/trunk@17302 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 04:47:43 +00:00
val4%cornell.edu
44f1a3899a Some fixes for native files. This shouldn't probably become exposed in the API...
Root.parent now should return null. A problem with mkdir fixed.


git-svn-id: svn://10.0.0.236/trunk@17301 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 04:41:20 +00:00
val4%cornell.edu
0e5fc4af58 Some pretty significant changes in terms of native file support, changed if(file->handle)
by if(file->isNative), etc. Made handle/nativehandle a union.  Added some warnings.


git-svn-id: svn://10.0.0.236/trunk@17300 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 04:17:23 +00:00
jband%netscape.com
401c294965 more stuff that doesn't yet work
git-svn-id: svn://10.0.0.236/trunk@17299 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:49:40 +00:00
despotdaemon%netscape.com
10ba72ee76 Pseudo-automatic update of changes made by kostello@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17298 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:37:12 +00:00
mscott%netscape.com
b7692cd816 Don't try to build the test directory until we get something in there.
git-svn-id: svn://10.0.0.236/trunk@17297 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:35:32 +00:00
mscott%netscape.com
cd16235799 More changes to the nsProtocol stuff. Added initialization and a SendData method for writing to the output stream.
git-svn-id: svn://10.0.0.236/trunk@17296 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:34:10 +00:00
sfraser%netscape.com
6a67e54d34 Export the NSGetFactory method
git-svn-id: svn://10.0.0.236/trunk@17295 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:14:22 +00:00
sfraser%netscape.com
d86ab8df3a Added nsEventQueueService.cpp and nsXPComFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@17294 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 03:14:02 +00:00
mscott%netscape.com
8fed1cb898 Build nsNNTPProtocol.
git-svn-id: svn://10.0.0.236/trunk@17293 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:49:23 +00:00
mscott%netscape.com
f860441730 Some core definitions that are pertinent only to our NNTP protocol implementation.
git-svn-id: svn://10.0.0.236/trunk@17292 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:48:51 +00:00
buster%netscape.com
061ed664e2 just documentation
git-svn-id: svn://10.0.0.236/trunk@17291 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:16:10 +00:00
mcmullen%netscape.com
4272dc5b57 Fix unused parameter warning.
git-svn-id: svn://10.0.0.236/trunk@17290 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:11:24 +00:00
kipp%netscape.com
64065d7a6d Applied patch from bug #1988 to improve the open-file dialog
git-svn-id: svn://10.0.0.236/trunk@17289 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:06:44 +00:00
kipp%netscape.com
3457e843ef Make it compile on windows
git-svn-id: svn://10.0.0.236/trunk@17288 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:46:22 +00:00
wtc%netscape.com
7d15051ae1 On AIX, removed the pthread_mutexattr_setkind_np call. The man page
says this function is provided only for compatibility with the DCE
threads and should not be used when writing new applications.


git-svn-id: svn://10.0.0.236/trunk@17287 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:33:57 +00:00
buster%netscape.com
67411e2c56 added InsertTextTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17286 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:28:34 +00:00
cata%netscape.com
f5e08862ab first check in unicode converter. Didn't build on Mac/UNIX yet. Didn't hookup with main
build process yet.


git-svn-id: svn://10.0.0.236/trunk@17285 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:23:22 +00:00
sfraser%netscape.com
d371d9c561 Added InsertTextTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17284 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:17:48 +00:00
sfraser%netscape.com
f2486eab07 Hack so that keycodes are returned on Mac
git-svn-id: svn://10.0.0.236/trunk@17283 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:17:20 +00:00
wtc%netscape.com
72f4b595ff Replaced the obsolete NSPR10-compatibility macros PR_LOG_DEFINE,
PR_LOG_BEGIN, and PR_LOG_END by their NSPR20 equivalents.


git-svn-id: svn://10.0.0.236/trunk@17282 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:08:00 +00:00
leaf%mozilla.org
436fa33c47 adding files in new directory
git-svn-id: svn://10.0.0.236/trunk@17281 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:07:03 +00:00
buster%netscape.com
9ead1505eb support for inserting text
git-svn-id: svn://10.0.0.236/trunk@17280 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:02:32 +00:00
buster%netscape.com
e617861340 support for removing attributes
git-svn-id: svn://10.0.0.236/trunk@17279 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:02:16 +00:00
karnaze%netscape.com
a7ffffa54d Preliminary changes to support align="char"
git-svn-id: svn://10.0.0.236/trunk@17278 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 01:00:07 +00:00
mscott%netscape.com
4f09c07271 Changing nsMsgCID.h to nsMsgBaseCID.h
git-svn-id: svn://10.0.0.236/trunk@17277 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 00:33:01 +00:00
guha%netscape.com
a95c4613a5 add nsIRDFHistory.h. Not yet in the make system
git-svn-id: svn://10.0.0.236/trunk@17276 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 00:01:44 +00:00
coop%netscape.com
52428363a1 Added binary file open as first step for creating typelib files.
git-svn-id: svn://10.0.0.236/trunk@17275 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 23:47:45 +00:00
mcmullen%netscape.com
67a2f24b86 Added a directory iterator class. Added canonification and recursive directory creation, and some other handy methods. Eventual goal: replace xp_file.h entirely.
git-svn-id: svn://10.0.0.236/trunk@17274 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 23:38:21 +00:00
locka%iol.ie
507c25df08 Fixed a problem with the default impl of GetClientSite
Added basic printer support


git-svn-id: svn://10.0.0.236/trunk@17273 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 22:38:24 +00:00
dcone%netscape.com
b9cd95595d added 2 files
nsImageInspectorDialog.cpp
nsTableInspectorDialog.cpp


git-svn-id: svn://10.0.0.236/trunk@17272 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 22:29:42 +00:00
coop%netscape.com
abf7eb5b73 Updated struc for ParamDescriptor
git-svn-id: svn://10.0.0.236/trunk@17271 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 22:07:16 +00:00
rods%netscape.com
416493c71f initial
git-svn-id: svn://10.0.0.236/trunk@17270 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 22:04:35 +00:00
rods%netscape.com
120d150a31 Added Table and Image Inspectors
git-svn-id: svn://10.0.0.236/trunk@17269 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:59:17 +00:00
mscott%netscape.com
ac699b3ffc More work on generating a nsNNTPProtocol instance.
git-svn-id: svn://10.0.0.236/trunk@17268 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:44:28 +00:00
terry%netscape.com
58ee54a3dc troy now owns layout.
git-svn-id: svn://10.0.0.236/trunk@17267 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:41:47 +00:00
ftang%netscape.com
0b95515322 Check in the pre build table based on UCDATA 1.9 and UnicodeData-2.1.8.txt
git-svn-id: svn://10.0.0.236/trunk@17266 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:28:12 +00:00
ftang%netscape.com
2a0dbb2a26 change make file so it will not automatic generate those dat file but have to do it with an table option
git-svn-id: svn://10.0.0.236/trunk@17265 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:27:04 +00:00
akkana%netscape.com
a846609e45 Fix Linux build
git-svn-id: svn://10.0.0.236/trunk@17264 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 21:18:47 +00:00
ftang%netscape.com
dff2d0d4ba add compiled data table based on UCDATA 1.9 and UnicodeData-2.1.5.txt
git-svn-id: svn://10.0.0.236/trunk@17263 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:57:02 +00:00
sfraser%netscape.com
e0e4d6b1c0 Added ChangeAttributeTxn.cpp and EditTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@17262 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:34:04 +00:00
guha%netscape.com
63306ff75b try adding the resources again
git-svn-id: svn://10.0.0.236/trunk@17261 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:33:42 +00:00
sfraser%netscape.com
153c332fcd Change the fragment name from PLUGIN_DLL (???) to viewer
git-svn-id: svn://10.0.0.236/trunk@17260 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:32:45 +00:00
sfraser%netscape.com
97484d58c5 Fix the DLL name ENDER_DLL on Mac, and take out the #ifndef XP_MAC around the RegisterFactory for Ender. Also change XPCOM.DLL to XPCOM_DLL on Mac.
git-svn-id: svn://10.0.0.236/trunk@17259 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:32:11 +00:00
akkana%netscape.com
11d99751e8 Build EditTxn and ChangeAttributeTxn
git-svn-id: svn://10.0.0.236/trunk@17258 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:31:30 +00:00
buster%netscape.com
eaa343fa75 use Ender as the test editor
git-svn-id: svn://10.0.0.236/trunk@17257 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:31:08 +00:00
buster%netscape.com
88f1265869 attribute support
git-svn-id: svn://10.0.0.236/trunk@17256 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:30:35 +00:00
sfraser%netscape.com
79143d22b7 Fix the fragment name (change from xpcom to XPCOM_DLL)
git-svn-id: svn://10.0.0.236/trunk@17255 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:30:17 +00:00
buster%netscape.com
418dc949ad ChangedAttributeTxn implementation
base class EditTxn implementation


git-svn-id: svn://10.0.0.236/trunk@17254 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:30:13 +00:00
sfraser%netscape.com
c87bdac8bb File Removed.
git-svn-id: svn://10.0.0.236/trunk@17253 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:29:56 +00:00
buster%netscape.com
5ca13143ec support for ChangeAttributeTxn
git-svn-id: svn://10.0.0.236/trunk@17252 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:29:11 +00:00
guha%netscape.com
d77aae8c04 add some resources
git-svn-id: svn://10.0.0.236/trunk@17251 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:26:54 +00:00
brade%netscape.com
5ff262029e reduce compiler warnings on Macintosh by adding comparisons in while loops (around assignments)
git-svn-id: svn://10.0.0.236/trunk@17250 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 20:00:56 +00:00
brade%netscape.com
a360db05aa added #include and removed extra copy of prototype
git-svn-id: svn://10.0.0.236/trunk@17249 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 19:58:01 +00:00
brade%netscape.com
0b8f2a8127 reduce Macintosh compiler warnings by making function static/private
git-svn-id: svn://10.0.0.236/trunk@17248 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 19:55:57 +00:00
harishd%netscape.com
64fff4508d Added code to take care of CSS properties
that wouldn't allow negative values.


git-svn-id: svn://10.0.0.236/trunk@17247 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 19:25:25 +00:00
brade%netscape.com
1e8cf12dc5 reduce Macintosh compiler warnings by adding prototype
git-svn-id: svn://10.0.0.236/trunk@17246 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:53:59 +00:00
brade%netscape.com
e48babd69b reduce Macintosh compiler warnings byadding prototype
git-svn-id: svn://10.0.0.236/trunk@17245 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:52:58 +00:00
brade%netscape.com
c4842cd1a6 reduce Macintosh compiler warnings by making function static/private
git-svn-id: svn://10.0.0.236/trunk@17244 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:51:16 +00:00
brade%netscape.com
2ee0c72d8a reduce Macintosh compiler warnings by removing extra ,
git-svn-id: svn://10.0.0.236/trunk@17243 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:50:09 +00:00
brade%netscape.com
428d7418f0 reduce Macintosh compiler warnings by removing extra ;
git-svn-id: svn://10.0.0.236/trunk@17242 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:49:37 +00:00
brade%netscape.com
a4b6caedf2 reduce Macintosh compiler warnings by making functions static/private
git-svn-id: svn://10.0.0.236/trunk@17241 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:45:28 +00:00
brade%netscape.com
e1d099f21d reduce Macintosh compiler warnings by adding prototype
git-svn-id: svn://10.0.0.236/trunk@17240 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:44:59 +00:00
brade%netscape.com
5aed3ae866 reduce Macintosh compiler warnings by making function private
git-svn-id: svn://10.0.0.236/trunk@17239 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:43:39 +00:00
brade%netscape.com
2ff2921c1f reduce Macintosh compiler warnings by making functions private
git-svn-id: svn://10.0.0.236/trunk@17238 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:43:18 +00:00
brade%netscape.com
bde250680b reduce Macintosh compiler warnings by adding static to private function
git-svn-id: svn://10.0.0.236/trunk@17237 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:41:05 +00:00
brade%netscape.com
e4f050d6fc reduce Macintosh compiler warnings by adding prototypes
git-svn-id: svn://10.0.0.236/trunk@17236 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:39:52 +00:00
brade%netscape.com
c89f14f6ea reduce Macintosh compiler warnings by adding prototypes or making functions private
git-svn-id: svn://10.0.0.236/trunk@17235 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:38:54 +00:00
guha%netscape.com
ddb1eb942d More on the alloy prototype
git-svn-id: svn://10.0.0.236/trunk@17234 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 17:38:37 +00:00
vidur%netscape.com
beecca57f1 Fix for bug 1823. Added a toString method to the location object
git-svn-id: svn://10.0.0.236/trunk@17233 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 17:22:34 +00:00
despotdaemon%netscape.com
4158028b3d Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17232 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:46:20 +00:00
despotdaemon%netscape.com
2c8b3e5c73 Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17231 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:45:01 +00:00
troy%netscape.com
a058dad22b This time I think I got 'em in alphabetical order...
git-svn-id: svn://10.0.0.236/trunk@17230 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:41:47 +00:00
troy%netscape.com
58557ba9cd Did a better job of alphabetizing the source files
git-svn-id: svn://10.0.0.236/trunk@17229 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:39:33 +00:00
despotdaemon%netscape.com
58fad32972 Pseudo-automatic update of changes made by buster@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17228 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:23:49 +00:00
despotdaemon%netscape.com
c305f0f5f8 Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17227 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 04:00:49 +00:00
troy%netscape.com
c1acead14f Renamed nsFRameReflowState.cpp to nsHTMLReflowState.cpp
git-svn-id: svn://10.0.0.236/trunk@17226 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 03:46:55 +00:00
pavlov%pavlov.net
e63ac30622 finish menu code. thanks brad roberts <braddr@puremagic.com>
git-svn-id: svn://10.0.0.236/trunk@17225 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:54:04 +00:00
val4%cornell.edu
cf9125f987 Done going through the code! Now will need to add error handling,
tests, security.


git-svn-id: svn://10.0.0.236/trunk@17224 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:51:26 +00:00
val4%cornell.edu
d513985ecf Almost done with jsfile.c corrections, error handling, etc.
This version will compile but may not run.


git-svn-id: svn://10.0.0.236/trunk@17223 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:30:27 +00:00
vidur%netscape.com
14d3e56b03 Reverted temporary getAttribute/setAttribute fix
git-svn-id: svn://10.0.0.236/trunk@17222 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:26:43 +00:00
mcmullen%netscape.com
0497c7b872 As requested by Troy, added nsHTMLReflowState.cpp and removed nsFrameReflowState.cpp
git-svn-id: svn://10.0.0.236/trunk@17221 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:16:46 +00:00
pavlov%pavlov.net
68093fb37c remove debugging comment
git-svn-id: svn://10.0.0.236/trunk@17220 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:06:00 +00:00
vidur%netscape.com
2b6ecb6aa8 Fixed bug 1956. Generic jsval to nsISupports conversion routine checks for valid object.
git-svn-id: svn://10.0.0.236/trunk@17219 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 02:05:25 +00:00
ftang%netscape.com
9a8deed063 add files from UCDATA 1.9
git-svn-id: svn://10.0.0.236/trunk@17218 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:46:32 +00:00
jband%netscape.com
3b85fc3f20 added header comment
git-svn-id: svn://10.0.0.236/trunk@17217 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:42:11 +00:00
jband%netscape.com
e445b044dd Added primitive Win32 invoker. cleaned up a lot of trailing whitespace
git-svn-id: svn://10.0.0.236/trunk@17216 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:31:51 +00:00
peterl%netscape.com
dddd2fbded added GetStyleImpact
cleaned up api


git-svn-id: svn://10.0.0.236/trunk@17215 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:25:39 +00:00
peterl%netscape.com
4ebd31d6c5 fixed namespace used for attributes via the DOM apis
capture style hint data when setting style attribute


git-svn-id: svn://10.0.0.236/trunk@17214 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:24:49 +00:00
peterl%netscape.com
8d0ffda037 changed DOM attribute methods to return the return value from the underlying attribute mechanism
git-svn-id: svn://10.0.0.236/trunk@17213 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 01:20:54 +00:00
vidur%netscape.com
8bfeeda06f Fix for bug 1954. Cloned text nodes (and comments) carry along the original data
git-svn-id: svn://10.0.0.236/trunk@17212 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:57:17 +00:00
troy%netscape.com
6f4a4cca87 Fixed a problem with the pull_nglayout rule being recursively defined
git-svn-id: svn://10.0.0.236/trunk@17211 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:42:05 +00:00
terry%netscape.com
b07273385d karnaze now owns tables.
git-svn-id: svn://10.0.0.236/trunk@17209 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:35:24 +00:00
pavlov%pavlov.net
994fabcba7 fix menus.
git-svn-id: svn://10.0.0.236/trunk@17208 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:34:50 +00:00
vidur%netscape.com
0908ebd261 Work in progres to get out-of-line document.write working. Created Reset() method in nsDocument. Fix for bug 1668.
git-svn-id: svn://10.0.0.236/trunk@17207 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:32:41 +00:00
despotdaemon%netscape.com
d8242b7b6e Pseudo-automatic update of changes made by evaughan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17206 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:28:50 +00:00
harishd%netscape.com
ee030ba487 Added type ( test/css ) checking for STYLE tag
git-svn-id: svn://10.0.0.236/trunk@17205 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:19:46 +00:00
warren%netscape.com
c6ffa614fd Added check for null.
git-svn-id: svn://10.0.0.236/trunk@17204 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:06:14 +00:00
warren%netscape.com
7d4466c45a Added error checking.
git-svn-id: svn://10.0.0.236/trunk@17203 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:05:29 +00:00
kmcclusk%netscape.com
2a00ad3de1 Defaultchecked attribute is set to match the checked attribute just after
the radio button or checkbox element is created. Checkboxes and Radio buttons
maintain their current state using the checked attribute stored in the
content model. They no longer use the nsIWidget to maintain their current setting.
Checkboxes and Radio buttons now print correctly. (i.e checked/unchecked state matches the
screen.)


git-svn-id: svn://10.0.0.236/trunk@17202 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 00:02:27 +00:00
troy%netscape.com
641be3028f Replaced "maxSize" member if nsReflowState with "availableWidth" and
"availableHeight"


git-svn-id: svn://10.0.0.236/trunk@17201 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:31:18 +00:00
waterson%netscape.com
c236b76b0c Fixed LXR comments.
git-svn-id: svn://10.0.0.236/trunk@17200 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:29:50 +00:00
pinkerton%netscape.com
a6f5e31e7d Added toolbar demo to the tests submenu.
git-svn-id: svn://10.0.0.236/trunk@17199 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:12:01 +00:00
kipp%netscape.com
31c482e2a8 Use macros from nsTextFragment
git-svn-id: svn://10.0.0.236/trunk@17198 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:02:27 +00:00
kipp%netscape.com
39aadedaf7 Reinstated the last set of checkins that were backed out
git-svn-id: svn://10.0.0.236/trunk@17197 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:01:54 +00:00
kipp%netscape.com
e0acc8d3d0 Consolidated character set macros into this file
git-svn-id: svn://10.0.0.236/trunk@17196 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 23:01:32 +00:00
pinkerton%netscape.com
08658b989d handle toolbar demo file menu command.
git-svn-id: svn://10.0.0.236/trunk@17195 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:59:51 +00:00
pinkerton%netscape.com
8f7c09c770 register the toolbox in the widget dll.
git-svn-id: svn://10.0.0.236/trunk@17194 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:59:27 +00:00
pinkerton%netscape.com
93d3cb3b42 Respond to toolbar demo menu command to show a new window for testing out toolbars.
git-svn-id: svn://10.0.0.236/trunk@17193 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:59:02 +00:00
pinkerton%netscape.com
7c3eea677e added Toolbar Demo menu item
git-svn-id: svn://10.0.0.236/trunk@17192 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:58:35 +00:00
pinkerton%netscape.com
f17ee19665 add VIEWER_TOOLBARDEMO command id.
git-svn-id: svn://10.0.0.236/trunk@17191 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:58:22 +00:00
waterson%netscape.com
01a0925622 Added some comments.
git-svn-id: svn://10.0.0.236/trunk@17190 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:58:13 +00:00
waterson%netscape.com
41f0e26051 Fixed some indentation.
git-svn-id: svn://10.0.0.236/trunk@17189 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:54:37 +00:00
waterson%netscape.com
99edef5c4c Got rid of ConsoleOutputStream: musta been some cruft from the example code I copied...
git-svn-id: svn://10.0.0.236/trunk@17188 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:53:59 +00:00
waterson%netscape.com
1950374fbe Added LXR comments. Got rid of unnecessary #ifdefs and obsolete factory methods.
git-svn-id: svn://10.0.0.236/trunk@17187 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 22:02:56 +00:00
waterson%netscape.com
4995a4ea84 Added LXR comments.
git-svn-id: svn://10.0.0.236/trunk@17186 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:57:59 +00:00
waterson%netscape.com
82b1df53d0 Added LXR comments.
git-svn-id: svn://10.0.0.236/trunk@17185 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:36:05 +00:00
waterson%netscape.com
74c694c200 Added LXR comments.
git-svn-id: svn://10.0.0.236/trunk@17184 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:22:20 +00:00
dougt%netscape.com
70b72261c8 Exposing AreThereActiveConnections() from the nsNetServices class. This is
so that we can tell if netlib is busy without having to be compiled with it.


git-svn-id: svn://10.0.0.236/trunk@17183 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:11:42 +00:00
scc%netscape.com
ead2550eb0 defined NSCAP_NEED_UNUSED_VIRTUAL_IMPLEMENTATIONS for GNU 2.7 under linux. Fixed URL leading to the user manual. Noted that ramiro is working on getting all these special #defines handled by the configuration system instead.
git-svn-id: svn://10.0.0.236/trunk@17182 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:07:57 +00:00
waterson%netscape.com
844c8f946f Updated to use the new event queue service that Rick landed last night.
git-svn-id: svn://10.0.0.236/trunk@17181 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:07:41 +00:00
waterson%netscape.com
30209acd75 Added comments for LXR.
git-svn-id: svn://10.0.0.236/trunk@17180 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:07:09 +00:00
waterson%netscape.com
a0df425ac3 Fixed the last bug with my namespace hack. Added a bunch of comments.
git-svn-id: svn://10.0.0.236/trunk@17179 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 21:06:54 +00:00
brade%netscape.com
1e44ca3c18 fix build bustage...(bad #include)
git-svn-id: svn://10.0.0.236/trunk@17178 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 19:51:59 +00:00
troy%netscape.com
a7ee3cc2f2 Initial check-in
git-svn-id: svn://10.0.0.236/trunk@17177 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 19:44:41 +00:00
amusil%netscape.com
264a75c13f Fixing build bustage.
git-svn-id: svn://10.0.0.236/trunk@17176 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 18:48:03 +00:00
brade%netscape.com
8bbd874ef4 comment out line to get tree green again (amusil@netscape.com to fix in long run)
git-svn-id: svn://10.0.0.236/trunk@17175 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 18:32:29 +00:00
donm%netscape.com
afa12446af backing out changes against a long red tree. would like to clear
the hook.  -donm


git-svn-id: svn://10.0.0.236/trunk@17174 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 18:16:05 +00:00
donm%netscape.com
5ebbaccf7b fixing tree bustage due to #ifdef NSPR20 and missing prmacos.h.
This should be looked at again.  -donm


git-svn-id: svn://10.0.0.236/trunk@17173 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 18:08:23 +00:00
kipp%netscape.com
e320144878 Fix handling of removed-child incremental reflow to no longer crash (bug #1941); also disabled incremental behavior for remove and inserted for now so that layout looks correct
git-svn-id: svn://10.0.0.236/trunk@17172 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 17:50:41 +00:00
kipp%netscape.com
8756b851e1 Removed aPrevSibling from DoRemoveFrame's arg list
git-svn-id: svn://10.0.0.236/trunk@17171 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 17:49:44 +00:00
rpotts%netscape.com
0eadeaf837 Include the implementation of NS_SetupRegistry(...) from mozilla/webshell/tests/viewer/nsSetupRegistry.cpp rather than duplicating the code...
git-svn-id: svn://10.0.0.236/trunk@17160 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 10:39:04 +00:00
rpotts%netscape.com
7404fe4fa5 use the new EventQueueService to obtain the event queue used for marshalling data over to the UI thread...
git-svn-id: svn://10.0.0.236/trunk@17159 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:51:28 +00:00
rpotts%netscape.com
d71f0e04b2 Use the EventQueueService to get the event queue for the UI thread...
git-svn-id: svn://10.0.0.236/trunk@17158 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:46:33 +00:00
rpotts%netscape.com
f0d7f6fddb On windows call PL_InitializeEventsLib(...) until the new PL_event apis are available...
git-svn-id: svn://10.0.0.236/trunk@17157 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:44:28 +00:00
rpotts%netscape.com
d4874da99e do not call PL_InitializeEventsLib(...) any more. nsIEventQueueService::CreateThreadEventQueue(...) has this functionality now...
git-svn-id: svn://10.0.0.236/trunk@17156 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:42:22 +00:00
amusil%netscape.com
c774854dcf Removed plugin .cpp files - plugin functionality now exists in the plugin.mcp project.
git-svn-id: svn://10.0.0.236/trunk@17155 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:35:29 +00:00
amusil%netscape.com
b715d40019 Added plugin.shlb
git-svn-id: svn://10.0.0.236/trunk@17154 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:34:54 +00:00
amusil%netscape.com
6e42329df5 Added plugin.mcp project to the Mac build. plugin.shlb is now included in layout.mcp and plugin-related cpp files have been removed from viewer.mcp
git-svn-id: svn://10.0.0.236/trunk@17153 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:34:27 +00:00
amusil%netscape.com
3477339d79 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17152 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 09:10:46 +00:00
waterson%netscape.com
7b200af9a2 Bug fixes and enhancements to nsRDFStreamData source. Can almost round-trip RDF/XML now...
git-svn-id: svn://10.0.0.236/trunk@17151 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 08:44:40 +00:00
cls%seawood.org
2f83b9cfdb Fixed problem in fullcircle detection that was causing configure to break when using autoconf-19981231.
git-svn-id: svn://10.0.0.236/trunk@17146 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 07:16:18 +00:00
rpotts%netscape.com
ec65ee7ade Create an event queue via the EventQueueService for the UI thread...
git-svn-id: svn://10.0.0.236/trunk@17145 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:58:08 +00:00
rpotts%netscape.com
9493f3c102 Add the EventQueueService to the repository...
git-svn-id: svn://10.0.0.236/trunk@17144 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:51:30 +00:00
troy%netscape.com
dd7cc8fddc Improved GetAbsoluteContainingBlock() a bit. It still needs to handle scrolled
elements


git-svn-id: svn://10.0.0.236/trunk@17143 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:51:22 +00:00
rpotts%netscape.com
bfb6a305f7 On windows only, ignore the eventQ kept by the eventQ service... Until the event Q is created with PL_CreateNativeEventQueue(...) only the main event Q can be used...
git-svn-id: svn://10.0.0.236/trunk@17142 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:43:53 +00:00
rpotts%netscape.com
750b88f0de Added nsXPComFactory.cpp and nsEventQueueService.cpp to the windows build
git-svn-id: svn://10.0.0.236/trunk@17141 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:42:38 +00:00
waterson%netscape.com
aa2086117c Added docs on what this file is for.
git-svn-id: svn://10.0.0.236/trunk@17140 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:38:45 +00:00
waterson%netscape.com
a7958b582d Merge from RDF_122898_BRANCH. (This is not in the main build.)
git-svn-id: svn://10.0.0.236/trunk@17139 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 05:36:40 +00:00
pierre%netscape.com
b5170621b9 removed the handle locking/unlocking in Init()
git-svn-id: svn://10.0.0.236/trunk@17138 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 04:07:23 +00:00
waterson%netscape.com
801ab5428d Landed RDF_122898_BRANCH onto the trunk.
git-svn-id: svn://10.0.0.236/trunk@17137 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 03:53:15 +00:00
val4%cornell.edu
e8f8188954 Some more changes, there's not that much left. Need to figure out a
model for error reporting and security.


git-svn-id: svn://10.0.0.236/trunk@17136 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 03:51:30 +00:00
pierre%netscape.com
2266917d12 commented out an annoying assert
git-svn-id: svn://10.0.0.236/trunk@17135 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 03:51:17 +00:00
pierre%netscape.com
24e8e9d5cd Fixing the xpfeViewer build (which is now obsolete) just for the sake of it
git-svn-id: svn://10.0.0.236/trunk@17134 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 03:48:54 +00:00
pavlov%pavlov.net
d0aecad9d4 we now underline things.
git-svn-id: svn://10.0.0.236/trunk@17133 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 03:25:55 +00:00
val4%cornell.edu
50a1d9d4a7 I am half way through changing the file object error handling code and
generally cleaning everything up.


git-svn-id: svn://10.0.0.236/trunk@17129 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 02:18:26 +00:00
larryh%netscape.com
41ea29ef02 BugZilla 2131. Plus, fix undef symbol in Mac
git-svn-id: svn://10.0.0.236/trunk@17128 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 01:38:41 +00:00
val4%cornell.edu
595b3fc337 Netscape licence added
git-svn-id: svn://10.0.0.236/trunk@17127 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 01:08:45 +00:00
troy%netscape.com
4e4c0aad37 Cleaned up some old references to margins which aren't applicable to row group
frames and row frames (because internal table elements don't have margins)


git-svn-id: svn://10.0.0.236/trunk@17126 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 00:41:40 +00:00
briano%netscape.com
6e7d188d7b Fix for bugzilla#1316 in which both debug and optimization flags were being passed to the compiler when MOZ_DEBUG was defined.
git-svn-id: svn://10.0.0.236/trunk@17125 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 00:37:34 +00:00
larryh%netscape.com
2fb0355c6b BugZilla: 2131. BugSplat: 337698.
Thanks to "Adam Lock" <locka@iol.ie> for suggestions.
Thanks to Rick Potts for suggestions and critique of the design.


git-svn-id: svn://10.0.0.236/trunk@17124 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-05 00:08:28 +00:00
mscott%netscape.com
c1c89e5fd3 First checked in. These files are the foundation for our nntp protocol implementation.
git-svn-id: svn://10.0.0.236/trunk@17123 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:59:59 +00:00
amusil%netscape.com
c94b267b34 Temporary workaround so that plugins display correctly. This will change after support for
CSS borders and padding are added.


git-svn-id: svn://10.0.0.236/trunk@17122 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:45:38 +00:00
val4%cornell.edu
745be1fd7d Extended shell. Previously was part of the ns tree. See README.html for
more details.


git-svn-id: svn://10.0.0.236/trunk@17121 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:45:08 +00:00
amusil%netscape.com
ce0f3f26ce Added NPN_NewStream() functionality. Currently uses a temp file between the plugin stream and the target.
I will remove this file in-between as soon as I get a little more stream help from netlib.


git-svn-id: svn://10.0.0.236/trunk@17120 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:43:41 +00:00
briano%netscape.com
7e33a97efc First attempt at building on HP-UX again. Thanks to rkl@connect.org.uk for the patch, and for his amazing patience....
git-svn-id: svn://10.0.0.236/trunk@17119 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:17:01 +00:00
rpotts%netscape.com
2d510a5603 Added new headers to the EXPORT rule...
git-svn-id: svn://10.0.0.236/trunk@17118 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 23:08:44 +00:00
ftang%netscape.com
a03bd0610f add unix support
git-svn-id: svn://10.0.0.236/trunk@17113 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 22:36:45 +00:00
ftang%netscape.com
4dab9f4776 add export function
git-svn-id: svn://10.0.0.236/trunk@17110 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 22:34:43 +00:00
ftang%netscape.com
12bb169ebb add Makefile.in
git-svn-id: svn://10.0.0.236/trunk@17108 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 22:05:25 +00:00
locka%iol.ie
52b207f812 Bug 2111: Implemented temporary kludge fix pending ideas from others on the matter
git-svn-id: svn://10.0.0.236/trunk@17107 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 21:58:15 +00:00
ftang%netscape.com
a8e20395d0 uncomment nsRegistery::FreeLibrary line
git-svn-id: svn://10.0.0.236/trunk@17106 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 21:52:15 +00:00
pnunn%netscape.com
e0ccf1f37e Minor changes to address annoying compile warnings. pn
git-svn-id: svn://10.0.0.236/trunk@17104 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 20:04:49 +00:00
jfrancis%netscape.com
4a14e99dd5 satisfying compiler oddities
git-svn-id: svn://10.0.0.236/trunk@17101 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 17:44:20 +00:00
jfrancis%netscape.com
b14dce6190 bug fixing range gravity code; general cleanup
git-svn-id: svn://10.0.0.236/trunk@17097 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 16:48:33 +00:00
despotdaemon%netscape.com
2b02b5ea74 Pseudo-automatic update of changes made by brade@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17096 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 16:41:14 +00:00
brade%netscape.com
d98b24c0f3 add typecasts to reduce warnings on Macintosh compiler (r/a mike mccabe)
git-svn-id: svn://10.0.0.236/trunk@17095 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 15:31:52 +00:00
jfrancis%netscape.com
e2914acc38 fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@17094 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 15:24:31 +00:00
jfrancis%netscape.com
4cb9ee6bab disabling some range stuff while I fix it
git-svn-id: svn://10.0.0.236/trunk@17093 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 13:06:43 +00:00
rpotts%netscape.com
f611f3c664 Added the nsIEventQueueService IID...
git-svn-id: svn://10.0.0.236/trunk@17092 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:50:43 +00:00
rpotts%netscape.com
e9f86cd8cf This is the implementation of the EventQueue service...
git-svn-id: svn://10.0.0.236/trunk@17091 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:50:10 +00:00
rpotts%netscape.com
92a7c129df This is the implementation of NS_GetFactory(...) for the xpcom DLL.
git-svn-id: svn://10.0.0.236/trunk@17090 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:49:49 +00:00
rpotts%netscape.com
b8eeb8454d This is a templatized implementation of an XPCOM factory...
git-svn-id: svn://10.0.0.236/trunk@17089 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:44:26 +00:00
rpotts%netscape.com
6bce9e5b21 THis file contains the CLSIDs of components which can be created by the xpcom factory...
git-svn-id: svn://10.0.0.236/trunk@17088 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:43:52 +00:00
rpotts%netscape.com
a0f65d0e99 Interface to the EventQueue Service...
git-svn-id: svn://10.0.0.236/trunk@17087 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 08:43:12 +00:00
buster%netscape.com
3f8ad7598f fixed a crash in edit mode VK_BACK handling. uninitialized pointer.
git-svn-id: svn://10.0.0.236/trunk@17086 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 07:08:53 +00:00
troy%netscape.com
4d65b22403 Changed nsISpaceManager interface to conform to XP-COM conventions on
return values


git-svn-id: svn://10.0.0.236/trunk@17085 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 04:54:33 +00:00
jband%netscape.com
c759ddad43 minor fixes
git-svn-id: svn://10.0.0.236/trunk@17084 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 03:35:42 +00:00
jband%netscape.com
d95c559650 type names less generic
git-svn-id: svn://10.0.0.236/trunk@17083 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 03:30:09 +00:00
jband%netscape.com
8897045308 Initial checkin of XPConnect. This is not yet at all functional nor anywhere near finished.
git-svn-id: svn://10.0.0.236/trunk@17082 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 03:14:01 +00:00
buster%netscape.com
56a7cf3ab3 fixed bug 1999, frame="void" was removing cell borders as well as the table frame
git-svn-id: svn://10.0.0.236/trunk@17081 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 22:30:23 +00:00
buster%netscape.com
535e4c1b38 swirly new collapsing border example added
git-svn-id: svn://10.0.0.236/trunk@17080 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 20:45:05 +00:00
buster%netscape.com
8d76cca127 comments, so many comments!
git-svn-id: svn://10.0.0.236/trunk@17079 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 19:23:21 +00:00
buster%netscape.com
f409ad31b4 preliminary work for cell inheritence of valign and halign attributes from col(group) and row(group)
according to css 2 spec


git-svn-id: svn://10.0.0.236/trunk@17078 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 19:22:40 +00:00
buster%netscape.com
82750b9744 fixed a bug in fixed layout initial reflow with spanning cells
git-svn-id: svn://10.0.0.236/trunk@17077 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 19:20:13 +00:00
jfrancis%netscape.com
d1bebf1bc5 adding range gravity for dom text nodes
git-svn-id: svn://10.0.0.236/trunk@17076 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 14:29:54 +00:00
troy%netscape.com
1c810256bf Moved enum and replaced it with #defines
git-svn-id: svn://10.0.0.236/trunk@17075 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 00:31:46 +00:00
troy%netscape.com
99d2f51f2c Fixe for test8 hitting an assert
git-svn-id: svn://10.0.0.236/trunk@17074 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-03 00:15:56 +00:00
troy%netscape.com
f16883b846 Changed comment to reflect the current state of the tree
git-svn-id: svn://10.0.0.236/trunk@17073 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 23:05:08 +00:00
troy%netscape.com
748bda0c54 Changed computed width calculation for internal table elements to take
border/padding into account


git-svn-id: svn://10.0.0.236/trunk@17072 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 22:54:12 +00:00
troy%netscape.com
b5bffb2735 Added logic to make sure that internal table elements have reasonable
values for the computed width/height


git-svn-id: svn://10.0.0.236/trunk@17071 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 21:03:51 +00:00
troy%netscape.com
0676951248 Added :CELL-CONTENT rule for the area-frame that's inside the table cell.
Sets the 'display' property to 'block' to override the default value of
'inline'


git-svn-id: svn://10.0.0.236/trunk@17070 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 21:01:37 +00:00
troy%netscape.com
b924e4baa8 Changed CreatePlaceholderFrame() to use a pseudo element style context
(:PLACEHOLDER-FRAME) for the placeholder frame. This way it looks like an
inline static frame with a specified size of (0, 0)


git-svn-id: svn://10.0.0.236/trunk@17069 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 20:51:43 +00:00
troy%netscape.com
ca81e6912a Fix for bug 2109. If the child's maxSize.width is smaller than the containing
block's computed width then use it instead


git-svn-id: svn://10.0.0.236/trunk@17068 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 19:21:32 +00:00
val4%cornell.edu
58dd6fa960 Changes in the way error reporting works. Removed JS_ReportOutOfMemory
because JS_malloc calls it on failure. Removed checks for NULL returned
from JS_GetInstancePrivate because we have a check in JS_SetPrivate.


git-svn-id: svn://10.0.0.236/trunk@17066 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-02 04:02:36 +00:00
val4%cornell.edu
29a57fc9cb Lots of changes in implementation of various functions and formatting.
The only major feature added in support of pipes, it hasn't been tested
yet.


git-svn-id: svn://10.0.0.236/trunk@17065 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 04:37:28 +00:00
leaf%mozilla.org
2bb3760815 applying patches from Joe Keane <jgk@jgk.org> changing gets to fgets
git-svn-id: svn://10.0.0.236/trunk@17064 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 02:47:52 +00:00
ftang%netscape.com
a41ba28081 temp turn off self reg on UNIX
git-svn-id: svn://10.0.0.236/trunk@17063 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 01:29:12 +00:00
terry%netscape.com
243249521d Sleezy hack to always make "cvs" come out as the first repository.
git-svn-id: svn://10.0.0.236/trunk@17060 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 00:44:59 +00:00
ftang%netscape.com
d9019b2386 use NS_FAILED(res) to replace bad (NS_OK != res)
git-svn-id: svn://10.0.0.236/trunk@17059 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 00:35:26 +00:00
terry%netscape.com
05bf72d1e9 Added ability to search for the partition that owns a given file.
git-svn-id: svn://10.0.0.236/trunk@17058 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 00:34:38 +00:00
terry%netscape.com
4404aa487d Get rid of a harmless warning message.
git-svn-id: svn://10.0.0.236/trunk@17057 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 00:07:21 +00:00
morse%netscape.com
5ec9a17505 put back fix for cookie bug
git-svn-id: svn://10.0.0.236/trunk@17056 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-01 00:06:00 +00:00
despotdaemon%netscape.com
0cec25a85d Pseudo-automatic update of changes made by scc@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17055 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 23:33:07 +00:00
leaf%mozilla.org
3a16ac0a92 fixed mispelled greetings and added some.
git-svn-id: svn://10.0.0.236/trunk@17054 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 23:29:48 +00:00
terry%netscape.com
2f67b6c5a1 raptor => SeaMonkey.
git-svn-id: svn://10.0.0.236/trunk@17053 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 23:27:49 +00:00
troy%netscape.com
88546760e9 Changed InitConstraints() to handle inline, block-level, and floated elements
(replaced and non-replaced)


git-svn-id: svn://10.0.0.236/trunk@17052 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 23:07:00 +00:00
donm%netscape.com
527c480a9e backing out tree busting changes. -donm
git-svn-id: svn://10.0.0.236/trunk@17051 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 22:44:19 +00:00
coop%netscape.com
3bf81d55cf Added reference to xpidl_typelib.h
git-svn-id: svn://10.0.0.236/trunk@17050 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 22:11:39 +00:00
coop%netscape.com
bdbe9a1b5b Initial pass at declarations required for building typelib files.
git-svn-id: svn://10.0.0.236/trunk@17049 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 22:11:05 +00:00
terry%netscape.com
4aa2b0ed83 When creating a new tinderbox tree, give a chance to specify the
repository it uses.


git-svn-id: svn://10.0.0.236/trunk@17046 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 21:33:19 +00:00
morse%netscape.com
592e6c3aa3 make parameters consistent
git-svn-id: svn://10.0.0.236/trunk@17045 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 21:26:31 +00:00
morse%netscape.com
4f3a18180e fix bug 329293 -- 2-dot cookie bug
git-svn-id: svn://10.0.0.236/trunk@17044 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 21:25:58 +00:00
leaf%mozilla.org
b4ca26d112 fixing clobber rule
git-svn-id: svn://10.0.0.236/trunk@17043 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 20:17:37 +00:00
leaf%mozilla.org
5384748984 readding the clobber_all rule... *grumble* *grumble*
git-svn-id: svn://10.0.0.236/trunk@17041 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 19:55:05 +00:00
terry%netscape.com
9f7db4a504 Track mozilla.org news. Whenever a newsitem appears in anything, tell
the channel about it.  Also, now checks everything once an hour.


git-svn-id: svn://10.0.0.236/trunk@17039 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 18:38:54 +00:00
val4%cornell.edu
87316fb0e5 The following changes were made:
jsfile.h
 - NewFileObject function exposed
jsfile.c
 - Added .msg-style error support of error reporting
 - ucs2 changed to binary
 - input/output/error properties are created


git-svn-id: svn://10.0.0.236/trunk@17038 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 05:58:26 +00:00
troy%netscape.com
008a69b28f Better computation of computed width and height and margins for block-level
elements


git-svn-id: svn://10.0.0.236/trunk@17037 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 05:35:38 +00:00
jfrancis%netscape.com
f5031101fd Adding Range to repository & layout factory
git-svn-id: svn://10.0.0.236/trunk@17036 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 02:32:28 +00:00
ramiro%netscape.com
f84c6c743c Fix a dumb else then screwup.
git-svn-id: svn://10.0.0.236/trunk@17035 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 02:29:06 +00:00
ramiro%netscape.com
7beee88783 Added a script to regenerate a single Makefile from a Makefile.in using
the config.status script.


git-svn-id: svn://10.0.0.236/trunk@17034 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 02:27:25 +00:00
akkana%netscape.com
d823abaaa3 Only build editor if MOZ_EDITOR is defined
git-svn-id: svn://10.0.0.236/trunk@17019 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-31 00:18:40 +00:00
buster%netscape.com
6df6114357 collapsing border bug fixes
git-svn-id: svn://10.0.0.236/trunk@17017 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 23:23:45 +00:00
timm%netscape.com
4cd964039a new checkins for free source CCK
git-svn-id: svn://10.0.0.236/trunk@17016 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 23:03:13 +00:00
ftang%netscape.com
2c3827d8ca Change setting
git-svn-id: svn://10.0.0.236/trunk@17015 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 22:51:55 +00:00
ftang%netscape.com
e387be988a temp fix for mac problem by comment out nsRepository::FreeLibraries
git-svn-id: svn://10.0.0.236/trunk@17014 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 22:51:08 +00:00
buster%netscape.com
026f6d379d empty cells now are sized correctly.
git-svn-id: svn://10.0.0.236/trunk@17013 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 22:41:08 +00:00
buster%netscape.com
9864b12d26 collapsing borders with odd width have correct width now
git-svn-id: svn://10.0.0.236/trunk@17012 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 22:40:36 +00:00
buster%netscape.com
92257be8b3 right dashed borders now work
dashed borders along a span now mostly work


git-svn-id: svn://10.0.0.236/trunk@17011 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 22:39:49 +00:00
vidur%netscape.com
c94d23dc13 Separated class intialization from name registration in namespace management code
git-svn-id: svn://10.0.0.236/trunk@17010 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 21:35:35 +00:00
waterson%netscape.com
19d9cc2d75 Okay, try #2. Fix Win95/98 build bustage.
git-svn-id: svn://10.0.0.236/trunk@17009 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 21:25:47 +00:00
ftang%netscape.com
aee1370842 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@17008 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 21:10:39 +00:00
ftang%netscape.com
f4d52efe5b test the result for all the return vaule from nsRepository
git-svn-id: svn://10.0.0.236/trunk@17007 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 21:06:18 +00:00
leaf%mozilla.org
4965267284 backing out removal of nsInMemoryDataSource.obj
git-svn-id: svn://10.0.0.236/trunk@17005 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 20:00:59 +00:00
ftang%netscape.com
6adda3e963 Add some code for mac
git-svn-id: svn://10.0.0.236/trunk@17004 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 19:49:57 +00:00
brade%netscape.com
aea5c2aaca remove paths for mozilla/modules/xlate since it isn't needed nor available from the current CVS module
git-svn-id: svn://10.0.0.236/trunk@17003 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 19:40:17 +00:00
despotdaemon%netscape.com
1f784a84d0 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@17002 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 19:19:31 +00:00
dougt%netscape.com
60826ccda8 Removing AutoUpdate from Netlib.
git-svn-id: svn://10.0.0.236/trunk@17001 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 19:09:39 +00:00
waterson%netscape.com
7cf55635ec Fix Win95 build bustage.
git-svn-id: svn://10.0.0.236/trunk@16999 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 17:52:01 +00:00
troy%netscape.com
c22f41cbf9 Changed width/height constraints in nsHTMLReflowState struct
git-svn-id: svn://10.0.0.236/trunk@16998 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 17:50:00 +00:00
despotdaemon%netscape.com
4659feb84c Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16997 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:18:58 +00:00
brade%netscape.com
0b4a44f926 make several functions PRIVATE to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16996 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:06:22 +00:00
brade%netscape.com
5df088c603 add #includes and prototypes to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16995 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:05:27 +00:00
brade%netscape.com
de46138715 add prototype and PRIVATE to several functions to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16994 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:03:43 +00:00
brade%netscape.com
363efbac97 add prototype for net_ReleaseContext to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16993 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:01:54 +00:00
brade%netscape.com
c6a16212fc add prototypes to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@16992 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:00:57 +00:00
brade%netscape.com
06b8ec5269 add prototype for NET_FindProxyInJSC to reduce compiler warnings on Macintosh.
git-svn-id: svn://10.0.0.236/trunk@16991 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 16:00:01 +00:00
jfrancis%netscape.com
9a6867b7e9 more dom range gravity work
git-svn-id: svn://10.0.0.236/trunk@16990 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 08:28:16 +00:00
buster%netscape.com
05fedad27b collapsing border computation and conflict resolution
git-svn-id: svn://10.0.0.236/trunk@16989 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 06:48:15 +00:00
buster%netscape.com
cca2fe54e4 CSS2 table collapsing border rendering
git-svn-id: svn://10.0.0.236/trunk@16988 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 06:47:26 +00:00
buster%netscape.com
40cc77a614 added mInsideNeighbor to nsBorderEdge, allowing fast access for an outside edge to
it's neighboring inside edge.  value is undefined for inside edges.


git-svn-id: svn://10.0.0.236/trunk@16987 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 06:46:35 +00:00
vidur%netscape.com
526d71ae38 Fixed early initialization problem in script namespace management
git-svn-id: svn://10.0.0.236/trunk@16985 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 02:46:36 +00:00
beard%netscape.com
d8ba29c639 backed out SingleSign/CookieManagement changes
git-svn-id: svn://10.0.0.236/trunk@16984 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 02:26:02 +00:00
morse%netscape.com
e6905cd686 fix mac bustage
git-svn-id: svn://10.0.0.236/trunk@16983 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 02:25:05 +00:00
beard%netscape.com
4d29b4ba1b Turning on CookieManagement/SingleSignon on Mac.
git-svn-id: svn://10.0.0.236/trunk@16982 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 01:47:23 +00:00
beard%netscape.com
050ebec5db Backed out change for mac bustage.
git-svn-id: svn://10.0.0.236/trunk@16981 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 01:45:39 +00:00
val4%cornell.edu
88a1b143d1 The following changes were made:
- Changed the DLL export macros JS_EXTERN_API, etc. to conform with the
  current standards
- Updates the docs in README.html
- Updated the include locations and the MSDEV project to make
  the build process easier.
- Managed to build PerlConnect with Perl 5.005_02. It's not compatible
  with previous versions. Don't use ActivePerl! It probably won't work!
- There is a fix to js.c which I am going to chech in a bit later.


git-svn-id: svn://10.0.0.236/trunk@16979 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 01:36:55 +00:00
morse%netscape.com
281d6445b1 fix mac bustage
git-svn-id: svn://10.0.0.236/trunk@16977 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 01:29:54 +00:00
despotdaemon%netscape.com
1d011cec19 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16976 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 01:01:15 +00:00
ramiro%netscape.com
396e5e417f cvsignore FilesTest.
git-svn-id: svn://10.0.0.236/trunk@16975 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:38:50 +00:00
ramiro%netscape.com
2968376436 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@16974 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:38:23 +00:00
morse%netscape.com
b81dca611d changes needed for privacy module
git-svn-id: svn://10.0.0.236/trunk@16973 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:22:55 +00:00
morse%netscape.com
ab6c2fa557 interfaces for routines need by privacy module
git-svn-id: svn://10.0.0.236/trunk@16972 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:20:46 +00:00
rpotts%netscape.com
c01cd564e1 Removed browser dependancies that are not checked in yet...
git-svn-id: svn://10.0.0.236/trunk@16971 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:09:03 +00:00
rpotts%netscape.com
00bb487c0e Added support for terminating the app when all of the top level windows have been closed...
git-svn-id: svn://10.0.0.236/trunk@16970 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:03:52 +00:00
rpotts%netscape.com
26f914fde9 changed to use nscore.h for the NS_APPSHELL definition...
git-svn-id: svn://10.0.0.236/trunk@16969 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-30 00:03:00 +00:00
rpotts%netscape.com
9a987c1346 Added an entry for the application shell...
git-svn-id: svn://10.0.0.236/trunk@16968 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 23:59:23 +00:00
leaf%mozilla.org
b664c8d070 adding mozilla/modules/libpref/unicharutil as per frank tang's request
git-svn-id: svn://10.0.0.236/trunk@16967 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 23:48:10 +00:00
rpotts%netscape.com
e4aeef3417 added new factories from webshell/viewer/nsSetupRegistry.cpp
git-svn-id: svn://10.0.0.236/trunk@16966 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 23:32:11 +00:00
ftang%netscape.com
4ea7326030 1st check in. It build on Window. It does not build on UNIX and macintosh yet.
It is not hook up with build system yet. Read note.txt first.


git-svn-id: svn://10.0.0.236/trunk@16965 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 23:28:05 +00:00
beard%netscape.com
435e568120 Creates a new window with "_new" target.
git-svn-id: svn://10.0.0.236/trunk@16960 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 22:37:55 +00:00
beard%netscape.com
79f4ee31da Document base changes.
git-svn-id: svn://10.0.0.236/trunk@16959 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 22:36:41 +00:00
beard%netscape.com
9e4c52a9f9 Class loader utilities.
git-svn-id: svn://10.0.0.236/trunk@16958 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 22:36:11 +00:00
beard%netscape.com
a7dc225454 Pro 4 format.
git-svn-id: svn://10.0.0.236/trunk@16957 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 22:35:01 +00:00
beard%netscape.com
80dfd8f7b5 Class loader, security context stuff, codebase principal.
git-svn-id: svn://10.0.0.236/trunk@16955 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 22:31:18 +00:00
blizzard%appliedtheory.com
39c0e61381 patch from Brian Ryner <bryner@uiuc.edu> for scaling fonts a little
better.


git-svn-id: svn://10.0.0.236/trunk@16945 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 21:08:11 +00:00
jfrancis%netscape.com
0ee5686b8c removing nsAbsoluteFrame.cpp, since it seems to have disappeared.
git-svn-id: svn://10.0.0.236/trunk@16935 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 07:24:32 +00:00
beard%netscape.com
3826ef37b1 Removed nsBodyFrame.cpp per Troy's request.
git-svn-id: svn://10.0.0.236/trunk@16934 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 06:08:02 +00:00
troy%netscape.com
2927e0972f Fixed it up to compile, because the Mac is still building it...
git-svn-id: svn://10.0.0.236/trunk@16933 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 05:54:59 +00:00
troy%netscape.com
e56c93f6f8 Fixed it up to compile again, because the Mac is still building it...
git-svn-id: svn://10.0.0.236/trunk@16932 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 05:53:54 +00:00
troy%netscape.com
d12c228d7d Fixed it so XML documents display again
git-svn-id: svn://10.0.0.236/trunk@16931 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 05:51:11 +00:00
troy%netscape.com
1113a62e37 Removed debug output that was probably checked in by mistake
git-svn-id: svn://10.0.0.236/trunk@16930 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 05:37:11 +00:00
troy%netscape.com
798ca8add0 Fixed a problem with absolutely positioned tables not working properly
git-svn-id: svn://10.0.0.236/trunk@16929 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 05:35:42 +00:00
troy%netscape.com
38a8b5ecdb Changed some of the member functions to conform to XP-COM conventions for
returning a nsresult


git-svn-id: svn://10.0.0.236/trunk@16928 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 04:56:31 +00:00
troy%netscape.com
43b0f05bb3 Renamed FindFrameWithContent() to GetPrimaryFrameFor()
git-svn-id: svn://10.0.0.236/trunk@16927 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 04:45:18 +00:00
rpotts%netscape.com
6a46e826d5 Fixed the firing of the OnConnectionsComplete(...) notification so it worked correctly in framesets...
git-svn-id: svn://10.0.0.236/trunk@16926 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 04:45:00 +00:00
beard%netscape.com
9313e8f0c4 Was using unitialized variables for default dimensions of newly created window. Now attempts to at least inherit position from creating window.
git-svn-id: svn://10.0.0.236/trunk@16925 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 03:53:07 +00:00
troy%netscape.com
9a7f94d20b Moved logic that deals with moving absolutely positioned frames out of the
flow to the frame construction code


git-svn-id: svn://10.0.0.236/trunk@16924 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 03:38:16 +00:00
troy%netscape.com
eb80b6fbaa Fixed memory leak in nsHttpUrlImpl::SetSpec()
git-svn-id: svn://10.0.0.236/trunk@16923 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 01:32:39 +00:00
troy%netscape.com
62065135d1 Fixed memory leak in NS_MakeAbsoluteURL()
git-svn-id: svn://10.0.0.236/trunk@16920 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 01:22:57 +00:00
blizzard%appliedtheory.com
b77dcba831 don't return the address of something allocated on the stack
git-svn-id: svn://10.0.0.236/trunk@16918 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 01:07:35 +00:00
troy%netscape.com
cdbdb080a4 Fixed memory leak in ToString()
git-svn-id: svn://10.0.0.236/trunk@16917 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 01:03:26 +00:00
mcmullen%netscape.com
4bbbe1f26f Simplify the console case, so that Windows does not think it has to compile with exception handling.
git-svn-id: svn://10.0.0.236/trunk@16914 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-29 00:24:32 +00:00
rpotts%netscape.com
f8bbc3023a Fire the OnSubmit event on the form not the input field...
git-svn-id: svn://10.0.0.236/trunk@16911 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-28 21:28:53 +00:00
cls%seawood.org
dbbb4b4485 Ok, after further thought, the last attempt wasn't going to work as the mac project files were not updated so we'll just put Guha's stuff in ifdefs.
git-svn-id: svn://10.0.0.236/trunk@16909 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-28 06:05:14 +00:00
cls%seawood.org
610c12c402 Oops, forgot about the headers.
git-svn-id: svn://10.0.0.236/trunk@16908 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-28 05:34:13 +00:00
cls%seawood.org
259c5306a9 Attempting to fix the change from using nsMemoryDataSource.cpp to using nsInMemoryDataSource.cpp.
git-svn-id: svn://10.0.0.236/trunk@16907 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-28 04:12:55 +00:00
guha%netscape.com
ba7c870812 adding a method to nsIRDFCursor.cpp
git-svn-id: svn://10.0.0.236/trunk@16906 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-27 20:35:46 +00:00
nisheeth%netscape.com
97dde67cba Definition and implementation of nsXSLContentSink. The XSL content sink
is instantiated for an XSL stylesheet and constructs
the XSL rule model as the stylesheet gets parsed by the parser.

Checking in the first cut.  These files are not part of the build yet.  Just
checking in so that they get backed up while I am away on my 3 week vacation.


git-svn-id: svn://10.0.0.236/trunk@16905 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-27 08:48:00 +00:00
nisheeth%netscape.com
02896f6428 Checking in initial tests for the first XSL prototype.
git-svn-id: svn://10.0.0.236/trunk@16904 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-27 08:25:54 +00:00
nisheeth%netscape.com
63b7e2f477 Adding code protected by an ifdef for making the XML content sink initiate
the load of an XSL stylesheet when it sees a stylesheet PI with an XSL
content type.


git-svn-id: svn://10.0.0.236/trunk@16903 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-27 08:24:04 +00:00
locka%iol.ie
2693122d24 Added extra debugging
git-svn-id: svn://10.0.0.236/trunk@16902 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-26 12:16:12 +00:00
locka%iol.ie
9b4f53f45c Updated method prototype after changes to nsIStreamObserver
git-svn-id: svn://10.0.0.236/trunk@16901 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-26 12:15:56 +00:00
locka%iol.ie
768bc13f55 Changed threading model
git-svn-id: svn://10.0.0.236/trunk@16900 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-26 12:14:46 +00:00
val4%cornell.edu
841874f176 Added support for dir["file"] syntax.
git-svn-id: svn://10.0.0.236/trunk@16899 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-25 02:31:49 +00:00
beard%netscape.com
b07aeb07ee Cleaned up non-debug access paths, made them consistent with debug access paths.
git-svn-id: svn://10.0.0.236/trunk@16898 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-25 00:31:17 +00:00
srinivas%netscape.com
fd610fd1a6 Fix compiler warnings on Mac; checkin for brade
git-svn-id: svn://10.0.0.236/trunk@16897 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 22:03:37 +00:00
guha%netscape.com
0ec87b1f76 move mail data source
git-svn-id: svn://10.0.0.236/trunk@16896 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 21:47:24 +00:00
pavlov%pavlov.net
5ab3cf2e4d yet another attempt to get resizing working
git-svn-id: svn://10.0.0.236/trunk@16895 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 21:06:27 +00:00
beard%netscape.com
c993029597 Added "compile_script()" which compiles a text-based AppleScript into a compiled form which runs faster. _useManifestoLib() now ensures that the compiled script is up-to-date with the text script.
git-svn-id: svn://10.0.0.236/trunk@16894 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 19:35:20 +00:00
beard%netscape.com
352c247c47 Working around IDE 3.X bug, looping over target files until error encountered, filtering by file type, not using IDE's file type, too slow.
git-svn-id: svn://10.0.0.236/trunk@16893 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 19:32:21 +00:00
beard%netscape.com
02f470b3f3 Updated to enumerate target files until error encountered, use 3.3 IDE.
git-svn-id: svn://10.0.0.236/trunk@16892 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 19:30:15 +00:00
despotdaemon%netscape.com
a13f1f35ed Pseudo-automatic update of changes made by cathleen@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16891 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 19:03:13 +00:00
despotdaemon%netscape.com
bfc4e23f90 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@16890 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 19:00:58 +00:00
dcone%netscape.com
d6f004b496 Cleanup of the ps directory, incremental changes
git-svn-id: svn://10.0.0.236/trunk@16889 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 15:25:04 +00:00
despotdaemon%netscape.com
5e1d692eb5 Pseudo-automatic update of changes made by cathleen@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16888 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 09:40:53 +00:00
waterson%netscape.com
4b67d52cbd Initial revision.
git-svn-id: svn://10.0.0.236/trunk@16887 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:26:27 +00:00
waterson%netscape.com
7619dd2856 Obsolete.
git-svn-id: svn://10.0.0.236/trunk@16886 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:22:17 +00:00
waterson%netscape.com
3a99cc7efe Updated to use new RDF build structure.
git-svn-id: svn://10.0.0.236/trunk@16885 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:14:01 +00:00
waterson%netscape.com
35517fc61d Updated test for recent changes.
git-svn-id: svn://10.0.0.236/trunk@16884 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:13:29 +00:00
waterson%netscape.com
130cdcb69d Change to new RDF build structure.
git-svn-id: svn://10.0.0.236/trunk@16883 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:11:35 +00:00
waterson%netscape.com
90d3e47bd9 Change to new RDF tree structure
git-svn-id: svn://10.0.0.236/trunk@16882 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:10:45 +00:00
waterson%netscape.com
a6c2c792e7 Changed to new RDF tree structure.
git-svn-id: svn://10.0.0.236/trunk@16881 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 08:09:59 +00:00
waterson%netscape.com
56df9f36cf Fixed implementation include paths.
git-svn-id: svn://10.0.0.236/trunk@16880 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 07:27:25 +00:00
waterson%netscape.com
73017c20d2 Added NS_RDFSIMPLECONTENTSINK_CID.
git-svn-id: svn://10.0.0.236/trunk@16879 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:58:05 +00:00
waterson%netscape.com
955afb839b Fixed #ifdefs.
git-svn-id: svn://10.0.0.236/trunk@16878 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:57:46 +00:00
waterson%netscape.com
a3a4d647c6 Made Init() an official member of the nsIRDFContentSink interface.
git-svn-id: svn://10.0.0.236/trunk@16877 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:57:19 +00:00
waterson%netscape.com
ce8208c68b Added nsStreamDataSource.
git-svn-id: svn://10.0.0.236/trunk@16876 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:56:49 +00:00
waterson%netscape.com
c9671e9bba Fixed up include paths to get implementation headers.
git-svn-id: svn://10.0.0.236/trunk@16875 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:39:28 +00:00
waterson%netscape.com
d42567e422 Fixed CID header file.
git-svn-id: svn://10.0.0.236/trunk@16874 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:33:16 +00:00
waterson%netscape.com
769cf19111 Bad idea.
git-svn-id: svn://10.0.0.236/trunk@16873 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:31:10 +00:00
waterson%netscape.com
854344e782 Removed nsRDFBaseFactory.cpp.
git-svn-id: svn://10.0.0.236/trunk@16872 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:30:09 +00:00
waterson%netscape.com
1becd370fb Remove nsRDFContentFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@16871 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:29:03 +00:00
waterson%netscape.com
ce4b84fbcc Fixed DEPTH variable.
git-svn-id: svn://10.0.0.236/trunk@16870 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:26:56 +00:00
waterson%netscape.com
74e221710e Changed to a static library for now.
git-svn-id: svn://10.0.0.236/trunk@16869 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:22:21 +00:00
waterson%netscape.com
0fcb272584 Initial revision. Separated from mozilla/rdf/src, etc. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@16868 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 06:20:35 +00:00
waterson%netscape.com
21d167e225 Corrected DEPTH variable.
git-svn-id: svn://10.0.0.236/trunk@16867 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 05:07:15 +00:00
waterson%netscape.com
114c1127fd Initial revision. Separated from mozilla/rdf/include. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@16866 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 05:07:14 +00:00
pavlov%pavlov.net
b7cd0f30a4 fix build, more event cleanups
git-svn-id: svn://10.0.0.236/trunk@16865 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 02:46:34 +00:00
pavlov%pavlov.net
1ad5e7564c remove lots and lots and lots and lots of excess code that isn't used.
fix up a few events


git-svn-id: svn://10.0.0.236/trunk@16864 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 02:10:49 +00:00
alecf%netscape.com
00c4f31a6b add NPL and comment for LXR
git-svn-id: svn://10.0.0.236/trunk@16863 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 01:07:29 +00:00
alecf%netscape.com
5f528c9225 use new RFC822 parser & factory
use new XPCOM offline state
fix PR_smprintf formatting


git-svn-id: svn://10.0.0.236/trunk@16862 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 01:07:12 +00:00
alecf%netscape.com
d3a641e794 add comments to IDL files so they show up in LXR
add new newsgroup attribute to offline interface


git-svn-id: svn://10.0.0.236/trunk@16861 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 00:55:13 +00:00
mcmullen%netscape.com
d2ec0bdc12 Allow partial paths.
git-svn-id: svn://10.0.0.236/trunk@16860 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-24 00:01:32 +00:00
guha%netscape.com
8ba2307295 beginnings of rdf mail data source implementation. Not
yet in makefiles


git-svn-id: svn://10.0.0.236/trunk@16859 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 22:44:27 +00:00
mcmullen%netscape.com
a9cb9f0b22 Made this stuff do something sensible for Macintosh. The part about logging the error is temporary.
git-svn-id: svn://10.0.0.236/trunk@16858 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 22:13:47 +00:00
mcmullen%netscape.com
e36cad9a5c Just fixed a warning.
git-svn-id: svn://10.0.0.236/trunk@16857 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 22:09:09 +00:00
fur%netscape.com
7f437ecbfe + Flush HTML method dump file after writing it. Otherwise, the file is
truncated if EF dies while compiling.

+ Print a placeholder disassembled instruction rather than assert-botching,
  so that the -html option still works.


git-svn-id: svn://10.0.0.236/trunk@16856 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:21:58 +00:00
fur%netscape.com
99d79a713c Flush HTML method dump file after writing it. Otherwise, the file is truncated
if EF dies while compiling.


git-svn-id: svn://10.0.0.236/trunk@16855 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:19:49 +00:00
fur%netscape.com
ca361d5346 Eliminate double declaration of variable
git-svn-id: svn://10.0.0.236/trunk@16854 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:15:57 +00:00
fur%netscape.com
d3c0cc39b7 Do classname-mangling correctly (or at least closer to correct, since
the code still does not handle unicode characters).


git-svn-id: svn://10.0.0.236/trunk@16853 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:15:07 +00:00
fur%netscape.com
2e24b50dbc Added stubs for missing native methods.
git-svn-id: svn://10.0.0.236/trunk@16852 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:14:13 +00:00
fur%netscape.com
347d867084 Closer to building packages again in the new mozilla world.
git-svn-id: svn://10.0.0.236/trunk@16851 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:12:59 +00:00
fur%netscape.com
cf06946888 Check-in rth's support for 64-bit arithmetic, with a few mods to make it build
on Win32.


git-svn-id: svn://10.0.0.236/trunk@16850 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 20:11:59 +00:00
terry%netscape.com
db39d66d1f Fixed bug 2049 -- added link to rebuild the guilty column.
git-svn-id: svn://10.0.0.236/trunk@16849 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 17:52:37 +00:00
buster%netscape.com
d9d5b90bed added mOutsideEdge to nsBorderEdges
git-svn-id: svn://10.0.0.236/trunk@16848 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 15:49:48 +00:00
buster%netscape.com
217aa922ce DrawBorderEdge fixes
git-svn-id: svn://10.0.0.236/trunk@16847 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 15:48:50 +00:00
buster%netscape.com
0b215739a8 WIP for collapsing borders
git-svn-id: svn://10.0.0.236/trunk@16846 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 15:47:43 +00:00
brade%netscape.com
1d4512da96 comment out line which builds clientStubs
git-svn-id: svn://10.0.0.236/trunk@16845 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 15:10:40 +00:00
brade%netscape.com
78a76913b4 add prototype for NET_DumpDecoders to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16844 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:38:38 +00:00
brade%netscape.com
fb9c62c186 add prototypes for net_process_net_timer_callback and net_process_slow_net_timer_callback to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16843 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:37:44 +00:00
brade%netscape.com
3e7c8545c0 add prototypes for NET_FindURLInMemCache, NET_DisplayMemCacheInfoAsHTML, and NET_InitMemCacProtocol to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16842 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:37:03 +00:00
brade%netscape.com
5328d4b161 add prototypes for NET_DisableGetURL, net_CallExitRoutine, net_get_protocol_impl, and net_MailtoLoad to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16841 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:36:13 +00:00
brade%netscape.com
f3ed098831 add prototypes for NET_OpenExtCacheFAT, NET_FindURLInExtCache, CACHE_CloseAllOpenSARCache, and CACHE_OpenAllSARCache to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16840 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:35:09 +00:00
brade%netscape.com
9f90b6f237 add prototypes for NET_FirstCacheObject, NET_NextCacheObject, and NET_GetMaxDiskCacheSize to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16839 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:34:22 +00:00
brade%netscape.com
80fd5be2e5 add prototypes for net_http_password_data_interp, NET_DeleteCookie and NET_DisplayCookieInfoAsHTML (reduce Mac compiler warnings)
git-svn-id: svn://10.0.0.236/trunk@16838 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:33:41 +00:00
brade%netscape.com
3b905ac208 change NET_InitRDFCookieResources from PUBLIC to PRIVATE since it isn't needed anymore
git-svn-id: svn://10.0.0.236/trunk@16837 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:32:48 +00:00
brade%netscape.com
23c492b7b6 return PR_TRUE in NET_RegisterAboutProtocol to reduce Mac compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16836 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 14:31:48 +00:00
cltbld%netscape.com
4a5704d1c0 initial steps toward moving cvs pull information out of nglayout.mak.
Also, change pull_all to pull using module information instead of
each directory individually.


git-svn-id: svn://10.0.0.236/trunk@16835 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 11:01:34 +00:00
sar%netscape.com
57f09eedf2 moving client.mk and client.mak into the Core SeamonkeyModule so that they are available across the board.
git-svn-id: svn://10.0.0.236/trunk@16834 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 10:29:17 +00:00
pierre%netscape.com
3e235bca21 Export the 2 functions to fix link errors in embedding applications
git-svn-id: svn://10.0.0.236/trunk@16833 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 06:54:37 +00:00
pavlov%pavlov.net
76ecad404b comment something out
git-svn-id: svn://10.0.0.236/trunk@16832 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 04:17:30 +00:00
pavlov%pavlov.net
e650117c4c Redo all the evil event handling. We still do not resize properly, but I am
getting closer.


git-svn-id: svn://10.0.0.236/trunk@16831 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 03:31:15 +00:00
pollmann%netscape.com
27cc3295b1 Implemented onChange and selectedIndex for the HTMLSelectElement
git-svn-id: svn://10.0.0.236/trunk@16830 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 03:02:57 +00:00
alecf%netscape.com
aa06f7666a add --eanble-mailnews and --enable-ldap switches, and depricate MOZ_DARK
git-svn-id: svn://10.0.0.236/trunk@16829 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 00:48:52 +00:00
cyeh%netscape.com
8f48bade9b adding mozilla/mailnews to SeaMonkeyMailNews module per alecf
git-svn-id: svn://10.0.0.236/trunk@16828 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 00:24:42 +00:00
leaf%mozilla.org
30f91343e8 fixed duplicate inclusion.
git-svn-id: svn://10.0.0.236/trunk@16827 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-23 00:07:19 +00:00
waterson%netscape.com
02b9d03af9 Whoops. Guess I missed one.
git-svn-id: svn://10.0.0.236/trunk@16826 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 22:50:08 +00:00
waterson%netscape.com
67bd8fc314 Removed nsIRDFRegistry: it was never used.
git-svn-id: svn://10.0.0.236/trunk@16825 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 22:30:41 +00:00
waterson%netscape.com
f96cfdb03e Removed nsRDFRegistryImpl: it was never used.
git-svn-id: svn://10.0.0.236/trunk@16824 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 22:28:58 +00:00
waterson%netscape.com
94d75018a0 Removed nsRDFRegistryImpl. It was never used.
git-svn-id: svn://10.0.0.236/trunk@16823 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 22:26:15 +00:00
vidur%netscape.com
4ef7dcc47f Added script namespace management mechanism. This allows external native code to add symbols and constructors to the script global namespace. Added IID() static method generation to IDL generator.
git-svn-id: svn://10.0.0.236/trunk@16821 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 22:03:20 +00:00
cltbld%netscape.com
16ba8ffa10 add files for vidur
git-svn-id: svn://10.0.0.236/trunk@16820 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 21:47:35 +00:00
alecf%netscape.com
0a3fd98778 for now, export the implementation header file so we can get
to the factory. Bleah.


git-svn-id: svn://10.0.0.236/trunk@16819 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 21:12:21 +00:00
alecf%netscape.com
7c37687daa add new offline state interface
git-svn-id: svn://10.0.0.236/trunk@16818 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 21:11:32 +00:00
law%netscape.com
de264087db Add nsFile* to Windows build
git-svn-id: svn://10.0.0.236/trunk@16817 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 20:06:56 +00:00
law%netscape.com
d7dd1472e3 Add nsFile* to Windows build
git-svn-id: svn://10.0.0.236/trunk@16816 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 20:01:41 +00:00
brade%netscape.com
e53697af51 add include to reduce warnings on Macintosh compiler
git-svn-id: svn://10.0.0.236/trunk@16815 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 19:14:13 +00:00
troy%netscape.com
cf13a281b8 Added comment to strdup() noting that t he caller must use delete[]
to free the memory


git-svn-id: svn://10.0.0.236/trunk@16814 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 19:01:14 +00:00
brade%netscape.com
63312a2e66 add return value (reviewed mjudge@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@16813 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:58:25 +00:00
troy%netscape.com
8d6a89039a Fixed two memory leaks of the status msg (Unicode string) in OnStopBindingProxyEvent
and OnStatusProxyEvent


git-svn-id: svn://10.0.0.236/trunk@16812 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:49:12 +00:00
guha%netscape.com
c01e30e606 Better names, classify Assertion (this file not yet in build system)
git-svn-id: svn://10.0.0.236/trunk@16811 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:27:02 +00:00
troy%netscape.com
48f492804b Fixed QueryInterface() so it doesn't do a AddRef() for interface NS_ISTHREADSAFE_IID.
This fixes a DEBUG (only) memory leak of the object which in turn causes the web shell
(and the whole world) to leak


git-svn-id: svn://10.0.0.236/trunk@16810 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:22:40 +00:00
despotdaemon%netscape.com
07b775d330 Pseudo-automatic update of changes made by jefft@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16809 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:08:02 +00:00
despotdaemon%netscape.com
3fe72dbff2 Pseudo-automatic update of changes made by jefft@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16808 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:06:35 +00:00
fur%netscape.com
5cb83ab7ee Fixed incorrect assumption that the extra_field_length value in the central
directory record  was the same as the extra_field_length in the corresponding
local file header record.


git-svn-id: svn://10.0.0.236/trunk@16807 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 18:01:28 +00:00
pierre%netscape.com
4944d0ea91 moved nsRefData to nsMacMessageSink.h
git-svn-id: svn://10.0.0.236/trunk@16806 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 06:38:00 +00:00
pierre%netscape.com
2f9eda3303 defined the Raptor windowKind bit and moved nsRefData to nsMacMessageSink.h
git-svn-id: svn://10.0.0.236/trunk@16805 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 06:37:46 +00:00
pierre%netscape.com
6d4cb77b68 Handle the Raptor windowKind bit
git-svn-id: svn://10.0.0.236/trunk@16804 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 06:37:32 +00:00
troy%netscape.com
bf0de58b71 Fix for bug #1924
git-svn-id: svn://10.0.0.236/trunk@16803 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 05:02:46 +00:00
alecf%netscape.com
dd443cbb06 removal of SetNewsgroupPassword / GetNewsgroupPassword - start using the new API
git-svn-id: svn://10.0.0.236/trunk@16802 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 04:59:39 +00:00
alecf%netscape.com
10eb6321ce update nsIMsgNewsHost to deal with newsgroups directly rather than as group names
git-svn-id: svn://10.0.0.236/trunk@16801 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 04:34:11 +00:00
alecf%netscape.com
e62164115b rename nsINet->nsIMsg
remove pretty name attribute (host keeps track of that)
add name attribute (to replace group_name in NewsConData in netlib)
add IsOfflineArticle


git-svn-id: svn://10.0.0.236/trunk@16800 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 04:33:37 +00:00
sar%netscape.com
c820a1c9c7 bring SeamonkeyCore and SeaMonkeyLayout up to par with nglayout.mak
git-svn-id: svn://10.0.0.236/trunk@16799 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 04:09:18 +00:00
troy%netscape.com
d76ca7e7fd Fix for bug #1942. Also made it so we respect 'width' and 'height' properties
specified on the HTML element


git-svn-id: svn://10.0.0.236/trunk@16798 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 03:49:04 +00:00
waterson%netscape.com
204327240f Changes to get this thing building. It's still not in the main build yet.
git-svn-id: svn://10.0.0.236/trunk@16797 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 03:05:30 +00:00
waterson%netscape.com
1c136e6574 Added EqualsNode() method to nsIRDFNode, modified nsIRDFLiteral's Equals() to EqualsLiteral().
git-svn-id: svn://10.0.0.236/trunk@16796 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 03:04:45 +00:00
terry%netscape.com
bc73cb575d Can now optionally put the tinderbox directory on the command line.
git-svn-id: svn://10.0.0.236/trunk@16795 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 02:23:13 +00:00
alecf%netscape.com
c9dd100667 News Hosts and Article Lists are now XPComified.
git-svn-id: svn://10.0.0.236/trunk@16794 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 02:14:08 +00:00
alecf%netscape.com
fe9d54682f modifications to support XPCOMifying mknews.cpp
git-svn-id: svn://10.0.0.236/trunk@16793 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 02:13:38 +00:00
pierre%netscape.com
df16f1e7d5 File Removed.
git-svn-id: svn://10.0.0.236/trunk@16792 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 02:04:26 +00:00
pierre%netscape.com
b650c4c03e Fixed for the Mac
git-svn-id: svn://10.0.0.236/trunk@16791 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 02:02:24 +00:00
waterson%netscape.com
89b8ac957e Obsolete.
git-svn-id: svn://10.0.0.236/trunk@16790 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:46:03 +00:00
despotdaemon%netscape.com
9335c0e1c3 Pseudo-automatic update of changes made by trudelle@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16789 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:36:46 +00:00
law%netscape.com
2510e8fc62 Implemented (almost)
git-svn-id: svn://10.0.0.236/trunk@16788 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:25:46 +00:00
despotdaemon%netscape.com
ae45b63453 Pseudo-automatic update of changes made by val4@cornell.edu.
git-svn-id: svn://10.0.0.236/trunk@16787 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:20:17 +00:00
waterson%netscape.com
ccd004b025 Modified cursors to return NS_ERROR_RDF_CURSOR_EMPTY when the cursor is empty, rather than NS_ERROR_UNEXPECTED. Miscellaneous bug fixes related to new cursors.
git-svn-id: svn://10.0.0.236/trunk@16786 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:12:45 +00:00
waterson%netscape.com
682406d7b4 Added NS_ERROR_RDF_CURSOR_EMPTY error code to be returned from nsIRDFCursor::Advance() when nothing is left in the cursor.
git-svn-id: svn://10.0.0.236/trunk@16785 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:12:01 +00:00
waterson%netscape.com
d45d06ee56 Added RDF module.
git-svn-id: svn://10.0.0.236/trunk@16784 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 01:11:18 +00:00
despotdaemon%netscape.com
ec8c30d2c3 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16783 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-22 00:38:25 +00:00
waterson%netscape.com
93ad905243 New cursor interfaces.
git-svn-id: svn://10.0.0.236/trunk@16782 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 23:56:31 +00:00
scc%netscape.com
e9d8de921a added |dont_QueryInterface| facility, re-added the NS_ADDREF macros, though conditionally
git-svn-id: svn://10.0.0.236/trunk@16781 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 23:26:39 +00:00
alecf%netscape.com
2c81f40268 jefft@netscape.com's changes to eliminate calls to libmsg/libmime when composing
a cancel message


git-svn-id: svn://10.0.0.236/trunk@16780 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:47:04 +00:00
alecf%netscape.com
7325e15f1a don't go into public yet
git-svn-id: svn://10.0.0.236/trunk@16779 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:45:56 +00:00
alecf%netscape.com
a6d3000998 libmsg interfaces moved to mailnews/news/public
git-svn-id: svn://10.0.0.236/trunk@16778 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:32:34 +00:00
alecf%netscape.com
a3e035ac09 adding libnet->libmsg interfaces, including both IDL and C++ headers because
xpidl only runs on unix right now.


git-svn-id: svn://10.0.0.236/trunk@16777 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:24:51 +00:00
alecf%netscape.com
4089c941fd Don't complain about Makefile
git-svn-id: svn://10.0.0.236/trunk@16776 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:16:01 +00:00
dcone%netscape.com
827bb7fd06 Took out files no longer needed for ps, updated all the files for postscript support
git-svn-id: svn://10.0.0.236/trunk@16775 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:13:04 +00:00
alecf%netscape.com
5566c7e8db *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@16774 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 22:12:02 +00:00
pinkerton%netscape.com
face2561d4 Get rid of obsolete interfaces.
git-svn-id: svn://10.0.0.236/trunk@16773 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:54:29 +00:00
pinkerton%netscape.com
0988604c10 Decouple the toolbars from the toolbox once and for all. Implement collapsing/expanding toolbars with new grippy mechanism.
git-svn-id: svn://10.0.0.236/trunk@16772 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:54:17 +00:00
pinkerton%netscape.com
f7a51c375f use mozilla.org as the main page because the other was too flashy.
git-svn-id: svn://10.0.0.236/trunk@16771 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:53:13 +00:00
cls%seawood.org
fe4f265208 Use OS_CFLAGS to set debugging flags as CFLAGS gets overwritten later.
git-svn-id: svn://10.0.0.236/trunk@16770 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:34:17 +00:00
mscott%netscape.com
89350411d8 Moved nsIMsgRFC822Parser into mailnews/base/public.
git-svn-id: svn://10.0.0.236/trunk@16769 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:24:41 +00:00
mscott%netscape.com
75ca5cb9f4 Adding public to list of directories built by mailnews.
git-svn-id: svn://10.0.0.236/trunk@16768 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:24:10 +00:00
mscott%netscape.com
794cd7a4b6 These files now live in mailnews/base/public.
git-svn-id: svn://10.0.0.236/trunk@16767 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:20:48 +00:00
mscott%netscape.com
2758f89379 First checked in.
git-svn-id: svn://10.0.0.236/trunk@16766 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:13:57 +00:00
mscott%netscape.com
5ecc02dcbc First added. No files are currently in mailnews/news/public yet.
git-svn-id: svn://10.0.0.236/trunk@16765 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:12:35 +00:00
mscott%netscape.com
8adeb7c77a Added build and test directories to mailnews/base.
git-svn-id: svn://10.0.0.236/trunk@16764 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 21:06:36 +00:00
buster%netscape.com
324a98029b WIP for collapsing borders.
git-svn-id: svn://10.0.0.236/trunk@16763 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 19:20:37 +00:00
brade%netscape.com
0aa0c6bd79 attempt to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@16762 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 18:56:03 +00:00
buster%netscape.com
9a780dd772 collapsing borders now do rounding of odd-thickness borders correctly
at the pixel level.  The odd pixel is always given to the right and bottom
cell borders whenever possible, and to the top and left table border otherwise.


git-svn-id: svn://10.0.0.236/trunk@16761 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 18:54:23 +00:00
cyeh%netscape.com
d076c965b5 if you don't define MOZ_LITE, MOZ_MEDIUM, or MOZ_DARK, don't define
any of the feature #ifdefs by default.
these will probably go away and die eventually.


git-svn-id: svn://10.0.0.236/trunk@16760 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 18:38:53 +00:00
peterl%netscape.com
8e05bf08c4 fix a ref counting bug with class atoms
git-svn-id: svn://10.0.0.236/trunk@16759 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 18:38:44 +00:00
troy%netscape.com
e14ddad715 Renamed NS_NewHTMLFrame() to NS_NewRootFrame()
git-svn-id: svn://10.0.0.236/trunk@16758 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 18:22:44 +00:00
mscott%netscape.com
f2861e4e64 First checked in.
git-svn-id: svn://10.0.0.236/trunk@16757 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 17:57:13 +00:00
mscott%netscape.com
aa4a05c843 First checked in.
git-svn-id: svn://10.0.0.236/trunk@16756 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 17:51:08 +00:00
rods%netscape.com
73a072a8c0 Added several enums for form's controls
git-svn-id: svn://10.0.0.236/trunk@16755 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:53:49 +00:00
rods%netscape.com
7acb8d2cbf Changed constants to use LookAndFeel values.
git-svn-id: svn://10.0.0.236/trunk@16754 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:52:57 +00:00
rods%netscape.com
2fb4a870a1 Added in NS_RELEASE of LookAndFeel object
git-svn-id: svn://10.0.0.236/trunk@16753 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:52:17 +00:00
brade%netscape.com
604c5ec81e have SetAlignment return NS_OK (reduce Mac compiler warnings)
git-svn-id: svn://10.0.0.236/trunk@16752 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:51:19 +00:00
vidur%netscape.com
08b60c2fa0 Ongoing work on mechanism for introducing global names into a script namespace
git-svn-id: svn://10.0.0.236/trunk@16751 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:51:10 +00:00
brade%netscape.com
30676ade73 reduce Mac compiler warnings by commenting out unused local variables
git-svn-id: svn://10.0.0.236/trunk@16750 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:48:35 +00:00
brade%netscape.com
a6eccb520c add XP_MAC to the ifdef around dbopen (was in macToBeImplemented.cp)
git-svn-id: svn://10.0.0.236/trunk@16749 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:46:17 +00:00
brade%netscape.com
1d1b53c90d added XP_FileReadLine and FE_FileType (formerly in macToBeImplemented.cp)
git-svn-id: svn://10.0.0.236/trunk@16748 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:46:10 +00:00
brade%netscape.com
ae1573ae1b remove all functions (move to nsNetStubs.cpp and nsMacFile.cp)
git-svn-id: svn://10.0.0.236/trunk@16747 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:46:03 +00:00
brade%netscape.com
f7d614172a remove extra comma to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@16746 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:40:46 +00:00
brade%netscape.com
eea6e4ca83 remove extra comma to reduce warnings on Mac
git-svn-id: svn://10.0.0.236/trunk@16745 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 16:39:17 +00:00
rods%netscape.com
3d2ee270ed Added better default processing of hint
git-svn-id: svn://10.0.0.236/trunk@16744 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 13:29:32 +00:00
peterl%netscape.com
406de8984a fixed a crasher when mapping list or table style with a null parent context
git-svn-id: svn://10.0.0.236/trunk@16743 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 07:48:12 +00:00
buster%netscape.com
f0d639e1bc beginnings of collapsing borders now implemented. Doesn't work for spanning cells yet,
and doesn't measure borders where the width changes along a shared edge yet.


git-svn-id: svn://10.0.0.236/trunk@16742 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 06:38:18 +00:00
buster%netscape.com
49403601af fixes for PaintBorderEdges
git-svn-id: svn://10.0.0.236/trunk@16741 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 06:37:10 +00:00
buster%netscape.com
2b86e9ad34 added mLength to nsBorderEdge
git-svn-id: svn://10.0.0.236/trunk@16740 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 06:35:45 +00:00
peterl%netscape.com
7397117a9f fix spelling
fix namespace of HTML element's attributes


git-svn-id: svn://10.0.0.236/trunk@16739 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 05:59:40 +00:00
peterl%netscape.com
3fa2aa8cd6 fix spelling
git-svn-id: svn://10.0.0.236/trunk@16738 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 05:58:58 +00:00
peterl%netscape.com
7caa8001b4 fix spelling
moved inline automatic key object out of line for buggy unix compilers


git-svn-id: svn://10.0.0.236/trunk@16737 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 05:58:31 +00:00
peterl%netscape.com
e734385812 added support for the 'xmlns' pseudo namespace
git-svn-id: svn://10.0.0.236/trunk@16736 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 05:56:51 +00:00
peterl%netscape.com
b20028be50 rename string key to make buggy unix compilers happy
git-svn-id: svn://10.0.0.236/trunk@16735 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-21 05:55:44 +00:00
troy%netscape.com
53950b34bb Changed the frame hierarchy, and changed how scrolling works. Also added
nsAreaFrame which replaces nsBodyFrame which is no longer used


git-svn-id: svn://10.0.0.236/trunk@16734 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 23:29:47 +00:00
guha%netscape.com
09258f3d67 more of in-memory data source.
Not yet in build system


git-svn-id: svn://10.0.0.236/trunk@16733 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 19:49:10 +00:00
pierre%netscape.com
e7b77e958f Fix forms: XP_MAC code was missing in GetHorizontalInsidePadding and GetVerticalInsidePadding
git-svn-id: svn://10.0.0.236/trunk@16732 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 13:18:10 +00:00
pierre%netscape.com
16d2b789af Remove 'mBounds' that was hidding a recently added member variable with the same name in nsBaseWidget
git-svn-id: svn://10.0.0.236/trunk@16731 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 13:16:48 +00:00
pierre%netscape.com
c64aa75ac1 Improve performance on Mac: make the root view invisible
git-svn-id: svn://10.0.0.236/trunk@16730 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 13:16:13 +00:00
pierre%netscape.com
1a1dd95f2b Improve performance on Mac: disable the Composite timer (temporary code - see comments)
git-svn-id: svn://10.0.0.236/trunk@16729 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 13:15:41 +00:00
pierre%netscape.com
9fe6003b44 Added a reminder to not always pass the entire widget rect in NS_PAINT_EVENTs
git-svn-id: svn://10.0.0.236/trunk@16728 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 13:14:29 +00:00
ramiro%netscape.com
716994af04 Ignore generated Makefile.
git-svn-id: svn://10.0.0.236/trunk@16727 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 08:27:09 +00:00
ramiro%netscape.com
a677499a6f Renamed 'main' to 'scribble'.
git-svn-id: svn://10.0.0.236/trunk@16726 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 08:22:02 +00:00
guha%netscape.com
456e939d21 the new in-memory data source.
Not yet in the makefiles


git-svn-id: svn://10.0.0.236/trunk@16725 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:45:42 +00:00
peterl%netscape.com
d3408b8d1d sync to new attribute api
git-svn-id: svn://10.0.0.236/trunk@16724 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:35:57 +00:00
peterl%netscape.com
52a0043631 sync to new attribute api
git-svn-id: svn://10.0.0.236/trunk@16723 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:21:23 +00:00
peterl%netscape.com
739473adbe attribute selector work
git-svn-id: svn://10.0.0.236/trunk@16722 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:19:22 +00:00
peterl%netscape.com
9fc5474ec3 fix equals to not be case sensative
git-svn-id: svn://10.0.0.236/trunk@16721 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:18:47 +00:00
peterl%netscape.com
383389930f sync to new attribute api
added multiple class support


git-svn-id: svn://10.0.0.236/trunk@16720 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:17:50 +00:00
peterl%netscape.com
60f703edc5 implement multiple class support
implement attribute selector support


git-svn-id: svn://10.0.0.236/trunk@16719 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:17:05 +00:00
peterl%netscape.com
6afb1d76a9 added case sensativity flag to attribute selectors
git-svn-id: svn://10.0.0.236/trunk@16718 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:16:20 +00:00
peterl%netscape.com
6a9c1924cc fixes to attribute selector parsing
git-svn-id: svn://10.0.0.236/trunk@16717 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:15:18 +00:00
peterl%netscape.com
b3da4ac017 fix background flags initial value
tweak table inheritance quirk


git-svn-id: svn://10.0.0.236/trunk@16716 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:11:36 +00:00
peterl%netscape.com
b9266d33d7 made get strength const
git-svn-id: svn://10.0.0.236/trunk@16715 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:08:31 +00:00
peterl%netscape.com
6c56fda631 changed attribute api to take atoms & namespace
git-svn-id: svn://10.0.0.236/trunk@16714 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:08:13 +00:00
peterl%netscape.com
018edaedaa sync to new attribute api
implement local attribute storage with namespace support


git-svn-id: svn://10.0.0.236/trunk@16713 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:07:21 +00:00
ramiro%netscape.com
8b1319e1ac Comment out the GARBAGE entry for generated files.
nsHTMLTags.h nsHTMLTags.cpp nsHTMLEntities.cpp were being treated as
GARBAGE since they are generated.  But, they are also checked in to the
repository, which breaks clobber builds.


git-svn-id: svn://10.0.0.236/trunk@16712 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 01:04:40 +00:00
guha%netscape.com
380bc170be More for OpenDir
git-svn-id: svn://10.0.0.236/trunk@16711 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-20 00:16:45 +00:00
pavlov%pavlov.net
c5e9de682e we require gtk 1.1.6 now
git-svn-id: svn://10.0.0.236/trunk@16710 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 20:10:31 +00:00
pavlov%pavlov.net
8b89e99baf fix crash
git-svn-id: svn://10.0.0.236/trunk@16709 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 20:02:31 +00:00
pavlov%pavlov.net
96867d96c4 require 1.1.6 instead of 1.1.9 (which replaced 1.1.5)
git-svn-id: svn://10.0.0.236/trunk@16708 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 20:01:39 +00:00
pavlov%pavlov.net
2920c69b1b require GTK 1.1.9
git-svn-id: svn://10.0.0.236/trunk@16707 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 18:04:31 +00:00
pavlov%pavlov.net
6964b62775 lots and lots of code cleanup.
git-svn-id: svn://10.0.0.236/trunk@16706 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 18:04:06 +00:00
pavlov%pavlov.net
061f365e37 s/ :: /::/
git-svn-id: svn://10.0.0.236/trunk@16705 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 18:01:17 +00:00
michaelp%netscape.com
9708832dd7 the corner view works again, and thanks to michael.lowe@bigfoot.com it paints
in the correct system specified "background" color.


git-svn-id: svn://10.0.0.236/trunk@16704 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 06:20:36 +00:00
alecf%netscape.com
c164c7f97a drum roll please...
...and tonight, for your enjoyment, we present mail/news's fourth
entry to mozilla.org!


git-svn-id: svn://10.0.0.236/trunk@16703 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 02:35:13 +00:00
vidur%netscape.com
21d61ca5f1 Script global namespace management.
git-svn-id: svn://10.0.0.236/trunk@16702 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 02:11:17 +00:00
alecf%netscape.com
8f5fd569ee XPCOMify access to nsIMsgXOVERParser
git-svn-id: svn://10.0.0.236/trunk@16701 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 01:59:32 +00:00
alecf%netscape.com
970293ac91 update makefiles to reflect XPComification
git-svn-id: svn://10.0.0.236/trunk@16700 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 01:59:07 +00:00
alecf%netscape.com
82ccb59aef Add the NPL
git-svn-id: svn://10.0.0.236/trunk@16699 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 01:48:35 +00:00
alecf%netscape.com
9bbcaed4ae update interfaces slightly to include nsISupports and use it
git-svn-id: svn://10.0.0.236/trunk@16698 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 01:19:51 +00:00
mscott%netscape.com
892eb98fdb Just created.
git-svn-id: svn://10.0.0.236/trunk@16697 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 01:07:40 +00:00
akkana%netscape.com
c72b56daa3 Turn on debug by default
git-svn-id: svn://10.0.0.236/trunk@16696 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-19 00:10:52 +00:00
hyatt%netscape.com
39846f5631 Implemented expanding/collapsing nodes in the tree view AND implemented
selection in the tree view.


git-svn-id: svn://10.0.0.236/trunk@16695 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:57:11 +00:00
hyatt%netscape.com
0ca9be168d Patching GetAttribute (the default was returning a value that indicated that the
attribute was present, and it should have been returning NOT THERE as a default).


git-svn-id: svn://10.0.0.236/trunk@16694 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:56:37 +00:00
mcmullen%netscape.com
33b627e518 Added an NS_BASE for windows.
git-svn-id: svn://10.0.0.236/trunk@16693 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:30:44 +00:00
akkana%netscape.com
527d116f03 Add -ljsurl -- needed for linux build
git-svn-id: svn://10.0.0.236/trunk@16692 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:13:58 +00:00
akkana%netscape.com
ef0129559b Add a comment explaining ComparePoints
git-svn-id: svn://10.0.0.236/trunk@16691 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:13:25 +00:00
akkana%netscape.com
4ee0d91310 Fix startup crash -- when setting one endpoint with the other one null, collapse the range
git-svn-id: svn://10.0.0.236/trunk@16690 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:12:29 +00:00
alecf%netscape.com
00d20bc63a XPCOMify news hosts by using nsIMsgNewsHost instead of MSG_NewsHost
git-svn-id: svn://10.0.0.236/trunk@16689 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:07:08 +00:00
mcmullen%netscape.com
a4ac66b40a Rewrote the stream stuff to be simple, since Unix build environment cannot even handle ostream and istream. This builds and runs correctly on Linux and Macintosh now.
git-svn-id: svn://10.0.0.236/trunk@16688 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:06:54 +00:00
alecf%netscape.com
fe18aadf26 placeholder IDLs (eventually to go into libmsg)
git-svn-id: svn://10.0.0.236/trunk@16687 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 23:02:02 +00:00
mcmullen%netscape.com
4f05dc99af First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16686 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 22:38:28 +00:00
terry%netscape.com
3f9c05e76a In the list of users, the voucher now shows up as an email address,
rather than a id number.


git-svn-id: svn://10.0.0.236/trunk@16685 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 22:37:43 +00:00
pierre%netscape.com
1ef11a145a Added layout/html/base/src/nsAreaFrame.cpp per Troy's request
git-svn-id: svn://10.0.0.236/trunk@16684 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 22:34:29 +00:00
kipp%netscape.com
e5e296e58c Implement GetSkipSides so that continued inline frames render properly
git-svn-id: svn://10.0.0.236/trunk@16683 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 22:12:42 +00:00
kipp%netscape.com
275833b30d Display inline borders/background during content painting, not during background painting (per css2 spec)
git-svn-id: svn://10.0.0.236/trunk@16682 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 22:12:15 +00:00
donm%netscape.com
8d025021af making --with-static-gtk work for apprunner.
git-svn-id: svn://10.0.0.236/trunk@16681 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 21:58:57 +00:00
terry%netscape.com
9cf5b1d99d Added xpidl.
git-svn-id: svn://10.0.0.236/trunk@16680 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 21:16:34 +00:00
akkana%netscape.com
4b24d97a17 Attempt to patch mac build error
git-svn-id: svn://10.0.0.236/trunk@16679 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 21:04:33 +00:00
vidur%netscape.com
648ad628b7 Added IID for nsIUnicharStreamLoader
git-svn-id: svn://10.0.0.236/trunk@16678 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 19:38:19 +00:00
karnaze%netscape.com
b22c5ee5b9 changed to use rowIndex and sectionRowIndex
git-svn-id: svn://10.0.0.236/trunk@16677 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 19:03:33 +00:00
michaelp%netscape.com
440e801148 Fixed default hint for attribute changed - it wasn't being set.
Special-cased SRC attribute for nsHTMLImageElement.


git-svn-id: svn://10.0.0.236/trunk@16676 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 19:02:36 +00:00
troy%netscape.com
90fa7951a8 Added nsAreaFrame.cpp
git-svn-id: svn://10.0.0.236/trunk@16675 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:59:13 +00:00
troy%netscape.com
b47c186427 Initial check-in
git-svn-id: svn://10.0.0.236/trunk@16674 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:54:54 +00:00
kipp%netscape.com
d3035fbd10 Fixed numerous compiler warnings (hopefully) from the mac build
git-svn-id: svn://10.0.0.236/trunk@16673 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:34:34 +00:00
troy%netscape.com
f02e1a1119 Minor cleanup
git-svn-id: svn://10.0.0.236/trunk@16672 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:33:23 +00:00
terry%netscape.com
ce7e27ef33 Whoops! Peers names and email addresses were being mismatched.
git-svn-id: svn://10.0.0.236/trunk@16671 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:32:24 +00:00
shaver%netscape.com
eca2711718 invoke -> typelib
git-svn-id: svn://10.0.0.236/trunk@16670 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:12:07 +00:00
karnaze%netscape.com
a752804b3a added remaining dom methods
git-svn-id: svn://10.0.0.236/trunk@16669 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 17:05:17 +00:00
dcone%netscape.com
cec5e973ac Renamed files for the Postscript directory in GFX
git-svn-id: svn://10.0.0.236/trunk@16668 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 16:36:47 +00:00
rods%netscape.com
504aaf12bd Add <LABEL> tags arounf checkboxes and radiobuttons
git-svn-id: svn://10.0.0.236/trunk@16667 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 16:24:53 +00:00
kipp%netscape.com
eaee82d4b3 Revised frame Paint API
git-svn-id: svn://10.0.0.236/trunk@16666 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 15:54:23 +00:00
rods%netscape.com
8f45a6eabc Added <LABEL> tag to all the checkboxes and radiobuttons.
git-svn-id: svn://10.0.0.236/trunk@16665 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 15:35:38 +00:00
pierre%netscape.com
332b42bb81 Update() no longer passes the rendering context to the children
git-svn-id: svn://10.0.0.236/trunk@16664 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:34:39 +00:00
pierre%netscape.com
8f2719f5aa Update() no longer passes the rendering context to the children and ignore invisible widgets
git-svn-id: svn://10.0.0.236/trunk@16663 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:34:22 +00:00
pierre%netscape.com
d644ebc792 Enable double buffering on Mac
git-svn-id: svn://10.0.0.236/trunk@16662 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:33:55 +00:00
pierre%netscape.com
406ce1034d Fixed/implemented offscreen drawings - numerous changes
git-svn-id: svn://10.0.0.236/trunk@16661 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:33:31 +00:00
pierre%netscape.com
c29cc486d3 Fixed continuous drawing of controls by doing a ValidRect after DrawControl
git-svn-id: svn://10.0.0.236/trunk@16660 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:29:39 +00:00
pierre%netscape.com
fc485403b5 Call DeviceContextImpl::Init() just because Windows does it
git-svn-id: svn://10.0.0.236/trunk@16659 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 13:29:06 +00:00
jfrancis%netscape.com
fe1969d001 More range gravity work
git-svn-id: svn://10.0.0.236/trunk@16657 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 09:32:40 +00:00
jfrancis%netscape.com
ec9059a86a More range gravity work
git-svn-id: svn://10.0.0.236/trunk@16656 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 09:28:55 +00:00
troy%netscape.com
1084cdf38d Fixed a compiler warning by include nsHTMLParts.h
git-svn-id: svn://10.0.0.236/trunk@16653 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:52:05 +00:00
troy%netscape.com
9c2ff0a7c5 Fixed a couple of compiler wanrings by including nsHTMLParts.h
git-svn-id: svn://10.0.0.236/trunk@16652 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:50:19 +00:00
troy%netscape.com
c20c8a8180 Fixed a compiler warning where there was an extra ',' after an enum
identifier


git-svn-id: svn://10.0.0.236/trunk@16651 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:46:00 +00:00
troy%netscape.com
0985cec450 Fixed a compiler warning by including nsHTMLParts.h
git-svn-id: svn://10.0.0.236/trunk@16650 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:44:26 +00:00
waterson%netscape.com
dac9ae77a4 RDF interface changes.
git-svn-id: svn://10.0.0.236/trunk@16649 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:38:59 +00:00
waterson%netscape.com
f51e5e8b7e Incorporate comments from guha, jband, etc. Differentiate between resources and literals, make core interfaces comply with XPCOM stuff.
git-svn-id: svn://10.0.0.236/trunk@16648 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:38:24 +00:00
troy%netscape.com
abce0b152c Eliminated a bunch of code now that CreateViewForFrame() takes care of calling
SetScrolledView()


git-svn-id: svn://10.0.0.236/trunk@16647 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:26:16 +00:00
troy%netscape.com
cb9f7f7608 Changed CreateViewForFrame() to check whether the parent view is a scrolling
view and if so use SetScrolledView() instead of the view manager's InsertChild().
This ensures that the scrolled frame's view is inserted as a child of the clip
view during the view initialization stage


git-svn-id: svn://10.0.0.236/trunk@16646 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:25:36 +00:00
troy%netscape.com
2bada305e0 Reverted back to previous revision, because I came up with a cleaner
solution


git-svn-id: svn://10.0.0.236/trunk@16645 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:23:40 +00:00
alecf%netscape.com
c1c9a2b786 start pluggin in XPCOM calls for nsIMsgXOVERParser and nsIMsgNewsArticleList
git-svn-id: svn://10.0.0.236/trunk@16644 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 05:21:44 +00:00
troy%netscape.com
f5bb9f4438 Re-ordered the call to set the scroll frame's initial child list so that
the XML demos work again. This is really a temporary change until things
get fixed right...


git-svn-id: svn://10.0.0.236/trunk@16643 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 04:59:14 +00:00
shaver%netscape.com
2d0eafe945 need these libs to link apprunner
git-svn-id: svn://10.0.0.236/trunk@16642 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 04:47:26 +00:00
alecf%netscape.com
a54fa61041 use #defines instead of hardcoded response codes
git-svn-id: svn://10.0.0.236/trunk@16641 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 04:22:23 +00:00
sdagley%netscape.com
e744a5d305 Added nsNetStreamLoader.cpp to project for vidur
git-svn-id: svn://10.0.0.236/trunk@16640 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 04:08:39 +00:00
scc%netscape.com
a5e6d7e9b5 NSCAP_FEATURE_DONT_ADDREF is no longer optional, and the symbol has gone away. This facility turns out to be needed. Also catch the case when operator= is called on a dereferenced smart pointer. Fixed some documentation.
git-svn-id: svn://10.0.0.236/trunk@16638 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 03:45:44 +00:00
scc%netscape.com
46ba36922f NSCAP_FEATURE_DONT_ADDREF is no longer optional, and the symbol has gone away. This facility turns out to be needed.
git-svn-id: svn://10.0.0.236/trunk@16637 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 03:44:51 +00:00
scc%netscape.com
d20b401d1b Added static IID() method. This member function will be generated automatically in the future.
git-svn-id: svn://10.0.0.236/trunk@16636 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 03:43:29 +00:00
troy%netscape.com
8c848640b3 Changed static casts so they compiled under VC 6.0
git-svn-id: svn://10.0.0.236/trunk@16635 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 03:29:51 +00:00
shaver%netscape.com
831aebce72 resprinkle NO_STATIC_LIB, but spare libpng so that viewer is cool. Also, repair some viewer/apprunner link foibles
git-svn-id: svn://10.0.0.236/trunk@16634 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 02:55:23 +00:00
blizzard%appliedtheory.com
c30a7ff7e5 Saner nsTimer implementation for gtk. This probably still isn't right
but it works a lot better.  Also, work around getting really strange
timeouts and print an error when you get one.


git-svn-id: svn://10.0.0.236/trunk@16633 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 02:55:20 +00:00
blizzard%appliedtheory.com
655a1097a6 only destroy the widget if it has actually been created
git-svn-id: svn://10.0.0.236/trunk@16632 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 02:52:55 +00:00
jfrancis%netscape.com
300be32995 More range gravity work
git-svn-id: svn://10.0.0.236/trunk@16631 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 02:51:34 +00:00
alecf%netscape.com
d062db000f fix warnings/format problems
git-svn-id: svn://10.0.0.236/trunk@16630 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 02:48:57 +00:00
alecf%netscape.com
41a04a213e add new mknews rosetta stuff
git-svn-id: svn://10.0.0.236/trunk@16626 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:50:43 +00:00
vidur%netscape.com
806d3c5bf2 Added asynchronous script and style loading to XML. Moved out stream loader to netlib.
git-svn-id: svn://10.0.0.236/trunk@16625 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:36:41 +00:00
vidur%netscape.com
9b098a8dba Added stream loader
git-svn-id: svn://10.0.0.236/trunk@16624 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:34:30 +00:00
waterson%netscape.com
119c41470d Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@16623 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:33:26 +00:00
waterson%netscape.com
a6e303e89e Added IID() method to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@16622 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:33:04 +00:00
mjudge%netscape.com
275f8a3a95 fixing build
git-svn-id: svn://10.0.0.236/trunk@16621 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 01:09:11 +00:00
davidm%netscape.com
b6db010663 Fix problems with multiple windows leaking the event queue
git-svn-id: svn://10.0.0.236/trunk@16620 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 23:10:42 +00:00
buster%netscape.com
bb9c01d77b WIP on border collapsing
git-svn-id: svn://10.0.0.236/trunk@16619 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:59:40 +00:00
buster%netscape.com
32c13321e7 added PainBorderSegments
git-svn-id: svn://10.0.0.236/trunk@16618 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:58:51 +00:00
buster%netscape.com
4f61c6e05f added nsBorderEdge and nsBorderEdges
git-svn-id: svn://10.0.0.236/trunk@16617 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:58:23 +00:00
hyatt%netscape.com
906a026df1 Fixing Pink's build bustage.
git-svn-id: svn://10.0.0.236/trunk@16616 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:48:36 +00:00
alecf%netscape.com
9cd50c590e remove old broken mknews
git-svn-id: svn://10.0.0.236/trunk@16615 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:45:48 +00:00
alecf%netscape.com
d9196c8135 switch over to new C++ versions of news
git-svn-id: svn://10.0.0.236/trunk@16614 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:45:08 +00:00
alecf%netscape.com
cee6075cda first insert of mknews (C++ version) into netlib from Nova
git-svn-id: svn://10.0.0.236/trunk@16613 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:44:04 +00:00
troy%netscape.com
9debb42671 Backed the change back out
git-svn-id: svn://10.0.0.236/trunk@16612 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:25:59 +00:00
pnunn%netscape.com
26e8b90813 Bugzilla#1971: Jpeg files larger than max size not handled properly. -pnunn
git-svn-id: svn://10.0.0.236/trunk@16611 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:16:27 +00:00
pinkerton%netscape.com
887cbb215b using nsCOMPtr and grippies are now drawn by hand so we can get the right look and scaling. Separation of grippies from toolbar in place with ifdefs.
git-svn-id: svn://10.0.0.236/trunk@16610 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:15:48 +00:00
akkana%netscape.com
eeeb204407 update the branch of nsprpub we're pulling
git-svn-id: svn://10.0.0.236/trunk@16609 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:15:22 +00:00
pinkerton%netscape.com
d43795a7a8 using nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@16608 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:15:09 +00:00
pinkerton%netscape.com
8da08e85fc using nsCOMPtr and preparing for separation from grippy and toolbar manager with ifdefs.
git-svn-id: svn://10.0.0.236/trunk@16607 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:14:28 +00:00
pinkerton%netscape.com
fdae4db922 removed obsolete event handlers.
git-svn-id: svn://10.0.0.236/trunk@16606 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:13:58 +00:00
pinkerton%netscape.com
839dd30dcf inserted IID() method for use with nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@16605 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:13:41 +00:00
hyatt%netscape.com
3a0aa5a0b5 Paving the way for the implementation of expanding/collapsing folders.
git-svn-id: svn://10.0.0.236/trunk@16604 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 22:11:51 +00:00
law%netscape.com
34407e985d *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@16603 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 21:56:06 +00:00
troy%netscape.com
16badfe907 Changed Paint() to only paing the border if the style info says we're visible
git-svn-id: svn://10.0.0.236/trunk@16602 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 21:34:41 +00:00
despotdaemon%netscape.com
e534e78497 Pseudo-automatic update of changes made by paulmac@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@16601 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 20:47:01 +00:00
scc%netscape.com
261d8c4bf9 Fixed build bustage (bad access paths)
git-svn-id: svn://10.0.0.236/trunk@16600 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:47:47 +00:00
alecf%netscape.com
b2644a7deb certain methods were not spitting out = 0 at the end of the header
git-svn-id: svn://10.0.0.236/trunk@16599 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:39:10 +00:00
mjudge%netscape.com
3d5e302f6d removing files from repository
git-svn-id: svn://10.0.0.236/trunk@16598 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:39:02 +00:00
scc%netscape.com
bc7994a1ef enabled the dont_AddRef feature, for when functions return an already AddRefed result, e.g. |mSmartPtr = dont_AddRef(GetThing());|
git-svn-id: svn://10.0.0.236/trunk@16597 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:32:00 +00:00
scc%netscape.com
a09cdf1a14 COM_auto_ptr --> nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@16596 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:27:29 +00:00
mjudge%netscape.com
28a5884fce changing COM_auto_ptr to nsCOMPtr.h
git-svn-id: svn://10.0.0.236/trunk@16595 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:26:17 +00:00
mjudge%netscape.com
e0271df732 changing auto ptr to use the new header
git-svn-id: svn://10.0.0.236/trunk@16594 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:25:32 +00:00
scc%netscape.com
82b43093b4 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16593 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:21:58 +00:00
slamm%netscape.com
cfc5177808 Turn off frames for build log. Frames are evil.
git-svn-id: svn://10.0.0.236/trunk@16592 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:16:35 +00:00
scc%netscape.com
113beb03ea First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16591 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:12:45 +00:00
kipp%netscape.com
1601fdb733 Disabled skid marks
git-svn-id: svn://10.0.0.236/trunk@16590 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 19:10:53 +00:00
kipp%netscape.com
396fe5cf50 Partial whack at supporting more accurate max-element-size computations
git-svn-id: svn://10.0.0.236/trunk@16589 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:55:42 +00:00
kipp%netscape.com
c84da05ca6 nuked some tabs; added in comment to note where max-element-size computation should be fixed up
git-svn-id: svn://10.0.0.236/trunk@16588 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:55:13 +00:00
kipp%netscape.com
59fd0fcd5b Added set/get empty line methods (currently unused)
git-svn-id: svn://10.0.0.236/trunk@16587 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:54:40 +00:00
kipp%netscape.com
5a88b6edb8 Add in border and padding to get the max-element-size right
git-svn-id: svn://10.0.0.236/trunk@16586 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:54:22 +00:00
kipp%netscape.com
fbc5369c73 Add in margin top and bottom to max-element-size height
git-svn-id: svn://10.0.0.236/trunk@16585 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:54:07 +00:00
kipp%netscape.com
7f10d74dd3 Added the AddBorderPaddingToMaxElementSize method to make it easy for implementors to get it right
git-svn-id: svn://10.0.0.236/trunk@16584 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:53:14 +00:00
kipp%netscape.com
025e0d4ba8 Factor in margins into in-flow-bounds rect; update max-element-size to include the margins around the block element
git-svn-id: svn://10.0.0.236/trunk@16583 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:52:45 +00:00
kipp%netscape.com
c5f1d3ba49 Clean up max-element-size computations; added code to remove empty lines (disabled for now)
git-svn-id: svn://10.0.0.236/trunk@16582 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:52:10 +00:00
kipp%netscape.com
0dcc919b64 Added methods for get floater info in the band and a method to compute the impact on the max-element-size of the floaters
git-svn-id: svn://10.0.0.236/trunk@16581 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:50:45 +00:00
kipp%netscape.com
48aa04cc90 Made nsBandTrapezoid::GetRect const
git-svn-id: svn://10.0.0.236/trunk@16580 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:49:39 +00:00
rods%netscape.com
5b9e4e49dd Added LBS_EXTENDEDSEL flag to get the proper MULTIPLE seleciton behavior
git-svn-id: svn://10.0.0.236/trunk@16579 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:44:52 +00:00
beard%netscape.com
abf0e29960 Added mPluginPort, which is either the assigned port, or an empty one shared among all plugin instances. This should inhibit drawing when an applet leaves the current page. Added explicit releaseFrames(), called by MRJContext's destructor, so that any frames owned by the applet will be disconnected from the C++ objects before the objects go away.
git-svn-id: svn://10.0.0.236/trunk@16578 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:22:22 +00:00
beard%netscape.com
ae484588d7 Added mPluginPort, which is either the assigned port, or an empty one shared among all plugin instances. This should inhibit drawing when an applet leaves the current page.
git-svn-id: svn://10.0.0.236/trunk@16577 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:20:42 +00:00
beard%netscape.com
36d1bb04a4 Added the initial reference count. Might want to revisit this, should realy tie lifetime of the plugin itself to the CFM library.
git-svn-id: svn://10.0.0.236/trunk@16576 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:19:40 +00:00
beard%netscape.com
148860a0e0 Converted to Pro 4 format.
git-svn-id: svn://10.0.0.236/trunk@16575 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:18:46 +00:00
shaver%netscape.com
1919fa1881 add webshell/tests/viewer/public/Makefile to let viewer build again
git-svn-id: svn://10.0.0.236/trunk@16574 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 17:43:17 +00:00
rods%netscape.com
92cead7b60 Fixed a bug I created in GetStyleHintForAttributeChange
git-svn-id: svn://10.0.0.236/trunk@16573 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 16:38:43 +00:00
dcone%netscape.com
90d3cc2f62 Added a manifest from viewer, and samples from resources for Rods changes
git-svn-id: svn://10.0.0.236/trunk@16571 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 16:15:45 +00:00
dcone%netscape.com
bebabe6f2e updated rods changes
git-svn-id: svn://10.0.0.236/trunk@16570 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 16:14:58 +00:00
dcone%netscape.com
182bc0bdba First Checked In.
git-svn-id: svn://10.0.0.236/trunk@16569 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 16:14:18 +00:00
kin%netscape.com
f76447a07f Modified file so that txmgr only gets built if MOZ_EDITOR is defined. This fixes
build bustage for people who want to build gecko without pulling the editor
directory.


git-svn-id: svn://10.0.0.236/trunk@16568 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 15:53:55 +00:00
rods%netscape.com
6a3999f05a Added HTML dialog support for "Find" and "PrintSetup"
git-svn-id: svn://10.0.0.236/trunk@16567 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 15:52:48 +00:00
rods%netscape.com
53c8b2569f Added processing hint for the "value" attribute
git-svn-id: svn://10.0.0.236/trunk@16566 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 15:27:01 +00:00
jfrancis%netscape.com
1de3312ae2 ok, so I forgot about rdf content. Now it has range gravity hooks, which do nothing.
git-svn-id: svn://10.0.0.236/trunk@16565 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 08:31:33 +00:00
buster%netscape.com
7dbb291b72 more WIP, no new code operational
git-svn-id: svn://10.0.0.236/trunk@16564 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 07:56:24 +00:00
jfrancis%netscape.com
214410065f Adding support for notifying content that it harbors a DOMRange.
git-svn-id: svn://10.0.0.236/trunk@16563 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 07:22:28 +00:00
buster%netscape.com
acd2f83b0d WIP collapsing border implementation
added CompareBorderStyles, GetWidthForSide, ComputeCollapsedBorderSegment
we're now computing the left edge segments somewhat correctly.


git-svn-id: svn://10.0.0.236/trunk@16562 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 07:04:42 +00:00
12388 changed files with 192999 additions and 2989043 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,156 +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{'46'} = 'Open';
$branch{'46'} = 'HEAD';
$fullname{'46'} = 'ef';
$mode{'12'} = 'Open';
$branch{'12'} = 'HEAD';
$fullname{'12'} = 'jpeg';
$mode{'19'} = 'Open';
$branch{'19'} = 'HEAD';
$fullname{'19'} = 'mozilla-toplevel';
$mode{'24'} = 'Restricted';
$branch{'24'} = 'HEAD';
$fullname{'24'} = 'nsprpub';
$blessed{'24'} = ['gordon%netscape.com',];
$super{'24'} = ['wtc%netscape.com','larryh%netscape.com','srinivas%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/nsprpub/.*$:) {return '24';}
if (m:^mozilla/ef/.*$:) {return '46';}
}
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,26 +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
depend.mk

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,577 +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.
######################################################################
#
# Module that contains the LEGAL and the LICENSE file. This should be
# a part of every logical source pull for a component. Care should
# be given so that this module is not specified twice for a given
# source pull.
#
MozillaLicense -a \
mozilla/LEGAL \
mozilla/LICENSE
######################################################################
#
# 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/caps \
mozilla/config \
mozilla/dbm \
mozilla/editor \
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/aclocal.m4 \
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 \
mozilla/lib/mac/PowerPlant
#####################
# An all inclusive modules for tinderbox to use
#####################
RaptorAll -a \
RaptorWin \
RaptorUnix \
RaptorMac
#######################################################################
# 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
#######################################################################
# Modules for SeaMonkey
# (5.0 Browser and 5.0 Mail/News based on nglayout)
#
# Initial wild ass guess: cyeh@netscape.com
# Second guess: mcafee@netscape.com
#
# We might want to do the platform-specific stuff like:
# SeaMonkeyCoreFoo = SeaMonkeyCore + <stuff for platform Foo>
# and so on, for each module.
#
NSPR -a \
mozilla/nsprpub
SeaMonkeyCore -a \
mozilla/configure.in \
mozilla/Makefile.in \
mozilla/aclocal.m4 \
mozilla/base \
mozilla/build \
mozilla/caps \
mozilla/config \
mozilla/cmd/xfe/icons/icondata.h \
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/nglayout.mak \
mozilla/nglayout.mk \
mozilla/rdf \
mozilla/sun-java \
mozilla/xpcom \
MozillaLicense
SeaMonkeyLayout -a \
SeaMonkeyCore \
mozilla/dom \
mozilla/gfx \
mozilla/htmlparser \
mozilla/layout \
mozilla/webshell \
mozilla/widget \
mozilla/view
SeaMonkeyXPToolKit -a \
SeaMonkeyLayout \
mozilla/xpfe
SeaMonkeyBrowser -a \
mozilla/client.mk \
mozilla/client.mak \
mozilla/modules/softupdt \
mozilla/editor/Makefile.in \
mozilla/editor/public \
SeaMonkeyXPToolKit
# This needs work!
SeaMonkeyMailNews -a \
SeaMonkeyLayout
SeaMonkeyEditor -a \
SeaMonkeyBrowser \
mozilla/editor
#############################################################
# This module is the whole banana, and this
# is the module that tinderbox and bonsai should
# track.
#
# Right now Editor pulls Browser which pulls XPToolKit
# which pulls Layout which pulls Core. But eventually,
# there will be more differentiation and uniqueness so
# All will need to contain more than Editor. Perhaps it
# will contain SeaMonkeyUnix, SeaMonkeyMac, SeaMonkeyWin
# et cetera, et cetera, et cetera. But that is in the
# future. --sarah
#
# For windows builds, nspr is required. --leaf
SeaMonkeyAll -a \
SeaMonkeyEditor \
NSPR

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,206 +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
bienvenu%netscape.com:wX51mlkEmgeDE: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
cathleen%netscape.com:rymxslGnjuvzQ:cvsuser
cbegle%netscape.com:tjdWT/zoMdl1Q:cvsuser
chrisf%netscape.com:gdE0LJ9JBmaB2:cvsuser
chuang%netscape.com:fLaH9mJOJ5IE.:cvsuser
chuckb%netscape.com:i37zDOwgdHowo:cvsadm
claudius%netscape.com:sgCFTeeEj2J1U:cvsuser
cls%seawood.org:YLAr7ajnaXezg:cvsuser
cltbld%netscape.com:M337.7eKMF4AE:cvsuser
clu%netscape.com:DcMdXCk.GsnxI:cvsuser
cmanske%netscape.com:wZ2fFz6Y4JIkk: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:bc3H9S2xbteoY:cvsuser
dawn%cannibal.mi.org:yXO.M/SUdhzAc: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
ducarroz%netscape.com:B9ih04P7FDhrg: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:penaHUSRE49SM:cvsuser
glynn%netscape.com:s/Vcskv6bKP1I: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:/Ha1xKhxxuzIM: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
jj%netscape.com:Slemj8mwbIPao: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
lpham%netscape.com:Hyg6DkfNbO4DQ:cvsuser
ltabb%netscape.com:4967GySWBBDZA:cvsuser
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.:cvsadm
mccabe%netscape.com:3rKv1ZMBpeR36:cvsuser
mcmullen%netscape.com:acOnFLffmFPVE: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
msanz%netscape.com:llz7R0dXZuYhg:cvsuser
mscott%netscape.com:dHLGTClZyMWG6:cvsuser
msw%gimp.org:KB4CGqyGWzK5w:cvsuser
mtoy%netscape.com:7U9WCoU6Kauhg:cvsuser
mwelch%netscape.com:zIlUxCyR4XTng:cvsuser
namachi%netscape.com:PsyTMYgsh7wbo: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
ppandit%netscape.com:VYJl1LSaQC5dk: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
rth%cygnus.com:PgrJbhkbkSaXM:cvsuser
rudman%netscape.com:f4Sr79IYTY8Xc: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:2mFWUaEqjN7lE: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
ssu%netscape.com:7wD5bxYBHZeM6:cvsuser
stever%netscape.com:veCWvWkeusc5o:cvsuser
sudu%netscape.com:c3GHytVzhAT.o:cvsuser
tague%netscape.com:4kUZyqe/S5VaI:cvsuser
takacs%netscape.com:qgLCy3LuBsReg: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