fix mkdepend to work on OS/2

RESOLVED FIXED

Status

SeaMonkey
Build Config
RESOLVED FIXED
16 years ago
14 years ago

People

(Reporter: jhp (no longer active), Assigned: jhp (no longer active))

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 1 obsolete attachment)

2.27 KB, patch
hacker formerly known as seawood@netscape.com
: review+
jesup
: approval+
Details | Diff | Splinter Review
961 bytes, patch
hacker formerly known as seawood@netscape.com
: review+
Details | Diff | Splinter Review
3.09 KB, patch
hacker formerly known as seawood@netscape.com
: review+
Details | Diff | Splinter Review
(Assignee)

Description

16 years ago
 
(Assignee)

Comment 1

16 years ago
Created attachment 77915 [details] [diff] [review]
patch

Are these the only changes (in the mk files) I need to make in order to
dependencies to work on OS/2?
Comment on attachment 77915 [details] [diff] [review]
patch

r=cls

That should be all you need to get mkdepend working.  Depending upon how much
of a slowdown that you see from the depend cycle, you may want to turn
autodependencies *off* by default like it is on win32.	See
http://lxr.mozilla.org/seamonkey/source/configure.in#3908 .
Attachment #77915 - Flags: review+
(Assignee)

Comment 3

16 years ago
cls: I don't know much about dependencies;  what are the
advantages/disadvantages to disabling auto dependency generation?
Speed of a clobber build is the biggest tradeoff.  To insure that individual
dependencies are correct, we run mkdepend for each srcfile that would be
compiled.  This can take awhile so most people like to disable it for clobber
builds.  For partiy with the nmake builds, we turned it off for win32 by
default.  For depend builds (make alldep), it really shouldn't matter.

Comment on attachment 77915 [details] [diff] [review]
patch

a=rjesup@wgate.com for drivers
Attachment #77915 - Flags: approval+

Comment 6

16 years ago
Patch has been checked in.
Status: NEW → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED
(Assignee)

Comment 7

16 years ago
Reopen:  Due to a bug in our version of gmake, our build stops when updating
dependencies with an "Error 127".  Need to stop dependency checking for now.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Eek. This is going to need to be backed out on the branch as well. :-/

Comment 9

16 years ago
Yeah I'll take care of the approvals.

Comment 10

16 years ago
Created attachment 79210 [details] [diff] [review]
Never mind - turn off mkdepend

Our gmake is broke so we can't do dependencies.

Turn it off.
Comment on attachment 79210 [details] [diff] [review]
Never mind - turn off mkdepend

r=cls
Attachment #79210 - Flags: review+

Comment 12

16 years ago
Comment on attachment 79210 [details] [diff] [review]
Never mind - turn off mkdepend

a=asa (on behalf of drivers) for checkin to the 1.0 branch
Attachment #79210 - Flags: approval+

Comment 13

16 years ago
Checked in. We'll leave this around so that Javier can fix it some day :)
Assignee: seawood → pedemont
Status: REOPENED → NEW

Comment 14

16 years ago
adding fixed1.0.0 keyword (branch resolution). This bug has comments saying it
was fixed on the 1.0 branch and a bonsai checkin comment that agrees. To verify
the bug has been fixed on the 1.0 branch please replace the fixed1.0.0 keyword
with verified1.0.0.
Keywords: fixed1.0.0
Oh bother. Forgot about this bug.  So we just made mkdepend failure a build
stopper (bug 179895) so the OS/2 tree burns.  I see that the OS/2 ifdefs
regarding MKDEPEND have been removed from config.mk.  Is mkdepend supposed to
work or does it need to be disabled again?
(Assignee)

Comment 16

16 years ago
Seawood:  I enabled mkdepend in my build again.  The first time through, with a
clean tree, everything is fine.  It creates the dependencies, no problems.  The
second time through, as soon as it needs to update one of the dependencies, it
fails.  Here are the final lines of my log file, with "debug" turned on in
mddepend.pl:

