diff options
author | Tomas Chvatal <tchvatal@suse.cz> | 2012-05-06 12:49:33 +0200 |
---|---|---|
committer | Tomas Chvatal <tchvatal@suse.cz> | 2012-05-06 12:52:55 +0200 |
commit | 32af02b32f1ab7f2683749e6c949470847175da0 (patch) | |
tree | ba407c1c7de6d9807f91d5786007498a64c2e388 | |
parent | b3d63df541ff6b2bf9c77699c8c076ebcde2d6cf (diff) |
Allow usage of system rhino wrt fdo#42977
It is done the same way the beanshell is handled.
Currently it can't be enabled by default as internal version has
patched-in debug interface.
We can choose two paths, rewrite the code to the new rhino debug
interface or just strip the current one out.
Change-Id: I48af18c635816db8269f13a649b62e9c454ee1e6
-rw-r--r-- | RepositoryExternal.mk | 14 | ||||
-rw-r--r-- | config_host.mk.in | 2 | ||||
-rw-r--r-- | configure.in | 34 | ||||
-rw-r--r-- | scp2/source/extensions/makefile.mk | 4 | ||||
-rw-r--r-- | scripting/Jar_ScriptProviderForBeanShell.mk | 9 | ||||
-rw-r--r-- | scripting/Jar_ScriptProviderForJavaScript.mk | 9 |
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)) |