Enable Dlog with TIZEN, CMAKE_SYSTEM_NAME 24/139124/2
authorSumin Lim <sumin.lim@samsung.com>
Mon, 17 Jul 2017 10:54:45 +0000 (19:54 +0900)
committerSumin Lim <sumin.lim@samsung.com>
Mon, 17 Jul 2017 10:56:11 +0000 (19:56 +0900)
Change-Id: I1870847588a4a95c1e6c03f73244fddbcd1a17b7

build.config
cmake/config/arm-tizen.cmake
cmake/iotjs.cmake
src/iotjs_debuglog.h

index 72cf2d0365920960d6e0040c092735195c28c622..421e89beeb8880562e7fe575813d7378c444e91e 100644 (file)
@@ -38,7 +38,7 @@
                 "-fno-strict-aliasing",
                 "-fno-strength-reduce",
                 "-fomit-frame-pointer"],
-      "tizen": ["-D__LINUX__",
+      "tizen": ["-D__TIZEN__",
                 "-fno-builtin"],
       "tizenrt": ["-D__TIZENRT__",
                 "-Os",
@@ -98,7 +98,7 @@
       "linux": ["m", "rt"],
       "darwin": [],
       "nuttx": [],
-      "tizen": ["m", "rt", "curl"],
+      "tizen": ["m", "rt"],
       "tizenrt": []
     }
   },
index cf41e486578bcf2003f202962fc49f4b2730ae31..7c5f928c041c6f775e7426fda592af2bd9640f64 100644 (file)
@@ -14,7 +14,7 @@
 
 include(CMakeForceCompiler)
 
-set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_NAME Tizen)
 set(CMAKE_SYSTEM_PROCESSOR armv7l)
 
 # Only set the compiler if not provided already
index 9e59905bca9dfbfdac962993ab532e0b8ad2449f..acb60bf09b048611fea61a076918eff12cc8d932 100644 (file)
@@ -228,15 +228,36 @@ separate_arguments(EXTERNAL_INCLUDE_DIR)
 separate_arguments(EXTERNAL_STATIC_LIB)
 separate_arguments(EXTERNAL_SHARED_LIB)
 
-set(IOTJS_INCLUDE_DIRS
-  ${EXTERNAL_INCLUDE_DIR}
-  ${ROOT_DIR}/include
-  ${IOTJS_SOURCE_DIR}
-  ${JERRY_PORT_DIR}/include
-  ${JERRY_INCLUDE_DIR}
-  ${HTTPPARSER_INCLUDE_DIR}
-  ${TUV_INCLUDE_DIR}
-)
+#for TIZEN
+if("${TARGET_OS}" STREQUAL "TIZEN")
+  INCLUDE(FindPkgConfig)
+  SET(dependents "dlog appcore-agent capi-appfw-service-application capi-appfw-app-common")
+  pkg_check_modules(fw_name REQUIRED ${dependents})
+  FOREACH(flag ${fw_name_CFLAGS})
+    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
+  ENDFOREACH(flag)
+
+  set(IOTJS_INCLUDE_DIRS
+    ${EXTERNAL_INCLUDE_DIR}
+    ${ROOT_DIR}/include
+    ${IOTJS_SOURCE_DIR}
+    ${JERRY_PORT_DIR}/include
+    ${JERRY_INCLUDE_DIR}
+    ${HTTPPARSER_INCLUDE_DIR}
+    ${TUV_INCLUDE_DIR}
+    ${fw_name_CFLAGS}
+  )
+else()
+  set(IOTJS_INCLUDE_DIRS
+    ${EXTERNAL_INCLUDE_DIR}
+    ${ROOT_DIR}/include
+    ${IOTJS_SOURCE_DIR}
+    ${JERRY_PORT_DIR}/include
+    ${JERRY_INCLUDE_DIR}
+    ${HTTPPARSER_INCLUDE_DIR}
+    ${TUV_INCLUDE_DIR}
+  )
+endif()
 
 set(IOTJS_CFLAGS ${IOTJS_CFLAGS} ${CFLAGS_COMMON})
 
@@ -249,13 +270,24 @@ set_target_properties(${TARGET_LIB_IOTJS} PROPERTIES
   ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
 )
 target_include_directories(${TARGET_LIB_IOTJS} PRIVATE ${IOTJS_INCLUDE_DIRS})
