diff --git a/mozilla/js/jsdj/README b/mozilla/js/jsdj/README index 1097d61f79e..4b746916184 100644 --- a/mozilla/js/jsdj/README +++ b/mozilla/js/jsdj/README @@ -11,6 +11,7 @@ The notable subdirs are: build - stuff to build the code classes - trees of source files dist - generated output dir +doc - some documents ifcui - auxilary pieces of the JavaScript Debugger jslogger - auxilary pieces of a smaple JavaScript logging app stub_classes - stubbed out mozilla classes to allow standalone debugging @@ -22,9 +23,3 @@ The source to the debugger lives in: All building is done in: jsdj/build -*************************************************************************** -*** 09/15/98 -*** NOTE: some of this relates to code in js/jsd that is not yet checked in. -*** New stuff in js/jsd will go in when new js/src lands (later this week). -*** I decided to check this in anyway... -*************************************************************************** diff --git a/mozilla/js/jsdj/build/README b/mozilla/js/jsdj/build/README index 2ae5f78ff50..1cb9321d860 100644 --- a/mozilla/js/jsdj/build/README +++ b/mozilla/js/jsdj/build/README @@ -13,7 +13,7 @@ to the public. The flag 'NO_RHINO=1' is necessary for many of the makefile targets when used outside of Netscape. There is code here to also build a Corba/iiop connection for remote debugging to -a Netscape Internal version of Enterprise Server 3.51. This is not fully +a Netscape internal version of Enterprise Server 3.51. This is not fully functional on the server side. You should normally use the NO_CORBA=1 build flag. If you want to play with this stuff then you need an install of ES3.51 and you need to set the ES3_ROOT environment variable to point to that install. @@ -29,5 +29,43 @@ up to date :). There are a few .bat files for convenience to build the targets I often build. +'mk_ifcui_std_with_rhino.bat' will build the whole thing (except Corba parts) +and ASSUMEs that you want Rhino support and that you have already built Rhino +in the 'correct' relative directory. +The directory structure used at Netscape for Rhino is: + someroot/ns/js/rhino + someroot/mozilla/js/src + someroot/mozilla/js/jsd + someroot/mozilla/js/jsdj + +where 'someroot' can be anything. The salient point is that from the jsdj/build +directory the relative path to the rhino classes is: + +.\..\..\..\..\ns\js\rhino + +This can be adjusted by hacking the 'RHINO_CLASSES' var near the top of +jsdj.mak. + +------------------------ +FOR THE JS 1.4 RELEASE: + +Rhino (JavaScript for Java) is packaged as 'jsjava.jar'. It unzips so that the +root directory is named 'jsjava'. + +To simplify building js/jsdj for this release jsdj.mak has been modified to +include: + + RHINO_CLASSROOT = $(BUILD_DIR)\..\..\jsjava + RHINO_CLASSES = $(RHINO_CLASSROOT)\js.jar;$(RHINO_CLASSROOT)\jsdebug.jar + +This supports unzipping jsjava.jar into mozilla/js for a directory tree like: + + someroot/mozilla/js/jsjava + someroot/mozilla/js/src + someroot/mozilla/js/jsd + someroot/mozilla/js/jsdj + +mk_ifcui_std_with_rhino.bat can then be run from mozilla/js/jsdj/build to build +all of js/jsdj including Rhino support. diff --git a/mozilla/js/jsdj/build/jsdj.mak b/mozilla/js/jsdj/build/jsdj.mak index 9885613a175..02d092dd032 100644 --- a/mozilla/js/jsdj/build/jsdj.mak +++ b/mozilla/js/jsdj/build/jsdj.mak @@ -11,7 +11,10 @@ PALOMAR_DIR = $(JSDEBUGGING_DIR)\ifcui\palomar IFC_DIST_FILE = $(DIST_CLASSES)\ifc11.jar !IF "$(NO_RHINO)" == "" -RHINO_CLASSES = $(BUILD_DIR)\..\..\..\..\ns\js\rhino +RHINO_CLASSROOT = $(BUILD_DIR)\..\..\jsjava +RHINO_CLASSES = $(RHINO_CLASSROOT)\js.jar;$(RHINO_CLASSROOT)\jsdebug.jar + +#RHINO_CLASSES = $(BUILD_DIR)\..\..\..\..\ns\js\rhino !ENDIF #these are used for CD diff --git a/mozilla/js/jsdj/build/mk_ifcui_std_fast_jar_with_rhino.bat b/mozilla/js/jsdj/build/mk_ifcui_std_fast_jar_with_rhino.bat new file mode 100755 index 00000000000..73e9f539bfe --- /dev/null +++ b/mozilla/js/jsdj/build/mk_ifcui_std_fast_jar_with_rhino.bat @@ -0,0 +1 @@ +call mk_ifcui_std.bat ifcui_fast ifcui_jar INCLUDE_RHINO_ADAPTER=1 INCLUDE_RHINO_LAUNCHER=1 diff --git a/mozilla/js/jsdj/build/mk_ifcui_std_with_rhino.bat b/mozilla/js/jsdj/build/mk_ifcui_std_with_rhino.bat new file mode 100755 index 00000000000..6703f94e685 --- /dev/null +++ b/mozilla/js/jsdj/build/mk_ifcui_std_with_rhino.bat @@ -0,0 +1,2 @@ +nmake -f jsdj.mak INCLUDE_SECURITY=1 INCLUDE_LOCAL_ADAPTER=1 INCLUDE_LOCAL_LAUNCHER=1 INCLUDE_IMAGES=1 INCLUDE_SOUNDS=1 INCLUDE_RHINO_ADAPTER=1 INCLUDE_RHINO_LAUNCHER=1 NO_CORBA=1 %1 %2 %3 %4 %5 %6 %7 %8 %9 + diff --git a/mozilla/js/jsdj/doc/jsd_arch.html b/mozilla/js/jsdj/doc/jsd_arch.html new file mode 100644 index 00000000000..2af6fe51407 --- /dev/null +++ b/mozilla/js/jsdj/doc/jsd_arch.html @@ -0,0 +1,162 @@ + +
++ +

