diff options
author | Felipe Magno de Almeida <felipe@expertisesolutions.com.br> | 2015-01-12 19:14:50 -0200 |
---|---|---|
committer | Felipe Magno de Almeida <felipe@expertisesolutions.com.br> | 2015-01-12 19:14:50 -0200 |
commit | b2da868a83dee77f48a78d2a13f0cde4a3bfbee3 (patch) | |
tree | dcdd44309d23dde7da94592ccebb25c520415aef | |
parent | ecd24069cc4379666dc55b786ae8d78effa47acf (diff) | |
download | efl-b2da868a83dee77f48a78d2a13f0cde4a3bfbee3.tar.gz |
js: Fixed include V8_INCLUDE_HEADER and UV_INCLUDE_HEADER macros for dependencies
26 files changed, 80 insertions, 57 deletions
diff --git a/Makefile.am b/Makefile.am index d84af17262..f77345e187 100644 --- a/Makefile.am +++ b/Makefile.am @@ -166,7 +166,8 @@ endif if HAVE_JS pkgconfig_DATA += \ pc/eolian-js.pc \ -pc/eo-js.pc +pc/eo-js.pc \ +pc/eina-js.pc endif if BUILD_ENGINE_SOFTWARE_X11 diff --git a/configure.ac b/configure.ac index 6f967583f3..b39839b52d 100644 --- a/configure.ac +++ b/configure.ac @@ -1010,7 +1010,8 @@ AC_SUBST([want_js]) AC_SUBST([HAVE_NODEJS]) AM_CONDITIONAL([HAVE_JS], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibv8" -o "x${want_js}" = "xlibuv"]) -AC_DEFINE([HAVE_JS], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibv8" -o "x${want_js}" = "xlibuv"]) +AC_DEFINE_IF([HAVE_JS], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibv8" -o "x${want_js}" = "xlibuv"], + [1], [Compiling bindings for JavaScript]) AC_SUBST([HAVE_JS]) #### Eina JS @@ -1021,20 +1022,32 @@ case "$want_js" in nodejs) 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_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]) + V8_INCLUDE_HEADER=node/v8.h + UV_INCLUDE_HEADER=node/uv.h + AC_SUBST([V8_INCLUDE_HEADER]) + AC_SUBST([UV_INCLUDE_HEADER]) ], [AC_MSG_ERROR([Could not find include headers from nodejs.])]) ;; libv8) EFL_DEPEND_PKG([EINA_JS], [V8], [v8 >= 3.25.28]) - AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], ["v8.h"], [Include header for libv8]) + AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], [v8.h], [Include header for libv8]) + V8_INCLUDE_HEADER=v8.h + UV_INCLUDE_HEADER= + AC_SUBST([V8_INCLUDE_HEADER]) + AC_SUBST([UV_INCLUDE_HEADER]) ;; libuv) EFL_DEPEND_PKG([EINA_JS], [V8], [v8 >= 3.25.28]) EFL_DEPEND_PKG([EINA_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]) + AC_DEFINE_UNQUOTED([V8_INCLUDE_HEADER], [v8.h], [Include header for libv8]) + AC_DEFINE_UNQUOTED([UV_INCLUDE_HEADER], [uv.h], [Include header for libuv]) + V8_INCLUDE_HEADER=v8.h + UV_INCLUDE_HEADER=uv.h + AC_SUBST([V8_INCLUDE_HEADER]) + AC_SUBST([UV_INCLUDE_HEADER]) ;; none) ;; @@ -4613,6 +4626,7 @@ pc/eo.pc pc/eo-cxx.pc pc/eolian.pc pc/eolian-cxx.pc +pc/eina-js.pc pc/eolian-js.pc pc/eo-js.pc pc/efl.pc diff --git a/pc/eina-js.pc.in b/pc/eina-js.pc.in new file mode 100644 index 0000000000..5aa1e96c6e --- /dev/null +++ b/pc/eina-js.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ + +Name: Eina JavaScript +Description: JavaScript C++ helpers for data structures +Version: @PACKAGE_VERSION@ +Requires.private: @requirements_pc_eina@ +Libs.private: @requirements_libs_eina@ +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eina-@VMAJ@ -I${includedir}/eina-js-@VMAJ@ -DV8_INCLUDE_HEADER='@V8_INCLUDE_HEADER@' -DUV_INCLUDE_HEADER='@UV_INCLUDE_HEADER@' diff --git a/src/Makefile_Eina_Cxx.am b/src/Makefile_Eina_Cxx.am index ec766ab07e..745675e9f1 100644 --- a/src/Makefile_Eina_Cxx.am +++ b/src/Makefile_Eina_Cxx.am @@ -24,6 +24,7 @@ bindings/eina_cxx/eina_list.hh \ bindings/eina_cxx/eina_log.hh \ bindings/eina_cxx/eina_logical.hh \ bindings/eina_cxx/eina_optional.hh \ +bindings/eina_cxx/eina_pp.hh \ bindings/eina_cxx/eina_ptrarray.hh \ bindings/eina_cxx/eina_ptrlist.hh \ bindings/eina_cxx/eina_range_types.hh \ diff --git a/src/Makefile_Eina_Js.am b/src/Makefile_Eina_Js.am index 1d8a408e55..765c1274ad 100644 --- a/src/Makefile_Eina_Js.am +++ b/src/Makefile_Eina_Js.am @@ -37,37 +37,19 @@ EINA_JS_TEST_CXXFLAGS = -I$(top_builddir)/src/lib/efl \ @EO_CFLAGS@ \ @EINA_JS_CFLAGS@ -#installed_einacxxmainheadersdir = $(includedir)/eina-cxx-@VMAJ@ -#dist_installed_einacxxmainheaders_DATA = \ -bindings/eina_cxx/Eina.hh - -#installed_einacxxheadersdir = $(includedir)/eina-cxx-@VMAJ@/eina-cxx -#dist_installed_einacxxheaders_DATA = \ +installed_einajsheadersdir = $(includedir)/eina-js-@VMAJ@ +dist_installed_einacxxheaders_DATA = \ +bindings/eina_js/eina_js_accessor.hh \ +bindings/eina_js/eina_js_array.hh \ bindings/eina_js/eina_js_compatibility.hh \ -bindings/eina_cxx/eina_accessor.hh \ -bindings/eina_cxx/eina_array.hh \ -bindings/eina_cxx/eina_clone_allocators.hh \ -bindings/eina_cxx/eina_error.hh \ -bindings/eina_cxx/eina_eo_base_fwd.hh \ -bindings/eina_cxx/eina_fold.hh \ -bindings/eina_cxx/eina_inarray.hh \ -bindings/eina_cxx/eina_inlist.hh \ -bindings/eina_cxx/eina_integer_sequence.hh \ -bindings/eina_cxx/eina_iterator.hh \ -bindings/eina_cxx/eina_lists_auxiliary.hh \ -bindings/eina_cxx/eina_list.hh \ -bindings/eina_cxx/eina_log.hh \ -bindings/eina_cxx/eina_optional.hh \ -bindings/eina_cxx/eina_ptrarray.hh \ -bindings/eina_cxx/eina_ptrlist.hh \ -bindings/eina_cxx/eina_range_types.hh \ -bindings/eina_cxx/eina_ref.hh \ -bindings/eina_cxx/eina_stringshare.hh \ -bindings/eina_cxx/eina_thread.hh \ -bindings/eina_cxx/eina_tuple.hh \ -bindings/eina_cxx/eina_tuple_unwrap.hh \ -bindings/eina_cxx/eina_type_traits.hh \ -bindings/eina_cxx/eina_value.hh +bindings/eina_js/eina_js_container.hh \ +bindings/eina_js/eina_js_error.hh \ +bindings/eina_js/eina_js_get_value_from_c.hh \ +bindings/eina_js/eina_js_get_value.hh \ +bindings/eina_js/eina_js_iterator.hh \ +bindings/eina_js/eina_js_list.hh \ +bindings/eina_js/eina_js_log.hh \ +bindings/eina_js/eina_js_value.hh ### Unit tests diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc index 32d42c63ab..641e3cc030 100644 --- a/src/bin/eolian_js/main.cc +++ b/src/bin/eolian_js/main.cc @@ -243,7 +243,7 @@ int main(int argc, char** argv) os << "}\n\n"; } os << "#include <Eo_Js.hh>\n\n"; - os << "#include V8_INCLUDE_HEADER\n\n"; + os << "#include EINA_STRINGIZE(V8_INCLUDE_HEADER)\n\n"; os << "extern \"C\" {\n"; if(is_evas(klass)) diff --git a/src/bindings/eina_cxx/Eina.hh b/src/bindings/eina_cxx/Eina.hh index c1d755f9b7..9cfd441f96 100644 --- a/src/bindings/eina_cxx/Eina.hh +++ b/src/bindings/eina_cxx/Eina.hh @@ -21,6 +21,7 @@ #include <eina_log.hh> #include <eina_optional.hh> #include <eina_integer_sequence.hh> +#include <eina_pp.hh> /** * @page eina_cxx_main Eina C++ (BETA) diff --git a/src/bindings/eina_cxx/eina_pp.hh b/src/bindings/eina_cxx/eina_pp.hh new file mode 100644 index 0000000000..22a6a22ef7 --- /dev/null +++ b/src/bindings/eina_cxx/eina_pp.hh @@ -0,0 +1,8 @@ + +#ifndef EINA_PP_HH +#define EINA_PP_HH + +#define EINA_STRINGIZE_IMPL(x) #x +#define EINA_STRINGIZE(x) EINA_STRINGIZE_IMPL(x) + +#endif diff --git a/src/bindings/eina_js/eina_js_accessor.cc b/src/bindings/eina_js/eina_js_accessor.cc index 7c9b9d3e73..99fdb28dce 100644 --- a/src/bindings/eina_js/eina_js_accessor.cc +++ b/src/bindings/eina_js/eina_js_accessor.cc @@ -4,7 +4,7 @@ #include <Eina.hh> -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <eina_js_accessor.hh> #include <eina_js_compatibility.hh> diff --git a/src/bindings/eina_js/eina_js_accessor.hh b/src/bindings/eina_js/eina_js_accessor.hh index 533fc9cc89..6074cb569d 100644 --- a/src/bindings/eina_js/eina_js_accessor.hh +++ b/src/bindings/eina_js/eina_js_accessor.hh @@ -1,8 +1,8 @@ #ifndef EINA_JS_ACCESSOR_HH #define EINA_JS_ACCESSOR_HH -#include V8_INCLUDE_HEADER #include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <memory> #include <eina_js_value.hh> diff --git a/src/bindings/eina_js/eina_js_compatibility.hh b/src/bindings/eina_js/eina_js_compatibility.hh index 10c773a6c5..d3017a7c5a 100644 --- a/src/bindings/eina_js/eina_js_compatibility.hh +++ b/src/bindings/eina_js/eina_js_compatibility.hh @@ -3,7 +3,7 @@ #include <type_traits> -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) namespace v8 { diff --git a/src/bindings/eina_js/eina_js_container.cc b/src/bindings/eina_js/eina_js_container.cc index f3f1b38e56..7a04ec8068 100644 --- a/src/bindings/eina_js/eina_js_container.cc +++ b/src/bindings/eina_js/eina_js_container.cc @@ -2,7 +2,8 @@ #include <config.h> #endif -#include V8_INCLUDE_HEADER +#include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <Eina.h> #include <cstdlib> diff --git a/src/bindings/eina_js/eina_js_error.hh b/src/bindings/eina_js/eina_js_error.hh index 4e6be83bb1..7a4b0d2616 100644 --- a/src/bindings/eina_js/eina_js_error.hh +++ b/src/bindings/eina_js/eina_js_error.hh @@ -1,8 +1,8 @@ #ifndef EINA_JS_ERROR_HH #define EINA_JS_ERROR_HH -#include V8_INCLUDE_HEADER #include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) namespace efl { namespace js { diff --git a/src/bindings/eina_js/eina_js_get_value.hh b/src/bindings/eina_js/eina_js_get_value.hh index 6a63d4f5e4..c6bd73d7d1 100644 --- a/src/bindings/eina_js/eina_js_get_value.hh +++ b/src/bindings/eina_js/eina_js_get_value.hh @@ -3,7 +3,7 @@ #include <eina_js_compatibility.hh> -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <type_traits> #include <cstdlib> diff --git a/src/bindings/eina_js/eina_js_get_value_from_c.hh b/src/bindings/eina_js/eina_js_get_value_from_c.hh index 5ec35f88d9..638e644c47 100644 --- a/src/bindings/eina_js/eina_js_get_value_from_c.hh +++ b/src/bindings/eina_js/eina_js_get_value_from_c.hh @@ -3,7 +3,7 @@ #include <eina_js_compatibility.hh> -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <type_traits> #include <cstdlib> diff --git a/src/bindings/eina_js/eina_js_iterator.cc b/src/bindings/eina_js/eina_js_iterator.cc index 92e4f15321..a79b3b66c7 100644 --- a/src/bindings/eina_js/eina_js_iterator.cc +++ b/src/bindings/eina_js/eina_js_iterator.cc @@ -6,7 +6,7 @@ #include <eina_js_iterator.hh> #include <eina_js_compatibility.hh> -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) namespace efl { namespace eina { namespace js { diff --git a/src/bindings/eina_js/eina_js_iterator.hh b/src/bindings/eina_js/eina_js_iterator.hh index bcf575eba4..cd19729c4e 100644 --- a/src/bindings/eina_js/eina_js_iterator.hh +++ b/src/bindings/eina_js/eina_js_iterator.hh @@ -1,8 +1,8 @@ #ifndef EINA_JS_ITERATOR_HH #define EINA_JS_ITERATOR_HH -#include V8_INCLUDE_HEADER #include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <type_traits> #include <eina_js_value.hh> diff --git a/src/bindings/eina_js/eina_js_log.hh b/src/bindings/eina_js/eina_js_log.hh index 40bf16b204..8cf8dc2972 100644 --- a/src/bindings/eina_js/eina_js_log.hh +++ b/src/bindings/eina_js/eina_js_log.hh @@ -1,7 +1,7 @@ #ifndef EINA_JS_LOG_HH #define EINA_JS_LOG_HH -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <Eina.hh> #include <type_traits> diff --git a/src/bindings/eina_js/eina_js_value.hh b/src/bindings/eina_js/eina_js_value.hh index 417a054448..d2f57a8c53 100644 --- a/src/bindings/eina_js/eina_js_value.hh +++ b/src/bindings/eina_js/eina_js_value.hh @@ -1,8 +1,8 @@ #ifndef EINA_JS_VALUE_HH #define EINA_JS_VALUE_HH -#include V8_INCLUDE_HEADER #include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <type_traits> #include <eina_js_compatibility.hh> diff --git a/src/bindings/eo_js/eo_js_call_function.hh b/src/bindings/eo_js/eo_js_call_function.hh index 6cfbb79cc8..275d8f9d4f 100644 --- a/src/bindings/eo_js/eo_js_call_function.hh +++ b/src/bindings/eo_js/eo_js_call_function.hh @@ -1,7 +1,7 @@ #ifndef EFL_EO_JS_CALL_FUNCTION_HH #define EFL_EO_JS_CALL_FUNCTION_HH -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <eina_tuple.hh> #include <eina_tuple_c.hh> diff --git a/src/bindings/eo_js/eo_js_construct_from_eo.hh b/src/bindings/eo_js/eo_js_construct_from_eo.hh index a3f84d7d02..f08c15e0f2 100644 --- a/src/bindings/eo_js/eo_js_construct_from_eo.hh +++ b/src/bindings/eo_js/eo_js_construct_from_eo.hh @@ -1,7 +1,7 @@ #ifndef EFL_EO_JS_CONSTRUCT_FROM_EO_HH #define EFL_EO_JS_CONSTRUCT_FROM_EO_HH -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <eina_tuple.hh> #include <eina_tuple_c.hh> diff --git a/src/bindings/eo_js/eo_js_constructor.hh b/src/bindings/eo_js/eo_js_constructor.hh index f29f194c2c..417d573d38 100644 --- a/src/bindings/eo_js/eo_js_constructor.hh +++ b/src/bindings/eo_js/eo_js_constructor.hh @@ -1,7 +1,8 @@ #ifndef EFL_EO_JS_CONSTRUCTOR_HH #define EFL_EO_JS_CONSTRUCTOR_HH -#include V8_INCLUDE_HEADER +#include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <eina_tuple.hh> #include <eina_function.hh> diff --git a/src/bindings/eo_js/eo_js_event.hh b/src/bindings/eo_js/eo_js_event.hh index 27f410ec57..910535bb7a 100644 --- a/src/bindings/eo_js/eo_js_event.hh +++ b/src/bindings/eo_js/eo_js_event.hh @@ -1,7 +1,7 @@ #ifndef EFL_EO_JS_EVENT_HH #define EFL_EO_JS_EVENT_HH -#include V8_INCLUDE_HEADER +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <eina_tuple.hh> #include <eina_tuple_c.hh> diff --git a/src/bindings/eolian_js/main.cc b/src/bindings/eolian_js/main.cc index dba0cfce83..3f89e24cc4 100644 --- a/src/bindings/eolian_js/main.cc +++ b/src/bindings/eolian_js/main.cc @@ -5,8 +5,9 @@ #ifdef HAVE_NODEJS +#include <Eina.hh> #include <node/node.h> -#include UV_INCLUDE_HEADER +#include EINA_STRINGIZE(UV_INCLUDE_HEADER) #include <iostream> diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index e4392f79fd..cd72d11c79 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -158,7 +158,7 @@ timerfd_settime(int fd EINA_UNUSED, #endif #ifdef USE_LIBUV -#include UV_INCLUDE_HEADER +#include EINA_STRINGIZE(UV_INCLUDE_HEADER) #include <dlfcn.h> static uv_prepare_t _ecore_main_uv_prepare; static uv_check_t _ecore_main_uv_check; diff --git a/src/tests/eina_js/eina_js_suite.cc b/src/tests/eina_js/eina_js_suite.cc index cfcf528f19..5cf470a293 100644 --- a/src/tests/eina_js/eina_js_suite.cc +++ b/src/tests/eina_js/eina_js_suite.cc @@ -3,14 +3,14 @@ #include <config.h> #endif -#include V8_INCLUDE_HEADER +#include <Eina.hh> +#include EINA_STRINGIZE(V8_INCLUDE_HEADER) #include <cassert> #include <cstdlib> #include <fstream> #include <Eina.h> -#include <Eina.hh> #include <Eo.hh> #include <eina_js_list.hh> |