#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# JSRef GNUmake makefile.
#
# Note: dependency rules are missing for some files (some
# .h, all .msg, etc.) Re-make clean if in doubt.
#
DEPTH = .
include config.mk
#NS_USE_NATIVE = 1
ifdef NARCISSUS
DEFINES += -DNARCISSUS
endif
# Look in OBJDIR to find jsautocfg.h and jsautokw.h
INCLUDES += -I$(OBJDIR)
ifdef JS_THREADSAFE
DEFINES += -DJS_THREADSAFE
INCLUDES += -I$(DIST)/include/nspr
ifdef USE_MSVC
OTHER_LIBS += $(DIST)/lib/libnspr$(NSPR_LIBSUFFIX).lib
else
OTHER_LIBS += -L$(DIST)/lib -lnspr$(NSPR_LIBSUFFIX)
endif
endif
ifdef JS_NO_THIN_LOCKS
DEFINES += -DJS_USE_ONLY_NSPR_LOCKS
endif
ifdef JS_HAS_FILE_OBJECT
DEFINES += -DJS_HAS_FILE_OBJECT
endif
#
# XCFLAGS may be set in the environment or on the gmake command line
#
CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS)
LDFLAGS = $(XLDFLAGS)
ifndef NO_LIBM
LDFLAGS += -lm
endif
# Prevent floating point errors caused by VC++ optimizations
ifeq ($(OS_ARCH),WINNT)
_MSC_VER = $(shell $(CC) 2>&1 | sed -n 's/.*Compiler Version \([0-9]*\)\.\([0-9]*\).*/\1\2/p')
ifeq (,$(filter-out 1200 1300 1310,$(_MSC_VER)))
CFLAGS += -Op
else
CFLAGS += -fp:precise
endif
endif # WINNT
#
# Ask perl what flags it was built with, so we can build js with similar flags
# and link properly. Viva gmake.
#
ifdef JS_PERLCONNECT
DEFINES += -DPERLCONNECT -D_GNU_SOURCE
PERLCFLAGS := $(shell perl -MExtUtils::Embed -e ccopts)
PERLLDFLAGS := $(shell perl -MExtUtils::Embed -e ldopts)
# perl erroneously reports compiler flag -rdynamic (interpreted by ld
# as -r) when it really meant -export-dynamic.
PERLLDFLAGS := $(subst -rdynamic,-export-dynamic,$(PERLLDFLAGS))
CFLAGS += $(PERLCFLAGS)
#LDFLAGS += $(PERLLDFLAGS) #PH removed this assgnment
INCLUDES += -I. #needed for perlconnect/jsperl.c
endif
#
# Server-related changes :
#
ifdef NES40
DEFINES += -DNES40
endif
#
# Line editing support.
# Define JS_READLINE or JS_EDITLINE to enable line editing in the
# js command-line interpreter.
#
ifdef JS_READLINE
# For those platforms with the readline library installed.
DEFINES += -DEDITLINE
PROG_LIBS += -lreadline -ltermcap
else
ifdef JS_EDITLINE
# Use the editline library, built locally.
PREDIRS += editline
DEFINES += -DEDITLINE
PROG_LIBS += editline/$(OBJDIR)/libedit.a
endif
endif
# For purify
PURE_CFLAGS = -DXP_UNIX $(OPTIMIZER) $(PURE_OS_CFLAGS) $(DEFINES) \
$(INCLUDES) $(XCFLAGS)
#
# JS file lists
#
JS_HFILES = \
jsarray.h \
jsatom.h \
jsbool.h \
jsconfig.h \
jscntxt.h \
jsdate.h \
jsemit.h \
jsexn.h \
jsfun.h \
jsgc.h \
jsinterp.h \
jsiter.h \
jslibmath.h \
jslock.h \
jsmath.h \
jsnum.h \
jsobj.h \
jsopcode.h \
jsparse.h \
jsarena.h \
jsclist.h \
jsdhash.h \
jsdtoa.h \
jshash.h \
jslong.h \
jsosdep.h \
jstypes.h \
jsprvtd.h \
jspubtd.h \
jsregexp.h \
jsscan.h \
jsscope.h \
jsscript.h \
jsstr.h \
jsxdrapi.h \
jsxml.h \
$(NULL)
API_HFILES = \
jsapi.h \
jsdbgapi.h \
$(NULL)
OTHER_HFILES = \
jsbit.h \
jscompat.h \
jscpucfg.h \
jsotypes.h \
jsstddef.h \
prmjtime.h \
resource.h \
jsopcode.tbl \
jsproto.tbl \
js.msg \
jsshell.msg \
jskeyword.tbl \
$(NULL)
ifndef PREBUILT_CPUCFG
OTHER_HFILES += $(OBJDIR)/jsautocfg.h
endif
OTHER_HFILES += $(OBJDIR)/jsautokw.h
HFILES = $(JS_HFILES) $(API_HFILES) $(OTHER_HFILES)
JS_CFILES = \
jsapi.c \
jsarena.c \
jsarray.c \
jsatom.c \
jsbool.c \
jscntxt.c \
jsdate.c \
jsdbgapi.c \
jsdhash.c \
jsdtoa.c \
jsemit.c \
jsexn.c \
jsfun.c \
jsgc.c \
jshash.c \
jsinterp.c \
jsiter.c \
jslock.c \
jslog2.c \
jslong.c \
jsmath.c \
jsnum.c \
jsobj.c \
jsopcode.c \
jsparse.c \
jsprf.c \
jsregexp.c \
jsscan.c \
jsscope.c \
jsscript.c \
jsstr.c \
jsutil.c \
jsxdrapi.c \
jsxml.c \
prmjtime.c \
$(NULL)
ifdef JS_LIVECONNECT
DIRS += liveconnect
endif
ifdef JS_PERLCONNECT
JS_CFILES += perlconnect/jsperl.c
endif
ifdef JS_HAS_FILE_OBJECT
JS_CFILES += jsfile.c
JS_HFILES += jsfile.h
endif
LIB_CFILES = $(JS_CFILES)
LIB_ASFILES := $(wildcard *_$(OS_ARCH).s)
PROG_CFILES = js.c
ifdef USE_MSVC
LIBRARY = $(OBJDIR)/js32.lib
SHARED_LIBRARY = $(OBJDIR)/js32.dll
PROGRAM = $(OBJDIR)/js.exe
else
LIBRARY = $(OBJDIR)/libjs.a
SHARED_LIBRARY = $(OBJDIR)/libjs.$(SO_SUFFIX)
PROGRAM = $(OBJDIR)/js
ifdef JS_PERLCONNECT
PROG_LIBS += $(PERLLDFLAGS)
endif
endif
include rules.mk
MOZ_DEPTH = ../..
include jsconfig.mk
nsinstall-target:
cd ../../config; $(MAKE) OBJDIR=$(OBJDIR) OBJDIR_NAME=$(OBJDIR)
#
# Rules for keyword switch generation
#
GARBAGE += $(OBJDIR)/jsautokw.h $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX)
GARBAGE += $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
$(OBJDIR)/jsscan.$(OBJ_SUFFIX): $(OBJDIR)/jsautokw.h jskeyword.tbl
$(OBJDIR)/jskwgen.$(OBJ_SUFFIX): jskwgen.c jskeyword.tbl
$(OBJDIR)/jsautokw.h: $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) jskeyword.tbl
$(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@
ifdef USE_MSVC
$(OBJDIR)/jskwgen.obj: jskwgen.c jskeyword.tbl
@$(MAKE_OBJDIR)
$(CC) -Fo$(OBJDIR)/ -c $(CFLAGS) $<
$(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
else
$(OBJDIR)/jskwgen.o: jskwgen.c jskeyword.tbl
@$(MAKE_OBJDIR)
$(CC) -o $@ -c $(CFLAGS) $<
$(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
endif
#
# JS shell executable
#
ifdef USE_MSVC
$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
else
$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
$(PROG_LIBS)
endif
$(PROGRAM).pure: $(PROG_OBJS) $(LIBRARY)
purify $(PUREFLAGS) \
$(CC) -o $@ $(PURE_OS_CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) \
$(OTHER_LIBS) $(PROG_LIBS)
ifndef PREBUILT_CPUCFG
$(HFILES) $(CFILES): $(OBJDIR)/jsautocfg.h
$(OBJDIR)/jsautocfg.h: $(OBJDIR)/jscpucfg
rm -f $@
$(OBJDIR)/jscpucfg > $@
$(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
$(CC) -o $@ $(OBJDIR)/jscpucfg.o
# Add to TARGETS for clobber rule
TARGETS += $(OBJDIR)/jsautocfg.h $(OBJDIR)/jscpucfg \
$(OBJDIR)/jscpucfg.o
endif
#
# Hardwire dependencies on jsopcode.tbl
#
jsopcode.h jsopcode.c: jsopcode.tbl
-include $(DEPENDENCIES)
TARNAME = jsref.tar
TARFILES = files `cat files`
SUFFIXES: .i
%.i: %.c
$(CC) -C -E $(CFLAGS) $< > $*.i
pacparser-1.4.5/src/spidermonkey/js/src/README.html 0000664 0000000 0000000 00000122554 14640107636 0022047 0 ustar 00root root 0000000 0000000
JavaScript Reference Implementation (JSRef) README
Table of Contents
Introduction
This is the README file for the JavaScript
Reference (JSRef, now better known as SpiderMonkey) implementation.
It consists of build conventions
and instructions, source code conventions, a design walk-through, and a
brief file-by-file description of the source.
JSRef builds a library or DLL containing the
JavaScript runtime (compiler, interpreter, decompiler, garbage collector,
atom manager, standard classes). It then compiles a small "shell" program
and links that with the library to make an interpreter that can be used
interactively and with test .js files to run scripts. The code has
no dependencies on the rest of the Mozilla codebase.
Quick start tip: skip to "Using the JS API" below, build the
js shell, and play with the object named "it" (start by setting 'it.noisy
= true').
Build conventions (standalone JS engine and shell)
(OUT OF DATE!)
These build directions refer only to building the standalone JavaScript
engine and shell. To build within the browser, refer to the build
directions on the mozilla.org website.
By default, all platforms build a version of the JS engine that is not
threadsafe. If you require thread-safety, you must also populate
the mozilla/dist directory with NSPR
headers and libraries. (NSPR implements a portable threading library,
among other things. The source is downloadable via CVS
from mozilla/nsprpub.)
Next, you must define JS_THREADSAFE when building the JS engine,
either on the command-line (gmake/nmake) or in a universal header file.
Windows
-
Use MSVC 4.2 or 5.0.
-
For building from the IDE use js/src/js.mdp. (js.mdp
is an MSVC4.2 project file, but if you load it into MSVC5, it will be converted
to the newer project file format.) NOTE: makefile.win
is an nmake file used only for building the JS-engine in the Mozilla browser.
Don't attempt to use it to build the standalone JS-engine.
-
If you prefer to build from the command-line, use 'nmake -f js.mak'
-
Executable shell js.exe and runtime library js32.dll
are created in either js/src/Debug or js/src/Release.
Macintosh
-
Use CodeWarrior 3.x
-
Load the project file js:src:macbuild:JSRef.mcp and select "Make"
from the menu.
Unix
-
Use 'gmake -f Makefile.ref' to build. To compile optimized code,
pass BUILD_OPT=1 on the gmake command line or preset it in the
environment or Makefile.ref. NOTE:
Do not attempt to use Makefile to build the standalone JavaScript engine.
This file is used only for building the JS-engine in the Mozilla browser.
-
Each platform on which JS is built must have a *.mk
configuration file in the js/src/config directory. The configuration
file specifies the compiler/linker to be used and allows for customization
of command-line options. To date, the build system has been tested
on Solaris, AIX, HP/UX, OSF, IRIX, x86 Linux and Windows NT.
-
Most platforms will work with either the vendor compiler
or
gcc.
(Except that HP builds only work using the native compiler. gcc won't
link correctly with shared libraries on that platform. If someone
knows a way to fix this, let us
know.)
-
If you define JS_LIVECONNECT, gmake will
descend into the liveconnect directory and build
LiveConnect
after building the JS engine.
-
To build a binary drop (a zip'ed up file of headers, libraries, binaries),
check out mozilla/config and mozilla/nsprpub/config.
Use 'gmake -f Makefile.ref nsinstall-target all export ship'
Debugging notes
-
To turn on GC instrumentation, define JS_GCMETER.
-
To turn on GC mark-phase debugging, useful to find leaked objects by their
address, and to dump the GC heap, define GC_MARK_DEBUG.
See the code in jsgc.c around the declaration and use of
js_LiveThingToFind.
-
To turn on the arena package's instrumentation, define JS_ARENAMETER.
-
To turn on the hash table package's metering, define JS_HASHMETER.
Naming and coding conventions
-
Public function names begin with JS_ followed by capitalized "intercaps",
e.g. JS_NewObject.
-
Extern but library-private function names use a js_ prefix and
mixed case, e.g. js_SearchScope.
-
Most static function names have unprefixed, mixed-case names: GetChar.
-
But static native methods of JS objects have lowercase, underscore-separated
or intercaps names, e.g., str_indexOf.
-
And library-private and static data use underscores, not intercaps (but
library-private data do use a js_ prefix).
-
Scalar type names are lowercase and js-prefixed: jsdouble.
-
Aggregate type names are JS-prefixed and mixed-case: JSObject.
-
Macros are generally ALL_CAPS and underscored, to call out potential
side effects, multiple uses of a formal argument, etc.
-
Four spaces of indentation per statement nesting level.
-
Tabs are taken to be eight spaces, and an Emacs magic comment at the top
of each file tries to help. If you're using MSVC or similar, you'll want
to set tab width to 8, and help convert these files to be space-filled.
Do not add hard tabs to source files; do remove them
whenever possible.
-
DLL entry points have their return type expanded within a JS_PUBLIC_API()
macro call, to get the right Windows secret type qualifiers in the right
places for all build variants.
-
Callback functions that might be called from a DLL are similarly macroized
with JS_STATIC_DLL_CALLBACK (if the function otherwise would be
static to hide its name) or JS_DLL_CALLBACK (this macro takes
no type argument; it should be used after the return type and before the
function name).
Using the JS API
Starting up
/*
* Tune this to avoid wasting space for shallow stacks, while saving on
* malloc overhead/fragmentation for deep or highly-variable stacks.
*/
#define STACK_CHUNK_SIZE 8192
JSRuntime *rt;
JSContext *cx;
/* You need a runtime and one or more contexts to do anything with JS. */
rt = JS_NewRuntime(0x400000L);
if (!rt)
fail("can't create JavaScript runtime");
cx = JS_NewContext(rt, STACK_CHUNK_SIZE);
if (!cx)
fail("can't create JavaScript context");
/*
* The context definitely wants a global object, in order to have standard
* classes and functions like Date and parseInt. See below for details on
* JS_NewObject.
*/
JSObject *globalObj;
globalObj = JS_NewObject(cx, &my_global_class, 0, 0);
JS_InitStandardClasses(cx, globalObj);
Defining objects and properties
/* Statically initialize a class to make "one-off" objects. */
JSClass my_class = {
"MyClass",
/* All of these can be replaced with the corresponding JS_*Stub
function pointers. */
my_addProperty, my_delProperty, my_getProperty, my_setProperty,
my_enumerate, my_resolve, my_convert, my_finalize
};
JSObject *obj;
/*
* Define an object named in the global scope that can be enumerated by
* for/in loops. The parent object is passed as the second argument, as
* with all other API calls that take an object/name pair. The prototype
* passed in is null, so the default object prototype will be used.
*/
obj = JS_DefineObject(cx, globalObj, "myObject", &my_class, NULL,
JSPROP_ENUMERATE);
/*
* Define a bunch of properties with a JSPropertySpec array statically
* initialized and terminated with a null-name entry. Besides its name,
* each property has a "tiny" identifier (MY_COLOR, e.g.) that can be used
* in switch statements (in a common my_getProperty function, for example).
*/
enum my_tinyid {
MY_COLOR, MY_HEIGHT, MY_WIDTH, MY_FUNNY, MY_ARRAY, MY_RDONLY
};
static JSPropertySpec my_props[] = {
{"color", MY_COLOR, JSPROP_ENUMERATE},
{"height", MY_HEIGHT, JSPROP_ENUMERATE},
{"width", MY_WIDTH, JSPROP_ENUMERATE},
{"funny", MY_FUNNY, JSPROP_ENUMERATE},
{"array", MY_ARRAY, JSPROP_ENUMERATE},
{"rdonly", MY_RDONLY, JSPROP_READONLY},
{0}
};
JS_DefineProperties(cx, obj, my_props);
/*
* Given the above definitions and call to JS_DefineProperties, obj will
* need this sort of "getter" method in its class (my_class, above). See
* the example for the "It" class in js.c.
*/
static JSBool
my_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
if (JSVAL_IS_INT(id)) {
switch (JSVAL_TO_INT(id)) {
case MY_COLOR: *vp = . . .; break;
case MY_HEIGHT: *vp = . . .; break;
case MY_WIDTH: *vp = . . .; break;
case MY_FUNNY: *vp = . . .; break;
case MY_ARRAY: *vp = . . .; break;
case MY_RDONLY: *vp = . . .; break;
}
}
return JS_TRUE;
}
Defining functions
/* Define a bunch of native functions first: */
static JSBool
my_abs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
jsdouble x, z;
if (!JS_ValueToNumber(cx, argv[0], &x))
return JS_FALSE;
z = (x < 0) ? -x : x;
return JS_NewDoubleValue(cx, z, rval);
}
. . .
/*
* Use a JSFunctionSpec array terminated with a null name to define a
* bunch of native functions.
*/
static JSFunctionSpec my_functions[] = {
/* name native nargs */
{"abs", my_abs, 1},
{"acos", my_acos, 1},
{"asin", my_asin, 1},
. . .
{0}
};
/*
* Pass a particular object to define methods for it alone. If you pass
* a prototype object, the methods will apply to all instances past and
* future of the prototype's class (see below for classes).
*/
JS_DefineFunctions(cx, globalObj, my_functions);
Defining classes
/*
* This pulls together the above API elements by defining a constructor
* function, a prototype object, and properties of the prototype and of
* the constructor, all with one API call.
*
* Initialize a class by defining its constructor function, prototype, and
* per-instance and per-class properties. The latter are called "static"
* below by analogy to Java. They are defined in the constructor object's
* scope, so that 'MyClass.myStaticProp' works along with 'new MyClass()'.
*
* JS_InitClass takes a lot of arguments, but you can pass null for any of
* the last four if there are no such properties or methods.
*
* Note that you do not need to call JS_InitClass to make a new instance of
* that class -- otherwise there would be a chicken-and-egg problem making
* the global object -- but you should call JS_InitClass if you require a
* constructor function for script authors to call via new, and/or a class
* prototype object ('MyClass.prototype') for authors to extend with new
* properties at run-time. In general, if you want to support multiple
* instances that share behavior, use JS_InitClass.
*/
protoObj = JS_InitClass(cx, globalObj, NULL, &my_class,
/* native constructor function and min arg count */
MyClass, 0,
/* prototype object properties and methods -- these
will be "inherited" by all instances through
delegation up the instance's prototype link. */
my_props, my_methods,
/* class constructor properties and methods */
my_static_props, my_static_methods);
Running scripts
/* These should indicate source location for diagnostics. */
char *filename;
uintN lineno;
/*
* The return value comes back here -- if it could be a GC thing, you must
* add it to the GC's "root set" with JS_AddRoot(cx, &thing) where thing
* is a JSString *, JSObject *, or jsdouble *, and remove the root before
* rval goes out of scope, or when rval is no longer needed.
*/
jsval rval;
JSBool ok;
/*
* Some example source in a C string. Larger, non-null-terminated buffers
* can be used, if you pass the buffer length to JS_EvaluateScript.
*/
char *source = "x * f(y)";
ok = JS_EvaluateScript(cx, globalObj, source, strlen(source),
filename, lineno, &rval);
if (ok) {
/* Should get a number back from the example source. */
jsdouble d;
ok = JS_ValueToNumber(cx, rval, &d);
. . .
}
Calling functions
/* Call a global function named "foo" that takes no arguments. */
ok = JS_CallFunctionName(cx, globalObj, "foo", 0, 0, &rval);
jsval argv[2];
/* Call a function in obj's scope named "method", passing two arguments. */
argv[0] = . . .;
argv[1] = . . .;
ok = JS_CallFunctionName(cx, obj, "method", 2, argv, &rval);
Shutting down
/* For each context you've created: */
JS_DestroyContext(cx);
/* For each runtime: */
JS_DestroyRuntime(rt);
/* And finally: */
JS_ShutDown();
Debugging API
See the trap, untrap, watch, unwatch, line2pc, and pc2line
commands in js.c. Also the (scant) comments in jsdbgapi.h.
Design walk-through
This section must be brief for now -- it could easily turn into a book.
JS "JavaScript Proper"
JS modules declare and implement the JavaScript compiler, interpreter,
decompiler, GC and atom manager, and standard classes.
JavaScript uses untyped bytecode and runtime type tagging of data values.
The jsval type is a signed machine word that contains either a
signed integer value (if the low bit is set), or a type-tagged pointer
or boolean value (if the low bit is clear). Tagged pointers all refer to
8-byte-aligned things in the GC heap.
Objects consist of a possibly shared structural description, called
the map or scope; and unshared property values in a vector, called the
slots. Object properties are associated with nonnegative integers stored
in jsval's, or with atoms (unique string descriptors) if named
by an identifier or a non-integral index expression.
Scripts contain bytecode, source annotations, and a pool of string,
number, and identifier literals. Functions are objects that extend scripts
or native functions with formal parameters, a literal syntax, and a distinct
primitive type ("function").
The compiler consists of a recursive-descent parser and a random-logic
rather than table-driven lexical scanner. Semantic and lexical feedback
are used to disambiguate hard cases such as missing semicolons, assignable
expressions ("lvalues" in C parlance), etc. The parser generates bytecode
as it parses, using fixup lists for downward branches and code buffering
and rewriting for exceptional cases such as for loops. It attempts no error
recovery. The interpreter executes the bytecode of top-level scripts, and
calls itself indirectly to interpret function bodies (which are also scripts).
All state associated with an interpreter instance is passed through formal
parameters to the interpreter entry point; most implicit state is collected
in a type named JSContext. Therefore, all API and almost all other functions
in JSRef take a JSContext pointer as their first argument.
The decompiler translates postfix bytecode into infix source by consulting
a separate byte-sized code, called source notes, to disambiguate bytecodes
that result from more than one grammatical production.
The GC is a mark-and-sweep, non-conservative (exact) collector. It
can allocate only fixed-sized things -- the current size is two machine
words. It is used to hold JS object and string descriptors (but not property
lists or string bytes), and double-precision floating point numbers. It
runs automatically only when maxbytes (as passed to JS_NewRuntime())
bytes of GC things have been allocated and another thing-allocation request
is made. JS API users should call JS_GC() or JS_MaybeGC()
between script executions or from the branch callback, as often as necessary.
An important point about the GC's "exactness": you must add roots for
new objects created by your native methods if you store references to them
into a non-JS structure in the malloc heap or in static data. Also, if
you make a new object in a native method, but do not store it through the
rval
result parameter (see math_abs in the "Using the JS API" section above)
so that it is in a known root, the object is guaranteed to survive only
until another new object is created. Either lock the first new object when
making two in a row, or store it in a root you've added, or store it via
rval.
See the GC tips
document for more.
The atom manager consists of a hash table associating strings uniquely
with scanner/parser information such as keyword type, index in script or
function literal pool, etc. Atoms play three roles in JSRef: as literals
referred to by unaligned 16-bit immediate bytecode operands, as unique
string descriptors for efficient property name hashing, and as members
of the root GC set for exact GC.
Native objects and methods for arrays, booleans, dates, functions, numbers,
and strings are implemented using the JS API and certain internal interfaces
used as "fast paths".
In general, errors are signaled by false or unoverloaded-null return
values, and are reported using JS_ReportError() or one of its
variants by the lowest level in order to provide the most detail. Client
code can substitute its own error reporting function and suppress errors,
or reflect them into Java or some other runtime system as exceptions, GUI
dialogs, etc..
File walk-through (OUT OF DATE!)
jsapi.c, jsapi.h
The public API to be used by almost all client code. If your client
code can't make do with jsapi.h, and must reach into a friend
or private js* file, please let us know so we can extend jsapi.h
to include what you need in a fashion that we can support over the long
run.
jspubtd.h, jsprvtd.h
These files exist to group struct and scalar typedefs so they can be used
everywhere without dragging in struct definitions from N different files.
The jspubtd.h file contains public typedefs, and is included by
jsapi.h.
The jsprvtd.h file contains private typedefs and is included by
various .h files that need type names, but not type sizes or declarations.
jsdbgapi.c, jsdbgapi.h
The Debugging API, still very much under development. Provided so far:
-
Traps, with which breakpoints, single-stepping, step over, step out, and
so on can be implemented. The debugger will have to consult jsopcode.def
on its own to figure out where to plant trap instructions to implement
functions like step out, but a future jsdbgapi.h will provide convenience
interfaces to do these things. At most one trap per bytecode can be set.
When a script (JSScript) is destroyed, all traps set in its bytecode
are cleared.
-
Watchpoints, for intercepting set operations on properties and running
a debugger-supplied function that receives the old value and a pointer
to the new one, which it can use to modify the new value being set.
-
Line number to PC and back mapping functions. The line-to-PC direction
"rounds" toward the next bytecode generated from a line greater than or
equal to the input line, and may return the PC of a for-loop update part,
if given the line number of the loop body's closing brace. Any line after
the last one in a script or function maps to a PC one byte beyond the last
bytecode in the script. An example, from perfect.js:
14 function perfect(n)
15 {
16 print("The perfect numbers up to " + n + " are:");
17
18 // We build sumOfDivisors[i] to hold a string expression for
19 // the sum of the divisors of i, excluding i itself.
20 var sumOfDivisors = new ExprArray(n+1,1);
21 for (var divisor = 2; divisor <= n; divisor++) {
22 for (var j = divisor + divisor; j <= n; j += divisor) {
23 sumOfDivisors[j] += " + " + divisor;
24 }
25 // At this point everything up to 'divisor' has its sumOfDivisors
26 // expression calculated, so we can determine whether it's perfect
27 // already by evaluating.
28 if (eval(sumOfDivisors[divisor]) == divisor) {
29 print("" + divisor + " = " + sumOfDivisors[divisor]);
30 }
31 }
32 delete sumOfDivisors;
33 print("That's all.");
34 }
The line number to PC and back mappings can be tested using the js program
with the following script:
load("perfect.js")
print(perfect)
dis(perfect)
print()
for (var ln = 0; ln <= 40; ln++) {
var pc = line2pc(perfect,ln)
var ln2 = pc2line(perfect,pc)
print("\tline " + ln + " => pc " + pc + " => line " + ln2)
}
The result of the for loop over lines 0 to 40 inclusive is:
line 0 => pc 0 => line 16
line 1 => pc 0 => line 16
line 2 => pc 0 => line 16
line 3 => pc 0 => line 16
line 4 => pc 0 => line 16
line 5 => pc 0 => line 16
line 6 => pc 0 => line 16
line 7 => pc 0 => line 16
line 8 => pc 0 => line 16
line 9 => pc 0 => line 16
line 10 => pc 0 => line 16
line 11 => pc 0 => line 16
line 12 => pc 0 => line 16
line 13 => pc 0 => line 16
line 14 => pc 0 => line 16
line 15 => pc 0 => line 16
line 16 => pc 0 => line 16
line 17 => pc 19 => line 20
line 18 => pc 19 => line 20
line 19 => pc 19 => line 20
line 20 => pc 19 => line 20
line 21 => pc 36 => line 21
line 22 => pc 53 => line 22
line 23 => pc 74 => line 23
line 24 => pc 92 => line 22
line 25 => pc 106 => line 28
line 26 => pc 106 => line 28
line 27 => pc 106 => line 28
line 28 => pc 106 => line 28
line 29 => pc 127 => line 29
line 30 => pc 154 => line 21
line 31 => pc 154 => line 21
line 32 => pc 161 => line 32
line 33 => pc 172 => line 33
line 34 => pc 172 => line 33
line 35 => pc 172 => line 33
line 36 => pc 172 => line 33
line 37 => pc 172 => line 33
line 38 => pc 172 => line 33
line 39 => pc 172 => line 33
line 40 => pc 172 => line 33
jsconfig.h
Various configuration macros defined as 0 or 1 depending on how JS_VERSION
is defined (as 10 for JavaScript 1.0, 11 for JavaScript 1.1, etc.). Not
all macros are tested around related code yet. In particular, JS 1.0 support
is missing from JSRef. JS 1.2 support will appear in a future JSRef release.
js.c
The "JS shell", a simple interpreter program that uses the JS API and more
than a few internal interfaces (some of these internal interfaces could
be replaced by jsapi.h calls). The js program built from this
source provides a test vehicle for evaluating scripts and calling functions,
trying out new debugger primitives, etc.
jsarray.*, jsbool.*, jdsdate.*, jsfun.*, jsmath.*, jsnum.*, jsstr.*
These file pairs implement the standard classes and (where they exist)
their underlying primitive types. They have similar structure, generally
starting with class definitions and continuing with internal constructors,
finalizers, and helper functions.
jsobj.*, jsscope.*
These two pairs declare and implement the JS object system. All of the
following happen here:
-
creating objects by class and prototype, and finalizing objects;
-
defining, looking up, getting, setting, and deleting properties;
-
creating and destroying properties and binding names to them.
The details of a native object's map (scope) are mostly hidden in
jsscope.[ch].
jsatom.c, jsatom.h
The atom manager. Contains well-known string constants, their atoms, the
global atom hash table and related state, the js_Atomize() function that
turns a counted string of bytes into an atom, and literal pool (JSAtomMap)
methods.
jsgc.c, jsgc.h
[TBD]
jsinterp.*, jscntxt.*
The bytecode interpreter, and related functions such as Call and AllocStack,
live in jsinterp.c. The JSContext constructor and destructor are
factored out into jscntxt.c for minimal linking when the compiler
part of JS is split from the interpreter part into a separate program.
jsemit.*, jsopcode.tbl, jsopcode.*, jsparse.*, jsscan.*, jsscript.*
Compiler and decompiler modules. The jsopcode.tbl file is a C preprocessor
source that defines almost everything there is to know about JS bytecodes.
See its major comment for how to use it. For now, a debugger will use it
and its dependents such as jsopcode.h directly, but over time we
intend to extend jsdbgapi.h to hide uninteresting details and provide
conveniences. The code generator is split across paragraphs of code in
jsparse.c,
and the utility methods called on JSCodeGenerator appear in jsemit.c.
Source notes generated by jsparse.c and
jsemit.c are used
in jsscript.c to map line number to program counter and back.
jstypes.h, jslog2.c
Fundamental representation types and utility macros. This file alone among
all .h files in JSRef must be included first by .c files. It is not nested
in .h files, as other prerequisite .h files generally are, since it is
also a direct dependency of most .c files and would be over-included if
nested in addition to being directly included. The one "not-quite-a-macro
macro" is the JS_CeilingLog2() function in jslog2.c.
jsarena.c, jsarena.h
Last-In-First-Out allocation macros that amortize malloc costs and allow
for en-masse freeing. See the paper mentioned in prarena.h's major comment.
jsutil.c, jsutil.h
The JS_ASSERT macro is used throughout JSRef source as a proof
device to make invariants and preconditions clear to the reader, and to
hold the line during maintenance and evolution against regressions or violations
of assumptions that it would be too expensive to test unconditionally at
run-time. Certain assertions are followed by run-time tests that cope with
assertion failure, but only where I'm too smart or paranoid to believe
the assertion will never fail...
jsclist.h
Doubly-linked circular list struct and macros.
jscpucfg.c
This standalone program generates jscpucfg.h, a header file containing
bytes per word and other constants that depend on CPU architecture and
C compiler type model. It tries to discover most of these constants by
running its own experiments on the build host, so if you are cross-compiling,
beware.
prdtoa.c, prdtoa.h
David Gay's portable double-precision floating point to string conversion
code, with Permission To Use notice included.
prhash.c, prhash.h
Portable, extensible hash tables. These use multiplicative hash for strength
reduction over division hash, yet with very good key distribution over
power of two table sizes. Collisions resolve via chaining, so each entry
burns a malloc and can fragment the heap.
prlong.c, prlong.h
64-bit integer emulation, and compatible macros that use C's long long
type where it exists (my last company mapped long long to a 128-bit type,
but no real architecture does 128-bit ints yet).
jsosdep.h
Annoying OS dependencies rationalized into a few "feature-test" macros
such as JS_HAVE_LONG_LONG.
jsprf.*
Portable, buffer-overrun-resistant sprintf and friends. For no good reason
save lack of time, the %e, %f, and %g formats cause your system's native
sprintf, rather than JS_dtoa(), to be used. This bug doesn't affect
JSRef, because it uses its own JS_dtoa() call in jsnum.c
to convert from double to string, but it's a bug that we'll fix later,
and one you should be aware of if you intend to use a JS_*printf()
function with your own floating type arguments - various vendor sprintf's
mishandle NaN, +/-Inf, and some even print normal floating values inaccurately.
prmjtime.c, prmjtime.h
Time functions. These interfaces are named in a way that makes local vs.
universal time confusion likely. Caveat emptor, and we're working on it.
To make matters worse, Java (and therefore JavaScript) uses "local" time
numbers (offsets from the epoch) in its Date class.
Additional Resources (links, API docs, and newsgroups)
pacparser-1.4.5/src/spidermonkey/js/src/SpiderMonkey.rsp 0000664 0000000 0000000 00000000642 14640107636 0023354 0 ustar 00root root 0000000 0000000 mozilla/js/src/*
mozilla/js/src/config/*
mozilla/js/src/fdlibm/*
mozilla/js/src/liveconnect/*
mozilla/js/src/liveconnect/_jni/*
mozilla/js/src/liveconnect/classes/*
mozilla/js/src/liveconnect/classes/netscape/*
mozilla/js/src/liveconnect/classes/netscape/javascript/*
mozilla/js/src/liveconnect/config/*
mozilla/js/src/liveconnect/macbuild/*
mozilla/js/src/liveconnect/macbuild/JavaSession/*
mozilla/js/src/macbuild/*
pacparser-1.4.5/src/spidermonkey/js/src/Y.js 0000664 0000000 0000000 00000000600 14640107636 0020755 0 ustar 00root root 0000000 0000000 // The Y combinator, applied to the factorial function
function factorial(proc) {
return function (n) {
return (n <= 1) ? 1 : n * proc(n-1);
}
}
function Y(outer) {
function inner(proc) {
function apply(arg) {
return proc(proc)(arg);
}
return outer(apply);
}
return inner(inner);
}
print("5! is " + Y(factorial)(5));
pacparser-1.4.5/src/spidermonkey/js/src/config.mk 0000664 0000000 0000000 00000011413 14640107636 0022011 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998-1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
ifdef JS_DIST
DIST = $(JS_DIST)
else
DIST = $(DEPTH)/../../dist
endif
# Set os+release dependent make variables
OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/))
# Attempt to differentiate between SunOS 5.4 and x86 5.4
OS_CPUARCH := $(shell uname -m)
ifeq ($(OS_CPUARCH),i86pc)
OS_RELEASE := $(shell uname -r)_$(OS_CPUARCH)
else
ifeq ($(OS_ARCH),AIX)
OS_RELEASE := $(shell uname -v).$(shell uname -r)
else
OS_RELEASE := $(shell uname -r)
endif
endif
ifeq ($(OS_ARCH),IRIX64)
OS_ARCH := IRIX
endif
# Handle output from win32 unames other than Netscape's version
ifeq (,$(filter-out Windows_95 Windows_98 CYGWIN_95-4.0 CYGWIN_98-4.10, $(OS_ARCH)))
OS_ARCH := WIN95
endif
ifeq ($(OS_ARCH),WIN95)
OS_ARCH := WINNT
OS_RELEASE := 4.0
endif
ifeq ($(OS_ARCH), Windows_NT)
OS_ARCH := WINNT
OS_MINOR_RELEASE := $(shell uname -v)
ifeq ($(OS_MINOR_RELEASE),00)
OS_MINOR_RELEASE = 0
endif
OS_RELEASE := $(OS_RELEASE).$(OS_MINOR_RELEASE)
endif
ifeq (CYGWIN_NT,$(findstring CYGWIN_NT,$(OS_ARCH)))
OS_RELEASE := $(patsubst CYGWIN_NT-%,%,$(OS_ARCH))
OS_ARCH := WINNT
endif
ifeq ($(OS_ARCH), CYGWIN32_NT)
OS_ARCH := WINNT
endif
ifeq (MINGW32_NT,$(findstring MINGW32_NT,$(OS_ARCH)))
OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH))
OS_ARCH := WINNT
endif
# Virtually all Linux versions are identical.
# Any distinctions are handled in linux.h
ifeq ($(OS_ARCH),Linux)
OS_CONFIG := Linux_All
else ifeq ($(OS_ARCH),dgux)
OS_CONFIG := dgux
else ifeq ($(OS_ARCH),Darwin)
OS_CONFIG := Darwin
else ifeq ($(OS_ARCH),FreeBSD) # Add this line for FreeBSD
OS_CONFIG := FreeBSD
else
OS_CONFIG := $(OS_ARCH)$(OS_OBJTYPE)$(OS_RELEASE)
endif
ASFLAGS =
DEFINES =
ifeq ($(OS_ARCH), WINNT)
INSTALL = nsinstall
CP = cp
else
INSTALL = $(DIST)/bin/nsinstall
CP = cp
endif
ifdef BUILD_OPT
OPTIMIZER = -O
DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(USER)
OBJDIR_TAG = _OPT
else
ifdef USE_MSVC
OPTIMIZER = -Zi
else
OPTIMIZER = -g
endif
DEFINES += -DDEBUG -DDEBUG_$(USER)
OBJDIR_TAG = _DBG
endif
SO_SUFFIX = so
NS_USE_NATIVE = 1
# Java stuff
CLASSDIR = $(DEPTH)/liveconnect/classes
JAVA_CLASSES = $(patsubst %.java,%.class,$(JAVA_SRCS))
TARGETS += $(addprefix $(CLASSDIR)/$(OBJDIR)/$(JARPATH)/, $(JAVA_CLASSES))
JAVAC = $(JDK)/bin/javac
JAVAC_FLAGS = -classpath "$(CLASSPATH)" -d $(CLASSDIR)/$(OBJDIR)
ifeq ($(OS_ARCH), WINNT)
SEP = ;
else
SEP = :
endif
CLASSPATH = $(JDK)/lib/classes.zip$(SEP)$(CLASSDIR)/$(OBJDIR)
include $(DEPTH)/config/$(OS_CONFIG).mk
ifndef OBJ_SUFFIX
ifdef USE_MSVC
OBJ_SUFFIX = obj
else
OBJ_SUFFIX = o
endif
endif
ifndef HOST_BIN_SUFFIX
ifeq ($(OS_ARCH),WINNT)
HOST_BIN_SUFFIX = .exe
else
HOST_BIN_SUFFIX =
endif
endif
# Name of the binary code directories
ifdef BUILD_IDG
OBJDIR = $(OS_CONFIG)$(OBJDIR_TAG).OBJD
else
OBJDIR = $(OS_CONFIG)$(OBJDIR_TAG).OBJ
endif
VPATH = $(OBJDIR)
# Automatic make dependencies file
DEPENDENCIES = $(OBJDIR)/.md
LCJAR = js15lc30.jar
# Library name
LIBDIR := lib
ifeq ($(CPU_ARCH), x86_64)
LIBDIR := lib64
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/ 0000775 0000000 0000000 00000000000 14640107636 0021460 5 ustar 00root root 0000000 0000000 pacparser-1.4.5/src/spidermonkey/js/src/config/AIX4.1.mk 0000664 0000000 0000000 00000004302 14640107636 0022654 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
OS_CFLAGS = -qarch=com -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV -DHAVE_LOCALTIME_R
OS_LIBS = -lbsd -lsvld -lm
#-lpthreads -lc_r
MKSHLIB = $(LD) -bM:SRE -bh:4 -bnoentry -berok
XLDFLAGS += -lc
ifdef JS_THREADSAFE
XLDFLAGS += -lsvld
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/AIX4.2.mk 0000664 0000000 0000000 00000004260 14640107636 0022660 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
CFLAGS += -qarch=com -qnoansialias -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV -DHAVE_LOCALTIME_R
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
#-lpthreads -lc_r
MKSHLIB = /usr/lpp/xlC/bin/makeC++SharedLib_r -p 0 -G -berok
ifdef JS_THREADSAFE
XLDFLAGS += -ldl
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/AIX4.3.mk 0000664 0000000 0000000 00000004334 14640107636 0022663 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
CFLAGS += -qarch=com -qnoansialias -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV -DAIX4_3 -DHAVE_LOCALTIME_R
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
#-lpthreads -lc_r
MKSHLIB_BIN = /usr/ibmcxx/bin/makeC++SharedLib_r
MKSHLIB = $(MKSHLIB_BIN) -p 0 -G -berok -bM:UR
ifdef JS_THREADSAFE
XLDFLAGS += -ldl
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/CVS/ 0000775 0000000 0000000 00000000000 14640107636 0022113 5 ustar 00root root 0000000 0000000 pacparser-1.4.5/src/spidermonkey/js/src/config/CVS/Entries 0000664 0000000 0000000 00000003402 14640107636 0023446 0 ustar 00root root 0000000 0000000 /AIX4.1.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
/AIX4.2.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/AIX4.3.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/Darwin.mk/1.6/Mon Feb 5 16:24:49 2007//TJS_170
/Darwin1.3.mk/1.3/Sat Feb 12 20:10:33 2005//TJS_170
/Darwin1.4.mk/1.3/Sat Feb 12 20:10:33 2005//TJS_170
/Darwin5.2.mk/1.3/Sat Feb 12 20:10:33 2005//TJS_170
/Darwin5.3.mk/1.3/Sat Feb 12 20:10:33 2005//TJS_170
/HP-UXB.10.10.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/HP-UXB.10.20.mk/1.8/Sat Feb 12 20:10:33 2005//TJS_170
/HP-UXB.11.00.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX5.3.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX6.1.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX6.2.mk/1.6/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX6.3.mk/1.6/Sat Feb 12 20:10:33 2005//TJS_170
/IRIX6.5.mk/1.6/Sat Feb 12 20:10:33 2005//TJS_170
/Linux_All.mk/1.14/Tue May 10 19:53:44 2005//TJS_170
/Mac_OS10.0.mk/1.4/Sat Feb 12 20:10:33 2005//TJS_170
/OSF1V4.0.mk/1.9/Sat Feb 12 20:10:33 2005//TJS_170
/OSF1V5.0.mk/1.5/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS4.1.4.mk/1.6/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.3.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.4.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.5.1.mk/1.8/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.5.mk/1.10/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.6.mk/1.13/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.7.mk/1.6/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.8.mk/1.4/Sat Feb 12 20:10:33 2005//TJS_170
/SunOS5.9.mk/1.2/Sat Feb 12 20:10:33 2005//TJS_170
/WINNT4.0.mk/1.15/Wed Jul 18 19:55:15 2007//TJS_170
/WINNT5.0.mk/1.10/Fri Aug 10 23:23:38 2007//TJS_170
/WINNT5.1.mk/1.6/Fri Aug 10 23:23:38 2007//TJS_170
/WINNT5.2.mk/1.5/Fri Aug 10 23:23:38 2007//TJS_170
/dgux.mk/1.7/Sat Feb 12 20:10:33 2005//TJS_170
D
pacparser-1.4.5/src/spidermonkey/js/src/config/CVS/Repository 0000664 0000000 0000000 00000000026 14640107636 0024213 0 ustar 00root root 0000000 0000000 mozilla/js/src/config
pacparser-1.4.5/src/spidermonkey/js/src/config/CVS/Root 0000664 0000000 0000000 00000000063 14640107636 0022760 0 ustar 00root root 0000000 0000000 :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
pacparser-1.4.5/src/spidermonkey/js/src/config/CVS/Tag 0000664 0000000 0000000 00000000010 14640107636 0022540 0 ustar 00root root 0000000 0000000 NJS_170
pacparser-1.4.5/src/spidermonkey/js/src/config/Darwin.mk 0000664 0000000 0000000 00000005060 14640107636 0023236 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DDARWIN
RANLIB = ranlib
MKSHLIB = $(CC) -dynamiclib $(XMKSHLIBOPTS) -framework System
SO_SUFFIX = dylib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/Darwin1.3.mk 0000775 0000000 0000000 00000005025 14640107636 0023464 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DRHAPSODY
RANLIB = ranlib
MKSHLIB = libtool $(XMKSHLIBOPTS) -framework System
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/Darwin1.4.mk 0000775 0000000 0000000 00000003421 14640107636 0023463 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Mike McCabe
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
include $(DEPTH)/config/Darwin1.3.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/Darwin5.2.mk 0000775 0000000 0000000 00000005023 14640107636 0023465 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DDARWIN
RANLIB = ranlib
MKSHLIB = libtool $(XMKSHLIBOPTS) -framework System
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/Darwin5.3.mk 0000664 0000000 0000000 00000005023 14640107636 0023463 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DDARWIN
RANLIB = ranlib
MKSHLIB = libtool $(XMKSHLIBOPTS) -framework System
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/FreeBSD.mk 0000664 0000000 0000000 00000005611 14640107636 0023226 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for all versions of FreeBSD
#
CC ?= gcc
CCC ?= g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
RANLIB = echo
MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
# don't filter in x86-64 architecture
ifneq (amd64,$(CPU_ARCH))
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
ifeq (gcc, $(CC))
# if using gcc on x86, check version for opt bug
# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
ifeq (2.91.66, $(firstword $(GCC_LIST)))
CFLAGS+= -DGCC_OPT_BUG
endif
endif
endif
endif
GFX_ARCH = x
OS_LIBS = -lm -lc
ASFLAGS += -x assembler-with-cpp
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
ifeq ($(CPU_ARCH),amd64)
# Use VA_COPY() standard macro on x86-64
# FIXME: better use it everywhere
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
endif
ifeq ($(CPU_ARCH),amd64)
# We need PIC code for shared libraries
# FIXME: better patch rules.mk & fdlibm/Makefile*
OS_CFLAGS += -DPIC -fPIC
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/HP-UXB.10.10.mk 0000664 0000000 0000000 00000004474 14640107636 0023423 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for HPUX
#
# CC = gcc
# CCC = g++
# CFLAGS += -Wall -Wno-format -fPIC
CC = cc -Ae +Z
CCC = CC -Ae +a1 +eh +Z
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV -DHAVE_LOCALTIME_R
OS_LIBS = -ldld
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/HP-UXB.10.20.mk 0000664 0000000 0000000 00000004474 14640107636 0023424 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for HPUX
#
# CC = gcc
# CCC = g++
# CFLAGS += -Wall -Wno-format -fPIC
CC = cc -Ae +Z
CCC = CC -Ae +a1 +eh +Z
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV -DHAVE_LOCALTIME_R
OS_LIBS = -ldld
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/HP-UXB.11.00.mk 0000664 0000000 0000000 00000004715 14640107636 0023421 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for HPUX
#
ifdef NS_USE_NATIVE
CC = cc +Z +DAportable +DS2.0 +u4
# LD = aCC +Z -b -Wl,+s -Wl,-B,symbolic
else
CC = gcc -Wall -Wno-format -fPIC
CCC = g++ -Wall -Wno-format -fPIC
endif
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV -D_HPUX -DNATIVE -D_POSIX_C_SOURCE=199506L -DHAVE_LOCALTIME_R
OS_LIBS = -ldld
XLDFLAGS = -lpthread
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX.mk 0000664 0000000 0000000 00000004751 14640107636 0022573 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX
#
CPU_ARCH = mips
GFX_ARCH = x
RANLIB = /bin/true
#NS_USE_GCC = 1
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
AS = $(CC) -x assembler-with-cpp
ODD_CFLAGS = -Wall -Wno-format
ifdef BUILD_OPT
OPTIMIZER = -O6
endif
else
ifeq ($(OS_RELEASE),6.2)
CC = cc -n32 -DIRIX6_2
endif
ifeq ($(OS_RELEASE),6.3)
CC = cc -n32 -DIRIX6_3
endif
ifeq ($(OS_RELEASE),6.5)
CC = cc -n32 -DIRIX6_5
endif
CCC = CC
# LD = CC
ODD_CFLAGS = -fullwarn -xansi
ifdef BUILD_OPT
OPTIMIZER += -Olimit 4000
endif
endif
# For purify
HAVE_PURIFY = 1
PURE_OS_CFLAGS = $(ODD_CFLAGS) -DXP_UNIX -DSVR4 -DSW_THREADS -DIRIX -DHAVE_LOCALTIME_R
OS_CFLAGS = $(PURE_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
BSDECHO = echo
MKSHLIB = $(LD) -n32 -shared
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX5.3.mk 0000664 0000000 0000000 00000003404 14640107636 0023013 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX5.3
#
include $(DEPTH)/config/IRIX.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX6.1.mk 0000664 0000000 0000000 00000003404 14640107636 0023012 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX6.2.mk 0000664 0000000 0000000 00000003404 14640107636 0023013 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX6.3.mk 0000664 0000000 0000000 00000003404 14640107636 0023014 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/IRIX6.5.mk 0000664 0000000 0000000 00000003404 14640107636 0023016 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/Linux_All.mk 0000664 0000000 0000000 00000006071 14640107636 0023704 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for all versions of Linux
#
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
RANLIB = echo
MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
# don't filter in x86-64 architecture
ifneq (x86_64,$(CPU_ARCH))
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
ifeq (gcc, $(CC))
# if using gcc on x86, check version for opt bug
# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
ifeq (2.91.66, $(firstword $(GCC_LIST)))
CFLAGS+= -DGCC_OPT_BUG
endif
endif
endif
endif
GFX_ARCH = x
OS_LIBS = -lm -lc
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
ifeq ($(CPU_ARCH),x86_64)
# Use VA_COPY() standard macro on x86-64
# FIXME: better use it everywhere
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
endif
ifeq ($(CPU_ARCH),x86_64)
# We need PIC code for shared libraries
# FIXME: better patch rules.mk & fdlibm/Makefile*
OS_CFLAGS += -DPIC -fPIC
endif
pacparser-1.4.5/src/spidermonkey/js/src/config/Mac_OS10.0.mk 0000775 0000000 0000000 00000005037 14640107636 0023421 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE
-DRHAPSODY
RANLIB = ranlib
MKSHLIB = libtool -dynamic $(XMKSHLIBOPTS) -framework System
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/OSF1V4.0.mk 0000664 0000000 0000000 00000004623 14640107636 0023076 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for Data General DG/UX
#
#
# Initial DG/UX port by Marc Fraioli (fraioli@dg-rtp.dg.com)
#
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -mieee -Wall -Wno-format
else
CC = cc
CCC = cxx
CFLAGS += -ieee -std
# LD = cxx
endif
RANLIB = echo
MKSHLIB = $(LD) -shared -taso -all -expect_unresolved "*"
#
# _DGUX_SOURCE is needed to turn on a lot of stuff in the headers if
# you're not using DG's compiler. It shouldn't hurt if you are.
#
# _POSIX4A_DRAFT10_SOURCE is needed to pick up localtime_r, used in
# prtime.c
#
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DDGUX -D_DGUX_SOURCE -D_POSIX4A_DRAFT10_SOURCE -DOSF1 -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl
NOSUCHFILE = /no-such-file
pacparser-1.4.5/src/spidermonkey/js/src/config/OSF1V5.0.mk 0000664 0000000 0000000 00000004355 14640107636 0023101 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for Tru64 Unix 5.0
#
#
# Initial DG/UX port by Marc Fraioli (fraioli@dg-rtp.dg.com)
#
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -mieee -Wall -Wno-format
else
CC = cc
CCC = cxx
CFLAGS += -ieee -std -pthread
# LD = cxx
endif
RANLIB = echo
MKSHLIB = $(LD) -shared -all -expect_unresolved "*"
#
# _POSIX4A_DRAFT10_SOURCE is needed to pick up localtime_r, used in
# prtime.c
#
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_POSIX4A_DRAFT10_SOURCE -DOSF1 -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl
NOSUCHFILE = /no-such-file
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS4.1.4.mk 0000664 0000000 0000000 00000005523 14640107636 0023412 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS4.1
#
CC = gcc
CCC = g++
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
# A pile of -D's to build xfe on sunos
MOZ_CFLAGS = -DSTRINGS_ALIGNED -DNO_REGEX -DNO_ISDIR -DUSE_RE_COMP \
-DNO_REGCOMP -DUSE_GETWD -DNO_MEMMOVE -DNO_ALLOCA \
-DBOGUS_MB_MAX -DNO_CONST
# Purify doesn't like -MDupdate
NOMD_OS_CFLAGS = -DXP_UNIX -Wall -Wno-format -DSW_THREADS -DSUNOS4 -DNEED_SYSCALL \
$(MOZ_CFLAGS)
OS_CFLAGS = $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
OS_LIBS = -ldl -lm
MKSHLIB = $(LD) -L$(MOTIF)/lib
HAVE_PURIFY = 1
MOTIF = /home/motif/usr
MOTIFLIB = -L$(MOTIF)/lib -lXm
INCLUDES += -I/usr/X11R5/include -I$(MOTIF)/include
NOSUCHFILE = /solaris-rm-f-sucks
LOCALE_MAP = $(DEPTH)/cmd/xfe/intl/sunos.lm
EN_LOCALE = en_US
DE_LOCALE = de
FR_LOCALE = fr
JP_LOCALE = ja
SJIS_LOCALE = ja_JP.SJIS
KR_LOCALE = ko
CN_LOCALE = zh
TW_LOCALE = zh_TW
I2_LOCALE = i2
IT_LOCALE = it
SV_LOCALE = sv
ES_LOCALE = es
NL_LOCALE = nl
PT_LOCALE = pt
LOC_LIB_DIR = /usr/openwin/lib/locale
BSDECHO = echo
#
# These defines are for building unix plugins
#
BUILD_UNIX_PLUGINS = 1
DSO_LDOPTS =
DSO_LDFLAGS =
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.3.mk 0000664 0000000 0000000 00000005142 14640107636 0023250 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.3
#
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
#CC = /opt/SUNWspro/SC3.0.1/bin/cc
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus
ULTRA_OPTIONSD := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSD :=
endif
ifeq ($(OS_CPUARCH),sun4u)
DEFINES += $(ULTRA_OPTIONSD)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,$(ULTRA_OPTIONS),$(ULTRA_OPTIONSD)
else
ASFLAGS += $(ULTRA_OPTIONS) $(ULTRA_OPTIONSD)
endif
endif
ifeq ($(OS_CPUARCH),sun4m)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,-xarch=v8
else
ASFLAGS += -xarch=v8
endif
endif
MKSHLIB = $(LD) -G
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.4.mk 0000664 0000000 0000000 00000005116 14640107636 0023252 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.4
#
ifdef NS_USE_NATIVE
CC = cc
CCC = CC
else
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
endif
RANLIB = echo
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D__svr4 -DSOLARIS -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus
ULTRA_OPTIONSD := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSD :=
endif
ifeq ($(OS_CPUARCH),sun4u)
DEFINES += $(ULTRA_OPTIONSD)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,$(ULTRA_OPTIONS),$(ULTRA_OPTIONSD)
else
ASFLAGS += $(ULTRA_OPTIONS) $(ULTRA_OPTIONSD)
endif
endif
ifeq ($(OS_CPUARCH),sun4m)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,-xarch=v8
else
ASFLAGS += -xarch=v8
endif
endif
MKSHLIB = $(LD) -G
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.5.1.mk 0000664 0000000 0000000 00000003413 14640107636 0023410 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.5.1
#
include $(DEPTH)/config/SunOS5.5.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.5.mk 0000664 0000000 0000000 00000005026 14640107636 0023253 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.5
#
AS = /usr/ccs/bin/as
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
else
CC = cc
CCC = CC
endif
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifeq ($(OS_CPUARCH),sun4u) # ultra sparc?
ifeq ($(CC),gcc) # using gcc?
ifndef JS_NO_ULTRA # do we want ultra?
ifdef JS_THREADSAFE # only in thread-safe mode
DEFINES += -DULTRA_SPARC
DEFINES += -Wa,-xarch=v8plus,-DULTRA_SPARC
else
ASFLAGS += -xarch=v8plus -DULTRA_SPARC
endif
endif
endif
endif
MKSHLIB = $(LD) -G
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.6.mk 0000664 0000000 0000000 00000005101 14640107636 0023246 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.5
#
AS = /usr/ccs/bin/as
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
else
CC = cc
CCC = CC
CFLAGS += -mt -KPIC
# LD = CC
endif
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifeq ($(OS_CPUARCH),sun4u) # ultra sparc?
ifeq ($(CC),gcc) # using gcc?
ifndef JS_NO_ULTRA # do we want ultra?
ifdef JS_THREADSAFE # only in thread-safe mode
DEFINES += -DULTRA_SPARC
DEFINES += -Wa,-xarch=v8plus,-DULTRA_SPARC
else
ASFLAGS += -xarch=v8plus -DULTRA_SPARC
endif
endif
endif
endif
MKSHLIB = $(LD) -G
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.7.mk 0000664 0000000 0000000 00000003411 14640107636 0023251 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.7
#
include $(DEPTH)/config/SunOS5.5.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.8.mk 0000664 0000000 0000000 00000003411 14640107636 0023252 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.8
#
include $(DEPTH)/config/SunOS5.5.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/SunOS5.9.mk 0000664 0000000 0000000 00000003411 14640107636 0023253 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for SunOS5.9
#
include $(DEPTH)/config/SunOS5.5.mk
pacparser-1.4.5/src/spidermonkey/js/src/config/WINNT4.0.mk 0000664 0000000 0000000 00000007712 14640107636 0023141 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Windows NT using MS Visual C++ (version?)
#
CC = cl
RANLIB = echo
PDBFILE = $(basename $(@F)).pdb
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = x86 # XXX fixme
GFX_ARCH = win32
# MSVC compiler options for both debug/optimize
# -nologo - suppress copyright message
# -W3 - Warning level 3
# -Gm - enable minimal rebuild
# -Z7 - put debug info into the executable, not in .pdb file
# -Zi - put debug info into .pdb file
# -YX - automatic precompiled headers
# -GX - enable C++ exception support
WIN_CFLAGS = -nologo -W3
# MSVC compiler options for debug builds linked to MSVCRTD.DLL
# -MDd - link with MSVCRTD.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_IDG_CFLAGS = -MDd -Od -Z7
# MSVC compiler options for debug builds linked to MSVCRT.DLL
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_DEBUG_CFLAGS = -MD -Od -Zi -Fd$(OBJDIR)/$(PDBFILE)
# MSVC compiler options for release (optimized) builds
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, C-runtime)
# -O2 - Optimize for speed
# -G5 - Optimize for Pentium
WIN_OPT_CFLAGS = -MD -O2
ifdef BUILD_OPT
OPTIMIZER = $(WIN_OPT_CFLAGS)
else
ifdef BUILD_IDG
OPTIMIZER = $(WIN_IDG_CFLAGS)
else
OPTIMIZER = $(WIN_DEBUG_CFLAGS)
endif
endif
OS_CFLAGS = -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 $(WIN_CFLAGS)
JSDLL_CFLAGS = -DEXPORT_JS_API
OS_LIBS = -lm -lc
PREBUILT_CPUCFG = 1
USE_MSVC = 1
LIB_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib \
winmm.lib \
-nologo\
-subsystem:windows -dll -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
EXE_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib -nologo\
-subsystem:console -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
# CAFEDIR = t:/cafe
# JCLASSPATH = $(CAFEDIR)/Java/Lib/classes.zip
# JAVAC = $(CAFEDIR)/Bin/sj.exe
# JAVAH = $(CAFEDIR)/Java/Bin/javah.exe
# JCFLAGS = -I$(CAFEDIR)/Java/Include -I$(CAFEDIR)/Java/Include/win32
pacparser-1.4.5/src/spidermonkey/js/src/config/WINNT5.0.mk 0000664 0000000 0000000 00000007756 14640107636 0023152 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Windows NT using MS Visual C++ (version?)
#
CC = cl
RANLIB = echo
PDBFILE = $(basename $(@F)).pdb
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = x86 # XXX fixme
GFX_ARCH = win32
# MSVC compiler options for both debug/optimize
# -nologo - suppress copyright message
# -W3 - Warning level 3
# -Gm - enable minimal rebuild
# -Z7 - put debug info into the executable, not in .pdb file
# -Zi - put debug info into .pdb file
# -YX - automatic precompiled headers
# -GX - enable C++ exception support
WIN_CFLAGS = -nologo -W3
# MSVC compiler options for debug builds linked to MSVCRTD.DLL
# -MDd - link with MSVCRTD.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_IDG_CFLAGS = -MDd -Od -Z7
# MSVC compiler options for debug builds linked to MSVCRT.DLL
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_DEBUG_CFLAGS = -MD -Od -Zi -Fd$(OBJDIR)/$(PDBFILE)
# MSVC compiler options for release (optimized) builds
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, C-runtime)
# -O2 - Optimize for speed
# -G5 - Optimize for Pentium
WIN_OPT_CFLAGS = -MD -O2
ifdef BUILD_OPT
OPTIMIZER = $(WIN_OPT_CFLAGS)
else
ifdef BUILD_IDG
OPTIMIZER = $(WIN_IDG_CFLAGS)
else
OPTIMIZER = $(WIN_DEBUG_CFLAGS)
endif
endif
OS_CFLAGS = -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 $(WIN_CFLAGS)
JSDLL_CFLAGS = -DEXPORT_JS_API
OS_LIBS = -lm -lc
PREBUILT_CPUCFG = 1
USE_MSVC = 1
LIB_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib \
winmm.lib \
-nologo\
-subsystem:windows -dll -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
EXE_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib -nologo\
-subsystem:console -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
# CAFEDIR = t:/cafe
# JCLASSPATH = $(CAFEDIR)/Java/Lib/classes.zip
# JAVAC = $(CAFEDIR)/Bin/sj.exe
# JAVAH = $(CAFEDIR)/Java/Bin/javah.exe
# JCFLAGS = -I$(CAFEDIR)/Java/Include -I$(CAFEDIR)/Java/Include/win32
pacparser-1.4.5/src/spidermonkey/js/src/config/WINNT5.1.mk 0000664 0000000 0000000 00000007756 14640107636 0023153 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Windows NT using MS Visual C++ (version?)
#
CC = cl
RANLIB = echo
PDBFILE = $(basename $(@F)).pdb
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = x86 # XXX fixme
GFX_ARCH = win32
# MSVC compiler options for both debug/optimize
# -nologo - suppress copyright message
# -W3 - Warning level 3
# -Gm - enable minimal rebuild
# -Z7 - put debug info into the executable, not in .pdb file
# -Zi - put debug info into .pdb file
# -YX - automatic precompiled headers
# -GX - enable C++ exception support
WIN_CFLAGS = -nologo -W3
# MSVC compiler options for debug builds linked to MSVCRTD.DLL
# -MDd - link with MSVCRTD.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_IDG_CFLAGS = -MDd -Od -Z7
# MSVC compiler options for debug builds linked to MSVCRT.DLL
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_DEBUG_CFLAGS = -MD -Od -Zi -Fd$(OBJDIR)/$(PDBFILE)
# MSVC compiler options for release (optimized) builds
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, C-runtime)
# -O2 - Optimize for speed
# -G5 - Optimize for Pentium
WIN_OPT_CFLAGS = -MD -O2
ifdef BUILD_OPT
OPTIMIZER = $(WIN_OPT_CFLAGS)
else
ifdef BUILD_IDG
OPTIMIZER = $(WIN_IDG_CFLAGS)
else
OPTIMIZER = $(WIN_DEBUG_CFLAGS)
endif
endif
OS_CFLAGS = -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 $(WIN_CFLAGS)
JSDLL_CFLAGS = -DEXPORT_JS_API
OS_LIBS = -lm -lc
PREBUILT_CPUCFG = 1
USE_MSVC = 1
LIB_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib \
winmm.lib \
-nologo\
-subsystem:windows -dll -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
EXE_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib -nologo\
-subsystem:console -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
# CAFEDIR = t:/cafe
# JCLASSPATH = $(CAFEDIR)/Java/Lib/classes.zip
# JAVAC = $(CAFEDIR)/Bin/sj.exe
# JAVAH = $(CAFEDIR)/Java/Bin/javah.exe
# JCFLAGS = -I$(CAFEDIR)/Java/Include -I$(CAFEDIR)/Java/Include/win32
pacparser-1.4.5/src/spidermonkey/js/src/config/WINNT5.2.mk 0000664 0000000 0000000 00000007756 14640107636 0023154 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config for Windows NT using MS Visual C++ (version?)
#
CC = cl
RANLIB = echo
PDBFILE = $(basename $(@F)).pdb
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = x86 # XXX fixme
GFX_ARCH = win32
# MSVC compiler options for both debug/optimize
# -nologo - suppress copyright message
# -W3 - Warning level 3
# -Gm - enable minimal rebuild
# -Z7 - put debug info into the executable, not in .pdb file
# -Zi - put debug info into .pdb file
# -YX - automatic precompiled headers
# -GX - enable C++ exception support
WIN_CFLAGS = -nologo -W3
# MSVC compiler options for debug builds linked to MSVCRTD.DLL
# -MDd - link with MSVCRTD.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_IDG_CFLAGS = -MDd -Od -Z7
# MSVC compiler options for debug builds linked to MSVCRT.DLL
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# -Od - minimal optimization
WIN_DEBUG_CFLAGS = -MD -Od -Zi -Fd$(OBJDIR)/$(PDBFILE)
# MSVC compiler options for release (optimized) builds
# -MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, C-runtime)
# -O2 - Optimize for speed
# -G5 - Optimize for Pentium
WIN_OPT_CFLAGS = -MD -O2
ifdef BUILD_OPT
OPTIMIZER = $(WIN_OPT_CFLAGS)
else
ifdef BUILD_IDG
OPTIMIZER = $(WIN_IDG_CFLAGS)
else
OPTIMIZER = $(WIN_DEBUG_CFLAGS)
endif
endif
OS_CFLAGS = -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 $(WIN_CFLAGS)
JSDLL_CFLAGS = -DEXPORT_JS_API
OS_LIBS = -lm -lc
PREBUILT_CPUCFG = 1
USE_MSVC = 1
LIB_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib \
winmm.lib \
-nologo\
-subsystem:windows -dll -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
EXE_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib -nologo\
-subsystem:console -debug -pdb:$(OBJDIR)/$(PDBFILE)\
-machine:I386\
-opt:ref -opt:noicf
# CAFEDIR = t:/cafe
# JCLASSPATH = $(CAFEDIR)/Java/Lib/classes.zip
# JAVAC = $(CAFEDIR)/Bin/sj.exe
# JAVAH = $(CAFEDIR)/Java/Bin/javah.exe
# JCFLAGS = -I$(CAFEDIR)/Java/Include -I$(CAFEDIR)/Java/Include/win32
pacparser-1.4.5/src/spidermonkey/js/src/config/dgux.mk 0000664 0000000 0000000 00000004344 14640107636 0022765 0 ustar 00root root 0000000 0000000 # -*- Mode: makefile -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# Config stuff for Data General DG/UX
#
#
# Initial DG/UX port by Marc Fraioli (fraioli@dg-rtp.dg.com)
#
AS = as
CC = gcc
CCC = g++
RANLIB = echo
#
# _DGUX_SOURCE is needed to turn on a lot of stuff in the headers if
# you're not using DG's compiler. It shouldn't hurt if you are.
#
# _POSIX4A_DRAFT10_SOURCE is needed to pick up localtime_r, used in
# prtime.c
#
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DDGUX -D_DGUX_SOURCE -D_POSIX4A_DRAFT10_SOURCE -DHAVE_LOCALTIME_R
OS_LIBS = -lsocket -lnsl
NOSUCHFILE = /no-such-file
pacparser-1.4.5/src/spidermonkey/js/src/js.c 0000664 0000000 0000000 00000254374 14640107636 0021012 0 ustar 00root root 0000000 0000000 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* vim: set ts=8 sw=4 et tw=78:
*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*
* JS shell.
*/
#include "jsstddef.h"
#include
#include
#include
#include
#include
#include "jstypes.h"
#include "jsarena.h"
#include "jsutil.h"
#include "jsprf.h"
#include "jsapi.h"
#include "jsatom.h"
#include "jscntxt.h"
#include "jsdbgapi.h"
#include "jsemit.h"
#include "jsfun.h"
#include "jsgc.h"
#include "jslock.h"
#include "jsobj.h"
#include "jsparse.h"
#include "jsscope.h"
#include "jsscript.h"
#ifdef PERLCONNECT
#include "perlconnect/jsperl.h"
#endif
#ifdef LIVECONNECT
#include "jsjava.h"
#endif
#ifdef JSDEBUGGER
#include "jsdebug.h"
#ifdef JSDEBUGGER_JAVA_UI
#include "jsdjava.h"
#endif /* JSDEBUGGER_JAVA_UI */
#ifdef JSDEBUGGER_C_UI
#include "jsdb.h"
#endif /* JSDEBUGGER_C_UI */
#endif /* JSDEBUGGER */
#ifdef XP_UNIX
#include
#include
#include
#endif
#if defined(XP_WIN) || defined(XP_OS2)
#include /* for isatty() */
#endif
typedef enum JSShellExitCode {
EXITCODE_RUNTIME_ERROR = 3,
EXITCODE_FILE_NOT_FOUND = 4,
EXITCODE_OUT_OF_MEMORY = 5
} JSShellExitCode;
size_t gStackChunkSize = 8192;
/* Assume that we can not use more than 5e5 bytes of C stack by default. */
static size_t gMaxStackSize = 500000;
static jsuword gStackBase;
int gExitCode = 0;
JSBool gQuitting = JS_FALSE;
FILE *gErrFile = NULL;
FILE *gOutFile = NULL;
#ifdef JSDEBUGGER
static JSDContext *_jsdc;
#ifdef JSDEBUGGER_JAVA_UI
static JSDJContext *_jsdjc;
#endif /* JSDEBUGGER_JAVA_UI */
#endif /* JSDEBUGGER */
static JSBool reportWarnings = JS_TRUE;
static JSBool compileOnly = JS_FALSE;
typedef enum JSShellErrNum {
#define MSG_DEF(name, number, count, exception, format) \
name = number,
#include "jsshell.msg"
#undef MSG_DEF
JSShellErr_Limit
#undef MSGDEF
} JSShellErrNum;
static const JSErrorFormatString *
my_GetErrorMessage(void *userRef, const char *locale, const uintN errorNumber);
static JSObject *
split_setup(JSContext *cx);
#ifdef EDITLINE
extern char *readline(const char *prompt);
extern void add_history(char *line);
#endif
static JSBool
GetLine(JSContext *cx, char *bufp, FILE *file, const char *prompt) {
#ifdef EDITLINE
/*
* Use readline only if file is stdin, because there's no way to specify
* another handle. Are other filehandles interactive?
*/
if (file == stdin) {
char *linep = readline(prompt);
if (!linep)
return JS_FALSE;
if (linep[0] != '\0')
add_history(linep);
strcpy(bufp, linep);
JS_free(cx, linep);
bufp += strlen(bufp);
*bufp++ = '\n';
*bufp = '\0';
} else
#endif
{
char line[256];
fprintf(gOutFile, prompt);
fflush(gOutFile);
if (!fgets(line, sizeof line, file))
return JS_FALSE;
strcpy(bufp, line);
}
return JS_TRUE;
}
static void
Process(JSContext *cx, JSObject *obj, char *filename, JSBool forceTTY)
{
JSBool ok, hitEOF;
JSScript *script;
jsval result;
JSString *str;
char buffer[4096];
char *bufp;
int lineno;
int startline;
FILE *file;
jsuword stackLimit;
if (forceTTY || !filename || strcmp(filename, "-") == 0) {
file = stdin;
} else {
file = fopen(filename, "r");
if (!file) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL,
JSSMSG_CANT_OPEN, filename, strerror(errno));
gExitCode = EXITCODE_FILE_NOT_FOUND;
return;
}
}
if (gMaxStackSize == 0) {
/*
* Disable checking for stack overflow if limit is zero.
*/
stackLimit = 0;
} else {
#if JS_STACK_GROWTH_DIRECTION > 0
stackLimit = gStackBase + gMaxStackSize;
#else
stackLimit = gStackBase - gMaxStackSize;
#endif
}
JS_SetThreadStackLimit(cx, stackLimit);
if (!forceTTY && !isatty(fileno(file))) {
/*
* It's not interactive - just execute it.
*
* Support the UNIX #! shell hack; gobble the first line if it starts
* with '#'. TODO - this isn't quite compatible with sharp variables,
* as a legal js program (using sharp variables) might start with '#'.
* But that would require multi-character lookahead.
*/
int ch = fgetc(file);
if (ch == '#') {
while((ch = fgetc(file)) != EOF) {
if (ch == '\n' || ch == '\r')
break;
}
}
ungetc(ch, file);
script = JS_CompileFileHandle(cx, obj, filename, file);
if (script) {
if (!compileOnly)
(void)JS_ExecuteScript(cx, obj, script, &result);
JS_DestroyScript(cx, script);
}
return;
}
/* It's an interactive filehandle; drop into read-eval-print loop. */
lineno = 1;
hitEOF = JS_FALSE;
do {
bufp = buffer;
*bufp = '\0';
/*
* Accumulate lines until we get a 'compilable unit' - one that either
* generates an error (before running out of source) or that compiles
* cleanly. This should be whenever we get a complete statement that
* coincides with the end of a line.
*/
startline = lineno;
do {
if (!GetLine(cx, bufp, file, startline == lineno ? "js> " : "")) {
hitEOF = JS_TRUE;
break;
}
bufp += strlen(bufp);
lineno++;
} while (!JS_BufferIsCompilableUnit(cx, obj, buffer, strlen(buffer)));
/* Clear any pending exception from previous failed compiles. */
JS_ClearPendingException(cx);
script = JS_CompileScript(cx, obj, buffer, strlen(buffer), "typein",
startline);
if (script) {
if (!compileOnly) {
ok = JS_ExecuteScript(cx, obj, script, &result);
if (ok && result != JSVAL_VOID) {
str = JS_ValueToString(cx, result);
if (str)
fprintf(gOutFile, "%s\n", JS_GetStringBytes(str));
else
ok = JS_FALSE;
}
}
JS_DestroyScript(cx, script);
}
} while (!hitEOF && !gQuitting);
fprintf(gOutFile, "\n");
return;
}
static int
usage(void)
{
fprintf(gErrFile, "%s\n", JS_GetImplementationVersion());
fprintf(gErrFile, "usage: js [-PswWxCi] [-b branchlimit] [-c stackchunksize] [-v version] [-f scriptfile] [-e script] [-S maxstacksize] [scriptfile] [scriptarg...]\n");
return 2;
}
static uint32 gBranchCount;
static uint32 gBranchLimit;
static JSBool
my_BranchCallback(JSContext *cx, JSScript *script)
{
if (++gBranchCount == gBranchLimit) {
if (script) {
if (script->filename)
fprintf(gErrFile, "%s:", script->filename);
fprintf(gErrFile, "%u: script branch callback (%u callbacks)\n",
script->lineno, gBranchLimit);
} else {
fprintf(gErrFile, "native branch callback (%u callbacks)\n",
gBranchLimit);
}
gBranchCount = 0;
return JS_FALSE;
}
if ((gBranchCount & 0x3fff) == 1)
JS_MaybeGC(cx);
return JS_TRUE;
}
extern JSClass global_class;
static int
ProcessArgs(JSContext *cx, JSObject *obj, char **argv, int argc)
{
int i, j, length;
JSObject *argsObj;
char *filename = NULL;
JSBool isInteractive = JS_TRUE;
JSBool forceTTY = JS_FALSE;
/*
* Scan past all optional arguments so we can create the arguments object
* before processing any -f options, which must interleave properly with
* -v and -w options. This requires two passes, and without getopt, we'll
* have to keep the option logic here and in the second for loop in sync.
*/
for (i = 0; i < argc; i++) {
if (argv[i][0] != '-' || argv[i][1] == '\0') {
++i;
break;
}
switch (argv[i][1]) {
case 'b':
case 'c':
case 'f':
case 'e':
case 'v':
case 'S':
++i;
break;
default:;
}
}
/*
* Create arguments early and define it to root it, so it's safe from any
* GC calls nested below, and so it is available to -f arguments.
*/
argsObj = JS_NewArrayObject(cx, 0, NULL);
if (!argsObj)
return 1;
if (!JS_DefineProperty(cx, obj, "arguments", OBJECT_TO_JSVAL(argsObj),
NULL, NULL, 0)) {
return 1;
}
length = argc - i;
for (j = 0; j < length; j++) {
JSString *str = JS_NewStringCopyZ(cx, argv[i++]);
if (!str)
return 1;
if (!JS_DefineElement(cx, argsObj, j, STRING_TO_JSVAL(str),
NULL, NULL, JSPROP_ENUMERATE)) {
return 1;
}
}
for (i = 0; i < argc; i++) {
if (argv[i][0] != '-' || argv[i][1] == '\0') {
filename = argv[i++];
isInteractive = JS_FALSE;
break;
}
switch (argv[i][1]) {
case 'v':
if (++i == argc)
return usage();
JS_SetVersion(cx, (JSVersion) atoi(argv[i]));
break;
case 'w':
reportWarnings = JS_TRUE;
break;
case 'W':
reportWarnings = JS_FALSE;
break;
case 's':
JS_ToggleOptions(cx, JSOPTION_STRICT);
break;
case 'x':
JS_ToggleOptions(cx, JSOPTION_XML);
break;
case 'P':
if (JS_GET_CLASS(cx, JS_GetPrototype(cx, obj)) != &global_class) {
JSObject *gobj;
if (!JS_SealObject(cx, obj, JS_TRUE))
return JS_FALSE;
gobj = JS_NewObject(cx, &global_class, NULL, NULL);
if (!gobj)
return JS_FALSE;
if (!JS_SetPrototype(cx, gobj, obj))
return JS_FALSE;
JS_SetParent(cx, gobj, NULL);
JS_SetGlobalObject(cx, gobj);
obj = gobj;
}
break;
case 'b':
gBranchLimit = atoi(argv[++i]);
JS_SetBranchCallback(cx, my_BranchCallback);
JS_ToggleOptions(cx, JSOPTION_NATIVE_BRANCH_CALLBACK);
break;
case 'c':
/* set stack chunk size */
gStackChunkSize = atoi(argv[++i]);
break;
case 'f':
if (++i == argc)
return usage();
Process(cx, obj, argv[i], JS_FALSE);
/*
* XXX: js -f foo.js should interpret foo.js and then
* drop into interactive mode, but that breaks the test
* harness. Just execute foo.js for now.
*/
isInteractive = JS_FALSE;
break;
case 'e':
{
jsval rval;
if (++i == argc)
return usage();
/* Pass a filename of -e to imitate PERL */
JS_EvaluateScript(cx, obj, argv[i], strlen(argv[i]),
"-e", 1, &rval);
isInteractive = JS_FALSE;
break;
}
case 'C':
compileOnly = JS_TRUE;
isInteractive = JS_FALSE;
break;
case 'i':
isInteractive = forceTTY = JS_TRUE;
break;
case 'S':
if (++i == argc)
return usage();
/* Set maximum stack size. */
gMaxStackSize = atoi(argv[i]);
break;
case 'z':
obj = split_setup(cx);
break;
default:
return usage();
}
}
if (filename || isInteractive)
Process(cx, obj, filename, forceTTY);
return gExitCode;
}
static JSBool
Version(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
if (argc > 0 && JSVAL_IS_INT(argv[0]))
*rval = INT_TO_JSVAL(JS_SetVersion(cx, (JSVersion) JSVAL_TO_INT(argv[0])));
else
*rval = INT_TO_JSVAL(JS_GetVersion(cx));
return JS_TRUE;
}
static struct {
const char *name;
uint32 flag;
} js_options[] = {
{"strict", JSOPTION_STRICT},
{"werror", JSOPTION_WERROR},
{"atline", JSOPTION_ATLINE},
{"xml", JSOPTION_XML},
{0, 0}
};
static JSBool
Options(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uint32 optset, flag;
uintN i, j, found;
JSString *str;
const char *opt;
char *names;
optset = 0;
for (i = 0; i < argc; i++) {
str = JS_ValueToString(cx, argv[i]);
if (!str)
return JS_FALSE;
opt = JS_GetStringBytes(str);
for (j = 0; js_options[j].name; j++) {
if (strcmp(js_options[j].name, opt) == 0) {
optset |= js_options[j].flag;
break;
}
}
}
optset = JS_ToggleOptions(cx, optset);
names = NULL;
found = 0;
while (optset != 0) {
flag = optset;
optset &= optset - 1;
flag &= ~optset;
for (j = 0; js_options[j].name; j++) {
if (js_options[j].flag == flag) {
names = JS_sprintf_append(names, "%s%s",
names ? "," : "", js_options[j].name);
found++;
break;
}
}
}
if (!found)
names = strdup("");
if (!names) {
JS_ReportOutOfMemory(cx);
return JS_FALSE;
}
str = JS_NewString(cx, names, strlen(names));
if (!str) {
free(names);
return JS_FALSE;
}
*rval = STRING_TO_JSVAL(str);
return JS_TRUE;
}
static JSBool
Load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uintN i;
JSString *str;
const char *filename;
JSScript *script;
JSBool ok;
jsval result;
uint32 oldopts;
for (i = 0; i < argc; i++) {
str = JS_ValueToString(cx, argv[i]);
if (!str)
return JS_FALSE;
argv[i] = STRING_TO_JSVAL(str);
filename = JS_GetStringBytes(str);
errno = 0;
oldopts = JS_GetOptions(cx);
JS_SetOptions(cx, oldopts | JSOPTION_COMPILE_N_GO);
script = JS_CompileFile(cx, obj, filename);
if (!script) {
ok = JS_FALSE;
} else {
ok = !compileOnly
? JS_ExecuteScript(cx, obj, script, &result)
: JS_TRUE;
JS_DestroyScript(cx, script);
}
JS_SetOptions(cx, oldopts);
if (!ok)
return JS_FALSE;
}
return JS_TRUE;
}
/*
* function readline()
* Provides a hook for scripts to read a line from stdin.
*/
static JSBool
ReadLine(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
#define BUFSIZE 256
FILE *from;
char *buf, *tmp;
size_t bufsize, buflength, gotlength;
JSString *str;
from = stdin;
buflength = 0;
bufsize = BUFSIZE;
buf = JS_malloc(cx, bufsize);
if (!buf)
return JS_FALSE;
while ((gotlength =
js_fgets(buf + buflength, bufsize - buflength, from)) > 0) {
buflength += gotlength;
/* Are we done? */
if (buf[buflength - 1] == '\n') {
buf[buflength - 1] = '\0';
break;
}
/* Else, grow our buffer for another pass. */
tmp = JS_realloc(cx, buf, bufsize * 2);
if (!tmp) {
JS_free(cx, buf);
return JS_FALSE;
}
bufsize *= 2;
buf = tmp;
}
/* Treat the empty string specially. */
if (buflength == 0) {
*rval = JS_GetEmptyStringValue(cx);
JS_free(cx, buf);
return JS_TRUE;
}
/* Shrink the buffer to the real size. */
tmp = JS_realloc(cx, buf, buflength);
if (!tmp) {
JS_free(cx, buf);
return JS_FALSE;
}
buf = tmp;
/*
* Turn buf into a JSString. Note that buflength includes the trailing null
* character.
*/
str = JS_NewString(cx, buf, buflength - 1);
if (!str) {
JS_free(cx, buf);
return JS_FALSE;
}
*rval = STRING_TO_JSVAL(str);
return JS_TRUE;
}
static JSBool
Print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uintN i, n;
JSString *str;
for (i = n = 0; i < argc; i++) {
str = JS_ValueToString(cx, argv[i]);
if (!str)
return JS_FALSE;
fprintf(gOutFile, "%s%s", i ? " " : "", JS_GetStringBytes(str));
}
n++;
if (n)
fputc('\n', gOutFile);
return JS_TRUE;
}
static JSBool
Help(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
static JSBool
Quit(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
#ifdef LIVECONNECT
JSJ_SimpleShutdown();
#endif
JS_ConvertArguments(cx, argc, argv,"/ i", &gExitCode);
gQuitting = JS_TRUE;
return JS_FALSE;
}
static JSBool
GC(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSRuntime *rt;
uint32 preBytes;
rt = cx->runtime;
preBytes = rt->gcBytes;
#ifdef GC_MARK_DEBUG
if (argc && JSVAL_IS_STRING(argv[0])) {
char *name = JS_GetStringBytes(JSVAL_TO_STRING(argv[0]));
FILE *file = fopen(name, "w");
if (!file) {
fprintf(gErrFile, "gc: can't open %s: %s\n", strerror(errno));
return JS_FALSE;
}
js_DumpGCHeap = file;
} else {
js_DumpGCHeap = stdout;
}
#endif
JS_GC(cx);
#ifdef GC_MARK_DEBUG
if (js_DumpGCHeap != stdout)
fclose(js_DumpGCHeap);
js_DumpGCHeap = NULL;
#endif
fprintf(gOutFile, "before %lu, after %lu, break %08lx\n",
(unsigned long)preBytes, (unsigned long)rt->gcBytes,
#ifdef XP_UNIX
(unsigned long)sbrk(0)
#else
0
#endif
);
#ifdef JS_GCMETER
js_DumpGCStats(rt, stdout);
#endif
return JS_TRUE;
}
static JSScript *
ValueToScript(JSContext *cx, jsval v)
{
JSScript *script;
JSFunction *fun;
if (!JSVAL_IS_PRIMITIVE(v) &&
JS_GET_CLASS(cx, JSVAL_TO_OBJECT(v)) == &js_ScriptClass) {
script = (JSScript *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(v));
} else {
fun = JS_ValueToFunction(cx, v);
if (!fun)
return NULL;
script = FUN_SCRIPT(fun);
}
return script;
}
static JSBool
GetTrapArgs(JSContext *cx, uintN argc, jsval *argv, JSScript **scriptp,
int32 *ip)
{
jsval v;
uintN intarg;
JSScript *script;
*scriptp = cx->fp->down->script;
*ip = 0;
if (argc != 0) {
v = argv[0];
intarg = 0;
if (!JSVAL_IS_PRIMITIVE(v) &&
(JS_GET_CLASS(cx, JSVAL_TO_OBJECT(v)) == &js_FunctionClass ||
JS_GET_CLASS(cx, JSVAL_TO_OBJECT(v)) == &js_ScriptClass)) {
script = ValueToScript(cx, v);
if (!script)
return JS_FALSE;
*scriptp = script;
intarg++;
}
if (argc > intarg) {
if (!JS_ValueToInt32(cx, argv[intarg], ip))
return JS_FALSE;
}
}
return JS_TRUE;
}
static JSTrapStatus
TrapHandler(JSContext *cx, JSScript *script, jsbytecode *pc, jsval *rval,
void *closure)
{
JSString *str;
JSStackFrame *caller;
str = (JSString *) closure;
caller = JS_GetScriptedCaller(cx, NULL);
if (!JS_EvaluateScript(cx, caller->scopeChain,
JS_GetStringBytes(str), JS_GetStringLength(str),
caller->script->filename, caller->script->lineno,
rval)) {
return JSTRAP_ERROR;
}
if (*rval != JSVAL_VOID)
return JSTRAP_RETURN;
return JSTRAP_CONTINUE;
}
static JSBool
Trap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSString *str;
JSScript *script;
int32 i;
if (argc == 0) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL, JSSMSG_TRAP_USAGE);
return JS_FALSE;
}
argc--;
str = JS_ValueToString(cx, argv[argc]);
if (!str)
return JS_FALSE;
argv[argc] = STRING_TO_JSVAL(str);
if (!GetTrapArgs(cx, argc, argv, &script, &i))
return JS_FALSE;
return JS_SetTrap(cx, script, script->code + i, TrapHandler, str);
}
static JSBool
Untrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSScript *script;
int32 i;
if (!GetTrapArgs(cx, argc, argv, &script, &i))
return JS_FALSE;
JS_ClearTrap(cx, script, script->code + i, NULL, NULL);
return JS_TRUE;
}
static JSBool
LineToPC(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSScript *script;
int32 i;
uintN lineno;
jsbytecode *pc;
if (argc == 0) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL, JSSMSG_LINE2PC_USAGE);
return JS_FALSE;
}
script = cx->fp->down->script;
if (!GetTrapArgs(cx, argc, argv, &script, &i))
return JS_FALSE;
lineno = (i == 0) ? script->lineno : (uintN)i;
pc = JS_LineNumberToPC(cx, script, lineno);
if (!pc)
return JS_FALSE;
*rval = INT_TO_JSVAL(PTRDIFF(pc, script->code, jsbytecode));
return JS_TRUE;
}
static JSBool
PCToLine(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSScript *script;
int32 i;
uintN lineno;
if (!GetTrapArgs(cx, argc, argv, &script, &i))
return JS_FALSE;
lineno = JS_PCToLineNumber(cx, script, script->code + i);
if (!lineno)
return JS_FALSE;
*rval = INT_TO_JSVAL(lineno);
return JS_TRUE;
}
#ifdef DEBUG
static void
GetSwitchTableBounds(JSScript *script, uintN offset,
uintN *start, uintN *end)
{
jsbytecode *pc;
JSOp op;
ptrdiff_t jmplen;
jsint low, high, n;
pc = script->code + offset;
op = *pc;
switch (op) {
case JSOP_TABLESWITCHX:
jmplen = JUMPX_OFFSET_LEN;
goto jump_table;
case JSOP_TABLESWITCH:
jmplen = JUMP_OFFSET_LEN;
jump_table:
pc += jmplen;
low = GET_JUMP_OFFSET(pc);
pc += JUMP_OFFSET_LEN;
high = GET_JUMP_OFFSET(pc);
pc += JUMP_OFFSET_LEN;
n = high - low + 1;
break;
case JSOP_LOOKUPSWITCHX:
jmplen = JUMPX_OFFSET_LEN;
goto lookup_table;
default:
JS_ASSERT(op == JSOP_LOOKUPSWITCH);
jmplen = JUMP_OFFSET_LEN;
lookup_table:
pc += jmplen;
n = GET_ATOM_INDEX(pc);
pc += ATOM_INDEX_LEN;
jmplen += ATOM_INDEX_LEN;
break;
}
*start = (uintN)(pc - script->code);
*end = *start + (uintN)(n * jmplen);
}
/*
* SrcNotes assumes that SRC_METHODBASE should be distinguished from SRC_LABEL
* using the bytecode the source note points to.
*/
JS_STATIC_ASSERT(SRC_LABEL == SRC_METHODBASE);
static void
SrcNotes(JSContext *cx, JSScript *script)
{
uintN offset, delta, caseOff, switchTableStart, switchTableEnd;
jssrcnote *notes, *sn;
JSSrcNoteType type;
const char *name;
JSOp op;
jsatomid atomIndex;
JSAtom *atom;
fprintf(gOutFile, "\nSource notes:\n");
offset = 0;
notes = SCRIPT_NOTES(script);
switchTableEnd = switchTableStart = 0;
for (sn = notes; !SN_IS_TERMINATOR(sn); sn = SN_NEXT(sn)) {
delta = SN_DELTA(sn);
offset += delta;
type = (JSSrcNoteType) SN_TYPE(sn);
name = js_SrcNoteSpec[type].name;
if (type == SRC_LABEL) {
/* Heavily overloaded case. */
if (switchTableStart <= offset && offset < switchTableEnd) {
name = "case";
} else {
op = script->code[offset];
if (op == JSOP_GETMETHOD || op == JSOP_SETMETHOD) {
/* This is SRC_METHODBASE which we print as SRC_PCBASE. */
type = SRC_PCBASE;
name = "methodbase";
} else {
JS_ASSERT(op == JSOP_NOP);
}
}
}
fprintf(gOutFile, "%3u: %5u [%4u] %-8s",
PTRDIFF(sn, notes, jssrcnote), offset, delta, name);
switch (type) {
case SRC_SETLINE:
fprintf(gOutFile, " lineno %u", (uintN) js_GetSrcNoteOffset(sn, 0));
break;
case SRC_FOR:
fprintf(gOutFile, " cond %u update %u tail %u",
(uintN) js_GetSrcNoteOffset(sn, 0),
(uintN) js_GetSrcNoteOffset(sn, 1),
(uintN) js_GetSrcNoteOffset(sn, 2));
break;
case SRC_IF_ELSE:
fprintf(gOutFile, " else %u elseif %u",
(uintN) js_GetSrcNoteOffset(sn, 0),
(uintN) js_GetSrcNoteOffset(sn, 1));
break;
case SRC_COND:
case SRC_WHILE:
case SRC_PCBASE:
case SRC_PCDELTA:
case SRC_DECL:
case SRC_BRACE:
fprintf(gOutFile, " offset %u", (uintN) js_GetSrcNoteOffset(sn, 0));
break;
case SRC_LABEL:
case SRC_LABELBRACE:
case SRC_BREAK2LABEL:
case SRC_CONT2LABEL:
case SRC_FUNCDEF: {
const char *bytes;
JSFunction *fun;
JSString *str;
atomIndex = (jsatomid) js_GetSrcNoteOffset(sn, 0);
atom = js_GetAtom(cx, &script->atomMap, atomIndex);
if (type != SRC_FUNCDEF) {
bytes = js_AtomToPrintableString(cx, atom);
} else {
fun = (JSFunction *)
JS_GetPrivate(cx, ATOM_TO_OBJECT(atom));
str = JS_DecompileFunction(cx, fun, JS_DONT_PRETTY_PRINT);
bytes = str ? JS_GetStringBytes(str) : "N/A";
}
fprintf(gOutFile, " atom %u (%s)", (uintN)atomIndex, bytes);
break;
}
case SRC_SWITCH:
fprintf(gOutFile, " length %u", (uintN) js_GetSrcNoteOffset(sn, 0));
caseOff = (uintN) js_GetSrcNoteOffset(sn, 1);
if (caseOff)
fprintf(gOutFile, " first case offset %u", caseOff);
GetSwitchTableBounds(script, offset,
&switchTableStart, &switchTableEnd);
break;
case SRC_CATCH:
delta = (uintN) js_GetSrcNoteOffset(sn, 0);
if (delta) {
if (script->main[offset] == JSOP_LEAVEBLOCK)
fprintf(gOutFile, " stack depth %u", delta);
else
fprintf(gOutFile, " guard delta %u", delta);
}
break;
default:;
}
fputc('\n', gOutFile);
}
}
static JSBool
Notes(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uintN i;
JSScript *script;
for (i = 0; i < argc; i++) {
script = ValueToScript(cx, argv[i]);
if (!script)
continue;
SrcNotes(cx, script);
}
return JS_TRUE;
}
static JSBool
TryNotes(JSContext *cx, JSScript *script)
{
JSTryNote *tn = script->trynotes;
if (!tn)
return JS_TRUE;
fprintf(gOutFile, "\nException table:\nstart\tend\tcatch\n");
while (tn->start && tn->catchStart) {
fprintf(gOutFile, " %d\t%d\t%d\n",
tn->start, tn->start + tn->length, tn->catchStart);
tn++;
}
return JS_TRUE;
}
static JSBool
Disassemble(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSBool lines;
uintN i;
JSScript *script;
if (argc > 0 &&
JSVAL_IS_STRING(argv[0]) &&
!strcmp(JS_GetStringBytes(JSVAL_TO_STRING(argv[0])), "-l")) {
lines = JS_TRUE;
argv++, argc--;
} else {
lines = JS_FALSE;
}
for (i = 0; i < argc; i++) {
script = ValueToScript(cx, argv[i]);
if (!script)
return JS_FALSE;
if (VALUE_IS_FUNCTION(cx, argv[i])) {
JSFunction *fun = JS_ValueToFunction(cx, argv[i]);
if (fun && (fun->flags & JSFUN_FLAGS_MASK)) {
uint16 flags = fun->flags;
fputs("flags:", stdout);
#define SHOW_FLAG(flag) if (flags & JSFUN_##flag) fputs(" " #flag, stdout);
SHOW_FLAG(LAMBDA);
SHOW_FLAG(SETTER);
SHOW_FLAG(GETTER);
SHOW_FLAG(BOUND_METHOD);
SHOW_FLAG(HEAVYWEIGHT);
SHOW_FLAG(THISP_STRING);
SHOW_FLAG(THISP_NUMBER);
SHOW_FLAG(THISP_BOOLEAN);
SHOW_FLAG(INTERPRETED);
#undef SHOW_FLAG
putchar('\n');
}
}
if (!js_Disassemble(cx, script, lines, stdout))
return JS_FALSE;
SrcNotes(cx, script);
TryNotes(cx, script);
}
return JS_TRUE;
}
static JSBool
DisassWithSrc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
#define LINE_BUF_LEN 512
uintN i, len, line1, line2, bupline;
JSScript *script;
FILE *file;
char linebuf[LINE_BUF_LEN];
jsbytecode *pc, *end;
static char sep[] = ";-------------------------";
for (i = 0; i < argc; i++) {
script = ValueToScript(cx, argv[i]);
if (!script)
return JS_FALSE;
if (!script || !script->filename) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL,
JSSMSG_FILE_SCRIPTS_ONLY);
return JS_FALSE;
}
file = fopen(script->filename, "r");
if (!file) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL,
JSSMSG_CANT_OPEN,
script->filename, strerror(errno));
return JS_FALSE;
}
pc = script->code;
end = pc + script->length;
/* burn the leading lines */
line2 = JS_PCToLineNumber(cx, script, pc);
for (line1 = 0; line1 < line2 - 1; line1++)
fgets(linebuf, LINE_BUF_LEN, file);
bupline = 0;
while (pc < end) {
line2 = JS_PCToLineNumber(cx, script, pc);
if (line2 < line1) {
if (bupline != line2) {
bupline = line2;
fprintf(gOutFile, "%s %3u: BACKUP\n", sep, line2);
}
} else {
if (bupline && line1 == line2)
fprintf(gOutFile, "%s %3u: RESTORE\n", sep, line2);
bupline = 0;
while (line1 < line2) {
if (!fgets(linebuf, LINE_BUF_LEN, file)) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL,
JSSMSG_UNEXPECTED_EOF,
script->filename);
goto bail;
}
line1++;
fprintf(gOutFile, "%s %3u: %s", sep, line1, linebuf);
}
}
len = js_Disassemble1(cx, script, pc,
PTRDIFF(pc, script->code, jsbytecode),
JS_TRUE, stdout);
if (!len)
return JS_FALSE;
pc += len;
}
bail:
fclose(file);
}
return JS_TRUE;
#undef LINE_BUF_LEN
}
static JSBool
Tracing(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSBool bval;
JSString *str;
if (argc == 0) {
*rval = BOOLEAN_TO_JSVAL(cx->tracefp != 0);
return JS_TRUE;
}
switch (JS_TypeOfValue(cx, argv[0])) {
case JSTYPE_NUMBER:
bval = JSVAL_IS_INT(argv[0])
? JSVAL_TO_INT(argv[0])
: (jsint) *JSVAL_TO_DOUBLE(argv[0]);
break;
case JSTYPE_BOOLEAN:
bval = JSVAL_TO_BOOLEAN(argv[0]);
break;
default:
str = JS_ValueToString(cx, argv[0]);
if (!str)
return JS_FALSE;
fprintf(gErrFile, "tracing: illegal argument %s\n",
JS_GetStringBytes(str));
return JS_TRUE;
}
cx->tracefp = bval ? stderr : NULL;
return JS_TRUE;
}
typedef struct DumpAtomArgs {
JSContext *cx;
FILE *fp;
} DumpAtomArgs;
static int
DumpAtom(JSHashEntry *he, int i, void *arg)
{
DumpAtomArgs *args = (DumpAtomArgs *)arg;
FILE *fp = args->fp;
JSAtom *atom = (JSAtom *)he;
fprintf(fp, "%3d %08x %5lu ",
i, (uintN)he->keyHash, (unsigned long)atom->number);
if (ATOM_IS_STRING(atom))
fprintf(fp, "\"%s\"\n", js_AtomToPrintableString(args->cx, atom));
else if (ATOM_IS_INT(atom))
fprintf(fp, "%ld\n", (long)ATOM_TO_INT(atom));
else
fprintf(fp, "%.16g\n", *ATOM_TO_DOUBLE(atom));
return HT_ENUMERATE_NEXT;
}
static void
DumpScope(JSContext *cx, JSObject *obj, FILE *fp)
{
uintN i;
JSScope *scope;
JSScopeProperty *sprop;
i = 0;
scope = OBJ_SCOPE(obj);
for (sprop = SCOPE_LAST_PROP(scope); sprop; sprop = sprop->parent) {
if (SCOPE_HAD_MIDDLE_DELETE(scope) && !SCOPE_HAS_PROPERTY(scope, sprop))
continue;
fprintf(fp, "%3u %p", i, (void *)sprop);
if (JSID_IS_INT(sprop->id)) {
fprintf(fp, " [%ld]", (long)JSVAL_TO_INT(sprop->id));
} else if (JSID_IS_ATOM(sprop->id)) {
JSAtom *atom = JSID_TO_ATOM(sprop->id);
fprintf(fp, " \"%s\"", js_AtomToPrintableString(cx, atom));
} else {
jsval v = OBJECT_TO_JSVAL(JSID_TO_OBJECT(sprop->id));
fprintf(fp, " \"%s\"", js_ValueToPrintableString(cx, v));
}
#define DUMP_ATTR(name) if (sprop->attrs & JSPROP_##name) fputs(" " #name, fp)
DUMP_ATTR(ENUMERATE);
DUMP_ATTR(READONLY);
DUMP_ATTR(PERMANENT);
DUMP_ATTR(EXPORTED);
DUMP_ATTR(GETTER);
DUMP_ATTR(SETTER);
#undef DUMP_ATTR
fprintf(fp, " slot %lu flags %x shortid %d\n",
(unsigned long)sprop->slot, sprop->flags, sprop->shortid);
}
}
static JSBool
DumpStats(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uintN i;
JSString *str;
const char *bytes;
JSAtom *atom;
JSObject *obj2;
JSProperty *prop;
jsval value;
for (i = 0; i < argc; i++) {
str = JS_ValueToString(cx, argv[i]);
if (!str)
return JS_FALSE;
bytes = JS_GetStringBytes(str);
if (strcmp(bytes, "arena") == 0) {
#ifdef JS_ARENAMETER
JS_DumpArenaStats(stdout);
#endif
} else if (strcmp(bytes, "atom") == 0) {
DumpAtomArgs args;
fprintf(gOutFile, "\natom table contents:\n");
args.cx = cx;
args.fp = stdout;
JS_HashTableEnumerateEntries(cx->runtime->atomState.table,
DumpAtom,
&args);
#ifdef HASHMETER
JS_HashTableDumpMeter(cx->runtime->atomState.table,
DumpAtom,
stdout);
#endif
} else if (strcmp(bytes, "global") == 0) {
DumpScope(cx, cx->globalObject, stdout);
} else {
atom = js_Atomize(cx, bytes, JS_GetStringLength(str), 0);
if (!atom)
return JS_FALSE;
if (!js_FindProperty(cx, ATOM_TO_JSID(atom), &obj, &obj2, &prop))
return JS_FALSE;
if (prop) {
OBJ_DROP_PROPERTY(cx, obj2, prop);
if (!OBJ_GET_PROPERTY(cx, obj, ATOM_TO_JSID(atom), &value))
return JS_FALSE;
}
if (!prop || !JSVAL_IS_OBJECT(value)) {
fprintf(gErrFile, "js: invalid stats argument %s\n",
bytes);
continue;
}
obj = JSVAL_TO_OBJECT(value);
if (obj)
DumpScope(cx, obj, stdout);
}
}
return JS_TRUE;
}
#endif /* DEBUG */
#ifdef TEST_EXPORT
static JSBool
DoExport(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSAtom *atom;
JSObject *obj2;
JSProperty *prop;
JSBool ok;
uintN attrs;
if (argc != 2) {
JS_ReportErrorNumber(cx, my_GetErrorMessage, NULL, JSSMSG_DOEXP_USAGE);
return JS_FALSE;
}
if (!JS_ValueToObject(cx, argv[0], &obj))
return JS_FALSE;
argv[0] = OBJECT_TO_JSVAL(obj);
atom = js_ValueToStringAtom(cx, argv[1]);
if (!atom)
return JS_FALSE;
if (!OBJ_LOOKUP_PROPERTY(cx, obj, ATOM_TO_JSID(atom), &obj2, &prop))
return JS_FALSE;
if (!prop) {
ok = OBJ_DEFINE_PROPERTY(cx, obj, id, JSVAL_VOID, NULL, NULL,
JSPROP_EXPORTED, NULL);
} else {
ok = OBJ_GET_ATTRIBUTES(cx, obj, ATOM_TO_JSID(atom), prop, &attrs);
if (ok) {
attrs |= JSPROP_EXPORTED;
ok = OBJ_SET_ATTRIBUTES(cx, obj, ATOM_TO_JSID(atom), prop, &attrs);
}
OBJ_DROP_PROPERTY(cx, obj2, prop);
}
return ok;
}
#endif
#ifdef TEST_CVTARGS
#include
static const char *
EscapeWideString(jschar *w)
{
static char enuf[80];
static char hex[] = "0123456789abcdef";
jschar u;
unsigned char b, c;
int i, j;
if (!w)
return "";
for (i = j = 0; i < sizeof enuf - 1; i++, j++) {
u = w[j];
if (u == 0)
break;
b = (unsigned char)(u >> 8);
c = (unsigned char)(u);
if (b) {
if (i >= sizeof enuf - 6)
break;
enuf[i++] = '\\';
enuf[i++] = 'u';
enuf[i++] = hex[b >> 4];
enuf[i++] = hex[b & 15];
enuf[i++] = hex[c >> 4];
enuf[i] = hex[c & 15];
} else if (!isprint(c)) {
if (i >= sizeof enuf - 4)
break;
enuf[i++] = '\\';
enuf[i++] = 'x';
enuf[i++] = hex[c >> 4];
enuf[i] = hex[c & 15];
} else {
enuf[i] = (char)c;
}
}
enuf[i] = 0;
return enuf;
}
#include
static JSBool
ZZ_formatter(JSContext *cx, const char *format, JSBool fromJS, jsval **vpp,
va_list *app)
{
jsval *vp;
va_list ap;
jsdouble re, im;
printf("entering ZZ_formatter");
vp = *vpp;
ap = *app;
if (fromJS) {
if (!JS_ValueToNumber(cx, vp[0], &re))
return JS_FALSE;
if (!JS_ValueToNumber(cx, vp[1], &im))
return JS_FALSE;
*va_arg(ap, jsdouble *) = re;
*va_arg(ap, jsdouble *) = im;
} else {
re = va_arg(ap, jsdouble);
im = va_arg(ap, jsdouble);
if (!JS_NewNumberValue(cx, re, &vp[0]))
return JS_FALSE;
if (!JS_NewNumberValue(cx, im, &vp[1]))
return JS_FALSE;
}
*vpp = vp + 2;
*app = ap;
printf("leaving ZZ_formatter");
return JS_TRUE;
}
static JSBool
ConvertArgs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSBool b = JS_FALSE;
jschar c = 0;
int32 i = 0, j = 0;
uint32 u = 0;
jsdouble d = 0, I = 0, re = 0, im = 0;
char *s = NULL;
JSString *str = NULL;
jschar *w = NULL;
JSObject *obj2 = NULL;
JSFunction *fun = NULL;
jsval v = JSVAL_VOID;
JSBool ok;
if (!JS_AddArgumentFormatter(cx, "ZZ", ZZ_formatter))
return JS_FALSE;;
ok = JS_ConvertArguments(cx, argc, argv, "b/ciujdIsSWofvZZ*",
&b, &c, &i, &u, &j, &d, &I, &s, &str, &w, &obj2,
&fun, &v, &re, &im);
JS_RemoveArgumentFormatter(cx, "ZZ");
if (!ok)
return JS_FALSE;
fprintf(gOutFile,
"b %u, c %x (%c), i %ld, u %lu, j %ld\n",
b, c, (char)c, i, u, j);
fprintf(gOutFile,
"d %g, I %g, s %s, S %s, W %s, obj %s, fun %s\n"
"v %s, re %g, im %g\n",
d, I, s, str ? JS_GetStringBytes(str) : "", EscapeWideString(w),
JS_GetStringBytes(JS_ValueToString(cx, OBJECT_TO_JSVAL(obj2))),
fun ? JS_GetStringBytes(JS_DecompileFunction(cx, fun, 4)) : "",
JS_GetStringBytes(JS_ValueToString(cx, v)), re, im);
return JS_TRUE;
}
#endif
static JSBool
BuildDate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
char version[20] = "\n";
#if JS_VERSION < 150
sprintf(version, " for version %d\n", JS_VERSION);
#endif
fprintf(gOutFile, "built on %s at %s%s", __DATE__, __TIME__, version);
return JS_TRUE;
}
static JSBool
Clear(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
if (argc != 0 && !JS_ValueToObject(cx, argv[0], &obj))
return JS_FALSE;
JS_ClearScope(cx, obj);
return JS_TRUE;
}
static JSBool
Intern(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSString *str;
str = JS_ValueToString(cx, argv[0]);
if (!str)
return JS_FALSE;
if (!JS_InternUCStringN(cx, JS_GetStringChars(str),
JS_GetStringLength(str))) {
return JS_FALSE;
}
return JS_TRUE;
}
static JSBool
Clone(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSFunction *fun;
JSObject *funobj, *parent, *clone;
fun = JS_ValueToFunction(cx, argv[0]);
if (!fun)
return JS_FALSE;
funobj = JS_GetFunctionObject(fun);
if (argc > 1) {
if (!JS_ValueToObject(cx, argv[1], &parent))
return JS_FALSE;
} else {
parent = JS_GetParent(cx, funobj);
}
clone = JS_CloneFunctionObject(cx, funobj, parent);
if (!clone)
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(clone);
return JS_TRUE;
}
static JSBool
Seal(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSObject *target;
JSBool deep = JS_FALSE;
if (!JS_ConvertArguments(cx, argc, argv, "o/b", &target, &deep))
return JS_FALSE;
if (!target)
return JS_TRUE;
return JS_SealObject(cx, target, deep);
}
static JSBool
GetPDA(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSObject *vobj, *aobj, *pdobj;
JSBool ok;
JSPropertyDescArray pda;
JSPropertyDesc *pd;
uint32 i;
jsval v;
if (!JS_ValueToObject(cx, argv[0], &vobj))
return JS_FALSE;
if (!vobj)
return JS_TRUE;
aobj = JS_NewArrayObject(cx, 0, NULL);
if (!aobj)
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(aobj);
ok = JS_GetPropertyDescArray(cx, vobj, &pda);
if (!ok)
return JS_FALSE;
pd = pda.array;
for (i = 0; i < pda.length; i++) {
pdobj = JS_NewObject(cx, NULL, NULL, NULL);
if (!pdobj) {
ok = JS_FALSE;
break;
}
ok = JS_SetProperty(cx, pdobj, "id", &pd->id) &&
JS_SetProperty(cx, pdobj, "value", &pd->value) &&
(v = INT_TO_JSVAL(pd->flags),
JS_SetProperty(cx, pdobj, "flags", &v)) &&
(v = INT_TO_JSVAL(pd->slot),
JS_SetProperty(cx, pdobj, "slot", &v)) &&
JS_SetProperty(cx, pdobj, "alias", &pd->alias);
if (!ok)
break;
v = OBJECT_TO_JSVAL(pdobj);
ok = JS_SetElement(cx, aobj, i, &v);
if (!ok)
break;
}
JS_PutPropertyDescArray(cx, &pda);
return ok;
}
static JSBool
GetSLX(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSScript *script;
script = ValueToScript(cx, argv[0]);
if (!script)
return JS_FALSE;
*rval = INT_TO_JSVAL(js_GetScriptLineExtent(script));
return JS_TRUE;
}
static JSBool
ToInt32(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
int32 i;
if (!JS_ValueToInt32(cx, argv[0], &i))
return JS_FALSE;
return JS_NewNumberValue(cx, i, rval);
}
static JSBool
StringsAreUtf8(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
*rval = JS_CStringsAreUTF8() ? JSVAL_TRUE : JSVAL_FALSE;
return JS_TRUE;
}
static const char* badUtf8 = "...\xC0...";
static const char* bigUtf8 = "...\xFB\xBF\xBF\xBF\xBF...";
static const jschar badSurrogate[] = { 'A', 'B', 'C', 0xDEEE, 'D', 'E', 0 };
static JSBool
TestUtf8(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
intN mode = 1;
jschar chars[20];
size_t charsLength = 5;
char bytes[20];
size_t bytesLength = 20;
if (argc && !JS_ValueToInt32(cx, *argv, &mode))
return JS_FALSE;
/* The following throw errors if compiled with UTF-8. */
switch (mode) {
/* mode 1: malformed UTF-8 string. */
case 1:
JS_NewStringCopyZ(cx, badUtf8);
break;
/* mode 2: big UTF-8 character. */
case 2:
JS_NewStringCopyZ(cx, bigUtf8);
break;
/* mode 3: bad surrogate character. */
case 3:
JS_EncodeCharacters(cx, badSurrogate, 6, bytes, &bytesLength);
break;
/* mode 4: use a too small buffer. */
case 4:
JS_DecodeBytes(cx, "1234567890", 10, chars, &charsLength);
break;
default:
JS_ReportError(cx, "invalid mode parameter");
return JS_FALSE;
}
return !JS_IsExceptionPending (cx);
}
static JSBool
ThrowError(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JS_ReportError(cx, "This is an error");
return JS_FALSE;
}
#define LAZY_STANDARD_CLASSES
/* A class for easily testing the inner/outer object callbacks. */
typedef struct ComplexObject {
JSBool isInner;
JSObject *inner;
JSObject *outer;
} ComplexObject;
static JSObject *
split_create_outer(JSContext *cx);
static JSObject *
split_create_inner(JSContext *cx, JSObject *outer);
static ComplexObject *
split_get_private(JSContext *cx, JSObject *obj);
JS_STATIC_DLL_CALLBACK(JSBool)
split_addProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
ComplexObject *cpx;
jsid asId;
cpx = split_get_private(cx, obj);
if (!cpx)
return JS_TRUE;
if (!cpx->isInner && cpx->inner) {
/* Make sure to define this property on the inner object. */
if (!JS_ValueToId(cx, *vp, &asId))
return JS_FALSE;
return OBJ_DEFINE_PROPERTY(cx, cpx->inner, asId, *vp, NULL, NULL,
JSPROP_ENUMERATE, NULL);
}
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(JSBool)
split_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
ComplexObject *cpx;
cpx = split_get_private(cx, obj);
if (!cpx)
return JS_TRUE;
if (!cpx->isInner && cpx->inner) {
if (JSVAL_IS_STRING(id)) {
JSString *str;
str = JSVAL_TO_STRING(id);
return JS_GetUCProperty(cx, cpx->inner, JS_GetStringChars(str),
JS_GetStringLength(str), vp);
}
if (JSVAL_IS_INT(id))
return JS_GetElement(cx, cpx->inner, JSVAL_TO_INT(id), vp);
return JS_TRUE;
}
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(JSBool)
split_setProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
ComplexObject *cpx;
cpx = split_get_private(cx, obj);
if (!cpx)
return JS_TRUE;
if (!cpx->isInner && cpx->inner) {
if (JSVAL_IS_STRING(id)) {
JSString *str;
str = JSVAL_TO_STRING(id);
return JS_SetUCProperty(cx, cpx->inner, JS_GetStringChars(str),
JS_GetStringLength(str), vp);
}
if (JSVAL_IS_INT(id))
return JS_SetElement(cx, cpx->inner, JSVAL_TO_INT(id), vp);
return JS_TRUE;
}
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(JSBool)
split_delProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
ComplexObject *cpx;
jsid asId;
cpx = split_get_private(cx, obj);
if (!cpx)
return JS_TRUE;
if (!cpx->isInner && cpx->inner) {
/* Make sure to define this property on the inner object. */
if (!JS_ValueToId(cx, *vp, &asId))
return JS_FALSE;
return OBJ_DELETE_PROPERTY(cx, cpx->inner, asId, vp);
}
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(JSBool)
split_enumerate(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
jsval *statep, jsid *idp)
{
ComplexObject *cpx;
JSObject *iterator;
switch (enum_op) {
case JSENUMERATE_INIT:
cpx = JS_GetPrivate(cx, obj);
if (!cpx->isInner && cpx->inner)
obj = cpx->inner;
iterator = JS_NewPropertyIterator(cx, obj);
if (!iterator)
return JS_FALSE;
*statep = OBJECT_TO_JSVAL(iterator);
if (idp)
*idp = JSVAL_ZERO;
break;
case JSENUMERATE_NEXT:
iterator = (JSObject*)JSVAL_TO_OBJECT(*statep);
if (!JS_NextProperty(cx, iterator, idp))
return JS_FALSE;
if (*idp != JSVAL_VOID)
break;
/* Fall through. */
case JSENUMERATE_DESTROY:
/* Let GC at our iterator object. */
*statep = JSVAL_NULL;
break;
}
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(JSBool)
split_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
JSObject **objp)
{
ComplexObject *cpx;
cpx = split_get_private(cx, obj);
if (!cpx)
return JS_TRUE;
if (!cpx->isInner && cpx->inner) {
jsid asId;
JSProperty *prop;
if (!JS_ValueToId(cx, id, &asId))
return JS_FALSE;
if (!OBJ_LOOKUP_PROPERTY(cx, cpx->inner, asId, objp, &prop))
return JS_FALSE;
if (prop)
OBJ_DROP_PROPERTY(cx, cpx->inner, prop);
return JS_TRUE;
}
#ifdef LAZY_STANDARD_CLASSES
if (!(flags & JSRESOLVE_ASSIGNING)) {
JSBool resolved;
if (!JS_ResolveStandardClass(cx, obj, id, &resolved))
return JS_FALSE;
if (resolved) {
*objp = obj;
return JS_TRUE;
}
}
#endif
/* XXX For additional realism, let's resolve some random property here. */
return JS_TRUE;
}
JS_STATIC_DLL_CALLBACK(void)
split_finalize(JSContext *cx, JSObject *obj)
{
JS_free(cx, JS_GetPrivate(cx, obj));
}
JS_STATIC_DLL_CALLBACK(uint32)
split_mark(JSContext *cx, JSObject *obj, void *arg)
{
ComplexObject *cpx;
cpx = JS_GetPrivate(cx, obj);
if (!cpx->isInner && cpx->inner) {
/* Mark the inner object. */
JS_MarkGCThing(cx, cpx->inner, "ComplexObject.inner", arg);
}
return 0;
}
JS_STATIC_DLL_CALLBACK(JSObject *)
split_outerObject(JSContext *cx, JSObject *obj)
{
ComplexObject *cpx;
cpx = JS_GetPrivate(cx, obj);
return cpx->isInner ? cpx->outer : obj;
}
JS_STATIC_DLL_CALLBACK(JSObject *)
split_innerObject(JSContext *cx, JSObject *obj)
{
ComplexObject *cpx;
cpx = JS_GetPrivate(cx, obj);
return !cpx->isInner ? cpx->inner : obj;
}
static JSExtendedClass split_global_class = {
{"split_global",
JSCLASS_NEW_RESOLVE | JSCLASS_HAS_PRIVATE | JSCLASS_IS_EXTENDED,
split_addProperty, split_delProperty,
split_getProperty, split_setProperty,
(JSEnumerateOp)split_enumerate,
(JSResolveOp)split_resolve,
JS_ConvertStub, split_finalize,
NULL, NULL, NULL, NULL, NULL, NULL,
split_mark, NULL},
NULL, split_outerObject, split_innerObject,
NULL, NULL, NULL, NULL, NULL
};
JSObject *
split_create_outer(JSContext *cx)
{
ComplexObject *cpx;
JSObject *obj;
cpx = JS_malloc(cx, sizeof *obj);
if (!cpx)
return NULL;
cpx->outer = NULL;
cpx->inner = NULL;
cpx->isInner = JS_FALSE;
obj = JS_NewObject(cx, &split_global_class.base, NULL, NULL);
if (!obj) {
JS_free(cx, cpx);
return NULL;
}
JS_ASSERT(!JS_GetParent(cx, obj));
if (!JS_SetPrivate(cx, obj, cpx)) {
JS_free(cx, cpx);
return NULL;
}
return obj;
}
static JSObject *
split_create_inner(JSContext *cx, JSObject *outer)
{
ComplexObject *cpx, *outercpx;
JSObject *obj;
JS_ASSERT(JS_GET_CLASS(cx, outer) == &split_global_class.base);
cpx = JS_malloc(cx, sizeof *cpx);
if (!cpx)
return NULL;
cpx->outer = outer;
cpx->inner = NULL;
cpx->isInner = JS_TRUE;
obj = JS_NewObject(cx, &split_global_class.base, NULL, NULL);
if (!obj || !JS_SetParent(cx, obj, NULL) || !JS_SetPrivate(cx, obj, cpx)) {
JS_free(cx, cpx);
return NULL;
}
outercpx = JS_GetPrivate(cx, outer);
outercpx->inner = obj;
return obj;
}
static ComplexObject *
split_get_private(JSContext *cx, JSObject *obj)
{
do {
if (JS_GET_CLASS(cx, obj) == &split_global_class.base)
return JS_GetPrivate(cx, obj);
obj = JS_GetParent(cx, obj);
} while (obj);
return NULL;
}
static JSBool
sandbox_enumerate(JSContext *cx, JSObject *obj)
{
jsval v;
JSBool b;
if (!JS_GetProperty(cx, obj, "lazy", &v) || !JS_ValueToBoolean(cx, v, &b))
return JS_FALSE;
return !b || JS_EnumerateStandardClasses(cx, obj);
}
static JSBool
sandbox_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
JSObject **objp)
{
jsval v;
JSBool b, resolved;
if (!JS_GetProperty(cx, obj, "lazy", &v) || !JS_ValueToBoolean(cx, v, &b))
return JS_FALSE;
if (b && (flags & JSRESOLVE_ASSIGNING) == 0) {
if (!JS_ResolveStandardClass(cx, obj, id, &resolved))
return JS_FALSE;
if (resolved) {
*objp = obj;
return JS_TRUE;
}
}
*objp = NULL;
return JS_TRUE;
}
static JSClass sandbox_class = {
"sandbox",
JSCLASS_NEW_RESOLVE,
JS_PropertyStub, JS_PropertyStub,
JS_PropertyStub, JS_PropertyStub,
sandbox_enumerate, (JSResolveOp)sandbox_resolve,
JS_ConvertStub, JS_FinalizeStub,
JSCLASS_NO_OPTIONAL_MEMBERS
};
static JSBool
EvalInContext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
JSString *str;
JSObject *sobj;
JSContext *scx;
const jschar *src;
size_t srclen;
JSBool lazy, ok;
jsval v;
JSStackFrame *fp;
sobj = NULL;
if (!JS_ConvertArguments(cx, argc, argv, "S / o", &str, &sobj))
return JS_FALSE;
scx = JS_NewContext(JS_GetRuntime(cx), gStackChunkSize);
if (!scx) {
JS_ReportOutOfMemory(cx);
return JS_FALSE;
}
src = JS_GetStringChars(str);
srclen = JS_GetStringLength(str);
lazy = JS_FALSE;
if (srclen == 4 &&
src[0] == 'l' && src[1] == 'a' && src[2] == 'z' && src[3] == 'y') {
lazy = JS_TRUE;
srclen = 0;
}
if (!sobj) {
sobj = JS_NewObject(scx, &sandbox_class, NULL, NULL);
if (!sobj || (!lazy && !JS_InitStandardClasses(scx, sobj))) {
ok = JS_FALSE;
goto out;
}
v = BOOLEAN_TO_JSVAL(v);
ok = JS_SetProperty(cx, sobj, "lazy", &v);
if (!ok)
goto out;
}
if (srclen == 0) {
*rval = OBJECT_TO_JSVAL(sobj);
ok = JS_TRUE;
} else {
fp = JS_GetScriptedCaller(cx, NULL);
ok = JS_EvaluateUCScript(scx, sobj, src, srclen,
fp->script->filename,
JS_PCToLineNumber(cx, fp->script, fp->pc),
rval);
}
out:
JS_DestroyContext(scx);
return ok;
}
static JSFunctionSpec shell_functions[] = {
{"version", Version, 0,0,0},
{"options", Options, 0,0,0},
{"load", Load, 1,0,0},
{"readline", ReadLine, 0,0,0},
{"print", Print, 0,0,0},
{"help", Help, 0,0,0},
{"quit", Quit, 0,0,0},
{"gc", GC, 0,0,0},
{"trap", Trap, 3,0,0},
{"untrap", Untrap, 2,0,0},
{"line2pc", LineToPC, 0,0,0},
{"pc2line", PCToLine, 0,0,0},
{"stringsAreUtf8", StringsAreUtf8, 0,0,0},
{"testUtf8", TestUtf8, 1,0,0},
{"throwError", ThrowError, 0,0,0},
#ifdef DEBUG
{"dis", Disassemble, 1,0,0},
{"dissrc", DisassWithSrc, 1,0,0},
{"notes", Notes, 1,0,0},
{"tracing", Tracing, 0,0,0},
{"stats", DumpStats, 1,0,0},
#endif
#ifdef TEST_EXPORT
{"xport", DoExport, 2,0,0},
#endif
#ifdef TEST_CVTARGS
{"cvtargs", ConvertArgs, 0,0,12},
#endif
{"build", BuildDate, 0,0,0},
{"clear", Clear, 0,0,0},
{"intern", Intern, 1,0,0},
{"clone", Clone, 1,0,0},
{"seal", Seal, 1,0,1},
{"getpda", GetPDA, 1,0,0},
{"getslx", GetSLX, 1,0,0},
{"toint32", ToInt32, 1,0,0},
{"evalcx", EvalInContext, 1,0,0},
{NULL,NULL,0,0,0}
};
/* NOTE: These must be kept in sync with the above. */
static char *shell_help_messages[] = {
"version([number]) Get or set JavaScript version number",
"options([option ...]) Get or toggle JavaScript options",
"load(['foo.js' ...]) Load files named by string arguments",
"readline() Read a single line from stdin",
"print([exp ...]) Evaluate and print expressions",
"help([name ...]) Display usage and help messages",
"quit() Quit the shell",
"gc() Run the garbage collector",
"trap([fun, [pc,]] exp) Trap bytecode execution",
"untrap(fun[, pc]) Remove a trap",
"line2pc([fun,] line) Map line number to PC",
"pc2line(fun[, pc]) Map PC to line number",
"stringsAreUTF8() Check if strings are UTF-8 encoded",
"testUTF8(mode) Perform UTF-8 tests (modes are 1 to 4)",
"throwError() Throw an error from JS_ReportError",
#ifdef DEBUG
"dis([fun]) Disassemble functions into bytecodes",
"dissrc([fun]) Disassemble functions with source lines",
"notes([fun]) Show source notes for functions",
"tracing([toggle]) Turn tracing on or off",
"stats([string ...]) Dump 'arena', 'atom', 'global' stats",
#endif
#ifdef TEST_EXPORT
"xport(obj, id) Export identified property from object",
#endif
#ifdef TEST_CVTARGS
"cvtargs(b, c, ...) Test JS_ConvertArguments",
#endif
"build() Show build date and time",
"clear([obj]) Clear properties of object",
"intern(str) Internalize str in the atom table",
"clone(fun[, scope]) Clone function object",
"seal(obj[, deep]) Seal object, or object graph if deep",
"getpda(obj) Get the property descriptors for obj",
"getslx(obj) Get script line extent",
"toint32(n) Testing hook for JS_ValueToInt32",
"evalcx(s[, o]) Evaluate s in optional sandbox object o\n"
" if (s == '' && !o) return new o with eager standard classes\n"
" if (s == 'lazy' && !o) return new o with lazy standard classes",
0
};
static void
ShowHelpHeader(void)
{
fprintf(gOutFile, "%-14s %-22s %s\n", "Command", "Usage", "Description");
fprintf(gOutFile, "%-14s %-22s %s\n", "=======", "=====", "===========");
}
static void
ShowHelpForCommand(uintN n)
{
fprintf(gOutFile, "%-14.14s %s\n", shell_functions[n].name, shell_help_messages[n]);
}
static JSObject *
split_setup(JSContext *cx)
{
JSObject *outer, *inner, *arguments;
outer = split_create_outer(cx);
if (!outer)
return NULL;
JS_SetGlobalObject(cx, outer);
inner = split_create_inner(cx, outer);
if (!inner)
return NULL;
if (!JS_DefineFunctions(cx, inner, shell_functions))
return NULL;
JS_ClearScope(cx, outer);
/* Create a dummy arguments object. */
arguments = JS_NewArrayObject(cx, 0, NULL);
if (!arguments ||
!JS_DefineProperty(cx, inner, "arguments", OBJECT_TO_JSVAL(arguments),
NULL, NULL, 0)) {
return NULL;
}
#ifndef LAZY_STANDARD_CLASSES
if (!JS_InitStandardClasses(cx, inner))
return NULL;
#endif
return inner;
}
static JSBool
Help(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
uintN i, j;
int did_header, did_something;
JSType type;
JSFunction *fun;
JSString *str;
const char *bytes;
fprintf(gOutFile, "%s\n", JS_GetImplementationVersion());
if (argc == 0) {
ShowHelpHeader();
for (i = 0; shell_functions[i].name; i++)
ShowHelpForCommand(i);
} else {
did_header = 0;
for (i = 0; i < argc; i++) {
did_something = 0;
type = JS_TypeOfValue(cx, argv[i]);
if (type == JSTYPE_FUNCTION) {
fun = JS_ValueToFunction(cx, argv[i]);
str = fun->atom ? ATOM_TO_STRING(fun->atom) : NULL;
} else if (type == JSTYPE_STRING) {
str = JSVAL_TO_STRING(argv[i]);
} else {
str = NULL;
}
if (str) {
bytes = JS_GetStringBytes(str);
for (j = 0; shell_functions[j].name; j++) {
if (!strcmp(bytes, shell_functions[j].name)) {
if (!did_header) {
did_header = 1;
ShowHelpHeader();
}
did_something = 1;
ShowHelpForCommand(j);
break;
}
}
}
if (!did_something) {
str = JS_ValueToString(cx, argv[i]);
if (!str)
return JS_FALSE;
fprintf(gErrFile, "Sorry, no help for %s\n",
JS_GetStringBytes(str));
}
}
}
return JS_TRUE;
}
/*
* Define a JS object called "it". Give it class operations that printf why
* they're being called for tutorial purposes.
*/
enum its_tinyid {
ITS_COLOR, ITS_HEIGHT, ITS_WIDTH, ITS_FUNNY, ITS_ARRAY, ITS_RDONLY
};
static JSPropertySpec its_props[] = {
{"color", ITS_COLOR, JSPROP_ENUMERATE, NULL, NULL},
{"height", ITS_HEIGHT, JSPROP_ENUMERATE, NULL, NULL},
{"width", ITS_WIDTH, JSPROP_ENUMERATE, NULL, NULL},
{"funny", ITS_FUNNY, JSPROP_ENUMERATE, NULL, NULL},
{"array", ITS_ARRAY, JSPROP_ENUMERATE, NULL, NULL},
{"rdonly", ITS_RDONLY, JSPROP_READONLY, NULL, NULL},
{NULL,0,0,NULL,NULL}
};
static JSBool
its_item(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
*rval = OBJECT_TO_JSVAL(obj);
if (argc != 0)
JS_SetCallReturnValue2(cx, argv[0]);
return JS_TRUE;
}
static JSBool
its_bindMethod(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
char *name;
JSObject *method;
if (!JS_ConvertArguments(cx, argc, argv, "so", &name, &method))
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(method);
if (JS_TypeOfValue(cx, *rval) != JSTYPE_FUNCTION) {
JSString *valstr = JS_ValueToString(cx, *rval);
if (valstr) {
JS_ReportError(cx, "can't bind method %s to non-callable object %s",
name, JS_GetStringBytes(valstr));
}
return JS_FALSE;
}
if (!JS_DefineProperty(cx, obj, name, *rval, NULL, NULL, JSPROP_ENUMERATE))
return JS_FALSE;
return JS_SetParent(cx, method, obj);
}
static JSFunctionSpec its_methods[] = {
{"item", its_item, 0,0,0},
{"bindMethod", its_bindMethod, 2,0,0},
{NULL,NULL,0,0,0}
};
#ifdef JSD_LOWLEVEL_SOURCE
/*
* This facilitates sending source to JSD (the debugger system) in the shell
* where the source is loaded using the JSFILE hack in jsscan. The function
* below is used as a callback for the jsdbgapi JS_SetSourceHandler hook.
* A more normal embedding (e.g. mozilla) loads source itself and can send
* source directly to JSD without using this hook scheme.
*/
static void
SendSourceToJSDebugger(const char *filename, uintN lineno,
jschar *str, size_t length,
void **listenerTSData, JSDContext* jsdc)
{
JSDSourceText *jsdsrc = (JSDSourceText *) *listenerTSData;
if (!jsdsrc) {
if (!filename)
filename = "typein";
if (1 == lineno) {
jsdsrc = JSD_NewSourceText(jsdc, filename);
} else {
jsdsrc = JSD_FindSourceForURL(jsdc, filename);
if (jsdsrc && JSD_SOURCE_PARTIAL !=
JSD_GetSourceStatus(jsdc, jsdsrc)) {
jsdsrc = NULL;
}
}
}
if (jsdsrc) {
jsdsrc = JSD_AppendUCSourceText(jsdc,jsdsrc, str, length,
JSD_SOURCE_PARTIAL);
}
*listenerTSData = jsdsrc;
}
#endif /* JSD_LOWLEVEL_SOURCE */
static JSBool its_noisy; /* whether to be noisy when finalizing it */
static JSBool
its_addProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
if (its_noisy) {
fprintf(gOutFile, "adding its property %s,",
JS_GetStringBytes(JS_ValueToString(cx, id)));
fprintf(gOutFile, " initial value %s\n",
JS_GetStringBytes(JS_ValueToString(cx, *vp)));
}
return JS_TRUE;
}
static JSBool
its_delProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
if (its_noisy) {
fprintf(gOutFile, "deleting its property %s,",
JS_GetStringBytes(JS_ValueToString(cx, id)));
fprintf(gOutFile, " current value %s\n",
JS_GetStringBytes(JS_ValueToString(cx, *vp)));
}
return JS_TRUE;
}
static JSBool
its_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
if (its_noisy) {
fprintf(gOutFile, "getting its property %s,",
JS_GetStringBytes(JS_ValueToString(cx, id)));
fprintf(gOutFile, " current value %s\n",
JS_GetStringBytes(JS_ValueToString(cx, *vp)));
}
return JS_TRUE;
}
static JSBool
its_setProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
if (its_noisy) {
fprintf(gOutFile, "setting its property %s,",
JS_GetStringBytes(JS_ValueToString(cx, id)));
fprintf(gOutFile, " new value %s\n",
JS_GetStringBytes(JS_ValueToString(cx, *vp)));
}
if (JSVAL_IS_STRING(id) &&
!strcmp(JS_GetStringBytes(JSVAL_TO_STRING(id)), "noisy")) {
return JS_ValueToBoolean(cx, *vp, &its_noisy);
}
return JS_TRUE;
}
static JSBool
its_enumerate(JSContext *cx, JSObject *obj)
{
if (its_noisy)
fprintf(gOutFile, "enumerate its properties\n");
return JS_TRUE;
}
static JSBool
its_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
JSObject **objp)
{
if (its_noisy) {
fprintf(gOutFile, "resolving its property %s, flags {%s,%s,%s}\n",
JS_GetStringBytes(JS_ValueToString(cx, id)),
(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
(flags & JSRESOLVE_DETECTING) ? "detecting" : "");
}
return JS_TRUE;
}
static JSBool
its_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
{
if (its_noisy)
fprintf(gOutFile, "converting it to %s type\n", JS_GetTypeName(cx, type));
return JS_TRUE;
}
static void
its_finalize(JSContext *cx, JSObject *obj)
{
if (its_noisy)
fprintf(gOutFile, "finalizing it\n");
}
static JSClass its_class = {
"It", JSCLASS_NEW_RESOLVE,
its_addProperty, its_delProperty, its_getProperty, its_setProperty,
its_enumerate, (JSResolveOp)its_resolve,
its_convert, its_finalize,
JSCLASS_NO_OPTIONAL_MEMBERS
};
JSErrorFormatString jsShell_ErrorFormatString[JSErr_Limit] = {
#define MSG_DEF(name, number, count, exception, format) \
{ format, count, JSEXN_ERR } ,
#include "jsshell.msg"
#undef MSG_DEF
};
static const JSErrorFormatString *
my_GetErrorMessage(void *userRef, const char *locale, const uintN errorNumber)
{
if ((errorNumber > 0) && (errorNumber < JSShellErr_Limit))
return &jsShell_ErrorFormatString[errorNumber];
return NULL;
}
static void
my_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report)
{
int i, j, k, n;
char *prefix, *tmp;
const char *ctmp;
if (!report) {
fprintf(gErrFile, "%s\n", message);
return;
}
/* Conditionally ignore reported warnings. */
if (JSREPORT_IS_WARNING(report->flags) && !reportWarnings)
return;
prefix = NULL;
if (report->filename)
prefix = JS_smprintf("%s:", report->filename);
if (report->lineno) {
tmp = prefix;
prefix = JS_smprintf("%s%u: ", tmp ? tmp : "", report->lineno);
JS_free(cx, tmp);
}
if (JSREPORT_IS_WARNING(report->flags)) {
tmp = prefix;
prefix = JS_smprintf("%s%swarning: ",
tmp ? tmp : "",
JSREPORT_IS_STRICT(report->flags) ? "strict " : "");
JS_free(cx, tmp);
}
/* embedded newlines -- argh! */
while ((ctmp = strchr(message, '\n')) != 0) {
ctmp++;
if (prefix)
fputs(prefix, gErrFile);
fwrite(message, 1, ctmp - message, gErrFile);
message = ctmp;
}
/* If there were no filename or lineno, the prefix might be empty */
if (prefix)
fputs(prefix, gErrFile);
fputs(message, gErrFile);
if (!report->linebuf) {
fputc('\n', gErrFile);
goto out;
}
/* report->linebuf usually ends with a newline. */
n = strlen(report->linebuf);
fprintf(gErrFile, ":\n%s%s%s%s",
prefix,
report->linebuf,
(n > 0 && report->linebuf[n-1] == '\n') ? "" : "\n",
prefix);
n = PTRDIFF(report->tokenptr, report->linebuf, char);
for (i = j = 0; i < n; i++) {
if (report->linebuf[i] == '\t') {
for (k = (j + 8) & ~7; j < k; j++) {
fputc('.', gErrFile);
}
continue;
}
fputc('.', gErrFile);
j++;
}
fputs("^\n", gErrFile);
out:
if (!JSREPORT_IS_WARNING(report->flags)) {
if (report->errorNumber == JSMSG_OUT_OF_MEMORY) {
gExitCode = EXITCODE_OUT_OF_MEMORY;
} else {
gExitCode = EXITCODE_RUNTIME_ERROR;
}
}
JS_free(cx, prefix);
}
#if defined(SHELL_HACK) && defined(DEBUG) && defined(XP_UNIX)
static JSBool
Exec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSFunction *fun;
const char *name, **nargv;
uintN i, nargc;
JSString *str;
pid_t pid;
int status;
fun = JS_ValueToFunction(cx, argv[-2]);
if (!fun)
return JS_FALSE;
if (!fun->atom)
return JS_TRUE;
name = JS_GetStringBytes(ATOM_TO_STRING(fun->atom));
nargc = 1 + argc;
nargv = JS_malloc(cx, (nargc + 1) * sizeof(char *));
if (!nargv)
return JS_FALSE;
nargv[0] = name;
for (i = 1; i < nargc; i++) {
str = JS_ValueToString(cx, argv[i-1]);
if (!str) {
JS_free(cx, nargv);
return JS_FALSE;
}
nargv[i] = JS_GetStringBytes(str);
}
nargv[nargc] = 0;
pid = fork();
switch (pid) {
case -1:
perror("js");
break;
case 0:
(void) execvp(name, (char **)nargv);
perror("js");
exit(127);
default:
while (waitpid(pid, &status, 0) < 0 && errno == EINTR)
continue;
break;
}
JS_free(cx, nargv);
return JS_TRUE;
}
#endif
static JSBool
global_enumerate(JSContext *cx, JSObject *obj)
{
#ifdef LAZY_STANDARD_CLASSES
return JS_EnumerateStandardClasses(cx, obj);
#else
return JS_TRUE;
#endif
}
static JSBool
global_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
JSObject **objp)
{
#ifdef LAZY_STANDARD_CLASSES
JSBool resolved;
if (!JS_ResolveStandardClass(cx, obj, id, &resolved))
return JS_FALSE;
if (resolved) {
*objp = obj;
return JS_TRUE;
}
#endif
#if defined(SHELL_HACK) && defined(DEBUG) && defined(XP_UNIX)
if ((flags & (JSRESOLVE_QUALIFIED | JSRESOLVE_ASSIGNING)) == 0) {
/*
* Do this expensive hack only for unoptimized Unix builds, which are
* not used for benchmarking.
*/
char *path, *comp, *full;
const char *name;
JSBool ok, found;
JSFunction *fun;
if (!JSVAL_IS_STRING(id))
return JS_TRUE;
path = getenv("PATH");
if (!path)
return JS_TRUE;
path = JS_strdup(cx, path);
if (!path)
return JS_FALSE;
name = JS_GetStringBytes(JSVAL_TO_STRING(id));
ok = JS_TRUE;
for (comp = strtok(path, ":"); comp; comp = strtok(NULL, ":")) {
if (*comp != '\0') {
full = JS_smprintf("%s/%s", comp, name);
if (!full) {
JS_ReportOutOfMemory(cx);
ok = JS_FALSE;
break;
}
} else {
full = (char *)name;
}
found = (access(full, X_OK) == 0);
if (*comp != '\0')
free(full);
if (found) {
fun = JS_DefineFunction(cx, obj, name, Exec, 0,
JSPROP_ENUMERATE);
ok = (fun != NULL);
if (ok)
*objp = obj;
break;
}
}
JS_free(cx, path);
return ok;
}
#else
return JS_TRUE;
#endif
}
JSClass global_class = {
"global", JSCLASS_NEW_RESOLVE | JSCLASS_GLOBAL_FLAGS,
JS_PropertyStub, JS_PropertyStub,
JS_PropertyStub, JS_PropertyStub,
global_enumerate, (JSResolveOp) global_resolve,
JS_ConvertStub, JS_FinalizeStub,
JSCLASS_NO_OPTIONAL_MEMBERS
};
static JSBool
env_setProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
/* XXX porting may be easy, but these don't seem to supply setenv by default */
#if !defined XP_BEOS && !defined XP_OS2 && !defined SOLARIS
JSString *idstr, *valstr;
const char *name, *value;
int rv;
idstr = JS_ValueToString(cx, id);
valstr = JS_ValueToString(cx, *vp);
if (!idstr || !valstr)
return JS_FALSE;
name = JS_GetStringBytes(idstr);
value = JS_GetStringBytes(valstr);
#if defined XP_WIN || defined HPUX || defined OSF1 || defined IRIX
{
char *waste = JS_smprintf("%s=%s", name, value);
if (!waste) {
JS_ReportOutOfMemory(cx);
return JS_FALSE;
}
rv = putenv(waste);
#ifdef XP_WIN
/*
* HPUX9 at least still has the bad old non-copying putenv.
*
* Per mail from , OSF1 also has a putenv
* that will crash if you pass it an auto char array (so it must place
* its argument directly in the char *environ[] array).
*/
free(waste);
#endif
}
#else
rv = setenv(name, value, 1);
#endif
if (rv < 0) {
JS_ReportError(cx, "can't set envariable %s to %s", name, value);
return JS_FALSE;
}
*vp = STRING_TO_JSVAL(valstr);
#endif /* !defined XP_BEOS && !defined XP_OS2 && !defined SOLARIS */
return JS_TRUE;
}
static JSBool
env_enumerate(JSContext *cx, JSObject *obj)
{
static JSBool reflected;
char **evp, *name, *value;
JSString *valstr;
JSBool ok;
if (reflected)
return JS_TRUE;
for (evp = (char **)JS_GetPrivate(cx, obj); (name = *evp) != NULL; evp++) {
value = strchr(name, '=');
if (!value)
continue;
*value++ = '\0';
valstr = JS_NewStringCopyZ(cx, value);
if (!valstr) {
ok = JS_FALSE;
} else {
ok = JS_DefineProperty(cx, obj, name, STRING_TO_JSVAL(valstr),
NULL, NULL, JSPROP_ENUMERATE);
}
value[-1] = '=';
if (!ok)
return JS_FALSE;
}
reflected = JS_TRUE;
return JS_TRUE;
}
static JSBool
env_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
JSObject **objp)
{
JSString *idstr, *valstr;
const char *name, *value;
if (flags & JSRESOLVE_ASSIGNING)
return JS_TRUE;
idstr = JS_ValueToString(cx, id);
if (!idstr)
return JS_FALSE;
name = JS_GetStringBytes(idstr);
value = getenv(name);
if (value) {
valstr = JS_NewStringCopyZ(cx, value);
if (!valstr)
return JS_FALSE;
if (!JS_DefineProperty(cx, obj, name, STRING_TO_JSVAL(valstr),
NULL, NULL, JSPROP_ENUMERATE)) {
return JS_FALSE;
}
*objp = obj;
}
return JS_TRUE;
}
static JSClass env_class = {
"environment", JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE,
JS_PropertyStub, JS_PropertyStub,
JS_PropertyStub, env_setProperty,
env_enumerate, (JSResolveOp) env_resolve,
JS_ConvertStub, JS_FinalizeStub,
JSCLASS_NO_OPTIONAL_MEMBERS
};
#ifdef NARCISSUS
static JSBool
defineProperty(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
JSString *str;
jsval value;
JSBool dontDelete, readOnly, dontEnum;
const jschar *chars;
size_t length;
uintN attrs;
dontDelete = readOnly = dontEnum = JS_FALSE;
if (!JS_ConvertArguments(cx, argc, argv, "Sv/bbb",
&str, &value, &dontDelete, &readOnly, &dontEnum)) {
return JS_FALSE;
}
chars = JS_GetStringChars(str);
length = JS_GetStringLength(str);
attrs = dontEnum ? 0 : JSPROP_ENUMERATE;
if (dontDelete)
attrs |= JSPROP_PERMANENT;
if (readOnly)
attrs |= JSPROP_READONLY;
return JS_DefineUCProperty(cx, obj, chars, length, value, NULL, NULL,
attrs);
}
static JSBool
Evaluate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
/* function evaluate(source, filename, lineno) { ... } */
JSString *source;
const char *filename = "";
jsuint lineno = 0;
uint32 oldopts;
JSBool ok;
if (argc == 0) {
*rval = JSVAL_VOID;
return JS_TRUE;
}
if (!JS_ConvertArguments(cx, argc, argv, "S/su",
&source, &filename, &lineno)) {
return JS_FALSE;
}
oldopts = JS_GetOptions(cx);
JS_SetOptions(cx, oldopts | JSOPTION_COMPILE_N_GO);
ok = JS_EvaluateUCScript(cx, obj, JS_GetStringChars(source),
JS_GetStringLength(source), filename,
lineno, rval);
JS_SetOptions(cx, oldopts);
return ok;
}
#include
#include
/*
* Returns a JS_malloc'd string (that the caller needs to JS_free)
* containing the directory (non-leaf) part of |from| prepended to |leaf|.
* If |from| is empty or a leaf, MakeAbsolutePathname returns a copy of leaf.
* Returns NULL to indicate an error.
*/
static char *
MakeAbsolutePathname(JSContext *cx, const char *from, const char *leaf)
{
size_t dirlen;
char *dir;
const char *slash = NULL, *cp;
cp = from;
while (*cp) {
if (*cp == '/'
#ifdef XP_WIN
|| *cp == '\\'
#endif
) {
slash = cp;
}
++cp;
}
if (!slash) {
/* We were given a leaf or |from| was empty. */
return JS_strdup(cx, leaf);
}
/* Else, we were given a real pathname, return that + the leaf. */
dirlen = slash - from + 1;
dir = JS_malloc(cx, dirlen + strlen(leaf) + 1);
if (!dir)
return NULL;
strncpy(dir, from, dirlen);
strcpy(dir + dirlen, leaf); /* Note: we can't use strcat here. */
return dir;
}
static JSBool
snarf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSString *str;
const char *filename;
char *pathname;
JSStackFrame *fp;
JSBool ok;
off_t cc, len;
char *buf;
FILE *file;
str = JS_ValueToString(cx, argv[0]);
if (!str)
return JS_FALSE;
filename = JS_GetStringBytes(str);
/* Get the currently executing script's name. */
fp = JS_GetScriptedCaller(cx, NULL);
JS_ASSERT(fp && fp->script->filename);
pathname = MakeAbsolutePathname(cx, fp->script->filename, filename);
if (!pathname)
return JS_FALSE;
ok = JS_FALSE;
len = 0;
buf = NULL;
file = fopen(pathname, "rb");
if (!file) {
JS_ReportError(cx, "can't open %s: %s", pathname, strerror(errno));
} else {
if (fseek(file, 0, SEEK_END) == EOF) {
JS_ReportError(cx, "can't seek end of %s", pathname);
} else {
len = ftell(file);
if (fseek(file, 0, SEEK_SET) == EOF) {
JS_ReportError(cx, "can't seek start of %s", pathname);
} else {
buf = JS_malloc(cx, len + 1);
if (buf) {
cc = fread(buf, 1, len, file);
if (cc != len) {
JS_free(cx, buf);
JS_ReportError(cx, "can't read %s: %s", pathname,
(cc < 0) ? strerror(errno)
: "short read");
} else {
len = (size_t)cc;
ok = JS_TRUE;
}
}
}
}
fclose(file);
}
JS_free(cx, pathname);
if (!ok) {
JS_free(cx, buf);
return ok;
}
buf[len] = '\0';
str = JS_NewString(cx, buf, len);
if (!str) {
JS_free(cx, buf);
return JS_FALSE;
}
*rval = STRING_TO_JSVAL(str);
return JS_TRUE;
}
#endif /* NARCISSUS */
int
main(int argc, char **argv, char **envp)
{
int stackDummy;
JSRuntime *rt;
JSContext *cx;
JSObject *glob, *it, *envobj;
int result;
#ifdef LIVECONNECT
JavaVM *java_vm = NULL;
#endif
#ifdef JSDEBUGGER_JAVA_UI
JNIEnv *java_env;
#endif
gStackBase = (jsuword)&stackDummy;
setlocale(LC_ALL, "");
#ifdef XP_OS2
/* these streams are normally line buffered on OS/2 and need a \n, *
* so we need to unbuffer then to get a reasonable prompt */
setbuf(stdout,0);
setbuf(stderr,0);
#endif
gErrFile = stderr;
gOutFile = stdout;
argc--;
argv++;
rt = JS_NewRuntime(64L * 1024L * 1024L);
if (!rt)
return 1;
cx = JS_NewContext(rt, gStackChunkSize);
if (!cx)
return 1;
JS_SetErrorReporter(cx, my_ErrorReporter);
#ifdef JS_THREADSAFE
JS_BeginRequest(cx);
#endif
glob = JS_NewObject(cx, &global_class, NULL, NULL);
if (!glob)
return 1;
#ifdef LAZY_STANDARD_CLASSES
JS_SetGlobalObject(cx, glob);
#else
if (!JS_InitStandardClasses(cx, glob))
return 1;
#endif
if (!JS_DefineFunctions(cx, glob, shell_functions))
return 1;
it = JS_DefineObject(cx, glob, "it", &its_class, NULL, 0);
if (!it)
return 1;
if (!JS_DefineProperties(cx, it, its_props))
return 1;
if (!JS_DefineFunctions(cx, it, its_methods))
return 1;
#ifdef PERLCONNECT
if (!JS_InitPerlClass(cx, glob))
return 1;
#endif
#ifdef JSDEBUGGER
/*
* XXX A command line option to enable debugging (or not) would be good
*/
_jsdc = JSD_DebuggerOnForUser(rt, NULL, NULL);
if (!_jsdc)
return 1;
JSD_JSContextInUse(_jsdc, cx);
#ifdef JSD_LOWLEVEL_SOURCE
JS_SetSourceHandler(rt, SendSourceToJSDebugger, _jsdc);
#endif /* JSD_LOWLEVEL_SOURCE */
#ifdef JSDEBUGGER_JAVA_UI
_jsdjc = JSDJ_CreateContext();
if (! _jsdjc)
return 1;
JSDJ_SetJSDContext(_jsdjc, _jsdc);
java_env = JSDJ_CreateJavaVMAndStartDebugger(_jsdjc);
#ifdef LIVECONNECT
if (java_env)
(*java_env)->GetJavaVM(java_env, &java_vm);
#endif
/*
* XXX This would be the place to wait for the debugger to start.
* Waiting would be nice in general, but especially when a js file
* is passed on the cmd line.
*/
#endif /* JSDEBUGGER_JAVA_UI */
#ifdef JSDEBUGGER_C_UI
JSDB_InitDebugger(rt, _jsdc, 0);
#endif /* JSDEBUGGER_C_UI */
#endif /* JSDEBUGGER */
#ifdef LIVECONNECT
if (!JSJ_SimpleInit(cx, glob, java_vm, getenv("CLASSPATH")))
return 1;
#endif
envobj = JS_DefineObject(cx, glob, "environment", &env_class, NULL, 0);
if (!envobj || !JS_SetPrivate(cx, envobj, envp))
return 1;
#ifdef NARCISSUS
{
jsval v;
static const char Object_prototype[] = "Object.prototype";
if (!JS_DefineFunction(cx, glob, "snarf", snarf, 1, 0))
return 1;
if (!JS_DefineFunction(cx, glob, "evaluate", Evaluate, 3, 0))
return 1;
if (!JS_EvaluateScript(cx, glob,
Object_prototype, sizeof Object_prototype - 1,
NULL, 0, &v)) {
return 1;
}
if (!JS_DefineFunction(cx, JSVAL_TO_OBJECT(v), "__defineProperty__",
defineProperty, 5, 0)) {
return 1;
}
}
#endif
result = ProcessArgs(cx, glob, argv, argc);
#ifdef JSDEBUGGER
if (_jsdc)
JSD_DebuggerOff(_jsdc);
#endif /* JSDEBUGGER */
#ifdef JS_THREADSAFE
JS_EndRequest(cx);
#endif
JS_DestroyContext(cx);
JS_DestroyRuntime(rt);
JS_ShutDown();
return result;
}
pacparser-1.4.5/src/spidermonkey/js/src/js.mak 0000664 0000000 0000000 00000256170 14640107636 0021334 0 ustar 00root root 0000000 0000000 # Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
# TARGTYPE "Win32 (x86) Static Library" 0x0104
!IF "$(CFG)" == ""
CFG=jsshell - Win32 Debug
!MESSAGE No configuration specified. Defaulting to jsshell - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "js - Win32 Release" && "$(CFG)" != "js - Win32 Debug" &&\
"$(CFG)" != "jsshell - Win32 Release" && "$(CFG)" != "jsshell - Win32 Debug" &&\
"$(CFG)" != "jskwgen - Win32 Release" && "$(CFG)" != "jskwgen - Win32 Debug" &&\
"$(CFG)" != "fdlibm - Win32 Release" && "$(CFG)" != "fdlibm - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "js.mak" CFG="jsshell - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "js - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "js - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "jsshell - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "jsshell - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "jskwgen - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "jskwgen - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "fdlibm - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "fdlibm - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
# PROP Target_Last_Scanned "jsshell - Win32 Debug"
!IF "$(CFG)" == "js - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "js___Wi1"
# PROP BASE Intermediate_Dir "js___Wi1"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
OUTDIR=.\Release
INTDIR=.\Release
ALL : "fdlibm - Win32 Release" "jskwgen - Win32 Release" "$(OUTDIR)\js32.dll"
CLEAN :
-@erase "$(INTDIR)\jsapi.obj"
-@erase "$(INTDIR)\jsarena.obj"
-@erase "$(INTDIR)\jsarray.obj"
-@erase "$(INTDIR)\jsatom.obj"
-@erase "$(INTDIR)\jsbool.obj"
-@erase "$(INTDIR)\jscntxt.obj"
-@erase "$(INTDIR)\jsdate.obj"
-@erase "$(INTDIR)\jsdbgapi.obj"
-@erase "$(INTDIR)\jsdhash.obj"
-@erase "$(INTDIR)\jsdtoa.obj"
-@erase "$(INTDIR)\jsemit.obj"
-@erase "$(INTDIR)\jsexn.obj"
-@erase "$(INTDIR)\jsfun.obj"
-@erase "$(INTDIR)\jsgc.obj"
-@erase "$(INTDIR)\jshash.obj"
-@erase "$(INTDIR)\jsinterp.obj"
-@erase "$(INTDIR)\jslock.obj"
-@erase "$(INTDIR)\jslog2.obj"
-@erase "$(INTDIR)\jslong.obj"
-@erase "$(INTDIR)\jsmath.obj"
-@erase "$(INTDIR)\jsnum.obj"
-@erase "$(INTDIR)\jsobj.obj"
-@erase "$(INTDIR)\jsopcode.obj"
-@erase "$(INTDIR)\jsparse.obj"
-@erase "$(INTDIR)\jsprf.obj"
-@erase "$(INTDIR)\jsregexp.obj"
-@erase "$(INTDIR)\jsscan.obj"
-@erase "$(INTDIR)\jsscope.obj"
-@erase "$(INTDIR)\jsscript.obj"
-@erase "$(INTDIR)\jsstr.obj"
-@erase "$(INTDIR)\jsutil.obj"
-@erase "$(INTDIR)\jsxdrapi.obj"
-@erase "$(INTDIR)\jsxml.obj"
-@erase "$(INTDIR)\prmjtime.obj"
-@erase "$(INTDIR)\js.pch"
-@erase "$(INTDIR)\jsautokw.h"
-@erase "$(OUTDIR)\js32.dll"
-@erase "$(OUTDIR)\js32.exp"
-@erase "$(OUTDIR)\js32.lib"
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="fdlibm - Win32 Release" clean
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="jskwgen - Win32 Release" clean
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D _X86_=1 /D "_WINDOWS" /YX /c
# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D _X86_=1 /D "_WINDOWS" /D "WIN32" /D "XP_WIN" /D "JSFILE" /D "EXPORT_JS_API" /I"$(INTDIR)" /YX /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D _X86_=1 /D "_WINDOWS" /D "WIN32" /D\
"XP_WIN" /D "JSFILE" /D "EXPORT_JS_API" /Fp"$(INTDIR)/js.pch" /I"$(INTDIR)" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
MTL=mktyplib.exe
# ADD BASE MTL /nologo /D "NDEBUG" /win32
# ADD MTL /nologo /D "NDEBUG" /win32
MTL_PROJ=/nologo /D "NDEBUG" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/js.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"Release/js32.dll"
# SUBTRACT LINK32 /nodefaultlib
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
/pdb:"$(OUTDIR)/js32.pdb" /machine:I386 /out:"$(OUTDIR)/js32.dll"\
/implib:"$(OUTDIR)/js32.lib" /opt:ref /opt:noicf
LINK32_OBJS= \
"$(INTDIR)\jsapi.obj" \
"$(INTDIR)\jsarena.obj" \
"$(INTDIR)\jsarray.obj" \
"$(INTDIR)\jsatom.obj" \
"$(INTDIR)\jsbool.obj" \
"$(INTDIR)\jscntxt.obj" \
"$(INTDIR)\jsdate.obj" \
"$(INTDIR)\jsdbgapi.obj" \
"$(INTDIR)\jsdhash.obj" \
"$(INTDIR)\jsdtoa.obj" \
"$(INTDIR)\jsemit.obj" \
"$(INTDIR)\jsexn.obj" \
"$(INTDIR)\jsfun.obj" \
"$(INTDIR)\jsgc.obj" \
"$(INTDIR)\jshash.obj" \
"$(INTDIR)\jsinterp.obj" \
"$(INTDIR)\jslock.obj" \
"$(INTDIR)\jslog2.obj" \
"$(INTDIR)\jslong.obj" \
"$(INTDIR)\jsmath.obj" \
"$(INTDIR)\jsnum.obj" \
"$(INTDIR)\jsobj.obj" \
"$(INTDIR)\jsopcode.obj" \
"$(INTDIR)\jsparse.obj" \
"$(INTDIR)\jsprf.obj" \
"$(INTDIR)\jsregexp.obj" \
"$(INTDIR)\jsscan.obj" \
"$(INTDIR)\jsscope.obj" \
"$(INTDIR)\jsscript.obj" \
"$(INTDIR)\jsstr.obj" \
"$(INTDIR)\jsutil.obj" \
"$(INTDIR)\jsxdrapi.obj" \
"$(INTDIR)\jsxml.obj" \
"$(INTDIR)\prmjtime.obj" \
"$(OUTDIR)\fdlibm.lib"
"$(OUTDIR)\js32.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "js - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "js___Wi2"
# PROP BASE Intermediate_Dir "js___Wi2"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "fdlibm - Win32 Debug" "jskwgen - Win32 Debug" "$(OUTDIR)\js32.dll"
CLEAN :
-@erase "$(INTDIR)\jsapi.obj"
-@erase "$(INTDIR)\jsarena.obj"
-@erase "$(INTDIR)\jsarray.obj"
-@erase "$(INTDIR)\jsatom.obj"
-@erase "$(INTDIR)\jsbool.obj"
-@erase "$(INTDIR)\jscntxt.obj"
-@erase "$(INTDIR)\jsdate.obj"
-@erase "$(INTDIR)\jsdbgapi.obj"
-@erase "$(INTDIR)\jsdhash.obj"
-@erase "$(INTDIR)\jsdtoa.obj"
-@erase "$(INTDIR)\jsemit.obj"
-@erase "$(INTDIR)\jsexn.obj"
-@erase "$(INTDIR)\jsfun.obj"
-@erase "$(INTDIR)\jsgc.obj"
-@erase "$(INTDIR)\jshash.obj"
-@erase "$(INTDIR)\jsinterp.obj"
-@erase "$(INTDIR)\jslock.obj"
-@erase "$(INTDIR)\jslog2.obj"
-@erase "$(INTDIR)\jslong.obj"
-@erase "$(INTDIR)\jsmath.obj"
-@erase "$(INTDIR)\jsnum.obj"
-@erase "$(INTDIR)\jsobj.obj"
-@erase "$(INTDIR)\jsopcode.obj"
-@erase "$(INTDIR)\jsparse.obj"
-@erase "$(INTDIR)\jsprf.obj"
-@erase "$(INTDIR)\jsregexp.obj"
-@erase "$(INTDIR)\jsscan.obj"
-@erase "$(INTDIR)\jsscope.obj"
-@erase "$(INTDIR)\jsscript.obj"
-@erase "$(INTDIR)\jsstr.obj"
-@erase "$(INTDIR)\jsutil.obj"
-@erase "$(INTDIR)\jsxdrapi.obj"
-@erase "$(INTDIR)\jsxml.obj"
-@erase "$(INTDIR)\prmjtime.obj"
-@erase "$(INTDIR)\js.pch"
-@erase "$(INTDIR)\jsautokw.h"
-@erase "$(OUTDIR)\js32.dll"
-@erase "$(OUTDIR)\js32.exp"
-@erase "$(OUTDIR)\js32.ilk"
-@erase "$(OUTDIR)\js32.lib"
-@erase "$(OUTDIR)\js32.pdb"
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="fdlibm - Win32 Debug" clean
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="jskwgen - Win32 Debug" clean
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D _X86_=1 /D "_WINDOWS" /YX /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "DEBUG" /D _X86_=1 /D "_WINDOWS" /D "WIN32" /D "XP_WIN" /D "JSFILE" /D "EXPORT_JS_API" /I"$(INTDIR)" /YX /c
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "DEBUG" /D _X86_=1 /D "_WINDOWS"\
/D "WIN32" /D "XP_WIN" /D "JSFILE" /D "EXPORT_JS_API" /Fp"$(INTDIR)/js.pch" /I"$(INTDIR)" /YX\
/Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
MTL=mktyplib.exe
# ADD BASE MTL /nologo /D "_DEBUG" /win32
# ADD MTL /nologo /D "_DEBUG" /win32
MTL_PROJ=/nologo /D "_DEBUG" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/js.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"Debug/js32.dll"
# SUBTRACT LINK32 /nodefaultlib
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\
/pdb:"$(OUTDIR)/js32.pdb" /debug /machine:I386 /out:"$(OUTDIR)/js32.dll"\
/implib:"$(OUTDIR)/js32.lib"
LINK32_OBJS= \
"$(INTDIR)\jsapi.obj" \
"$(INTDIR)\jsarena.obj" \
"$(INTDIR)\jsarray.obj" \
"$(INTDIR)\jsatom.obj" \
"$(INTDIR)\jsbool.obj" \
"$(INTDIR)\jscntxt.obj" \
"$(INTDIR)\jsdate.obj" \
"$(INTDIR)\jsdbgapi.obj" \
"$(INTDIR)\jsdhash.obj" \
"$(INTDIR)\jsdtoa.obj" \
"$(INTDIR)\jsemit.obj" \
"$(INTDIR)\jsexn.obj" \
"$(INTDIR)\jsfun.obj" \
"$(INTDIR)\jsgc.obj" \
"$(INTDIR)\jshash.obj" \
"$(INTDIR)\jsinterp.obj" \
"$(INTDIR)\jslock.obj" \
"$(INTDIR)\jslog2.obj" \
"$(INTDIR)\jslong.obj" \
"$(INTDIR)\jsmath.obj" \
"$(INTDIR)\jsnum.obj" \
"$(INTDIR)\jsobj.obj" \
"$(INTDIR)\jsopcode.obj" \
"$(INTDIR)\jsparse.obj" \
"$(INTDIR)\jsprf.obj" \
"$(INTDIR)\jsregexp.obj" \
"$(INTDIR)\jsscan.obj" \
"$(INTDIR)\jsscope.obj" \
"$(INTDIR)\jsscript.obj" \
"$(INTDIR)\jsstr.obj" \
"$(INTDIR)\jsutil.obj" \
"$(INTDIR)\jsxdrapi.obj" \
"$(INTDIR)\jsxml.obj" \
"$(INTDIR)\prmjtime.obj" \
"$(OUTDIR)\fdlibm.lib"
"$(OUTDIR)\js32.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "jskwgen - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "jsshell\Release"
# PROP BASE Intermediate_Dir "jskwgen\Release"
# PROP BASE Target_Dir "jskwgen"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir "jskwgen"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(INTDIR)" "$(INTDIR)\host_jskwgen.exe"
CLEAN :
-@erase "$(INTDIR)\jskwgen.obj"
-@erase "$(INTDIR)\jskwgen.pch"
-@erase "$(INTDIR)\host_jskwgen.exe"
"$(INTDIR)" :
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "XP_WIN" /D "JSFILE" /YX /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D\
"XP_WIN" /D "JSFILE" /Fp"$(INTDIR)/jskwgen.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(INTDIR)/jskwgen.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:console /incremental:no\
/pdb:"$(INTDIR)/jskwgen.pdb" /machine:I386 /out:"$(INTDIR)/host_jskwgen.exe"
LINK32_OBJS= \
"$(INTDIR)\jskwgen.obj" \
"$(INTDIR)\host_jskwgen.exe" : "$(INTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "jskwgen - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "jsshell\Debug"
# PROP BASE Intermediate_Dir "jskwgen\Debug"
# PROP BASE Target_Dir "jskwgen"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir "jskwgen"
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "$(INTDIR)" "$(INTDIR)\host_jskwgen.exe"
CLEAN :
-@erase "$(INTDIR)\jskwgen.obj"
-@erase "$(INTDIR)\jskwgen.pch"
-@erase "$(INTDIR)\host_jskwgen.exe"
"$(INTDIR)" :
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "XP_WIN" /D "JSFILE" /YX /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D\
"XP_WIN" /D "JSFILE" /Fp"$(INTDIR)/jskwgen.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(INTDIR)/jskwgen.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:console /incremental:no\
/pdb:"$(INTDIR)/jskwgen.pdb" /machine:I386 /out:"$(INTDIR)/host_jskwgen.exe"
LINK32_OBJS= \
"$(INTDIR)\jskwgen.obj" \
"$(INTDIR)\host_jskwgen.exe" : "$(INTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "jsshell - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "jsshell\Release"
# PROP BASE Intermediate_Dir "jsshell\Release"
# PROP BASE Target_Dir "jsshell"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir "jsshell"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "js - Win32 Release" "$(OUTDIR)\jsshell.exe"
CLEAN :
-@erase "$(INTDIR)\js.obj"
-@erase "$(INTDIR)\jsshell.pch"
-@erase "$(OUTDIR)\jsshell.exe"
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="js - Win32 Release" clean
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "XP_WIN" /D "JSFILE" /I"$(INTDIR)" /YX /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D\
"XP_WIN" /D "JSFILE" /Fp"$(INTDIR)/jsshell.pch" /I"$(INTDIR)" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/jsshell.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:console /incremental:no\
/pdb:"$(OUTDIR)/jsshell.pdb" /machine:I386 /out:"$(OUTDIR)/jsshell.exe"
LINK32_OBJS= \
"$(INTDIR)\js.obj" \
"$(OUTDIR)\js32.lib"
"$(OUTDIR)\jsshell.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "jsshell - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "jsshell\jsshell_"
# PROP BASE Intermediate_Dir "jsshell\jsshell_"
# PROP BASE Target_Dir "jsshell"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir "jsshell"
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "js - Win32 Debug" "$(OUTDIR)\jsshell.exe"
CLEAN :
-@erase "$(INTDIR)\js.obj"
-@erase "$(INTDIR)\jsshell.pch"
-@erase "$(OUTDIR)\jsshell.exe"
-@erase "$(OUTDIR)\jsshell.ilk"
-@erase "$(OUTDIR)\jsshell.pdb"
-@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="js - Win32 Debug" clean
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_CONSOLE" /D "_DEBUG" /D "WIN32" /D "XP_WIN" /D "JSFILE" /D "DEBUG" /YX /c
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /D "_CONSOLE" /D "_DEBUG" /D "WIN32"\
/D "XP_WIN" /D "JSFILE" /D "DEBUG" /Fp"$(INTDIR)/jsshell.pch" /YX\
/Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/jsshell.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:console /incremental:yes\
/pdb:"$(OUTDIR)/jsshell.pdb" /debug /machine:I386 /out:"$(OUTDIR)/jsshell.exe"
LINK32_OBJS= \
"$(INTDIR)\js.obj" \
"$(OUTDIR)\js32.lib"
"$(OUTDIR)\jsshell.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "fdlibm - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "fdlibm\Release"
# PROP BASE Intermediate_Dir "fdlibm\Release"
# PROP BASE Target_Dir "fdlibm"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir "fdlibm"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\fdlibm.lib"
CLEAN :
-@erase "$(INTDIR)\e_atan2.obj"
-@erase "$(INTDIR)\e_pow.obj"
-@erase "$(INTDIR)\e_sqrt.obj"
-@erase "$(INTDIR)\k_standard.obj"
-@erase "$(INTDIR)\s_atan.obj"
-@erase "$(INTDIR)\s_copysign.obj"
-@erase "$(INTDIR)\s_fabs.obj"
-@erase "$(INTDIR)\s_finite.obj"
-@erase "$(INTDIR)\s_isnan.obj"
-@erase "$(INTDIR)\s_matherr.obj"
-@erase "$(INTDIR)\s_rint.obj"
-@erase "$(INTDIR)\s_scalbn.obj"
-@erase "$(INTDIR)\w_atan2.obj"
-@erase "$(INTDIR)\w_pow.obj"
-@erase "$(INTDIR)\w_sqrt.obj"
-@erase "$(INTDIR)\fdlibm.pch"
-@erase "$(OUTDIR)\fdlibm.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D _X86_=1 /D "_WINDOWS" /YX /c
# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D _X86_=1 /D "_WINDOWS" /D "_IEEE_LIBM" /YX /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D _X86_=1 /D "_WINDOWS" /D\
"_IEEE_LIBM" /D "XP_WIN" /I .\ /Fp"$(INTDIR)/fdlibm.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/fdlibm.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/fdlibm.lib"
LIB32_OBJS= \
"$(INTDIR)\e_atan2.obj" \
"$(INTDIR)\e_pow.obj" \
"$(INTDIR)\e_sqrt.obj" \
"$(INTDIR)\k_standard.obj" \
"$(INTDIR)\s_atan.obj" \
"$(INTDIR)\s_copysign.obj" \
"$(INTDIR)\s_fabs.obj" \
"$(INTDIR)\s_finite.obj" \
"$(INTDIR)\s_isnan.obj" \
"$(INTDIR)\s_matherr.obj" \
"$(INTDIR)\s_rint.obj" \
"$(INTDIR)\s_scalbn.obj" \
"$(INTDIR)\w_atan2.obj" \
"$(INTDIR)\w_pow.obj" \
"$(INTDIR)\w_sqrt.obj"
"$(OUTDIR)\fdlibm.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "fdlibm\Debug"
# PROP BASE Intermediate_Dir "fdlibm\Debug"
# PROP BASE Target_Dir "fdlibm"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir "fdlibm"
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "$(OUTDIR)\fdlibm.lib"
CLEAN :
-@erase "$(INTDIR)\e_atan2.obj"
-@erase "$(INTDIR)\e_pow.obj"
-@erase "$(INTDIR)\e_sqrt.obj"
-@erase "$(INTDIR)\k_standard.obj"
-@erase "$(INTDIR)\s_atan.obj"
-@erase "$(INTDIR)\s_copysign.obj"
-@erase "$(INTDIR)\s_fabs.obj"
-@erase "$(INTDIR)\s_finite.obj"
-@erase "$(INTDIR)\s_isnan.obj"
-@erase "$(INTDIR)\s_matherr.obj"
-@erase "$(INTDIR)\s_rint.obj"
-@erase "$(INTDIR)\s_scalbn.obj"
-@erase "$(INTDIR)\w_atan2.obj"
-@erase "$(INTDIR)\w_pow.obj"
-@erase "$(INTDIR)\w_sqrt.obj"
-@erase "$(INTDIR)\fdlibm.pch"
-@erase "$(OUTDIR)\fdlibm.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D _X86_=1 /D "_WINDOWS" /YX /c
# ADD CPP /nologo /MDd /W3 /GX /Z7 /Od /D "_DEBUG" /D "WIN32" /D _X86_=1 /D "_WINDOWS" /D "_IEEE_LIBM" /YX /c
CPP_PROJ=/nologo /MDd /W3 /GX /Z7 /Od /D "_DEBUG" /D "WIN32" /D _X86_=1 /D "_WINDOWS" /D\
"_IEEE_LIBM" /D "XP_WIN" -I .\ /Fp"$(INTDIR)/fdlibm.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/fdlibm.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/fdlibm.lib"
LIB32_OBJS= \
"$(INTDIR)\e_atan2.obj" \
"$(INTDIR)\e_pow.obj" \
"$(INTDIR)\e_sqrt.obj" \
"$(INTDIR)\k_standard.obj" \
"$(INTDIR)\s_atan.obj" \
"$(INTDIR)\s_copysign.obj" \
"$(INTDIR)\s_fabs.obj" \
"$(INTDIR)\s_finite.obj" \
"$(INTDIR)\s_isnan.obj" \
"$(INTDIR)\s_matherr.obj" \
"$(INTDIR)\s_rint.obj" \
"$(INTDIR)\s_scalbn.obj" \
"$(INTDIR)\w_atan2.obj" \
"$(INTDIR)\w_pow.obj" \
"$(INTDIR)\w_sqrt.obj"
"$(OUTDIR)\fdlibm.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ENDIF
################################################################################
# Begin Target
# Name "js - Win32 Release"
# Name "js - Win32 Debug"
!IF "$(CFG)" == "js - Win32 Release"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=.\jsapi.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSAPI=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdate.h"\
".\jsemit.h"\
".\jsexn.h"\
".\jsfile.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsmath.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSAPI=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsapi.obj" : $(SOURCE) $(DEP_CPP_JSAPI) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSAPI=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdate.h"\
".\jsemit.h"\
".\jsexn.h"\
".\jsfile.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsmath.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSAPI=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsapi.obj" : $(SOURCE) $(DEP_CPP_JSAPI) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsarena.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSARE=\
".\jsarena.h"\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsstddef.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSARE=\
".\jsautocfg.h"\
"$(INTDIR)\jsarena.obj" : $(SOURCE) $(DEP_CPP_JSARE) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSARE=\
".\jsarena.h"\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsstddef.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSARE=\
".\jsautocfg.h"\
"$(INTDIR)\jsarena.obj" : $(SOURCE) $(DEP_CPP_JSARE) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsarray.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSARR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSARR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsarray.obj" : $(SOURCE) $(DEP_CPP_JSARR) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSARR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSARR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsarray.obj" : $(SOURCE) $(DEP_CPP_JSARR) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsatom.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSATO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSATO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsatom.obj" : $(SOURCE) $(DEP_CPP_JSATO) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSATO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSATO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsatom.obj" : $(SOURCE) $(DEP_CPP_JSATO) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsbool.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSBOO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSBOO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsbool.obj" : $(SOURCE) $(DEP_CPP_JSBOO) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSBOO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSBOO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsbool.obj" : $(SOURCE) $(DEP_CPP_JSBOO) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jscntxt.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSCNT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSCNT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jscntxt.obj" : $(SOURCE) $(DEP_CPP_JSCNT) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSCNT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSCNT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jscntxt.obj" : $(SOURCE) $(DEP_CPP_JSCNT) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsdate.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSDAT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdate.h"\
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDAT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsdate.obj" : $(SOURCE) $(DEP_CPP_JSDAT) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSDAT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdate.h"\
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDAT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsdate.obj" : $(SOURCE) $(DEP_CPP_JSDAT) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsdbgapi.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSDBG=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDBG=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsdbgapi.obj" : $(SOURCE) $(DEP_CPP_JSDBG) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSDBG=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDBG=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsdbgapi.obj" : $(SOURCE) $(DEP_CPP_JSDBG) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsdhash.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSDHA=\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jsdhash.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDHA=\
".\jsautocfg.h"\
"$(INTDIR)\jsdhash.obj" : $(SOURCE) $(DEP_CPP_JSDHA) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSDHA=\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jsdhash.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDHA=\
".\jsautocfg.h"\
"$(INTDIR)\jsdhash.obj" : $(SOURCE) $(DEP_CPP_JSDHA) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsdtoa.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSDTO=\
".\jscompat.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsstddef.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDTO=\
".\jsautocfg.h"\
".\prlock.h"\
"$(INTDIR)\jsdtoa.obj" : $(SOURCE) $(DEP_CPP_JSDTO) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSDTO=\
".\jscompat.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsstddef.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSDTO=\
".\jsautocfg.h"\
".\prlock.h"\
"$(INTDIR)\jsdtoa.obj" : $(SOURCE) $(DEP_CPP_JSDTO) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsemit.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSEMI=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSEMI=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsemit.obj" : $(SOURCE) $(DEP_CPP_JSEMI) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSEMI=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSEMI=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsemit.obj" : $(SOURCE) $(DEP_CPP_JSEMI) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsexn.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSEXN=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsexn.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSEXN=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsexn.obj" : $(SOURCE) $(DEP_CPP_JSEXN) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSEXN=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsexn.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSEXN=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsexn.obj" : $(SOURCE) $(DEP_CPP_JSEXN) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsfun.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSFUN=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSFUN=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsfun.obj" : $(SOURCE) $(DEP_CPP_JSFUN) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSFUN=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSFUN=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsfun.obj" : $(SOURCE) $(DEP_CPP_JSFUN) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsgc.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSGC_=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSGC_=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsgc.obj" : $(SOURCE) $(DEP_CPP_JSGC_) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSGC_=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSGC_=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsgc.obj" : $(SOURCE) $(DEP_CPP_JSGC_) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jshash.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSHAS=\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jshash.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSHAS=\
".\jsautocfg.h"\
"$(INTDIR)\jshash.obj" : $(SOURCE) $(DEP_CPP_JSHAS) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSHAS=\
".\jsbit.h"\
".\jscompat.h"\
".\jscpucfg.h"\
".\jshash.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSHAS=\
".\jsautocfg.h"\
"$(INTDIR)\jshash.obj" : $(SOURCE) $(DEP_CPP_JSHAS) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsinterp.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSINT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSINT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsinterp.obj" : $(SOURCE) $(DEP_CPP_JSINT) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSINT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSINT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsinterp.obj" : $(SOURCE) $(DEP_CPP_JSINT) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jslock.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSLOC=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLOC=\
".\jsautocfg.h"\
".\pratom.h"\
".\prcvar.h"\
".\prlock.h"\
".\prthread.h"\
"$(INTDIR)\jslock.obj" : $(SOURCE) $(DEP_CPP_JSLOC) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSLOC=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLOC=\
".\jsautocfg.h"\
".\pratom.h"\
".\prcvar.h"\
".\prlock.h"\
".\prthread.h"\
"$(INTDIR)\jslock.obj" : $(SOURCE) $(DEP_CPP_JSLOC) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jslog2.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSLOG=\
".\jsbit.h"\
".\jscpucfg.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLOG=\
".\jsautocfg.h"\
"$(INTDIR)\jslog2.obj" : $(SOURCE) $(DEP_CPP_JSLOG) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSLOG=\
".\jsbit.h"\
".\jscpucfg.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLOG=\
".\jsautocfg.h"\
"$(INTDIR)\jslog2.obj" : $(SOURCE) $(DEP_CPP_JSLOG) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jslong.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSLON=\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLON=\
".\jsautocfg.h"\
"$(INTDIR)\jslong.obj" : $(SOURCE) $(DEP_CPP_JSLON) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSLON=\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jstypes.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSLON=\
".\jsautocfg.h"\
"$(INTDIR)\jslong.obj" : $(SOURCE) $(DEP_CPP_JSLON) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsmath.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSMAT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslibmath.h"\
".\jslock.h"\
".\jslong.h"\
".\jsmath.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSMAT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsmath.obj" : $(SOURCE) $(DEP_CPP_JSMAT) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSMAT=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslibmath.h"\
".\jslock.h"\
".\jslong.h"\
".\jsmath.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSMAT=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsmath.obj" : $(SOURCE) $(DEP_CPP_JSMAT) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsnum.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSNUM=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSNUM=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsnum.obj" : $(SOURCE) $(DEP_CPP_JSNUM) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSNUM=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSNUM=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsnum.obj" : $(SOURCE) $(DEP_CPP_JSNUM) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsobj.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSOBJ=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSOBJ=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsobj.obj" : $(SOURCE) $(DEP_CPP_JSOBJ) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSOBJ=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSOBJ=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsobj.obj" : $(SOURCE) $(DEP_CPP_JSOBJ) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsopcode.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSOPC=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsdtoa.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSOPC=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsopcode.obj" : $(SOURCE) $(DEP_CPP_JSOPC) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSOPC=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsdtoa.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSOPC=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsopcode.obj" : $(SOURCE) $(DEP_CPP_JSOPC) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsparse.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSPAR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSPAR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsparse.obj" : $(SOURCE) $(DEP_CPP_JSPAR) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSPAR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSPAR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsparse.obj" : $(SOURCE) $(DEP_CPP_JSPAR) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsprf.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSPRF=\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSPRF=\
".\jsautocfg.h"\
"$(INTDIR)\jsprf.obj" : $(SOURCE) $(DEP_CPP_JSPRF) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSPRF=\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSPRF=\
".\jsautocfg.h"\
"$(INTDIR)\jsprf.obj" : $(SOURCE) $(DEP_CPP_JSPRF) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsregexp.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSREG=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSREG=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsregexp.obj" : $(SOURCE) $(DEP_CPP_JSREG) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSREG=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSREG=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsregexp.obj" : $(SOURCE) $(DEP_CPP_JSREG) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsscan.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSSCA=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSCA=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscan.obj" : $(SOURCE) $(DEP_CPP_JSSCA) "$(INTDIR)" "$(INTDIR)\jsautokw.h"
"$(INTDIR)\jsautokw.h" : $(INTDIR)\host_jskwgen.exe jskeyword.tbl
$(INTDIR)\host_jskwgen.exe $(INTDIR)\jsautokw.h
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSSCA=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdtoa.h"\
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
$(INTDIR)\jsautokw.h \
NODEP_CPP_JSSCA=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscan.obj" : $(SOURCE) $(DEP_CPP_JSSCA) "$(INTDIR)"
"$(INTDIR)\jsautokw.h" : $(INTDIR)\host_jskwgen.exe jskeyword.tbl
$(INTDIR)\host_jskwgen.exe $(INTDIR)\jsautokw.h
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jskwgen.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSSCO=\
".\jskwgen.c"\
{$(INCLUDE)}"\sys\types.h"\
"$(INTDIR)\jskwgen.obj" : $(SOURCE) $(DEP_CPP_JSSCO) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSSCO=\
".\jskwgen.c"\
{$(INCLUDE)}"\sys\types.h"\
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib /nologo /subsystem:console /incremental:no\
/pdb:"$(INTDIR)/host_jskwgen.pdb" /machine:I386 /out:"$(INTDIR)/host_jskwgen.exe"
LINK32_OBJS= \
"$(INTDIR)\jskwgen.obj"
"$(INTDIR)\host_jskwgen.exe" : "$(INTDIR)" $(SOURCE) $(DEP_CPP_JSSCO) "$(INTDIR)"
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsscope.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSSCO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSCO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscope.obj" : $(SOURCE) $(DEP_CPP_JSSCO) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSSCO=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSCO=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscope.obj" : $(SOURCE) $(DEP_CPP_JSSCO) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsscript.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSSCR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSCR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscript.obj" : $(SOURCE) $(DEP_CPP_JSSCR) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSSCR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSCR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsscript.obj" : $(SOURCE) $(DEP_CPP_JSSCR) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsstr.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSSTR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSTR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsstr.obj" : $(SOURCE) $(DEP_CPP_JSSTR) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSSTR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbool.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSSTR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsstr.obj" : $(SOURCE) $(DEP_CPP_JSSTR) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsutil.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSUTI=\
".\jscpucfg.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSUTI=\
".\jsautocfg.h"\
"$(INTDIR)\jsutil.obj" : $(SOURCE) $(DEP_CPP_JSUTI) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSUTI=\
".\jscpucfg.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSUTI=\
".\jsautocfg.h"\
"$(INTDIR)\jsutil.obj" : $(SOURCE) $(DEP_CPP_JSUTI) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsxdrapi.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSXDR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSXDR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsxdrapi.obj" : $(SOURCE) $(DEP_CPP_JSXDR) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSXDR=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscope.h"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxdrapi.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSXDR=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsxdrapi.obj" : $(SOURCE) $(DEP_CPP_JSXDR) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\jsxml.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_JSXML=\
".\js.msg"\
".\jsapi.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbit.h"\
".\jsbool.h"\
".\jscntxt.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSXML=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsxml.obj" : $(SOURCE) $(DEP_CPP_JSXML) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_JSXML=\
".\js.msg"\
".\jsapi.h"\
".\jsarray.h"\
".\jsatom.h"\
".\jsbit.h"\
".\jsbool.h"\
".\jscntxt.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jsnum.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsparse.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
".\jsxml.h"\
".\jsprf.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JSXML=\
".\jsautocfg.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\jsxml.obj" : $(SOURCE) $(DEP_CPP_JSXML) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\prmjtime.c
!IF "$(CFG)" == "js - Win32 Release"
DEP_CPP_PRMJT=\
".\jscompat.h"\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\TIMEB.H"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_PRMJT=\
".\jsautocfg.h"\
"$(INTDIR)\prmjtime.obj" : $(SOURCE) $(DEP_CPP_PRMJT) "$(INTDIR)"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
DEP_CPP_PRMJT=\
".\jscompat.h"\
".\jscpucfg.h"\
".\jslong.h"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsprf.h"\
".\jstypes.h"\
".\prmjtime.h"\
{$(INCLUDE)}"\sys\TIMEB.H"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_PRMJT=\
".\jsautocfg.h"\
"$(INTDIR)\prmjtime.obj" : $(SOURCE) $(DEP_CPP_PRMJT) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Project Dependency
# Project_Dep_Name "fdlibm"
!IF "$(CFG)" == "js - Win32 Debug"
"fdlibm - Win32 Debug" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="fdlibm - Win32 Debug"
!ELSEIF "$(CFG)" == "js - Win32 Release"
"fdlibm - Win32 Release" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="fdlibm - Win32 Release"
!ENDIF
# End Project Dependency
# End Target
################################################################################
# Begin Target
# Name "jsshell - Win32 Release"
# Name "jsshell - Win32 Debug"
!IF "$(CFG)" == "jsshell - Win32 Release"
!ELSEIF "$(CFG)" == "jsshell - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=.\js.c
DEP_CPP_JS_C42=\
".\js.msg"\
".\jsapi.h"\
".\jsarena.h"\
".\jsatom.h"\
".\jsclist.h"\
".\jscntxt.h"\
".\jscompat.h"\
".\jsconfig.h"\
".\jscpucfg.h"\
".\jsdbgapi.h"\
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
".\jsobj.h"\
".\jsopcode.h"\
".\jsopcode.tbl"\
".\jsosdep.h"\
".\jsotypes.h"\
".\jsparse.h"\
".\jsprf.h"\
".\jsprvtd.h"\
".\jspubtd.h"\
".\jsregexp.h"\
".\jsscan.h"\
".\jsscope.h"\
".\jsscript.h"\
".\jsshell.msg"\
".\jsstddef.h"\
".\jsstr.h"\
".\jstypes.h"\
".\jsutil.h"\
{$(INCLUDE)}"\sys\types.h"\
NODEP_CPP_JS_C42=\
".\jsautocfg.h"\
".\jsdb.h"\
".\jsdebug.h"\
".\jsdjava.h"\
".\jsjava.h"\
".\jsperl.h"\
".\prcvar.h"\
".\prlock.h"\
"$(INTDIR)\js.obj" : $(SOURCE) $(DEP_CPP_JS_C42) "$(INTDIR)"
# End Source File
################################################################################
# Begin Project Dependency
# Project_Dep_Name "jskwgen"
!IF "$(CFG)" == "js - Win32 Release"
"jskwgen - Win32 Release" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="jskwgen - Win32 Release"
!ELSEIF "$(CFG)" == "js - Win32 Debug"
"jskwgen - Win32 Debug" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="jskwgen - Win32 Debug"
!ENDIF
# End Project Dependency
# End Target
################################################################################
# Begin Project Dependency
# Project_Dep_Name "js"
!IF "$(CFG)" == "jsshell - Win32 Release"
"js - Win32 Release" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="js - Win32 Release"
!ELSEIF "$(CFG)" == "jsshell - Win32 Debug"
"js - Win32 Debug" :
@$(MAKE) /nologo /$(MAKEFLAGS) /F ".\js.mak" CFG="js - Win32 Debug"
!ENDIF
# End Project Dependency
# End Target
################################################################################
# Begin Target
# Name "fdlibm - Win32 Release"
# Name "fdlibm - Win32 Debug"
!IF "$(CFG)" == "fdlibm - Win32 Release"
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=.\fdlibm\w_atan2.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_W_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_atan2.obj" : $(SOURCE) $(DEP_CPP_W_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_W_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_atan2.obj" : $(SOURCE) $(DEP_CPP_W_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_copysign.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_COP=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_copysign.obj" : $(SOURCE) $(DEP_CPP_S_COP) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_COP=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_copysign.obj" : $(SOURCE) $(DEP_CPP_S_COP) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\w_pow.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_W_POW=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_pow.obj" : $(SOURCE) $(DEP_CPP_W_POW) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_W_POW=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_pow.obj" : $(SOURCE) $(DEP_CPP_W_POW) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\e_pow.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_E_POW=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_pow.obj" : $(SOURCE) $(DEP_CPP_E_POW) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_E_POW=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_pow.obj" : $(SOURCE) $(DEP_CPP_E_POW) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\k_standard.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_K_STA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\k_standard.obj" : $(SOURCE) $(DEP_CPP_K_STA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_K_STA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\k_standard.obj" : $(SOURCE) $(DEP_CPP_K_STA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\e_atan2.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_E_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_atan2.obj" : $(SOURCE) $(DEP_CPP_E_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_E_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_atan2.obj" : $(SOURCE) $(DEP_CPP_E_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_isnan.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_ISN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_isnan.obj" : $(SOURCE) $(DEP_CPP_S_ISN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_ISN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_isnan.obj" : $(SOURCE) $(DEP_CPP_S_ISN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_fabs.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_FAB=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_fabs.obj" : $(SOURCE) $(DEP_CPP_S_FAB) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_FAB=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_fabs.obj" : $(SOURCE) $(DEP_CPP_S_FAB) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\w_sqrt.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_W_SQR=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_sqrt.obj" : $(SOURCE) $(DEP_CPP_W_SQR) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_W_SQR=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\w_sqrt.obj" : $(SOURCE) $(DEP_CPP_W_SQR) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_scalbn.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_SCA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_scalbn.obj" : $(SOURCE) $(DEP_CPP_S_SCA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_SCA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_scalbn.obj" : $(SOURCE) $(DEP_CPP_S_SCA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\e_sqrt.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_E_SQR=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_sqrt.obj" : $(SOURCE) $(DEP_CPP_E_SQR) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_E_SQR=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\e_sqrt.obj" : $(SOURCE) $(DEP_CPP_E_SQR) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_rint.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_RIN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_rint.obj" : $(SOURCE) $(DEP_CPP_S_RIN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_RIN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_rint.obj" : $(SOURCE) $(DEP_CPP_S_RIN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_atan.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_atan.obj" : $(SOURCE) $(DEP_CPP_S_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_ATA=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_atan.obj" : $(SOURCE) $(DEP_CPP_S_ATA) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_finite.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_FIN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_finite.obj" : $(SOURCE) $(DEP_CPP_S_FIN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_FIN=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_finite.obj" : $(SOURCE) $(DEP_CPP_S_FIN) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\fdlibm\s_matherr.c
!IF "$(CFG)" == "fdlibm - Win32 Release"
DEP_CPP_S_MAT=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_matherr.obj" : $(SOURCE) $(DEP_CPP_S_MAT) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "fdlibm - Win32 Debug"
DEP_CPP_S_MAT=\
".\fdlibm\fdlibm.h"\
"$(INTDIR)\s_matherr.obj" : $(SOURCE) $(DEP_CPP_S_MAT) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
# End Source File
# End Target
# End Project
################################################################################
pacparser-1.4.5/src/spidermonkey/js/src/js.mdp 0000664 0000000 0000000 00000043002 14640107636 0021330 0 ustar 00root root 0000000 0000000 JSG0 Z ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿN - Y # ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ vcbks40.mvbûÙ&e