-target_link_libraries(${TARGET_LIB_IOTJS}
-  ${JERRY_LIBS}
-  ${TUV_LIBS}
-  libhttp-parser
-  ${EXTERNAL_STATIC_LIB}
-  ${EXTERNAL_SHARED_LIB}
-)
+if(NOT "${TARGET_OS}" STREQUAL "TIZEN")
+  target_link_libraries(${TARGET_LIB_IOTJS}
+    ${JERRY_LIBS}
+    ${TUV_LIBS}
+    libhttp-parser
+    ${EXTERNAL_STATIC_LIB}
+    ${EXTERNAL_SHARED_LIB}
+  )
+else()
+  target_link_libraries(${TARGET_LIB_IOTJS}
+    ${JERRY_LIBS}
+    ${TUV_LIBS}
+    libhttp-parser
+    ${EXTERNAL_STATIC_LIB}
+    ${EXTERNAL_SHARED_LIB}
+    ${fw_name_LDFLAGS}
+  )
+endif()
 
 if(NOT BUILD_LIB_ONLY)
 
index 74680278ed0572140ceac0d95736b1e6bd0ff1b2..34c8fa96d00e4f4fe38264647898a01c016b1005 100644 (file)
 
 #include <stdio.h>
 
+#if defined(__TIZEN__)
+#define LOG_TAG "IOTJS_RUNTIME"
+#include <dlog.h>
+#endif
+
 extern int iotjs_debug_level;
 extern FILE* iotjs_log_stream;
 extern const char* iotjs_debug_prefix[4];
@@ -29,18 +34,35 @@ extern const char* iotjs_debug_prefix[4];
 #define DBGLEV_WARN 2
 #define DBGLEV_INFO 3
 
+#if defined(__TIZEN__)
+
 #define IOTJS_DLOG(lvl, ...)                                        \
-  do {                                                              \
-    if (0 <= lvl && lvl <= iotjs_debug_level && iotjs_log_stream) { \
-      fprintf(iotjs_log_stream, "[%s] ", iotjs_debug_prefix[lvl]);  \
-      fprintf(iotjs_log_stream, __VA_ARGS__);                       \
-      fprintf(iotjs_log_stream, "\n");                              \
-      fflush(iotjs_log_stream);                                     \
-    }                                                               \
-  } while (0)
-#define DLOG(...) IOTJS_DLOG(DBGLEV_ERR, __VA_ARGS__)
-#define DDLOG(...) IOTJS_DLOG(DBGLEV_WARN, __VA_ARGS__)
-#define DDDLOG(...) IOTJS_DLOG(DBGLEV_INFO, __VA_ARGS__)
+    do {                                                              \
+      if (0 <= lvl && lvl <= iotjs_debug_level && iotjs_log_stream) { \
+        fprintf(iotjs_log_stream, "[%s] ", iotjs_debug_prefix[lvl]);  \
+        fprintf(iotjs_log_stream, __VA_ARGS__);                       \
+        fprintf(iotjs_log_stream, "\n");                              \
+        fflush(iotjs_log_stream);                                     \
+        dlog_print(DLOG_INFO, LOG_TAG, __VA_ARGS__);                  \
+      }                                                               \
+    } while (0)
+  #define DLOG(...) IOTJS_DLOG(DBGLEV_ERR, __VA_ARGS__)
+  #define DDLOG(...) IOTJS_DLOG(DBGLEV_WARN, __VA_ARGS__)
+  #define DDDLOG(...) IOTJS_DLOG(DBGLEV_INFO, __VA_ARGS__)
+#else
+  #define IOTJS_DLOG(lvl, ...)                                        \
+    do {                                                              \
+      if (0 <= lvl && lvl <= iotjs_debug_level && iotjs_log_stream) { \
+        fprintf(iotjs_log_stream, "[%s] ", iotjs_debug_prefix[lvl]);  \
+        fprintf(iotjs_log_stream, __VA_ARGS__);                       \
+        fprintf(iotjs_log_stream, "\n");                              \
+        fflush(iotjs_log_stream);                                     \
+      }                                                               \
+    } while (0)
+  #define DLOG(...) IOTJS_DLOG(DBGLEV_ERR, __VA_ARGS__)
+  #define DDLOG(...) IOTJS_DLOG(DBGLEV_WARN, __VA_ARGS__)
+  #define DDDLOG(...) IOTJS_DLOG(DBGLEV_INFO, __VA_ARGS__)
+#endif
 
 /*
   Use DLOG for errors, default you will see them