Closed
Bug 76050
Opened 25 years ago
Closed 25 years ago
JS Debugger related make changes
Categories
(SeaMonkey :: Build Config, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.9.2
People
(Reporter: rginda, Assigned: rginda)
References
Details
Attachments
(7 files)
|
2.11 KB,
patch
|
Details | Diff | Splinter Review | |
|
2.46 KB,
patch
|
Details | Diff | Splinter Review | |
|
2.34 KB,
patch
|
Details | Diff | Splinter Review | |
|
2.40 KB,
patch
|
Details | Diff | Splinter Review | |
|
831 bytes,
patch
|
Details | Diff | Splinter Review | |
|
947 bytes,
patch
|
Details | Diff | Splinter Review | |
|
4.26 KB,
patch
|
Details | Diff | Splinter Review |
The following patch adds the "venkman" extension, aka the JS Debugger to the
unix make system.
This is slightly different from other extensions in that it triggers js/jsd to
make, as well as extensions/venkman. js/jsd is the c debugger api that jband
wrote sooo long ago.
| Assignee | ||
Comment 1•25 years ago
|
||
It looks like that change is going to conflict slightly with the
--with-extensions=all change that dbaron is proposing in bug 75924. You should
probably grep for venkman in MOZ_EXTENSIONS after that option has been set.
Also, it doesn't even look like venkman is being pulled on the mozilla tip.
| Assignee | ||
Comment 3•25 years ago
|
||
oops, I checked venmkan in *after* filing this bug, it should be pulling now.
js/jsd, on the otherhand, is not pulled by default. I'll ask leaf to put it in
the SeaMonkeyAll module.
In addition to the attached patch, there is a change in js/Makefile.in that I
missed:
Index: Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/js/Makefile.in,v
retrieving revision 1.7
diff -u -r1.7 Makefile.in
--- Makefile.in 2001/02/04 06:27:57 1.7
+++ Makefile.in 2001/04/14 21:46:53
@@ -47,6 +47,10 @@
DIRS = src/fdlibm src
+ifdef MOZ_JSDEBUGGER
+DIRS += jsd
+endif
+
ifdef MOZ_JAVA
DIRS += jsj
endif
Comment 4•25 years ago
|
||
In case you don't already have this covered... Please put in place the
appropriate cvs pull magic to only pull in the subdirs under js/jsd that you
actually use. We for sure don't want *all* that stuff - adding gobs and gobs of
unused .java files to everyone's cvs pulls will likely result in death threats.
I *do* think you should add those bits of the stuff you need under js/jsd to the
default pull *and* build to keep everyone honest and make it easy for everyone
to benefit from this wonderful new tool you'll be providing.
Updated•25 years ago
|
Target Milestone: --- → mozilla0.9.1
| Assignee | ||
Comment 5•25 years ago
|
||
Reassigning to myself, attaching updated patch.
New patch removes MOZ_JSD_LIBS (it's no longer needed), and sets JS_DEBUGGER in
the --with-extensions=all case, in anticipation of bug 75924. Bug 76963 has
been filed re: getting js/jsd into SeaMonkeyAll.
Assignee: cls → rginda
Depends on: 76963
| Assignee | ||
Comment 6•25 years ago
|
||
Comment 7•25 years ago
|
||
what is left to do on this bug? will the changes get landed in the next
week or so?
| Assignee | ||
Comment 8•25 years ago
|
||
waiting for r/sr=
having 76963 fixed would be nice too, but not really necessary to check this in.
Status: NEW → ASSIGNED
Comment 9•25 years ago
|
||
Comment 10•25 years ago
|
||
The test for JS_DEBUGGER should be outside of the --with-extensions macro. Fix
that and r=cls
| Assignee | ||
Comment 11•25 years ago
|
||
Comment 12•25 years ago
|
||
yep
| Assignee | ||
Comment 13•25 years ago
|
||
leaf, did I hear an sr=?
| Assignee | ||
Comment 14•25 years ago
|
||
Shaver tells me all I need is an r=cls to check in build stuff. I was not aware
of that. I'll check into the next open tree.
| Assignee | ||
Comment 15•25 years ago
|
||
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 16•25 years ago
|
||
Shrike went red when I checked this in. I don't understand why, maybe it's just
late. If anyone has any ideas on what I did wrong feel free to say so. I've
commented out the DIRS+=jsd from js/Makefile.in until I can figure this out.
gmake[4]: Entering directory
`/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/obj-i686-unknown-linux-gnu/js/jsd/idl'
Creating ../../../dist/idl
../../../config/nsinstall -R -m 444
/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/js/jsd/idl/jsdIDebuggerService.idl
../../../dist/idl
gmake[4]: *** No rule to make target `_xpidlgen/jsdIDebuggerService.h', needed
by `export'. Stop.
gmake[4]: Leaving directory
`/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/obj-i686-unknown-linux-gnu/js/jsd/idl'
gmake[3]: *** [export] Error 2
gmake[3]: Leaving directory
`/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/obj-i686-unknown-linux-gnu/js/jsd'
gmake[2]: *** [export] Error 2
gmake[2]: Leaving directory
`/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/obj-i686-unknown-linux-gnu/js'
gmake[1]: *** [export] Error 2
gmake[1]: Leaving directory
`/builds/tinderbox/SeaMonkey/Linux_2.2.5-22smp_Clobber/mozilla/obj-i686-unknown-linux-gnu'
gmake: *** [build] Error 2
No More Errors
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
| Assignee | ||
Comment 17•25 years ago
|
||
While trying to figure out the problem, Pike mentioned that allmakefiles.sh
probably should have been updated as well. Something like this, I presume?
Index: allmakefiles.sh
===================================================================
RCS file: /cvsroot/mozilla/allmakefiles.sh,v
retrieving revision 1.298
diff -u -r1.298 allmakefiles.sh
--- allmakefiles.sh 2001/05/10 03:00:36 1.298
+++ allmakefiles.sh 2001/05/15 08:02:10
@@ -222,6 +222,11 @@
js/src/xpconnect/tools/idl/Makefile
"
+MAKEFILES_jsdebugger="
+js/jsd/Makefile
+js/jsd/idl/Makefile
+"
+
MAKEFILES_content="
content/Makefile
content/base/Makefile
@@ -1100,6 +1105,7 @@
$MAKEFILES_jpeg
$MAKEFILES_jprof
$MAKEFILES_js
+$MAKEFILES_jsdebugger
$MAKEFILES_l10n
$MAKEFILES_l10n_lang
$MAKEFILES_langpacks
Comment 18•25 years ago
|
||
Comment 19•25 years ago
|
||
r=cls on the allmakefiles.sh patch.
That error message was far more cryptic than it should have been. Not sure how
to fix that.
Comment 20•25 years ago
|
||
Comment 21•25 years ago
|
||
A couple of questions...
- Do we really want to directly link the building of js/jsd to the building of
the debugger front end. Inevitably people will want js/jsd without the debugger
extension front end. For 4.x we built and shipped js/jsd are part of the
standard distribution so that there was no doubt that it would be present in
normal installs (it is small). Why not make them separate and have one depend on
the other? MOZ_JSD and MOZ_JSDEBUGGER?
- I'm not clear on what happened last night, but... Do we really still need to
build the js module during the export phase? Years ago it was fairly common for
people to screwup their makefiles by making the mistake of basing those
makefiles on the makefile in the js module. We used to have reasons to build
js/src in the export phase. I don't see that those reasons still apply. Do they?
Comment 22•25 years ago
|
||
Afaict, js/src is not built during the export phase. All dirs are traversed
during the export phase to generate .h from .idl and place them in $(DIST).
Afaik, the only things that are compiled during the export phase are nspr, the
config tools & the xpt tools.
Last night's issue was a simple build ordering problem that was only evident in
a clobber build. I don't exactly remember why but js(,/src) is built before
xpcom. When jsd was added to js/Makefile.in, it caused us to attempt to do the
.idl->.h generation before xpidl (comes from xpcom) was built.
Comment 23•25 years ago
|
||
> Afaict, js/src is not built during the export phase.
Ah, I guess it is only on Windows that we do this...
http://lxr.mozilla.org/seamonkey/source/js/src/makefile.win#201
I still think it would be good to decouple the flags that control building of
js/jsd from the flags that control building any one jsdebugger front end.
| Assignee | ||
Comment 24•25 years ago
|
||
MOZ_JSDEBUGGER=1 controls the building of the xpcom component. Appending
"venkman" to MOZ_EXTENSIONS controls the building of the front end. The only
reason they appear tied together is because --with-extensions=venkman triggers
both to occur. But, there is no reason we couldn't have an --enable-jsd flag to
make the component, and leave --with-extensions=venkman to build the FE. It
seems a bit more "correct", though a little more confusing for first time builders.
While hacking together an --enable-jsd flag I noticed that the grep -c test I
copied from xmlterm is broken. test 0 evaluates to true, and so we had been
setting MOZ_JSDEBUGGER even without --enable-extensions=venkman. That explains
why these machines tried to build! (They're not *supposed* to be building with
--with-extensions=all, right?) We can build by default later, if it seems like a
good idea. I'm not comfortable with having it built by default now, if it can be
avoided.
Also, I missed extensions/venkman in allmakefiles.sh.
I'm attaching a patch that combines all of the changes still pending on this
bug, including the --enable-jsd flag, and the fix to the xmlterm test.
| Assignee | ||
Comment 25•25 years ago
|
||
Comment 26•25 years ago
|
||
Rob, FWIW I used to call the junk like js/jsd 'JSDEBUGGING' and the front end
'JSDEBUGGER'. This might not have been the best choice of names, but it was
repeatedly useful to have a (sorta) clear distinction between the shared support
parts and the end user UI parts.
Comment 27•25 years ago
|
||
Actually, most of the tinderboxes are building using --with-extensions. Your
comment doesn't match the logic of the --enable-jsd option. With this patch, it
would be off by default. Outside of that, r=cls
| Assignee | ||
Comment 29•25 years ago
|
||
already checked in.
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
Updated•21 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•