summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-01-12 19:14:50 -0200
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-01-12 19:14:50 -0200
commitb2da868a83dee77f48a78d2a13f0cde4a3bfbee3 (patch)
treedcdd44309d23dde7da94592ccebb25c520415aef
parentecd24069cc4379666dc55b786ae8d78effa47acf (diff)
downloadefl-b2da868a83dee77f48a78d2a13f0cde4a3bfbee3.tar.gz
js: Fixed include V8_INCLUDE_HEADER and UV_INCLUDE_HEADER macros for dependencies
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac26
-rw-r--r--pc/eina-js.pc.in13
-rw-r--r--src/Makefile_Eina_Cxx.am1
-rw-r--r--src/Makefile_Eina_Js.am42
-rw-r--r--src/bin/eolian_js/main.cc2
-rw-r--r--src/bindings/eina_cxx/Eina.hh1
-rw-r--r--src/bindings/eina_cxx/eina_pp.hh8
-rw-r--r--src/bindings/eina_js/eina_js_accessor.cc2
-rw-r--r--src/bindings/eina_js/eina_js_accessor.hh2
-rw-r--r--src/bindings/eina_js/eina_js_compatibility.hh2
-rw-r--r--src/bindings/eina_js/eina_js_container.cc3
-rw-r--r--src/bindings/eina_js/eina_js_error.hh2
-rw-r--r--src/bindings/eina_js/eina_js_get_value.hh2
-rw-r--r--src/bindings/eina_js/eina_js_get_value_from_c.hh2
-rw-r--r--src/bindings/eina_js/eina_js_iterator.cc2
-rw-r--r--src/bindings/eina_js/eina_js_iterator.hh2
-rw-r--r--src/bindings/eina_js/eina_js_log.hh2
-rw-r--r--src/bindings/eina_js/eina_js_value.hh2
-rw-r--r--src/bindings/eo_js/eo_js_call_function.hh2
-rw-r--r--src/bindings/eo_js/eo_js_construct_from_eo.hh2
-rw-r--r--src/bindings/eo_js/eo_js_constructor.hh3
-rw-r--r--src/bindings/eo_js/eo_js_event.hh2
-rw-r--r--src/bindings/eolian_js/main.cc3
-rw-r--r--src/lib/ecore/ecore_main.c2
-rw-r--r--src/tests/eina_js/eina_js_suite.cc4
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>