summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RepositoryExternal.mk14
-rw-r--r--config_host.mk.in2
-rw-r--r--configure.in34
-rw-r--r--scp2/source/extensions/makefile.mk4
-rw-r--r--scripting/Jar_ScriptProviderForBeanShell.mk9
-rw-r--r--scripting/Jar_ScriptProviderForJavaScript.mk9
6 files changed, 63 insertions, 9 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 09ea15cc90f4..bb5b16fc7ada 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1338,4 +1338,18 @@ endef
endif # SYSTEM_BSH
+ifeq ($(SYSTEM_RHINO),YES)
+
+define gb_JavaClassSet__use_rhino
+$(call gb_JavaClassSet_use_system_jar,$(1),$(RHINO_JAR))
+endef
+
+else # !SYSTEM_RHINO
+
+define gb_JavaClassSet__use_rhino
+$(call gb_JavaClassSet_use_jar,$(1),$(OUTDIR)/bin/js.jar)
+endef
+
+endif # SYSTEM_RHINO
+
# vim: set noet sw=4 ts=4:
diff --git a/config_host.mk.in b/config_host.mk.in
index 4d0d5cf879f7..65affa921ab7 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -414,6 +414,7 @@ export PYTHON_LIBS=@PYTHON_LIBS@
export RANLIB=@RANLIB@
export REDLAND_CFLAGS=@REDLAND_CFLAGS@
export REDLAND_LIBS=@REDLAND_LIBS@
+export RHINO_JAR=@RHINO_JAR@
export RPM=@RPM@
export SAC_JAR=@SAC_JAR@
export SAL_ENABLE_FILE_LOCKING=1
@@ -514,6 +515,7 @@ export SYSTEM_POPPLER=@SYSTEM_POPPLER@
export SYSTEM_POSTGRESQL=@SYSTEM_POSTGRESQL@
export SYSTEM_PYTHON=@SYSTEM_PYTHON@
export SYSTEM_REDLAND=@SYSTEM_REDLAND@
+export SYSTEM_RHINO=@SYSTEM_RHINO@
export SYSTEM_SAMPLEICC=@SYSTEM_SAMPLEICC@
export SYSTEM_SANE_HEADER=@SYSTEM_SANE_HEADER@
export SYSTEM_SAXON=@SYSTEM_SAXON@
diff --git a/configure.in b/configure.in
index 209efe6ace40..43a6544b1eae 100644
--- a/configure.in
+++ b/configure.in
@@ -1266,6 +1266,19 @@ AC_ARG_WITH(beanshell-jar,
[Specify path to jarfile manually.]),
BSH_JAR=$withval)
+AC_ARG_WITH(system-rhino,
+ AS_HELP_STRING([--with-system-rhino],
+ [Use rhino already on system.]),,)
+# [with_system_rhino="$with_system_jars"])
+# Above is not used as we have different debug interface
+# patched into internal rhino. This code needs to be fixed
+# before we can enable it by default.
+
+AC_ARG_WITH(rhino-jar,
+ AS_HELP_STRING([--with-rhino-jar=JARFILE],
+ [Specify path to jarfile manually.]),
+ RHINO_JAR=$withval)
+
AC_ARG_WITH(commons-codec-jar,
AS_HELP_STRING([--with-commons-codec-jar=JARFILE],
[Specify path to jarfile manually.]),
@@ -9195,13 +9208,32 @@ AC_MSG_CHECKING([whether to build extension for support of scripts in JavaScript
if test "x$enable_ext_scripting_javascript" = "xyes" -a "x$enable_extension_integration" != "xno" -a "x$with_java" != "xno"; then
AC_MSG_RESULT([yes])
ENABLE_SCRIPTING_JAVASCRIPT=YES
- BUILD_TYPE="$BUILD_TYPE RHINO"
+
+ dnl ===================================================================
+ dnl Check for system rhino
+ dnl ===================================================================
+ AC_MSG_CHECKING([which rhino to use])
+ if test "$with_system_rhino" = "yes"; then
+ AC_MSG_RESULT([external])
+ SYSTEM_RHINO=YES
+ if test -z $RHINO_JAR; then
+ RHINO_JAR=/usr/share/java/js.jar
+ fi
+ AC_CHECK_FILE($RHINO_JAR, [],
+ [AC_MSG_ERROR(js.jar not found.)], [])
+ else
+ AC_MSG_RESULT([internal])
+ SYSTEM_RHINO=NO
+ BUILD_TYPE="$BUILD_TYPE RHINO"
+ fi
else
AC_MSG_RESULT([no])
ENABLE_SCRIPTING_JAVASCRIPT=NO
SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_SCRIPTING_JAVASCRIPT"
fi
AC_SUBST(ENABLE_SCRIPTING_JAVASCRIPT)
+AC_SUBST(SYSTEM_RHINO)
+AC_SUBST(RHINO_JAR)
dnl Scripting provider for Python extension?
dnl We always provide this unless we have disabled Python completely
diff --git a/scp2/source/extensions/makefile.mk b/scp2/source/extensions/makefile.mk
index 77828ca05cc5..b8ee210e5dda 100644
--- a/scp2/source/extensions/makefile.mk
+++ b/scp2/source/extensions/makefile.mk
@@ -41,6 +41,10 @@ TARGETTYPE=CUI
SCPDEFS+=-DSYSTEM_BSH -DBSH_JAR=\""file://$(BSH_JAR)"\"
.ENDIF
+.IF "$(SYSTEM_RHINO)" == "YES"
+SCPDEFS+=-DSYSTEM_RHINO -DRHINO_JAR=\""file://$(RHINO_JAR)"\"
+.ENDIF
+
SCP_PRODUCT_TYPE=osl
PARFILES= \
module_extensions.par \
diff --git a/scripting/Jar_ScriptProviderForBeanShell.mk b/scripting/Jar_ScriptProviderForBeanShell.mk
index 7ef9af6c87f5..dc6f4dc7f931 100644
--- a/scripting/Jar_ScriptProviderForBeanShell.mk
+++ b/scripting/Jar_ScriptProviderForBeanShell.mk
@@ -42,13 +42,10 @@ $(eval $(call gb_Jar_use_externals,ScriptProviderForBeanShell,\
$(eval $(call gb_Jar_set_manifest,ScriptProviderForBeanShell,$(SRCDIR)/scripting/java/com/sun/star/script/framework/provider/beanshell/MANIFEST.MF))
-ifeq ($(SYSTEM_BSH),YES)
$(eval $(call gb_Jar_set_jarclasspath,ScriptProviderForBeanShell, \
- ScriptFramework.jar $(call gb_Helper_make_url,$(BSH_JAR))))
-else
-$(eval $(call gb_Jar_set_jarclasspath,ScriptProviderForBeanShell, \
- ScriptFramework.jar bsh.jar))
-endif
+ ScriptFramework.jar \
+ $(if $(filter-out YES,$(SYSTEM_BSH)),bsh.jar) \
+))
$(eval $(call gb_Jar_set_componentfile,ScriptProviderForBeanShell,scripting/java/ScriptProviderForBeanShell,OOO))
diff --git a/scripting/Jar_ScriptProviderForJavaScript.mk b/scripting/Jar_ScriptProviderForJavaScript.mk
index 99ee7c31c059..16c2cf4eb458 100644
--- a/scripting/Jar_ScriptProviderForJavaScript.mk
+++ b/scripting/Jar_ScriptProviderForJavaScript.mk
@@ -34,13 +34,18 @@ $(eval $(call gb_Jar_use_jars,ScriptProviderForJavaScript,\
$(OUTDIR)/bin/ridl.jar \
$(OUTDIR)/bin/unoil.jar \
$(OUTDIR)/bin/ScriptFramework.jar \
- $(OUTDIR)/bin/js.jar \
+))
+
+$(eval $(call gb_Jar_use_externals,ScriptProviderForJavaScript,\
+ rhino \
))
$(eval $(call gb_Jar_set_manifest,ScriptProviderForJavaScript,$(SRCDIR)/scripting/java/com/sun/star/script/framework/provider/javascript/MANIFEST.MF))
$(eval $(call gb_Jar_set_jarclasspath,ScriptProviderForJavaScript, \
- ScriptFramework.jar js.jar))
+ ScriptFramework.jar \
+ $(if $(filter-out YES,$(SYSTEM_RHINO)),js.jar) \
+))
$(eval $(call gb_Jar_set_componentfile,ScriptProviderForJavaScript,scripting/java/ScriptProviderForJavaScript,OOO))