+ +
| (1) | +
+Spider Monkey JavaScript engine. This is an unmodified engine which exposes
+a low-level debug interface via js/src/jsdbgapi.h.
+ |
+
| (2) | ++Spider Monkey JavaScript debug support. This provides a wrapper and does +bookkeeping. + | +
| (3) | ++Corba adapter. Using only public interfaces of JSD this module remotes +the debug interface over a Corba connection. + | +
| (4) | +
+JNI native adapter. This implements the natives of netscape.debug
+using JNI natives.
+ |
+
| (5) | +
+Old JDK native adapter. This implements the natives of netscape.debug
+using old style JDK natives. This is currently in use in Communicator 4.x.
+ |
+
| (6) | ++Rhino JavaScript for Java engine. This is the unmodified Rhino engine. +It exposes the low-level debug interface via various interface classesand support +built into the Context and Codegen classes. + | +
| (7) | ++Rhino debug support package. This exposes a higher level debug interface for +Rhino and includes a reference implementation of that interface. + | +
| (8) | +
+Client end of Corba adapter. This implements com.netscape.jsdebugging.api
+to provide debugger clients access to an engine running in a different process
+space.
+ |
+
| (9) | +
+netscape.debug is a package included in Communiator 4.x.
+The JNI and JDK natives supply the bridge from C to Java that is exposed on the
+Java side by this package.
+ |
+
| (10) | +
+The local adapter implements com.netscape.jsdebugging.api in a form that
+allows the debugger client to connect to netscape.debug.
+ |
+
| (11) | +
+The rhino adapter implements com.netscape.jsdebugging.api in a form that
+allows the debugger client to connect to com.netscape.javascript.debug.
+ |
+
| (12) | +
+com.netscape.jsdebugging.api is an interface only package that allows
+debugger clients to talk to any of the adapters transparently and with no
+compile-time coupling to the adapters.
+ |
+
| (13) | +
+Java-based Graphical Debugger. Currently we have one debugger written using IFC
+and shipping in it's 1.1 form. Version 1.2 is unfinished and under development
+in the mozilla tree in js/sjdj/classes in the package
+com.netscape.jsdebugging.ifcui.
+ |
+
| (14) | +
+Java-based Console Debugger. Currently we have a version of this checked in
+to the mozilla tree in com.netscape.jsdebugging.jsdb. This version
+will work with either Rhino or the C engine using engine abstraction classes in
+com.netscape.jsdebugging.engine.
+ |
+
| (15) | +
+Java-based debug api tests are implemented in
+com.netscape.jsdebugging.apitests.
+ |
+
| (n/a) | ++Not shown is a purely native console debugger which uses only js/src and js/jsd. +It can be found in js/jsd/jsdb. This debugger uses the JS shell and reflects +the JSD api into the JavaScript language. The actual debugger is written in +JavaScript. It can be modified and extended as it runs and can debug itself. + | +