summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am22
-rw-r--r--configure.ac31
-rw-r--r--test/Makefile.am.inc22
3 files changed, 55 insertions, 20 deletions
diff --git a/Makefile.am b/Makefile.am
index 707f883..e5e3a3c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -38,6 +38,8 @@ DISTCLEANFILES =
# Other targets to add to
lib_LTLIBRARIES =
+EOS_JS_COVERAGE_FILES =
+
# Make sure that 'make dist' includes documentation
if CAN_MAKE_DIST
dist-hook::
@@ -57,9 +59,12 @@ subst = $(SED) \
-e 's,%libexecdir%,$(libexecdir),g' \
$(NULL)
-subst_files = \
+subst_files =
+if ENABLE_WEBHELPER
+subst_files += \
webhelper/webhelper_private/config.js \
$(NULL)
+endif ENABLE_WEBHELPER
$(subst_files): %: %.in Makefile
$(AM_V_GEN)$(MKDIR_P) $(@D) && \
@@ -89,6 +94,8 @@ DISTCLEANFILES += @EOS_SDK_API_NAME@.pc
# # # WEBHELPER LIBRARY # # #
+if ENABLE_WEBHELPER
+
webhelper_sources = \
webhelper/webhelper.js \
webhelper/webhelper2.js \
@@ -104,7 +111,7 @@ dist_webhelper_private_DATA = \
webhelper/webhelper_private/config.js \
$(NULL)
-EOS_JS_COVERAGE_FILES = $(webhelper_sources)
+EOS_JS_COVERAGE_FILES += $(webhelper_sources)
## Workaround for https://bugs.webkit.org/show_bug.cgi?id=116672
## When that is solved, we can eliminate this private library and go back to
@@ -129,6 +136,8 @@ wh2extension_la_CPPFLAGS = @WEBHELPER2_EXTENSION_CFLAGS@
wh2extension_la_LIBADD = @WEBHELPER2_EXTENSION_LIBS@
wh2extension_la_LDFLAGS = -module -avoid-version -no-undefined
+endif ENABLE_WEBHELPER
+
# # # INTROSPECTION FILES # # #
-include $(INTROSPECTION_MAKEFILE)
@@ -155,6 +164,8 @@ Endless_@EOS_SDK_API_VERSION@_gir_FILES = $(introspection_sources)
Endless_@EOS_SDK_API_VERSION@_gir_EXPORT_PACKAGES = @EOS_SDK_API_NAME@
INTROSPECTION_GIRS += Endless-@EOS_SDK_API_VERSION@.gir
+if ENABLE_WEBHELPER
+
WebHelper2Private-1.0.gir: libwebhelper2private.la
WebHelper2Private_1_0_gir_INCLUDES = GObject-2.0 GLib-2.0 WebKit2-4.0
WebHelper2Private_1_0_gir_SCANNERFLAGS = \
@@ -165,6 +176,8 @@ WebHelper2Private_1_0_gir_LIBS = libwebhelper2private.la
WebHelper2Private_1_0_gir_FILES = $(libwebhelper2private_la_SOURCES)
INTROSPECTION_GIRS += WebHelper2Private-1.0.gir
+endif ENABLE_WEBHELPER
+
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
@@ -349,7 +362,9 @@ nobase_dist_licenses_DATA = licenses/creativecommons/C/CC-BY-2.0.html \
# # # PURE JAVASCRIPT MODULE DOCUMENTATION # # #
+if ENABLE_WEBHELPER
include $(top_srcdir)/docs/reference/webhelper/Makefile.am.inc
+endif ENABLE_WEBHELPER
# # # GJS OVERRIDES # # #
@@ -379,7 +394,10 @@ EOS_COVERAGE_BLACKLIST_PATTERNS = "*test/endless*"
AM_JS_LOG_FLAGS += @EOS_JS_COVERAGE_LOG_FLAGS@
AM_CFLAGS += @EOS_C_COVERAGE_CFLAGS@
AM_LDFLAGS = @EOS_C_COVERAGE_LDFLAGS@
+
+if ENABLE_WEBHELPER
libwebhelper2private_la_LDFLAGS += @EOS_C_COVERAGE_LDFLAGS@
wh2extension_la_LDFLAGS += @EOS_C_COVERAGE_LDFLAGS@
+endif ENABLE_WEBHELPER
clean-local:: clean-coverage
diff --git a/configure.ac b/configure.ac
index e14d42f..d042140 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,6 +181,12 @@ AS_IF([test "x$enable_metrics" != "xno"], [
AC_DEFINE([USE_METRICS])
EOS_REQUIRED_MODULES_PRIVATE="$EOS_REQUIRED_MODULES_PRIVATE $EOSMETRICS_REQUIREMENT"])
+# --disable-webhelper: Don't build WebHelper. Use this if you just want a quick
+# Endless SDK without the webkit dependency.
+AC_ARG_ENABLE([webhelper], [AS_HELP_STRING([--disable-webhelper],
+ [WebHelper requires WebKit dependency @<:@default=yes@:>@])])
+AM_CONDITIONAL([ENABLE_WEBHELPER], [test "x$enable_webhelper" != "xno"])
+
# --enable-gir-doc: Build GIR documentation for Javascript. Done automatically
# during 'make distcheck'.
AC_ARG_ENABLE([gir-doc],
@@ -227,18 +233,21 @@ AC_SUBST([JASMINE_REPORT_ARGUMENT])
PKG_CHECK_MODULES([EOS_SDK], [
$EOS_REQUIRED_MODULES
$EOS_REQUIRED_MODULES_PRIVATE])
-PKG_CHECK_MODULES([WEBHELPER2_EXTENSION], [
- $GLIB_REQUIREMENT
- $GOBJECT_REQUIREMENT
- $WEBKIT2_REQUIREMENT])
-PKG_CHECK_MODULES([WEBHELPER2_PRIVATE], [
- $GLIB_REQUIREMENT
- $WEBKIT2_REQUIREMENT])
-# Check installed GIRs for webhelper JS module
-EOS_CHECK_GJS_GIR([GLib], [2.0])
-EOS_CHECK_GJS_GIR([WebKit], [3.0])
-EOS_CHECK_GJS_GIR([WebKit2], [4.0])
+AS_IF([test "x$enable_webhelper" != "xno"], [
+ PKG_CHECK_MODULES([WEBHELPER2_EXTENSION], [
+ $GLIB_REQUIREMENT
+ $GOBJECT_REQUIREMENT
+ $WEBKIT2_REQUIREMENT])
+ PKG_CHECK_MODULES([WEBHELPER2_PRIVATE], [
+ $GLIB_REQUIREMENT
+ $WEBKIT2_REQUIREMENT])
+
+ # Check installed GIRs for webhelper JS module
+ EOS_CHECK_GJS_GIR([GLib], [2.0])
+ EOS_CHECK_GJS_GIR([WebKit], [3.0])
+ EOS_CHECK_GJS_GIR([WebKit2], [4.0])
+])
# Code coverage reports support
EOS_COVERAGE_REPORT([c js])
diff --git a/test/Makefile.am.inc b/test/Makefile.am.inc
index 5a24fe7..ecde40a 100644
--- a/test/Makefile.am.inc
+++ b/test/Makefile.am.inc
@@ -45,12 +45,6 @@ EXTRA_DIST += \
javascript_tests = \
test/tools/eos-application-manifest/testInit.js \
test/tools/testHtmlExtractor.js \
- test/webhelper/testLocal.js \
- test/webhelper/testTranslate.js \
- test/webhelper/testTranslate2.js \
- test/webhelper/testWebActions.js \
- test/webhelper/testWebActions2.js \
- test/webhelper/testUpdateFontSize.js \
test/endless/testCustomContainer.js \
test/endless/testTopbarHomeButton.js \
test/endless/testTopbarNavButton.js \
@@ -62,6 +56,17 @@ EXTRA_DIST += \
test/utils.js \
$(NULL)
+if ENABLE_WEBHELPER
+javascript_tests += \
+ test/webhelper/testLocal.js \
+ test/webhelper/testTranslate.js \
+ test/webhelper/testTranslate2.js \
+ test/webhelper/testWebActions.js \
+ test/webhelper/testWebActions2.js \
+ test/webhelper/testUpdateFontSize.js \
+ $(NULL)
+endif ENABLE_WEBHELPER
+
# Run tests when running 'make check'
TESTS = \
test/endless/run-tests \
@@ -73,7 +78,6 @@ JS_LOG_DRIVER_FLAGS = --comments
TEST_EXTENSIONS = .js .coverage
JS_LOG_COMPILER = jasmine
AM_JS_LOG_FLAGS = \
- --include-path=$(top_srcdir)/webhelper \
--include-path=$(top_srcdir) \
--tap \
@JASMINE_REPORT_ARGUMENT@ \
@@ -92,6 +96,10 @@ dist_noinst_SCRIPTS = \
test/wait-for-service-helper.py \
$(NULL)
+if ENABLE_WEBHELPER
+AM_JS_LOG_FLAGS += --include-path=$(top_srcdir)/webhelper
+endif ENABLE_WEBHELPER
+
# Use locally built versions of Endless-0.gir and libraries; this may need to be
# changed to AM_TESTS_ENVIRONMENT in a future version of Automake
# Set XDG_CONFIG_HOME so as to avoid cluttering the user's actual config