Upgrade to SpiderMonkey 1.8.5.

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1156555 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
jsdelfino 2011-08-11 09:28:49 +00:00
commit cce27a3d75
15 changed files with 183 additions and 165 deletions

View file

@ -106,8 +106,8 @@ curl-7-19-5
libcurl4-openssl-7.19.5 libcurl4-openssl-7.19.5
JSON: JSON:
Mozilla TraceMonkey libmozjs (https://wiki.mozilla.org/JavaScript:TraceMonkey) Mozilla SpiderMonkey libmozjs 1.8.5
also included in xulrunner-1.9.2 (https://developer.mozilla.org/en/SpiderMonkey)
Key/value store: Key/value store:
tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html) tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html)
@ -222,8 +222,8 @@ dependencies installed under $HOME:
--with-memcached=$HOME/memcached-1.4.5-bin \ --with-memcached=$HOME/memcached-1.4.5-bin \
--with-tinycdb=$HOME/tinycdb-0.77-bin \ --with-tinycdb=$HOME/tinycdb-0.77-bin \
--with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \ --with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
--with-js-include=/usr/include/xulrunner-1.9.2 \ --with-js-include=$HOME/js-1.8.5-bin/include \
--with-js-lib=/usr/lib/xulrunner-1.9.2 \ --with-js-lib=$HOME/js-1.8.5-bin/lib \
--enable-libcloud \ --enable-libcloud \
--with-libcloud=$HOME/libcloud-0.3.1-bin \ --with-libcloud=$HOME/libcloud-0.3.1-bin \
--enable-threads \ --enable-threads \

View file

@ -43,18 +43,6 @@ if [ "$?" != "0" ]; then
fi fi
cd $build cd $build
# Install autoconf-2.13
curl -OL http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
tar xzf autoconf-2.13.tar.gz
cd autoconf-2.13
./configure --prefix=$build/autoconf-2.13-bin
make
make install
if [ "$?" != "0" ]; then
exit $?
fi
cd $build
# Build Libexpat # Build Libexpat
curl -OL http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download curl -OL http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
mv download expat-2.0.1.tar.gz mv download expat-2.0.1.tar.gz
@ -161,16 +149,14 @@ if [ "$?" != "0" ]; then
fi fi
cd $build cd $build
# Build TraceMonkey # Build SpiderMonkey
curl -OL http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz curl -OL http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.5.tar.gz
mv e4364736e170.tar.gz tracemonkey-e4364736e170.tar.gz tar xzf js185-1.0.0.tar.gz
tar xzf tracemonkey-e4364736e170.tar.gz cd js-1.8.5/js/src
cd tracemonkey-e4364736e170/js/src ./configure --prefix=$build/js-1.8.5-bin
$build/autoconf-2.13-bin/bin/autoconf
./configure --prefix=$build/tracemonkey-bin
make make
make install make install
install_name_tool -id $build/tracemonkey-bin/lib/libmozjs.dylib $build/tracemonkey-bin/lib/libmozjs.dylib ln -s $build/js-1.8.5-bin/lib/libmozjs185.dylib $build/js-1.8.5-bin/lib/libmozjs.dylib
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
exit $? exit $?
fi fi

View file

