diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index acff24a232..907d9ca582 100644 --- a/configure.ac +++ b/configure.ac @@ -999,16 +999,46 @@ EFL_EVAL_PKGS([EINA_CXX]) EFL_LIB_END([Eina_Cxx]) #### End of Eina CXX -AC_ARG_ENABLE([js-bindings], - [AS_HELP_STRING([--enable-js-bindings],[enable JavaScript bindings. @<:@default=disabled@:>@])], - [want_js="${enableval}"], [want_js="no"]) -AM_CONDITIONAL([HAVE_JS], [test "x${want_js}" = "xyes"]) +AC_ARG_WITH([js], + [AS_HELP_STRING([--with-js=@<:@nodejs/libv8/libuv/none@:>@],[enable JavaScript bindings using nodejs or libv8/libuv as build dependencies. The libuv option implies libv8. @<:@default=none@:>@])], + [want_js="${withval}"], [want_js="none"]) + +AC_LANG_PUSH([C++]) +case "$want_js" in + nodejs) + AM_CONDITIONAL([HAVE_JS], [1]) + AC_CHECK_HEADER([node/v8.h], + [ + AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], ["node/v8.h"], [Include header for libv8]) + AC_DEFINE_UNQUOTED([UV_INCLUDE_HEADER], ["node/uv.h"], [Include header for libuv]) + ], + [AC_MSG_ERROR([Could not find include headers from nodejs.])]) + ;; + libv8) + AM_CONDITIONAL([HAVE_JS], [1]) + EFL_DEPEND_PKG([EINA_JS], [V8], [v8 >= 3.25.28]) + EFL_DEPEND_PKG([EO_JS], [V8], [v8 >= 3.25.28]) + AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], ["v8.h"], [Include header for libv8]) + ;; + libuv) + AM_CONDITIONAL([HAVE_JS], [1]) + EFL_DEPEND_PKG([EINA_JS], [V8], [v8 >= 3.25.28]) + EFL_DEPEND_PKG([EINA_JS], [UV], [v8 >= 1.1.0]) + EFL_DEPEND_PKG([EO_JS], [V8], [v8 >= 3.25.28]) + EFL_DEPEND_PKG([EO_JS], [UV], [v8 >= 1.1.0]) + AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], ["v8.h"], [Include header for libv8]) + AC_DEFINE_UNQUOTED([UV_INCLUDE_HEADER], ["uv.h"], [Include header for libuv]) + ;; + none) + AM_CONDITIONAL([HAVE_JS], [0]) + ;; + *) AC_MSG_ERROR([Invalid javascript dependency (${want_js}): must be none, nodejs, libv8 or libuv]) ;; +esac +AC_LANG_POP([C++]) #### Eina JS EFL_LIB_START([Eina_Js]) -EFL_DEPEND_PKG([EINA_JS], [V8], [v8 >= 3.25.28]) - EFL_INTERNAL_DEPEND_PKG([EINA_JS], [eina]) EFL_ADD_CFLAGS([EINA_JS], [${EFL_PTHREAD_CFLAGS}]) EFL_EVAL_PKGS([EINA_JS]) @@ -1019,8 +1049,6 @@ EFL_LIB_END([Eina_Js]) #### Eina JS EFL_LIB_START([Eo_Js]) -EFL_DEPEND_PKG([EO_JS], [V8], [v8 >= 3.25.28]) - EFL_INTERNAL_DEPEND_PKG([EO_JS], [eina]) EFL_ADD_CFLAGS([EO_JS], [${EFL_PTHREAD_CFLAGS}]) EFL_EVAL_PKGS([EO_JS]) |