Closed Bug 135795 Opened 22 years ago Closed 22 years ago

fix mkdepend to work on OS/2

Categories

(SeaMonkey :: Build Config, defect)

x86
OS/2
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jhpedemonte, Assigned: jhpedemonte)

References

Details

Attachments

(3 files, 1 obsolete file)

 
Attached patch patchSplinter Review
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+
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.

Patch has been checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
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. :-/
Yeah I'll take care of the approvals.
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 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+
Checked in. We'll leave this around so that Javier can fix it some day :)
Assignee: seawood → pedemont
Status: REOPENED → NEW
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?
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?
Just got GNU Make 3.79.1 working on OS/2, but I still get this same error.
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.
Attached patch patch to reenable mkdepend (obsolete) — Splinter Review
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.
Attachment #107388 - Flags: review?(seawood)
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-
Attachment #107388 - Attachment is obsolete: true
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+
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.
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.
mkdepend is in.

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

Attachment

General

Created:
Updated:
Size: