From 55019b9a66d7764c86f9ac589b434b181a892dbc Mon Sep 17 00:00:00 2001 From: Brian West Date: Mon, 27 Feb 2006 03:11:13 +0000 Subject: [PATCH] Lets see if this helps with spider monkey on other platforms. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@685 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/mozilla.build.sh | 2 +- src/mod/languages/mod_spidermonkey/Makefile | 65 ++++++++++++++++++- .../mod_spidermonkey/mod_spidermonkey.c | 2 +- 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/libs/mozilla.build.sh b/libs/mozilla.build.sh index c1afc761da..b47ba105a8 100755 --- a/libs/mozilla.build.sh +++ b/libs/mozilla.build.sh @@ -1,3 +1,3 @@ cd nsprpub && ./configure && make -cd ../js/src && JS_THREADSAFE=1 OTHER_LIBS="-L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" make -f Makefile.ref Linux_All_DBG.OBJ/libjs.a +cd ../js/src && JS_THREADSAFE=1 OTHER_LIBS="-L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" make -f Makefile.ref $(OS_CONFIG)_DBG.OBJ/libjs.a diff --git a/src/mod/languages/mod_spidermonkey/Makefile b/src/mod/languages/mod_spidermonkey/Makefile index da9054d2e8..3fb4e5482e 100644 --- a/src/mod/languages/mod_spidermonkey/Makefile +++ b/src/mod/languages/mod_spidermonkey/Makefile @@ -1,6 +1,67 @@ -CFLAGS += -I$(BASE)/libs/mozilla/js/src -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/js/src -I$(BASE)/libs/mozilla/js/src/Linux_All_DBG.OBJ -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -ILinux_All_DBG.OBJ +# This is all used to make sure we use the right options during build and link. + +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 + +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 +OS_CONFIG := $(OS_ARCH)$(OS_OBJTYPE)$(OS_RELEASE) +endif +endif +endif + +CFLAGS += -I$(BASE)/libs/mozilla/js/src -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/js/src -I$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_DBG.OBJ -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -I$(OS_CONFIG)_DBG.OBJ LDFLAGS +=-DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -OBJS=$(BASE)/libs/mozilla/js/src/Linux_All_DBG.OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a +OBJS=$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_DBG.OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a LINKER=$(CC) diff --git a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c index 9821bd2dba..21774d05e3 100644 --- a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c +++ b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c @@ -62,7 +62,7 @@ static struct { } globals; -extern JSClass global_class; +//extern JSClass global_class; static JSClass global_class = { "Global", JSCLASS_HAS_PRIVATE, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,