jbarnette-johnson 1.0.0.20090326161333 → 1.0.0.20090402144841
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.rdoc +8 -3
- data/Rakefile +1 -0
- data/ext/spidermonkey/runtime.c +36 -12
- data/johnson.gemspec +5 -5
- data/lib/johnson/runtime.rb +1 -1
- data/lib/johnson/spidermonkey/runtime.rb +9 -0
- data/lib/tasks/testing.rake +8 -8
- data/vendor/spidermonkey/Makefile.in +0 -13
- data/vendor/spidermonkey/Makefile.ref +1 -0
- data/vendor/spidermonkey/config.mk +0 -4
- data/vendor/spidermonkey/fdlibm/fdlibm.mak +1453 -1453
- data/vendor/spidermonkey/js.msg +1 -0
- data/vendor/spidermonkey/jsapi.c +1 -1
- data/vendor/spidermonkey/jsarray.c +38 -30
- data/vendor/spidermonkey/jsarray.h +3 -0
- data/vendor/spidermonkey/jscpucfg.c +14 -1
- data/vendor/spidermonkey/jsdate.c +17 -25
- data/vendor/spidermonkey/jsdbgapi.c +6 -3
- data/vendor/spidermonkey/jsgc.c +10 -2
- data/vendor/spidermonkey/jsinterp.c +77 -51
- data/vendor/spidermonkey/jsinterp.h +5 -1
- data/vendor/spidermonkey/jsmath.c +1 -2
- data/vendor/spidermonkey/jsnum.c +19 -8
- data/vendor/spidermonkey/jsobj.c +27 -11
- data/vendor/spidermonkey/jsopcode.c +1 -1
- data/vendor/spidermonkey/jsparse.c +33 -9
- data/vendor/spidermonkey/jsregexp.c +15 -3
- data/vendor/spidermonkey/jsscan.c +142 -133
- data/vendor/spidermonkey/jsscope.c +12 -3
- data/vendor/spidermonkey/jsscope.h +2 -2
- data/vendor/spidermonkey/jsstr.c +5 -4
- data/vendor/spidermonkey/jsxml.c +82 -77
- metadata +3 -3
- data/MINGW32.mk +0 -124
- data/vendor/spidermonkey/config/FreeBSD.mk +0 -103
- data/vendor/spidermonkey/js.mak +0 -4438
data/vendor/spidermonkey/jsxml.c
CHANGED
@@ -728,7 +728,8 @@ js_IsXMLName(JSContext *cx, jsval v)
|
|
728
728
|
}
|
729
729
|
|
730
730
|
static JSBool
|
731
|
-
|
731
|
+
NamespaceHelper(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
|
732
|
+
jsval *rval)
|
732
733
|
{
|
733
734
|
jsval urival, prefixval;
|
734
735
|
JSObject *uriobj;
|
@@ -750,7 +751,7 @@ Namespace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
|
750
751
|
else uriobj = NULL;
|
751
752
|
#endif
|
752
753
|
|
753
|
-
if (!
|
754
|
+
if (!obj) {
|
754
755
|
/* Namespace called as function. */
|
755
756
|
if (argc == 1 && isNamespace) {
|
756
757
|
/* Namespace called with one Namespace argument is identity. */
|
@@ -837,22 +838,32 @@ Namespace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
|
837
838
|
}
|
838
839
|
|
839
840
|
static JSBool
|
840
|
-
|
841
|
+
Namespace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
842
|
+
{
|
843
|
+
return NamespaceHelper(cx,
|
844
|
+
(cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
|
845
|
+
argc, argv, rval);
|
846
|
+
}
|
847
|
+
|
848
|
+
static JSBool
|
849
|
+
QNameHelper(JSContext *cx, JSObject *obj, JSClass *clasp, uintN argc,
|
850
|
+
jsval *argv, jsval *rval)
|
841
851
|
{
|
842
852
|
jsval nameval, nsval;
|
843
853
|
JSBool isQName, isNamespace;
|
844
854
|
JSXMLQName *qn;
|
845
855
|
JSString *uri, *prefix, *name;
|
846
856
|
JSObject *nsobj;
|
847
|
-
JSClass *clasp;
|
848
857
|
JSXMLNamespace *ns;
|
849
858
|
|
859
|
+
JS_ASSERT(clasp == &js_QNameClass.base ||
|
860
|
+
clasp == &js_AttributeNameClass);
|
850
861
|
nameval = argv[argc > 1];
|
851
862
|
isQName =
|
852
863
|
!JSVAL_IS_PRIMITIVE(nameval) &&
|
853
864
|
OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(nameval)) == &js_QNameClass.base;
|
854
865
|
|
855
|
-
if (!
|
866
|
+
if (!obj) {
|
856
867
|
/* QName called as function. */
|
857
868
|
if (argc == 1 && isQName) {
|
858
869
|
/* QName called with one QName argument is identity. */
|
@@ -861,13 +872,10 @@ QName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
|
861
872
|
}
|
862
873
|
|
863
874
|
/*
|
864
|
-
* Create and return a new QName object exactly as if
|
865
|
-
*
|
866
|
-
* (see below after this function).
|
875
|
+
* Create and return a new QName or AttributeName object exactly as if
|
876
|
+
* constructed.
|
867
877
|
*/
|
868
|
-
obj = js_NewObject(cx,
|
869
|
-
JS_ValueToFunction(cx, argv[-2])->u.n.clasp,
|
870
|
-
NULL, NULL, 0);
|
878
|
+
obj = js_NewObject(cx, clasp, NULL, NULL, 0);
|
871
879
|
if (!obj)
|
872
880
|
return JS_FALSE;
|
873
881
|
*rval = OBJECT_TO_JSVAL(obj);
|
@@ -961,15 +969,19 @@ out:
|
|
961
969
|
return JS_TRUE;
|
962
970
|
}
|
963
971
|
|
972
|
+
static JSBool
|
973
|
+
QName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
974
|
+
{
|
975
|
+
return QNameHelper(cx, (cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
|
976
|
+
&js_QNameClass.base, argc, argv, rval);
|
977
|
+
}
|
978
|
+
|
964
979
|
static JSBool
|
965
980
|
AttributeName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
|
966
981
|
jsval *rval)
|
967
982
|
{
|
968
|
-
|
969
|
-
|
970
|
-
* class, not js_QNameClass.
|
971
|
-
*/
|
972
|
-
return QName(cx, obj, argc, argv, rval);
|
983
|
+
return QNameHelper(cx, (cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
|
984
|
+
&js_AttributeNameClass, argc, argv, rval);
|
973
985
|
}
|
974
986
|
|
975
987
|
/*
|
@@ -1963,6 +1975,7 @@ ParseXMLSource(JSContext *cx, JSString *src)
|
|
1963
1975
|
{
|
1964
1976
|
jsval nsval;
|
1965
1977
|
JSXMLNamespace *ns;
|
1978
|
+
JSString *uri;
|
1966
1979
|
size_t urilen, srclen, length, offset, dstlen;
|
1967
1980
|
jschar *chars;
|
1968
1981
|
const jschar *srcp, *endp;
|
@@ -1976,8 +1989,8 @@ ParseXMLSource(JSContext *cx, JSString *src)
|
|
1976
1989
|
JSXMLArray nsarray;
|
1977
1990
|
uintN flags;
|
1978
1991
|
|
1979
|
-
static const char prefix[] = "<parent xmlns
|
1980
|
-
static const char middle[] = "
|
1992
|
+
static const char prefix[] = "<parent xmlns=\"";
|
1993
|
+
static const char middle[] = "\">";
|
1981
1994
|
static const char suffix[] = "</parent>";
|
1982
1995
|
|
1983
1996
|
#define constrlen(constr) (sizeof(constr) - 1)
|
@@ -1985,8 +1998,9 @@ ParseXMLSource(JSContext *cx, JSString *src)
|
|
1985
1998
|
if (!js_GetDefaultXMLNamespace(cx, &nsval))
|
1986
1999
|
return NULL;
|
1987
2000
|
ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(nsval));
|
2001
|
+
uri = js_EscapeAttributeValue(cx, ns->uri, JS_FALSE);
|
1988
2002
|
|
1989
|
-
urilen = JSSTRING_LENGTH(
|
2003
|
+
urilen = JSSTRING_LENGTH(uri);
|
1990
2004
|
srclen = JSSTRING_LENGTH(src);
|
1991
2005
|
length = constrlen(prefix) + urilen + constrlen(middle) + srclen +
|
1992
2006
|
constrlen(suffix);
|
@@ -1998,7 +2012,7 @@ ParseXMLSource(JSContext *cx, JSString *src)
|
|
1998
2012
|
dstlen = length;
|
1999
2013
|
js_InflateStringToBuffer(cx, prefix, constrlen(prefix), chars, &dstlen);
|
2000
2014
|
offset = dstlen;
|
2001
|
-
js_strncpy(chars + offset, JSSTRING_CHARS(
|
2015
|
+
js_strncpy(chars + offset, JSSTRING_CHARS(uri), urilen);
|
2002
2016
|
offset += urilen;
|
2003
2017
|
dstlen = length - offset + 1;
|
2004
2018
|
js_InflateStringToBuffer(cx, middle, constrlen(middle), chars + offset,
|
@@ -5587,21 +5601,6 @@ JS_FRIEND_DATA(JSClass) js_XMLClass = {
|
|
5587
5601
|
NULL, NULL, JS_CLASS_TRACE(xml_trace), NULL
|
5588
5602
|
};
|
5589
5603
|
|
5590
|
-
static JSObject *
|
5591
|
-
CallConstructorFunction(JSContext *cx, JSObject *obj, JSClass *clasp,
|
5592
|
-
uintN argc, jsval *argv)
|
5593
|
-
{
|
5594
|
-
JSObject *tmp;
|
5595
|
-
jsval rval;
|
5596
|
-
|
5597
|
-
while ((tmp = OBJ_GET_PARENT(cx, obj)) != NULL)
|
5598
|
-
obj = tmp;
|
5599
|
-
if (!JS_CallFunctionName(cx, obj, clasp->name, argc, argv, &rval))
|
5600
|
-
return NULL;
|
5601
|
-
JS_ASSERT(!JSVAL_IS_PRIMITIVE(rval));
|
5602
|
-
return JSVAL_TO_OBJECT(rval);
|
5603
|
-
}
|
5604
|
-
|
5605
5604
|
static JSXML *
|
5606
5605
|
StartNonListXMLMethod(JSContext *cx, jsval *vp, JSObject **objp)
|
5607
5606
|
{
|
@@ -5652,26 +5651,25 @@ StartNonListXMLMethod(JSContext *cx, jsval *vp, JSObject **objp)
|
|
5652
5651
|
static JSBool
|
5653
5652
|
xml_addNamespace(JSContext *cx, uintN argc, jsval *vp)
|
5654
5653
|
{
|
5655
|
-
JSObject *nsobj;
|
5656
5654
|
JSXMLNamespace *ns;
|
5657
5655
|
|
5658
5656
|
NON_LIST_XML_METHOD_PROLOG;
|
5659
5657
|
if (xml->xml_class != JSXML_CLASS_ELEMENT)
|
5660
|
-
|
5658
|
+
goto done;
|
5661
5659
|
xml = CHECK_COPY_ON_WRITE(cx, xml, obj);
|
5662
5660
|
if (!xml)
|
5663
5661
|
return JS_FALSE;
|
5664
5662
|
|
5665
|
-
|
5666
|
-
vp + 2);
|
5667
|
-
if (!nsobj)
|
5663
|
+
if (!NamespaceHelper(cx, NULL, 1, vp + 2, vp))
|
5668
5664
|
return JS_FALSE;
|
5669
|
-
vp
|
5670
|
-
|
5671
|
-
ns = (JSXMLNamespace *) JS_GetPrivate(cx,
|
5665
|
+
JS_ASSERT(!JSVAL_IS_PRIMITIVE(*vp));
|
5666
|
+
|
5667
|
+
ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*vp));
|
5672
5668
|
if (!AddInScopeNamespace(cx, xml, ns))
|
5673
5669
|
return JS_FALSE;
|
5674
5670
|
ns->declared = JS_TRUE;
|
5671
|
+
|
5672
|
+
done:
|
5675
5673
|
*vp = OBJECT_TO_JSVAL(obj);
|
5676
5674
|
return JS_TRUE;
|
5677
5675
|
}
|
@@ -6791,40 +6789,39 @@ xml_removeNamespace_helper(JSContext *cx, JSXML *xml, JSXMLNamespace *ns)
|
|
6791
6789
|
static JSBool
|
6792
6790
|
xml_removeNamespace(JSContext *cx, uintN argc, jsval *vp)
|
6793
6791
|
{
|
6794
|
-
JSObject *nsobj;
|
6795
6792
|
JSXMLNamespace *ns;
|
6796
6793
|
|
6797
6794
|
NON_LIST_XML_METHOD_PROLOG;
|
6798
|
-
*vp = OBJECT_TO_JSVAL(obj);
|
6799
6795
|
if (xml->xml_class != JSXML_CLASS_ELEMENT)
|
6800
|
-
|
6796
|
+
goto done;
|
6801
6797
|
xml = CHECK_COPY_ON_WRITE(cx, xml, obj);
|
6802
6798
|
if (!xml)
|
6803
6799
|
return JS_FALSE;
|
6804
6800
|
|
6805
|
-
|
6806
|
-
if (!nsobj)
|
6801
|
+
if (!NamespaceHelper(cx, NULL, 1, vp + 2, vp))
|
6807
6802
|
return JS_FALSE;
|
6808
|
-
vp
|
6809
|
-
ns = (JSXMLNamespace *) JS_GetPrivate(cx,
|
6803
|
+
JS_ASSERT(!JSVAL_IS_PRIMITIVE(*vp));
|
6804
|
+
ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*vp));
|
6810
6805
|
|
6811
6806
|
/* NOTE: remove ns from each ancestor if not used by that ancestor. */
|
6812
|
-
|
6807
|
+
if (!xml_removeNamespace_helper(cx, xml, ns))
|
6808
|
+
return JS_FALSE;
|
6809
|
+
done:
|
6810
|
+
*vp = OBJECT_TO_JSVAL(obj);
|
6811
|
+
return JS_TRUE;
|
6813
6812
|
}
|
6814
6813
|
|
6815
6814
|
static JSBool
|
6816
6815
|
xml_replace(JSContext *cx, uintN argc, jsval *vp)
|
6817
6816
|
{
|
6818
|
-
jsval
|
6817
|
+
jsval value;
|
6819
6818
|
JSXML *vxml, *kid;
|
6820
|
-
uint32 index,
|
6821
|
-
JSObject *nameobj;
|
6819
|
+
uint32 index, i;
|
6822
6820
|
JSXMLQName *nameqn;
|
6823
6821
|
|
6824
6822
|
NON_LIST_XML_METHOD_PROLOG;
|
6825
|
-
*vp = OBJECT_TO_JSVAL(obj);
|
6826
6823
|
if (xml->xml_class != JSXML_CLASS_ELEMENT)
|
6827
|
-
|
6824
|
+
goto done;
|
6828
6825
|
|
6829
6826
|
value = vp[3];
|
6830
6827
|
vxml = VALUE_IS_XML(cx, value)
|
@@ -6845,30 +6842,38 @@ xml_replace(JSContext *cx, uintN argc, jsval *vp)
|
|
6845
6842
|
if (!xml)
|
6846
6843
|
return JS_FALSE;
|
6847
6844
|
|
6848
|
-
|
6849
|
-
|
6850
|
-
|
6851
|
-
|
6852
|
-
|
6853
|
-
|
6854
|
-
|
6855
|
-
|
6856
|
-
|
6857
|
-
|
6858
|
-
|
6859
|
-
|
6860
|
-
|
6861
|
-
|
6862
|
-
|
6863
|
-
|
6864
|
-
|
6865
|
-
|
6866
|
-
|
6867
|
-
|
6845
|
+
if (!js_IdIsIndex(vp[2], &index)) {
|
6846
|
+
/*
|
6847
|
+
* Call function QName per spec, not ToXMLName, to avoid attribute
|
6848
|
+
* names.
|
6849
|
+
*/
|
6850
|
+
if (!QNameHelper(cx, NULL, &js_QNameClass.base, 1, vp + 2, vp))
|
6851
|
+
return JS_FALSE;
|
6852
|
+
JS_ASSERT(!JSVAL_IS_PRIMITIVE(*vp));
|
6853
|
+
nameqn = (JSXMLQName *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*vp));
|
6854
|
+
|
6855
|
+
i = xml->xml_kids.length;
|
6856
|
+
index = XML_NOT_FOUND;
|
6857
|
+
while (i != 0) {
|
6858
|
+
--i;
|
6859
|
+
kid = XMLARRAY_MEMBER(&xml->xml_kids, i, JSXML);
|
6860
|
+
if (kid && MatchElemName(nameqn, kid)) {
|
6861
|
+
if (i != XML_NOT_FOUND)
|
6862
|
+
DeleteByIndex(cx, xml, i);
|
6863
|
+
index = i;
|
6864
|
+
}
|
6868
6865
|
}
|
6866
|
+
|
6867
|
+
if (index == XML_NOT_FOUND)
|
6868
|
+
goto done;
|
6869
6869
|
}
|
6870
6870
|
|
6871
|
-
|
6871
|
+
if (!Replace(cx, xml, index, value))
|
6872
|
+
return JS_FALSE;
|
6873
|
+
|
6874
|
+
done:
|
6875
|
+
*vp = OBJECT_TO_JSVAL(obj);
|
6876
|
+
return JS_TRUE;
|
6872
6877
|
}
|
6873
6878
|
|
6874
6879
|
static JSBool
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jbarnette-johnson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.20090402144841
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-
|
15
|
+
date: 2009-04-02 00:00:00 -07:00
|
16
16
|
default_executable: johnson
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
46
|
+
version: 1.12.1
|
47
47
|
version:
|
48
48
|
description: ""
|
49
49
|
email:
|
data/MINGW32.mk
DELETED
@@ -1,124 +0,0 @@
|
|
1
|
-
# -*- Mode: makefile -*-
|
2
|
-
#
|
3
|
-
#
|
4
|
-
# Based on patch submitted to mozilla.dev.tech.js-engine by 'Andy':
|
5
|
-
# http://groups.google.com/group/mozilla.dev.tech.js-engine/browse_thread/thread/16972946bf7df82e
|
6
|
-
#
|
7
|
-
#
|
8
|
-
# ***** BEGIN LICENSE BLOCK *****
|
9
|
-
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
10
|
-
#
|
11
|
-
# The contents of this file are subject to the Mozilla Public License Version
|
12
|
-
# 1.1 (the "License"); you may not use this file except in compliance with
|
13
|
-
# the License. You may obtain a copy of the License at
|
14
|
-
# http://www.mozilla.org/MPL/
|
15
|
-
#
|
16
|
-
# Software distributed under the License is distributed on an "AS IS" basis,
|
17
|
-
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
18
|
-
# for the specific language governing rights and limitations under the
|
19
|
-
# License.
|
20
|
-
#
|
21
|
-
# The Original Code is Mozilla Communicator client code, released
|
22
|
-
# March 31, 1998.
|
23
|
-
#
|
24
|
-
# The Initial Developer of the Original Code is
|
25
|
-
# Netscape Communications Corporation.
|
26
|
-
# Portions created by the Initial Developer are Copyright (C) 1998
|
27
|
-
# the Initial Developer. All Rights Reserved.
|
28
|
-
#
|
29
|
-
# Contributor(s):
|
30
|
-
#
|
31
|
-
# Alternatively, the contents of this file may be used under the terms of
|
32
|
-
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
33
|
-
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
34
|
-
# in which case the provisions of the GPL or the LGPL are applicable instead
|
35
|
-
# of those above. If you wish to allow use of your version of this file only
|
36
|
-
# under the terms of either the GPL or the LGPL, and not to allow others to
|
37
|
-
# use your version of this file under the terms of the MPL, indicate your
|
38
|
-
# decision by deleting the provisions above and replace them with the notice
|
39
|
-
# and other provisions required by the GPL or the LGPL. If you do not delete
|
40
|
-
# the provisions above, a recipient may use your version of this file under
|
41
|
-
# the terms of any one of the MPL, the GPL or the LGPL.
|
42
|
-
#
|
43
|
-
# ***** END LICENSE BLOCK *****
|
44
|
-
|
45
|
-
#
|
46
|
-
# Config for all versions of Mingw (copy and modified from Linux)
|
47
|
-
#
|
48
|
-
|
49
|
-
AR = i586-mingw32msvc-ar
|
50
|
-
CC = i586-mingw32msvc-gcc
|
51
|
-
LD = i586-mingw32msvc-ld
|
52
|
-
CCC = i586-mingw32msvc-g++
|
53
|
-
|
54
|
-
CFLAGS += -Wall -Wno-format
|
55
|
-
#OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DEXPORT_JS_API
|
56
|
-
OS_CFLAGS = -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 $(WIN_CFLAGS) -DEXPORT_JS_API
|
57
|
-
JSDLL_CFLAGS = -DEXPORT_JS_API # not work, dunno why?
|
58
|
-
SO_SUFFIX = dll
|
59
|
-
# libgcc.a:__divdi3 kernel32:DebugBreak,GetSystemTimeAsFileTime
|
60
|
-
# winmm:timeBeginPeriod,timeEndPeriod
|
61
|
-
WINLIBS = -lmsvcrt -lm -lkernel32 -lwinmm /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/libgcc.a
|
62
|
-
#LDFLAGS += $(WINLIBS) # dont work. rewrite by Makefile.ref
|
63
|
-
OTHER_LIBS += $(WINLIBS)
|
64
|
-
|
65
|
-
RANLIB = echo
|
66
|
-
MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
|
67
|
-
|
68
|
-
# These don't work :(
|
69
|
-
LIBRARY = $(OBJDIR)/js32.lib
|
70
|
-
SHARED_LIBRARY = $(OBJDIR)/js32.dll
|
71
|
-
PROGRAM = $(OBJDIR)/js.exe
|
72
|
-
|
73
|
-
#.c.o:
|
74
|
-
# $(CC) -c -MD $*.d $(CFLAGS) $<
|
75
|
-
|
76
|
-
CPU_ARCH = $(shell uname -m)
|
77
|
-
# don't filter in x86-64 architecture
|
78
|
-
ifneq (x86_64,$(CPU_ARCH))
|
79
|
-
ifeq (86,$(findstring 86,$(CPU_ARCH)))
|
80
|
-
CPU_ARCH = x86
|
81
|
-
OS_CFLAGS+= -DX86_LINUX
|
82
|
-
|
83
|
-
ifeq (gcc, $(CC))
|
84
|
-
# if using gcc on x86, check version for opt bug
|
85
|
-
# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
|
86
|
-
GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
|
87
|
-
GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
|
88
|
-
|
89
|
-
ifeq (2.91.66, $(firstword $(GCC_LIST)))
|
90
|
-
CFLAGS+= -DGCC_OPT_BUG
|
91
|
-
endif
|
92
|
-
endif
|
93
|
-
endif
|
94
|
-
endif
|
95
|
-
|
96
|
-
GFX_ARCH = x
|
97
|
-
|
98
|
-
OS_LIBS = -lm -lc
|
99
|
-
|
100
|
-
ASFLAGS += -x assembler-with-cpp
|
101
|
-
|
102
|
-
|
103
|
-
ifeq ($(CPU_ARCH),alpha)
|
104
|
-
|
105
|
-
# Ask the C compiler on alpha linux to let us work with denormalized
|
106
|
-
# double values, which are required by the ECMA spec.
|
107
|
-
|
108
|
-
OS_CFLAGS += -mieee
|
109
|
-
endif
|
110
|
-
|
111
|
-
# Use the editline library to provide line-editing support.
|
112
|
-
#JS_EDITLINE = 1 // not support by Mingw
|
113
|
-
|
114
|
-
ifeq ($(CPU_ARCH),x86_64)
|
115
|
-
# Use VA_COPY() standard macro on x86-64
|
116
|
-
# FIXME: better use it everywhere
|
117
|
-
OS_CFLAGS += -DHAVE_VA_COPY
|
118
|
-
endif
|
119
|
-
|
120
|
-
ifeq ($(CPU_ARCH),x86_64)
|
121
|
-
# We need PIC code for shared libraries
|
122
|
-
# FIXME: better patch rules.mk & fdlibm/Makefile*
|
123
|
-
OS_CFLAGS += -DPIC -fPIC
|
124
|
-
endif
|
@@ -1,103 +0,0 @@
|
|
1
|
-
# -*- Mode: makefile -*-
|
2
|
-
#
|
3
|
-
# ***** BEGIN LICENSE BLOCK *****
|
4
|
-
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
5
|
-
#
|
6
|
-
# The contents of this file are subject to the Mozilla Public License Version
|
7
|
-
# 1.1 (the "License"); you may not use this file except in compliance with
|
8
|
-
# the License. You may obtain a copy of the License at
|
9
|
-
# http://www.mozilla.org/MPL/
|
10
|
-
#
|
11
|
-
# Software distributed under the License is distributed on an "AS IS" basis,
|
12
|
-
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
13
|
-
# for the specific language governing rights and limitations under the
|
14
|
-
# License.
|
15
|
-
#
|
16
|
-
# The Original Code is Mozilla Communicator client code, released
|
17
|
-
# March 31, 1998.
|
18
|
-
#
|
19
|
-
# The Initial Developer of the Original Code is
|
20
|
-
# Netscape Communications Corporation.
|
21
|
-
# Portions created by the Initial Developer are Copyright (C) 1998
|
22
|
-
# the Initial Developer. All Rights Reserved.
|
23
|
-
#
|
24
|
-
# Contributor(s):
|
25
|
-
#
|
26
|
-
# Alternatively, the contents of this file may be used under the terms of
|
27
|
-
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
28
|
-
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
29
|
-
# in which case the provisions of the GPL or the LGPL are applicable instead
|
30
|
-
# of those above. If you wish to allow use of your version of this file only
|
31
|
-
# under the terms of either the GPL or the LGPL, and not to allow others to
|
32
|
-
# use your version of this file under the terms of the MPL, indicate your
|
33
|
-
# decision by deleting the provisions above and replace them with the notice
|
34
|
-
# and other provisions required by the GPL or the LGPL. If you do not delete
|
35
|
-
# the provisions above, a recipient may use your version of this file under
|
36
|
-
# the terms of any one of the MPL, the GPL or the LGPL.
|
37
|
-
#
|
38
|
-
# ***** END LICENSE BLOCK *****
|
39
|
-
|
40
|
-
#
|
41
|
-
# Config for all versions of Linux
|
42
|
-
#
|
43
|
-
|
44
|
-
CC = gcc
|
45
|
-
CCC = g++
|
46
|
-
CFLAGS += -Wall -Wno-format -MMD
|
47
|
-
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
|
48
|
-
|
49
|
-
RANLIB = echo
|
50
|
-
MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
|
51
|
-
|
52
|
-
#.c.o:
|
53
|
-
# $(CC) -c -MD $*.d $(CFLAGS) $<
|
54
|
-
|
55
|
-
CPU_ARCH = $(shell uname -m)
|
56
|
-
# don't filter in x86-64 architecture
|
57
|
-
ifneq (x86_64,$(CPU_ARCH))
|
58
|
-
ifeq (86,$(findstring 86,$(CPU_ARCH)))
|
59
|
-
CPU_ARCH = x86
|
60
|
-
OS_CFLAGS+= -DX86_LINUX
|
61
|
-
|
62
|
-
ifeq (gcc, $(CC))
|
63
|
-
# if using gcc on x86, check version for opt bug
|
64
|
-
# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
|
65
|
-
GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
|
66
|
-
GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
|
67
|
-
|
68
|
-
ifeq (2.91.66, $(firstword $(GCC_LIST)))
|
69
|
-
CFLAGS+= -DGCC_OPT_BUG
|
70
|
-
endif
|
71
|
-
endif
|
72
|
-
endif
|
73
|
-
endif
|
74
|
-
|
75
|
-
GFX_ARCH = x
|
76
|
-
|
77
|
-
OS_LIBS = -lm -lc
|
78
|
-
|
79
|
-
ASFLAGS += -x assembler-with-cpp
|
80
|
-
|
81
|
-
|
82
|
-
ifeq ($(CPU_ARCH),alpha)
|
83
|
-
|
84
|
-
# Ask the C compiler on alpha linux to let us work with denormalized
|
85
|
-
# double values, which are required by the ECMA spec.
|
86
|
-
|
87
|
-
OS_CFLAGS += -mieee
|
88
|
-
endif
|
89
|
-
|
90
|
-
# Use the editline library to provide line-editing support.
|
91
|
-
JS_EDITLINE = 1
|
92
|
-
|
93
|
-
ifeq ($(CPU_ARCH),x86_64)
|
94
|
-
# Use VA_COPY() standard macro on x86-64
|
95
|
-
# FIXME: better use it everywhere
|
96
|
-
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
|
97
|
-
endif
|
98
|
-
|
99
|
-
ifeq ($(CPU_ARCH),x86_64)
|
100
|
-
# We need PIC code for shared libraries
|
101
|
-
# FIXME: better patch rules.mk & fdlibm/Makefile*
|
102
|
-
OS_CFLAGS += -DPIC -fPIC
|
103
|
-
endif
|