===================
gmake.exe[4]: Entering directory `/builds/trunk/mozilla/obj/modules/libreg/src'
add # DO NOT DELETE
add VerReg.obj D:/builds/trunk/mozilla/modules/libreg/src/reg.h
add VerReg.obj D:/builds/trunk/mozilla/modules/libreg/src/vr_stubs.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prio.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlong.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtypes.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prcpucfg.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/obsolete/protypes.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtime.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinrval.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinet.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlog.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prmem.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/plstr.h
add VerReg.obj D:/builds/trunk/mozilla/modules/libreg/src/nr_bufio.h
add VerReg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlock.h
add VerReg.obj ../../../dist/include/libreg/NSReg.h
add VerReg.obj ../../../dist/include/libreg/VerReg.h
add # DO NOT DELETE
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prerror.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtypes.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prcpucfg.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/obsolete/protypes.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prerr.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlog.h
add nr_bufio.obj D:/builds/trunk/mozilla/modules/libreg/src/vr_stubs.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prio.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlong.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtime.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinrval.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinet.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prmem.h
add nr_bufio.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/plstr.h
add nr_bufio.obj D:/builds/trunk/mozilla/modules/libreg/src/nr_bufio.h
add # DO NOT DELETE
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtypes.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prcpucfg.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/obsolete/protypes.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlog.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prerror.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prerr.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prprf.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prio.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlong.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtime.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinrval.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinet.h
add reg.obj D:/builds/trunk/mozilla/modules/libreg/src/reg.h
add reg.obj D:/builds/trunk/mozilla/modules/libreg/src/vr_stubs.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prmem.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/plstr.h
add reg.obj D:/builds/trunk/mozilla/modules/libreg/src/nr_bufio.h
add reg.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlock.h
add reg.obj ../../../dist/include/libreg/NSReg.h
add reg.obj ../../../dist/include/libreg/VerReg.h
add # DO NOT DELETE
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtypes.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prcpucfg.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/obsolete/protypes.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/plstr.h
add vr_stubs.obj D:/builds/trunk/mozilla/modules/libreg/src/vr_stubs.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prio.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlong.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prtime.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinrval.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prinet.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prlog.h
add vr_stubs.obj D:/builds/trunk/mozilla/obj/dist/include/nspr/prmem.h
add vr_stubs.obj D:/builds/trunk/mozilla/modules/libreg/src/nr_bufio.h
add vr_stubs.obj ../../../dist/include/libreg/NSReg.h
add vr_stubs.obj ../../../dist/include/libreg/VerReg.h
add vr_stubs.obj ../../../dist/include/nsBuildID.h
vr_stubs.obj(1037395748) older than ../../../dist/include/nsBuildID.h(1037397876)
Updating dependencies file, .deps/.all.pp
new: vr_stubs.obj: FORCE

gmake.exe[4]: Leaving directory `/builds/trunk/mozilla/obj/modules/libreg/src'
gmake.exe[4]: Entering directory `/builds/trunk/mozilla/obj/modules/libreg/src'
gmake.exe[4]: Nothing to be done for `export'.
gmake.exe[4]: Leaving directory `/builds/trunk/mozilla/obj/modules/libreg/src'
gmake.exe[3]: *** [export] Error 255
gmake.exe[3]: Leaving directory `/builds/trunk/mozilla/obj/modules/libreg'
gmake.exe[2]: *** [export] Error 2
gmake.exe[2]: Leaving directory `/builds/trunk/mozilla/obj'
gmake.exe[1]: *** [alldep] Error 2
gmake.exe[1]: Leaving directory `/builds/trunk/mozilla/obj'
make: *** [alldep] Error 2
===================

Do you see any reason why this would be failing on OS/2?  Please note that we
are still using GNU Make 3.76.1.  Is there anything in this code that requires a
later Make?
(Assignee)

Comment 17

16 years ago
Just got GNU Make 3.79.1 working on OS/2, but I still get this same error.
(Assignee)

Comment 18

16 years ago
If I touch nsBuildID.h, then go into mozilla/obj/modules/libreg/src and run a
make, I don't get the "Updating dependencies file" line.  Instead I get
"Building deps for ...".  I only get the error when the "Updating" line appears.
(Assignee)

Comment 19

16 years ago
Created attachment 107388 [details] [diff] [review]
patch to reenable mkdepend

We need GNU Make 3.79.1 in order to use mkdepend.  This patch reenables
mkdepend on OS/2.  Once we have our tinderboxes and nightlies using make
3.79.1, we can check this in.
(Assignee)

Updated

16 years ago
Attachment #107388 - Flags: review?(seawood)
(Assignee)

Comment 20

16 years ago
Cannot start using make 3.79.1 on tinderbox/nightly machines until patch in bug
181913 is checked in.
Depends on: 181913
Comment on attachment 107388 [details] [diff] [review]
patch to reenable mkdepend

OS/2 shouldn't use the win32 rules for generating dependencies as win32
currently requires that srcfiles are in the srcdir which OS/2 doesn't.
Attachment #107388 - Flags: review?(seawood) → review-
(Assignee)

Comment 22

16 years ago
Created attachment 107944 [details] [diff] [review]
patch w/ seawood's comments
Attachment #107388 - Attachment is obsolete: true
(Assignee)

Updated

16 years ago
Attachment #107944 - Flags: review?(seawood)
Comment on attachment 107944 [details] [diff] [review]
patch w/ seawood's comments

r=cls
Attachment #107944 - Flags: review?(seawood) → review+
(Assignee)

Comment 24

16 years ago
Chris:  Is this the only place that I need to worry about mkdepend?  I see some
references to it in nspr and security files, but it doesn't look like it's
turned on there.
(Assignee)

Comment 25

16 years ago
Chris: Also, don't check this in yet.  We need to check in bug 181913 first,
then upgrade to GNU make 3.79 before we can check this in.  Thanks.

Comment 26

16 years ago
mkdepend is in.

Now we have to turn it on on the TB.
Status: NEW → RESOLVED
Last Resolved: 16 years ago16 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.