@ -27,7 +27,17 @@
*/ */
#define XP_UNIX #define XP_UNIX
#ifdef WANT_MAINTAINER_MODE
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
#include <jsapi.h> #include <jsapi.h>
#ifdef WANT_MAINTAINER_MODE
#pragma GCC diagnostic warning "-Wunused-parameter"
#pragma GCC diagnostic warning "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
#include "string.hpp" #include "string.hpp"
#include "list.hpp" #include "list.hpp"
#include "value.hpp" #include "value.hpp"
@ -85,8 +95,12 @@ private:
::JSRuntime* rt; ::JSRuntime* rt;
} jsRuntime; } jsRuntime;
JSClass jsGlobalClass = { "global", JSCLASS_GLOBAL_FLAGS, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JSClass jsGlobalClass = { "global", JSCLASS_GLOBAL_FLAGS,
JS_PropertyStub, JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub, JSCLASS_NO_OPTIONAL_MEMBERS}; JS_PropertyStub, JS_PropertyStub,
JS_PropertyStub, JS_StrictPropertyStub,
JS_EnumerateStub, JS_ResolveStub,
JS_ConvertStub, JS_FinalizeStub,
JSCLASS_NO_OPTIONAL_MEMBERS };
/** /**
* Represents a JavaScript context. Create one per thread. * Represents a JavaScript context. Create one per thread.
@ -99,12 +113,12 @@ public:
cx = JS_NewContext(jsRuntime, 8192); cx = JS_NewContext(jsRuntime, 8192);
if(cx == NULL) if(cx == NULL)
return; return;
JS_SetOptions(cx, JSOPTION_VAROBJFIX); JS_SetOptions(cx, JSOPTION_VAROBJFIX | JSOPTION_JIT | JSOPTION_METHODJIT);
JS_SetVersion(cx, JSVERSION_DEFAULT); JS_SetVersion(cx, JSVERSION_LATEST);
JS_SetErrorReporter(cx, reportError); JS_SetErrorReporter(cx, reportError);
// Create global JS object // Create global JS object
global = JS_NewObject(cx, &jsGlobalClass, NULL, NULL); global = JS_NewCompartmentAndGlobalObject(cx, &jsGlobalClass, NULL);
if(global == NULL) { if(global == NULL) {
cleanup(); cleanup();
return; return;
@ -167,17 +181,22 @@ const list<value> jsPropertiesToValues(const list<value>& propertiesSoFar, JSObj
const value jsValToValue(const jsval& jsv, const js::JSContext& cx); const value jsValToValue(const jsval& jsv, const js::JSContext& cx);
jsid id; jsid id;
if(!JS_NextProperty(cx, i, &id) || id == JSVAL_VOID) if(!JS_NextProperty(cx, i, &id))
return propertiesSoFar; return propertiesSoFar;
jsval idv;
JS_IdToValue(cx, id, &idv);
if (idv == JSVAL_VOID)
return propertiesSoFar;
jsval jsv; jsval jsv;
if(!JS_GetPropertyById(cx, o, id, &jsv)) if(!JS_GetPropertyById(cx, o, id, &jsv))
return propertiesSoFar; return propertiesSoFar;
const value val = jsValToValue(jsv, cx); const value val = jsValToValue(jsv, cx);
jsval idv;
JS_IdToValue(cx, id, &idv);
if(JSVAL_IS_STRING(idv)) { if(JSVAL_IS_STRING(idv)) {
const string name = JS_GetStringBytes(JSVAL_TO_STRING(idv)); char* cname = JS_EncodeString(cx, JSVAL_TO_STRING(idv));
const string name = cname;
JS_free(cx, cname);
if (isNil(val) && !isList(val)) if (isNil(val) && !isList(val))
return jsPropertiesToValues(cons<value> (mklist<value> (element, c_str(name), val), propertiesSoFar), o, i, cx); return jsPropertiesToValues(cons<value> (mklist<value> (element, c_str(name), val), propertiesSoFar), o, i, cx);
//return jsPropertiesToValues(propertiesSoFar, o, i, cx); //return jsPropertiesToValues(propertiesSoFar, o, i, cx);
@ -196,7 +215,10 @@ const list<value> jsPropertiesToValues(const list<value>& propertiesSoFar, JSObj
const value jsValToValue(const jsval& jsv, const js::JSContext& cx) { const value jsValToValue(const jsval& jsv, const js::JSContext& cx) {
switch(JS_TypeOfValue(cx, jsv)) { switch(JS_TypeOfValue(cx, jsv)) {
case JSTYPE_STRING: { case JSTYPE_STRING: {
return value(string(JS_GetStringBytes(JSVAL_TO_STRING(jsv)))); char* cvalue = JS_EncodeString(cx, JSVAL_TO_STRING(jsv));
const string svalue = string(cvalue);
JS_free(cx, cvalue);
return value(svalue);
} }
case JSTYPE_BOOLEAN: { case JSTYPE_BOOLEAN: {
return value((bool)JSVAL_TO_BOOLEAN(jsv)); return value((bool)JSVAL_TO_BOOLEAN(jsv));
@ -251,7 +273,10 @@ const jsval valueToJSVal(const value& val, const js::JSContext& cx) {
return BOOLEAN_TO_JSVAL((bool)val); return BOOLEAN_TO_JSVAL((bool)val);
} }
case value::Number: { case value::Number: {
return DOUBLE_TO_JSVAL(JS_NewDouble(cx, (double)val)); jsval jsv;
if (!JS_NewNumberValue(cx, (jsdouble)val, &jsv))
return DOUBLE_TO_JSVAL(0);
return jsv;
} }
case value::List: { case value::List: {
if (isJSArray(val)) if (isJSArray(val))

View file

@ -37,31 +37,32 @@ ostream* jsonWriter(const string& s, ostream* os) {
} }
const string jscustomer("{\n" const string jscustomer("{\n"
" \"customer\":{\n" " \"customer\": {\n"
" \"@name\":\"jdoe\",\n" " \"@name\": \"jdoe\",\n"
" \"address\":{\n" " \"address\": {\n"
" \"@city\":\"san francisco\",\n" " \"@city\": \"san francisco\",\n"
" \"@state\":\"ca\"\n" " \"@state\": \"ca\"\n"
" },\n" " },\n"
" \"account\":{\n" " \"account\": {\n"
" \"id\":\"1234\",\n" " \"id\": \"1234\",\n"
" \"@balance\":1000\n" " \"@balance\": 1000\n"
" }\n" " }\n"
" }\n" " }\n"
"}"); "}");
const string jsphones("{\n" const string jsphones("{\n"
" \"phones\":[\"408-1234\",\n" " \"phones\": [\n"
" \"408-1234\",\n"
" \"650-1234\"\n" " \"650-1234\"\n"
" ],\n" " ],\n"
" \"lastName\":\"test\\u0009tab\",\n" " \"lastName\": \"test\\u0009tab\",\n"
" \"@firstName\":\"test1\"\n" " \"@firstName\": \"test1\"\n"
"}"); "}");
const string jsecho("{\n" const string jsecho("{\n"
" \"ns1:echoString\":{\n" " \"ns1:echoString\": {\n"
" \"@xmlns:ns1\":\"http://ws.apache.org/axis2/services/echo\",\n" " \"@xmlns:ns1\": \"http://ws.apache.org/axis2/services/echo\",\n"
" \"text\":\"Hello World!\"\n" " \"text\": \"Hello World!\"\n"
" }\n" " }\n"
"}"); "}");
@ -110,81 +111,88 @@ bool testJSON() {
} }
const string jsitem("{\n" const string jsitem("{\n"
" \"id\":3,\n" " \"id\": 3,\n"
" \"result\":[{\n" " \"result\": [\n"
" \"price\":\"$2.99\",\n" " {\n"
" \"name\":\"Apple\"\n" " \"price\": \"$2.99\",\n"
" \"name\": \"Apple\"\n"
" },\n" " },\n"
" {\n" " {\n"
" \"price\":\"$3.55\",\n" " \"price\": \"$3.55\",\n"
" \"name\":\"Orange\"\n" " \"name\": \"Orange\"\n"
" },\n" " },\n"
" {\n" " {\n"
" \"price\":\"$1.55\",\n" " \"price\": \"$1.55\",\n"
" \"name\":\"Pear\"\n" " \"name\": \"Pear\"\n"
" }\n" " }\n"
" ]\n" " ]\n"
"}"); "}");
const string jsresult("{\n" const string jsresult("{\n"
" \"id\":1,\n" " \"id\": 1,\n"
" \"result\":[\"Service.get\",\n" " \"result\": [\n"
" \"Service.get\",\n"
" \"Service.getTotal\"\n" " \"Service.getTotal\"\n"
" ]\n" " ]\n"
"}"); "}");
const string jsfeed("{\n" const string jsfeed("{\n"
" \"id\":1,\n" " \"id\": 1,\n"
" \"result\":[\"Sample Feed\",\n" " \"result\": [\n"
" \"Sample Feed\",\n"
" \"123456789\",\n" " \"123456789\",\n"
" [\"Item\",\n" " [\n"
" \"Item\",\n"
" \"111\",\n" " \"111\",\n"
" {\n" " {\n"
" \"name\":\"Apple\",\n" " \"name\": \"Apple\",\n"
" \"currencyCode\":\"USD\",\n" " \"currencyCode\": \"USD\",\n"
" \"currencySymbol\":\"$\",\n" " \"currencySymbol\": \"$\",\n"
" \"price\":2.99\n" " \"price\": 2.99\n"
" }\n" " }\n"
" ],\n" " ],\n"
" [\"Item\",\n" " [\n"
" \"Item\",\n"
" \"222\",\n" " \"222\",\n"
" {\n" " {\n"
" \"name\":\"Orange\",\n" " \"name\": \"Orange\",\n"
" \"currencyCode\":\"USD\",\n" " \"currencyCode\": \"USD\",\n"
" \"currencySymbol\":\"$\",\n" " \"currencySymbol\": \"$\",\n"
" \"price\":3.55\n" " \"price\": 3.55\n"
" }\n" " }\n"
" ],\n" " ],\n"
" [\"Item\",\n" " [\n"
" \"Item\",\n"
" \"333\",\n" " \"333\",\n"
" {\n" " {\n"
" \"name\":\"Pear\",\n" " \"name\": \"Pear\",\n"
" \"currencyCode\":\"USD\",\n" " \"currencyCode\": \"USD\",\n"
" \"currencySymbol\":\"$\",\n" " \"currencySymbol\": \"$\",\n"
" \"price\":1.55\n" " \"price\": 1.55\n"
" }\n" " }\n"
" ]\n" " ]\n"
" ]\n" " ]\n"
"}"); "}");
const string jsechoreq("{\n" const string jsechoreq("{\n"
" \"id\":1,\n" " \"id\": 1,\n"
" \"method\":\"echo\",\n" " \"method\": \"echo\",\n"
" \"params\":[{\n" " \"params\": [\n"
" \"ns1:echoString\":{\n" " {\n"
" \"@xmlns:ns1\":\"http://ws.apache.org/axis2/services/echo\",\n" " \"ns1:echoString\": {\n"
" \"text\":\"Hello World!\"\n" " \"@xmlns:ns1\": \"http://ws.apache.org/axis2/services/echo\",\n"
" \"text\": \"Hello World!\"\n"
" }\n" " }\n"
" }\n" " }\n"
" ]\n" " ]\n"
"}"); "}");
const string jsechores("{\n" const string jsechores("{\n"
" \"id\":1,\n" " \"id\": 1,\n"
" \"result\":{\n" " \"result\": {\n"
" \"ns1:echoString\":{\n" " \"ns1:echoString\": {\n"
" \"@xmlns:ns1\":\"http://ws.apache.org/axis2/c/samples\",\n" " \"@xmlns:ns1\": \"http://ws.apache.org/axis2/c/samples\",\n"
" \"text\":\"Hello World!\"\n" " \"text\": \"Hello World!\"\n"
" }\n" " }\n"
" }\n" " }\n"
"}"); "}");
@ -200,7 +208,7 @@ bool testJSONRPC() {
assert(assoc<value>("params", v) == mklist<value>("params", list<value>())); assert(assoc<value>("params", v) == mklist<value>("params", list<value>()));
} }
{ {
const string i2 = "{\"id\":3,\"result\":{\"0\":{\"price\":\"$2.99\",\"name\":\"Apple\"},\"1\":{\"price\":\"$3.55\",\"name\":\"Orange\"},\"2\":{\"price\":\"$1.55\",\"name\":\"Pear\"}}}"; const string i2 = "{\"id\": 3,\"result\": {\"0\": {\"price\": \"$2.99\",\"name\": \"Apple\"},\"1\": {\"price\": \"$3.55\",\"name\": \"Orange\"},\"2\": {\"price\": \"$1.55\",\"name\": \"Pear\"}}}";
const list<value> e = content(readJSON(mklist(jsitem), cx)); const list<value> e = content(readJSON(mklist(jsitem), cx));
const list<value> e2 = content(readJSON(mklist(i2), cx)); const list<value> e2 = content(readJSON(mklist(i2), cx));
assert(e == e2); assert(e == e2);

View file

@ -53,7 +53,7 @@ failable<bool> consume(JSONParser* parser, const list<string>& ilist, const js::
if (isNil(ilist)) if (isNil(ilist))
return true; return true;
JSString* jstr = JS_NewStringCopyZ(cx, c_str(car(ilist))); JSString* jstr = JS_NewStringCopyZ(cx, c_str(car(ilist)));
if(!JS_ConsumeJSONText(cx, parser, JS_GetStringChars(jstr), (uint32)JS_GetStringLength(jstr))) if(!JS_ConsumeJSONText(cx, parser, JS_GetStringCharsZ(cx, jstr), (uint32)JS_GetStringLength(jstr)))
return mkfailure<bool>("JS_ConsumeJSONText failed"); return mkfailure<bool>("JS_ConsumeJSONText failed");
return consume(parser, cdr(ilist), cx); return consume(parser, cdr(ilist), cx);
} }
@ -95,7 +95,10 @@ public:
template<typename R> JSBool writeCallback(const jschar *buf, uint32 len, void *data) { template<typename R> JSBool writeCallback(const jschar *buf, uint32 len, void *data) {
WriteContext<R>& wcx = *(static_cast<WriteContext<R>*> (data)); WriteContext<R>& wcx = *(static_cast<WriteContext<R>*> (data));
JSString* jstr = JS_NewUCStringCopyN(wcx.cx, buf, len); JSString* jstr = JS_NewUCStringCopyN(wcx.cx, buf, len);
wcx.accum = wcx.reduce(string(JS_GetStringBytes(jstr), JS_GetStringLength(jstr)), wcx.accum); char* cstr = JS_EncodeString(wcx.cx, jstr);
const string str(cstr, JS_GetStringLength(jstr));
JS_free(wcx.cx, cstr);
wcx.accum = wcx.reduce(str, wcx.accum);
return JS_TRUE; return JS_TRUE;
} }

View file

@ -1,13 +1,14 @@
{ {
"id":"1", "id": "1",
"result":{ "result": {
"host":"localhost", "host": "localhost",
"path":["components", "path": [
"components",
"property-test" "property-test"
], ],
"query":{ "query": {
"id":"1", "id": "1",
"method":"print" "method": "print"
} }
} }
} }

View file

@ -1 +1,7 @@
{"id":1,"method":"echo","params":["Hello"]} {
"id": 1,
"method": "echo",
"params": [
"Hello"
]
}

View file

@ -1,4 +1,4 @@
{ {
"id":1, "id": 1,
"result":"Hello" "result": "Hello"
} }

View file

@ -1 +1,6 @@
{"id": 1, "method": "items", "params": []} {
"id": 1,
"method": "items",
"params": [
]
}

View file

@ -1,22 +1,23 @@
{ {
"id":1, "id": 1,
"result":[{ "result": [
"name":"Apple", {
"currencyCode":"USD", "name": "Apple",
"currencySymbol":"$", "currencyCode": "USD",
"price":2.99 "currencySymbol": "$",
"price": 2.99
}, },
{ {
"name":"Orange", "name": "Orange",
"currencyCode":"USD", "currencyCode": "USD",
"currencySymbol":"$", "currencySymbol": "$",
"price":3.55 "price": 3.55
}, },
{ {
"name":"Pear", "name": "Pear",
"currencyCode":"USD", "currencyCode": "USD",
"currencySymbol":"$", "currencySymbol": "$",
"price":1.55 "price": 1.55
} }
] ]
} }

View file

@ -1,22 +1,23 @@
{ {
"id":1, "id": 1,
"result":[{ "result": [
"name":"Mango", {
"currencyCode":"USD", "name": "Mango",
"currencySymbol":"$", "currencyCode": "USD",
"price":2.99 "currencySymbol": "$",
"price": 2.99
}, },
{ {
"name":"Passion", "name": "Passion",
"currencyCode":"USD", "currencyCode": "USD",
"currencySymbol":"$", "currencySymbol": "$",
"price":3.55 "price": 3.55
}, },
{ {
"name":"Kiwi", "name": "Kiwi",
"currencyCode":"USD", "currencyCode": "USD",
"currencySymbol":"$", "currencySymbol": "$",
"price":1.55 "price": 1.55
} }
] ]
} }

View file

@ -48,11 +48,6 @@ sudo apt-get -y install libevent-dev
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
exit $? exit $?
fi fi
# Required by TraceMonkey
sudo apt-get -y install autoconf2.13 zip
if [ "$?" != "0" ]; then
exit $?
fi
# Required by Apache Qpid/C++ # Required by Apache Qpid/C++
sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then

View file

@ -48,11 +48,6 @@ sudo apt-get -y install libevent-dev
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
exit $? exit $?
fi fi
# Required by TraceMonkey
sudo apt-get -y install autoconf2.13 zip
if [ "$?" != "0" ]; then
exit $?
fi
# Required by HTML Tidy # Required by HTML Tidy
sudo apt-get -y install cvs sudo apt-get -y install cvs
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then

View file

@ -121,18 +121,14 @@ if [ "$?" != "0" ]; then
fi fi
cd $build cd $build
# Build TraceMonkey # Build SpiderMonkey
sudo apt-get -y install autoconf2.13 zip wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
if [ "$?" != "0" ]; then tar xzf js185-1.0.0.tar.gz
exit $? cd js-1.8.5/js/src
fi ./configure --prefix=$build/js-1.8.5-bin
wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
tar xzf tracemonkey-e4364736e170.tar.gz
cd tracemonkey-e4364736e170/js/src
autoconf2.13
./configure --prefix=$build/tracemonkey-bin
make make
make install make install
ln -s $build/js-1.8.5-bin/lib/libmozjs185.so $build/js-1.8.5-bin/lib/libmozjs.so
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
exit $? exit $?
fi fi
@ -289,7 +285,7 @@ cd $build
git clone git://git.apache.org/tuscany-sca-cpp.git git clone git://git.apache.org/tuscany-sca-cpp.git
cd tuscany-sca-cpp cd tuscany-sca-cpp
./bootstrap ./bootstrap
./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin ./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
make make
make install make install
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
@ -298,8 +294,8 @@ fi
cd $build cd $build
# Create src archive # Create src archive
tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tracemonkey-bin tracemonkey-e4364736e170 tracemonkey-e4364736e170.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin
# Create bin archive # Create bin archive
tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tracemonkey-bin tuscany-sca-cpp tuscany-sca-cpp-bin tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin js-1.8.5-bin tuscany-sca-cpp tuscany-sca-cpp-bin

View file

@ -121,18 +121,14 @@ if [ "$?" != "0" ]; then
fi fi
cd $build cd $build
# Build TraceMonkey # Build SpiderMonkey
sudo apt-get -y install autoconf2.13 zip wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
if [ "$?" != "0" ]; then tar xzf js185-1.0.0.tar.gz
exit $? cd js-1.8.5/js/src
fi ./configure --prefix=$build/js-1.8.5-bin
wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
tar xzf tracemonkey-e4364736e170.tar.gz
cd tracemonkey-e4364736e170/js/src
autoconf2.13
./configure --prefix=$build/tracemonkey-bin
make make
make install make install
ln -s $build/js-1.8.5-bin/lib/libmozjs185.so $build/js-1.8.5-bin/lib/libmozjs.so
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
exit $? exit $?
fi fi
@ -359,7 +355,7 @@ cd $build
git clone git://git.apache.org/tuscany-sca-cpp.git git clone git://git.apache.org/tuscany-sca-cpp.git
cd tuscany-sca-cpp cd tuscany-sca-cpp
./bootstrap ./bootstrap
./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin ./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
make make
make install make install
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
@ -368,8 +364,8 @@ fi
cd $build cd $build
# Create src archive # Create src archive
tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tracemonkey-bin tracemonkey-e4364736e170 tracemonkey-e4364736e170.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz
# Create bin archive # Create bin archive
tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tracemonkey-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin js-1.8.5-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6