Remove g++ support from the [C]Make files.

Move all '.cpp' files to '.c'.
Rename comments from 'cpp' to 'c'.

JerryScript-DCO-1.0-Signed-off-by: Roland Takacs rtakacs.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
This commit is contained in:
Robert Sipka
2016-02-11 22:37:57 +01:00
parent ec5859f4e8
commit 977bfa5d2c
150 changed files with 131 additions and 166 deletions
+28 -49
View File
@@ -13,7 +13,7 @@
# limitations under the License.
cmake_minimum_required (VERSION 2.8.12)
project (Jerry CXX C ASM)
project (Jerry C ASM)
# Determining platform
set(PLATFORM "${CMAKE_SYSTEM_NAME}")
@@ -21,21 +21,22 @@ project (Jerry CXX C ASM)
# Compiler configuration
if(NOT ("${PLATFORM}" STREQUAL "DARWIN"))
if(NOT CMAKE_COMPILER_IS_GNUCXX)
message(FATAL_ERROR "g++ compiler is required")
if(NOT CMAKE_COMPILER_IS_GNUCC)
message(FATAL_ERROR "gcc compiler is required")
endif()
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
# Require g++ of version >= 4.7.0
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
OUTPUT_VARIABLE GNU_CXX_VERSION
if(CMAKE_COMPILER_IS_GNUCC)
# Require gcc of version >= 4.7.0
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
OUTPUT_VARIABLE GNU_CC_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${GNU_CXX_VERSION} VERSION_LESS 4.7.0)
message(FATAL_ERROR "g++ compiler version 4.7.0 or higher required")
if(${GNU_CC_VERSION} VERSION_LESS 4.7.0)
message(FATAL_ERROR "gcc compiler version 4.7.0 or higher required")
endif()
endif()
# Imported and third-party targets prefix
set(PREFIX_IMPORTED_LIB imported_)
set(SUFFIX_THIRD_PARTY_LIB .third_party.lib)
@@ -49,13 +50,11 @@ project (Jerry CXX C ASM)
# Architecture-specific compile/link flags
foreach(FLAG ${FLAGS_COMMON_ARCH})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG}")
endforeach()
# Remove rdynamic option
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS )
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS )
# Defining options
option(ENABLE_VALGRIND "Enable valgrind helpers in memory allocators" OFF)
@@ -102,7 +101,7 @@ project (Jerry CXX C ASM)
message(FATAL_ERROR "Platform '${PLATFORM}' is not supported")
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_COMPILER_IS_GNUCC)
if("${ENABLE_LTO}" STREQUAL "ON")
# Use gcc-ar and gcc-ranlib to support LTO
get_filename_component(PATH_TO_GCC ${CMAKE_C_COMPILER} REALPATH)
@@ -273,7 +272,7 @@ project (Jerry CXX C ASM)
macro(add_jerry_compile_warnings)
foreach(_warning ${ARGV})
add_jerry_compile_flags(-W${_warning})
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_COMPILER_IS_GNUCC)
add_jerry_compile_flags(-Werror=${_warning})
endif()
endforeach()
@@ -281,7 +280,7 @@ project (Jerry CXX C ASM)
add_jerry_compile_warnings(all extra format-nonliteral init-self conversion sign-conversion format-security missing-declarations)
add_jerry_compile_flags(-pedantic -Wno-stack-protector -Wno-attributes)
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_COMPILER_IS_GNUCC)
add_jerry_compile_warnings(logical-op)
else()
add_jerry_compile_flags(-Wno-nested-anon-types)
@@ -298,13 +297,6 @@ project (Jerry CXX C ASM)
set(LINKER_FLAGS_STATIC "-static")
endif()
# C++
set(CXX_FLAGS_JERRY "-std=c++11 -fno-exceptions -fno-rtti")
# Turn off implicit template instantiation
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
set(CXX_FLAGS_JERRY "${CXX_FLAGS_JERRY} -fno-implicit-templates -fno-implicit-inline-templates")
endif()
# C
set(C_FLAGS_JERRY "-std=c99")
@@ -333,23 +325,23 @@ project (Jerry CXX C ASM)
# Platform-specific
# Jerry standalone
# Linux
set(SOURCE_JERRY_STANDALONE_MAIN_LINUX main-unix.cpp)
set(SOURCE_JERRY_STANDALONE_MAIN_LINUX main-unix.c)
# Darwin
set(SOURCE_JERRY_STANDALONE_MAIN_DARWIN main-unix.cpp)
set(SOURCE_JERRY_STANDALONE_MAIN_DARWIN main-unix.c)
# MCU
# stm32f3
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F3 main-mcu.cpp)
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F3 main-mcu.c)
# stm32f4
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.cpp)
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.c)
# Unit tests main modules
file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.cpp)
file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.c)
# Imported libraries
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT CMAKE_COMPILER_IS_GNUCC))
# libclang_rt.osx
add_library(${PREFIX_IMPORTED_LIB}libclang_rt.osx STATIC IMPORTED)
execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=
@@ -366,19 +358,6 @@ else()
OUTPUT_STRIP_TRAILING_WHITESPACE)
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION})
# libgcc_eh
add_library(${PREFIX_IMPORTED_LIB}libgcc_eh STATIC IMPORTED)
execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=libgcc_eh.a
OUTPUT_VARIABLE IMPORTED_LIBGCC_EH_LOCATION
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(EXISTS "${IMPORTED_LIBGCC_EH_LOCATION}")
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc_eh
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_EH_LOCATION})
else()
# If libgcc_eh not found, reference libgcc instead
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc_eh
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION})
endif()
endif()
# Platform-specific configuration
@@ -436,19 +415,19 @@ endif()
endif()
set_property(TARGET ${TARGET_NAME}
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${C_FLAGS_JERRY}")
set_property(TARGET ${TARGET_NAME}
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_STATIC}")
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_STATIC}")
target_compile_definitions(${TARGET_NAME} PRIVATE ${DEFINES_JERRY})
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_EXTERNAL_LIBS_INTERFACE})
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC)))
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libclang_rt.osx)
else()
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc)
endif()
add_cppcheck_target(${TARGET_NAME})
@@ -483,7 +462,7 @@ endif()
if(DEFINED EXTERNAL_BUILD_ENTRY_FILE)
add_library(${TARGET_NAME}-entry STATIC ${EXTERNAL_BUILD_ENTRY_FILE})
set_property(TARGET ${TARGET_NAME}-entry
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
target_compile_definitions(${TARGET_NAME}-entry PRIVATE ${DEFINES_JERRY})
target_include_directories(${TARGET_NAME}-entry PRIVATE ${INCLUDE_CORE_INTERFACE})
target_include_directories(${TARGET_NAME}-entry SYSTEM PRIVATE ${CMAKE_SOURCE_DIR})
@@ -530,18 +509,18 @@ endif()
add_executable(${TARGET_NAME} ${SOURCE_UNIT_TEST_MAIN})
set_property(TARGET ${TARGET_NAME}
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS}")
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${C_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS}")
set_property(TARGET ${TARGET_NAME}
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC)))
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME} ${FDLIBM_TARGET_NAME}
${PREFIX_IMPORTED_LIB}libclang_rt.osx)
else()
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME} ${FDLIBM_TARGET_NAME}
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
${PREFIX_IMPORTED_LIB}libgcc)
endif()
add_cppcheck_target(${TARGET_NAME})
-1
View File
@@ -115,7 +115,6 @@ export TARGET_NATIVE_SYSTEMS = $(shell uname -s | tr '[:upper:]' '[:lower:]')
endif
# Compiler to use for external build
EXTERNAL_C_COMPILER ?= arm-none-eabi-gcc
EXTERNAL_CXX_COMPILER ?= arm-none-eabi-g++
export TARGET_DEBUG_MODES = debug
export TARGET_RELEASE_MODES = release
-1
View File
@@ -18,4 +18,3 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i686)
CMAKE_FORCE_C_COMPILER(afl-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(afl-g++ GNU)
-1
View File
@@ -18,6 +18,5 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
CMAKE_FORCE_C_COMPILER(afl-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(afl-g++ GNU)
set(FLAGS_COMMON_ARCH -ffixed-rbp)
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
find_program(CMAKE_C_COMPILER NAMES gcc cc)
find_program(CMAKE_CXX_COMPILER NAMES g++ c++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES strip)
-1
View File
@@ -18,4 +18,3 @@ set(CMAKE_SYSTEM_NAME EXTERNAL)
set(CMAKE_SYSTEM_PROCESSOR "${EXTERNAL_CMAKE_SYSTEM_PROCESSOR}")
CMAKE_FORCE_C_COMPILER(${EXTERNAL_CMAKE_C_COMPILER} GNU)
CMAKE_FORCE_CXX_COMPILER(${EXTERNAL_CMAKE_CXX_COMPILER} GNU)
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR armv7l-el)
set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES arm-linux-gnueabi-strip strip)
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR armv7l-hf)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES arm-linux-gnueabihf-strip strip)
#
-1
View File
@@ -16,6 +16,5 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i686)
find_program(CMAKE_C_COMPILER NAMES i686-linux-gnu-gcc i686-unknown-linux-gnu-gcc)
find_program(CMAKE_CXX_COMPILER NAMES i686-linux-gnu-g++ i686-unknown-linux-gnu-g++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES i686-linux-gnu-strip i686-unknown-linux-gnu-strip strip)
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
find_program(CMAKE_C_COMPILER NAMES x86_64-linux-gnu-gcc x86_64-unknown-linux-gnu-gcc)
find_program(CMAKE_CXX_COMPILER NAMES x86_64-linux-gnu-g++ x86_64-unknown-linux-gnu-g++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES x86_64-linux-gnu-strip x86_64-unknown-linux-gnu-strip strip)
@@ -21,4 +21,3 @@ set(CMAKE_SYSTEM_VERSION STM32F3)
set(FLAGS_COMMON_ARCH -mlittle-endian -mthumb -mcpu=cortex-m4 -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard)
CMAKE_FORCE_C_COMPILER(arm-none-eabi-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(arm-none-eabi-g++ GNU)
@@ -21,4 +21,3 @@ set(CMAKE_SYSTEM_VERSION STM32F4)
set(FLAGS_COMMON_ARCH -mlittle-endian -mthumb -mcpu=cortex-m4 -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard)
CMAKE_FORCE_C_COMPILER(arm-none-eabi-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(arm-none-eabi-g++ GNU)
@@ -16,6 +16,5 @@ set(CMAKE_SYSTEM_NAME Openwrt)
set(CMAKE_SYSTEM_PROCESSOR mips)
set(CMAKE_C_COMPILER mipsel-openwrt-linux-gcc)
set(CMAKE_CXX_COMPILER mipsel-openwrt-linux-g++)
# FIXME: This could break cross compilation, when the strip is not for the target architecture
find_program(CMAKE_STRIP NAMES mipsel-openwrt-linux-strip strip)
@@ -43,7 +43,7 @@
foreach(SOURCE ${TARGET_SOURCES})
# Add to list if it is C or C++ source
get_filename_component(SOURCE_EXTENSION ${SOURCE} EXT)
if("${SOURCE_EXTENSION}" STREQUAL ".c" OR "${SOURCE_EXTENSION}" STREQUAL ".cpp")
if("${SOURCE_EXTENSION}" STREQUAL ".c")
set(CPPCHECK_SOURCES_LIST ${CPPCHECK_SOURCES_LIST} ${SOURCE})
set(ADD_CPPCHECK_COMMAND true)
+6 -6
View File
@@ -4,7 +4,7 @@ This guide is intended to introduce you to JerryScript embedding API through cre
## Step 1. Execute JavaScript from your application
```cpp
```c
#include <string.h>
#include "jerry.h"
@@ -34,7 +34,7 @@ Here we perform the same actions, as `jerry_run_simple`, while splitting into se
- engine cleanup
```cpp
```c
#include <string.h>
#include "jerry.h"
@@ -60,7 +60,7 @@ Our code is more complex now, but it introduces possibilities to interact with J
## Step 3. Execution in 'eval'-mode
```cpp
```c
#include <string.h>
#include "jerry.h"
@@ -95,7 +95,7 @@ This way, we execute two independent script parts in one execution environment.
## Step 4. Interaction with JavaScript environment
```cpp
```c
#include <string.h>
#include "jerry.h"
@@ -164,7 +164,7 @@ Pointers to strings or objects and values should be released just when become un
The following example function will output a JavaScript value:
```cpp
```c
static void
print_value (const jerry_api_value_t * value_p)
{
@@ -234,7 +234,7 @@ Shell operation can be described with the following loop:
- print result of eval;
- loop.
```cpp
```c
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
+61 -61
View File
@@ -5,7 +5,7 @@ The simplest way to run JavaScript.
**Prototype**
```cpp
```c
jerry_completion_code_t
jerry_run_simple (const char * script_source,
size_t script_source_size,
@@ -18,7 +18,7 @@ jerry_run_simple (const char * script_source,
**Example**
```cpp
```c
{
const char * script = "print ('Hello, World!');";
@@ -41,7 +41,7 @@ Initializes JerryScript engine, making possible to run JavaScript code and perfo
**Prototype**
```cpp
```c
void
jerry_init (jerry_flag_t flags);
```
@@ -55,7 +55,7 @@ jerry_init (jerry_flag_t flags);
**Example**
```cpp
```c
{
jerry_init (JERRY_FLAG_ENABLE_LOG);
@@ -79,7 +79,7 @@ JavaScript values, received from engine, are inaccessible after the cleanup.
**Prototype**
```cpp
```c
void
jerry_cleanup (void);
```
@@ -98,7 +98,7 @@ so `jerry_parse` could be invoked only once between `jerry_init` and `jerry_clea
**Prototype**
```cpp
```c
bool
jerry_parse (const char* source_p, size_t source_size);
```
@@ -107,7 +107,7 @@ jerry_parse (const char* source_p, size_t source_size);
**Example**
```cpp
```c
{
jerry_init (JERRY_FLAG_ENABLE_LOG);
@@ -133,7 +133,7 @@ The code should be previously registered through `jerry_parse`.
**Prototype**
```cpp
```c
jerry_completion_code_t
jerry_run (void);
```
@@ -142,7 +142,7 @@ jerry_run (void);
**Example**
```cpp
```c
{
jerry_init (JERRY_FLAG_ENABLE_LOG);
@@ -175,7 +175,7 @@ Type of value is identified by `jerry_api_value_t::type`, and can be one of the
**Structure**
```cpp
```c
typedef struct jerry_api_value_t
{
jerry_api_data_type_t type;
@@ -212,7 +212,7 @@ Perform JavaScript `eval`.
**Prototype**
```cpp
```c
jerry_completion_code_t
jerry_api_eval (const char * source_p,
size_t source_size,
@@ -230,7 +230,7 @@ jerry_api_eval (const char * source_p,
**Example**
```cpp
```c
{
jerry_api_value_t ret_val;
@@ -256,7 +256,7 @@ Upon the JavaScript string becomes unused, all pointers to it should be released
**Prototype**
```cpp
```c
jerry_api_string_t*
jerry_api_create_string (const char * v);
```
@@ -266,7 +266,7 @@ jerry_api_create_string (const char * v);
**Example**
```cpp
```c
{
jerry_api_string_t * string_p = jerry_api_create_string ("abc");
@@ -289,7 +289,7 @@ Copy string characters to specified buffer, append zero character at end of the
**Prototype**
```cpp
```c
ssize_t
jerry_api_string_to_char_buffer (const jerry_api_string_t * string_p,
char * buffer_p,
@@ -305,7 +305,7 @@ jerry_api_string_to_char_buffer (const jerry_api_string_t * string_p,
**Example**
```cpp
```c
{
jerry_api_object_t * obj_p = jerry_api_get_global ();
jerry_api_value_t val;
@@ -355,7 +355,7 @@ The acquired pointer should be released with [jerry_api_release_string](#jerryap
**Prototype**
```cpp
```c
jerry_api_string_t*
jerry_api_acquire_string (jerry_api_string_t * string_p);
```
@@ -365,7 +365,7 @@ jerry_api_acquire_string (jerry_api_string_t * string_p);
**Example**
```cpp
```c
{
jerry_api_string_t * str_ptr1_p = jerry_api_create_string ("abc");
jerry_api_string_t * str_ptr2_p = jerry_api_acquire_string (str_ptr1_p);
@@ -392,7 +392,7 @@ Release specified pointer to the string.
**Prototype**
```cpp
```c
void
jerry_api_release_string (jerry_api_string_t * string_p);
```
@@ -401,7 +401,7 @@ jerry_api_release_string (jerry_api_string_t * string_p);
**Example**
```cpp
```c
{
jerry_api_string_t * str_ptr1_p = jerry_api_create_string ("abc");
jerry_api_string_t * str_ptr2_p = jerry_api_acquire_string (str_ptr1_p);
@@ -430,7 +430,7 @@ Upon the JavaScript object becomes unused, all pointers to it should be released
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_create_object ();
```
@@ -439,7 +439,7 @@ jerry_api_create_object ();
**Example**
```cpp
```c
{
jerry_api_object_t * object_p = jerry_api_create_object ();
@@ -469,7 +469,7 @@ The acquired pointer should be released with [jerry_api_release_object](#jerryap
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_acquire_object (jerry_api_object_t * object_p);
```
@@ -479,7 +479,7 @@ jerry_api_acquire_object (jerry_api_object_t * object_p);
**Example**
```cpp
```c
{
jerry_api_object_t * obj_ptr1_p = jerry_api_create_object ();
jerry_api_object_t * obj_ptr2_p = jerry_api_acquire_object (obj_ptr1_p);
@@ -506,7 +506,7 @@ Release specified pointer to the object.
**Prototype**
```cpp
```c
void
jerry_api_release_object (jerry_api_object_t * object_p);
```
@@ -515,7 +515,7 @@ jerry_api_release_object (jerry_api_object_t * object_p);
**Example**
```cpp
```c
{
jerry_api_object_t * obj_ptr1_p = jerry_api_create_object ();
jerry_api_object_t * obj_ptr2_p = jerry_api_acquire_object (obj_ptr1_p);
@@ -542,7 +542,7 @@ Get the Global object.
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_get_global (void);
```
@@ -553,7 +553,7 @@ Received pointer should be released with [jerry_api_release_object](#jerryapirel
**Example**
```cpp
```c
{
jerry_api_object_t * glob_obj_p = jerry_api_get_global ();
@@ -585,7 +585,7 @@ Create field (named data property) in an object
**Prototype**
```cpp
```c
bool
jerry_api_add_object_field (jerry_api_object_t * object_p,
const char * field_name_p,
@@ -603,7 +603,7 @@ jerry_api_add_object_field (jerry_api_object_t * object_p,
**Example**
```cpp
```c
{
jerry_api_object_t * obj_p = jerry_api_create_object ();
@@ -629,7 +629,7 @@ Delete field (property) in the specified object
**Prototype**
```cpp
```c
bool
jerry_api_delete_object_field (jerry_api_object_t * object_p,
const char * field_name_p);
@@ -642,7 +642,7 @@ jerry_api_delete_object_field (jerry_api_object_t * object_p,
**Example**
```cpp
```c
{
jerry_api_object_t* obj_p;
... // receive or construct obj_p
@@ -663,7 +663,7 @@ Get value of field (property) in the specified object, i.e. perform [[Get]] oper
**Prototype**
```cpp
```c
bool
jerry_api_get_object_field_value (jerry_api_object_t * object_p,
const char * field_name_p,
@@ -680,7 +680,7 @@ If value was retrieved successfully, it should be freed with [jerry_api_release_
**Example**
```cpp
```c
{
jerry_api_object_t* obj_p;
... // receive or construct obj_p
@@ -708,7 +708,7 @@ Set value of a field (property) in the specified object, i.e. perform [[Put]] op
**Prototype**
```cpp
```c
bool
jerry_api_set_object_field_value (jerry_api_object_t * object_p,
const char * field_name_p,
@@ -723,7 +723,7 @@ jerry_api_set_object_field_value (jerry_api_object_t * object_p,
**Example**
```cpp
```c
{
jerry_api_object_t* obj_p;
jerry_api_value_t val;
@@ -747,7 +747,7 @@ Get native handle, previously associated with specified object.
**Prototype**
```cpp
```c
bool
jerry_api_get_object_native_handle (jerry_api_object_t * object_p,
uintptr_t* out_handle_p);
@@ -759,7 +759,7 @@ jerry_api_get_object_native_handle (jerry_api_object_t * object_p,
**Example**
```cpp
```c
{
jerry_api_object_t* obj_p;
uintptr_t handle_set;
@@ -791,7 +791,7 @@ If native handle or "free" callback were already set for the object, correspondi
**Prototype**
```cpp
```c
void
jerry_api_set_object_native_handle (jerry_api_object_t * object_p,
uintptr_t handle,
@@ -804,7 +804,7 @@ jerry_api_set_object_native_handle (jerry_api_object_t * object_p,
**Example**
```cpp
```c
{
jerry_api_object_t* obj_p;
uintptr_t handle_set;
@@ -833,7 +833,7 @@ Check whether the specified object is a function object.
**Prototype**
```cpp
```c
bool
jerry_api_is_function (const jerry_api_object_t* object_p);
```
@@ -843,7 +843,7 @@ jerry_api_is_function (const jerry_api_object_t* object_p);
**Example**
```cpp
```c
{
jerry_api_value_t val;
@@ -870,7 +870,7 @@ Check whether the specified object is a constructor function object.
**Prototype**
```cpp
```c
bool
jerry_api_is_constructor (const jerry_api_object_t* object_p);
```
@@ -880,7 +880,7 @@ jerry_api_is_constructor (const jerry_api_object_t* object_p);
**Example**
```cpp
```c
{
jerry_api_value_t val;
@@ -907,7 +907,7 @@ Call function object.
**Prototype**
```cpp
```c
bool
jerry_api_call_function (jerry_api_object_t * function_object_p,
jerry_api_object_t * this_arg_p,
@@ -928,7 +928,7 @@ jerry_api_call_function (jerry_api_object_t * function_object_p,
**Example**
```cpp
```c
{
jerry_api_value_t val;
@@ -966,7 +966,7 @@ Construct object invoking specified function object as constructor.
**Prototype**
```cpp
```c
bool
jerry_api_construct_object (jerry_api_object_t * function_object_p,
jerry_api_value_t * retval_p,
@@ -985,7 +985,7 @@ If call was performed successfully, returned value should be freed with [jerry_a
**Example**
```cpp
```c
{
jerry_api_value_t val;
@@ -1022,7 +1022,7 @@ The data type represents pointer to call handler of a native function object.
**Structure**
```cpp
```c
typedef bool (* jerry_external_handler_t) (const jerry_api_object_t * function_obj_p,
const jerry_api_value_t * this_p,
jerry_api_value_t * ret_val_p,
@@ -1041,7 +1041,7 @@ Create an external function object.
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_create_external_function (jerry_external_handler_t handler_p);
```
@@ -1053,7 +1053,7 @@ Received pointer should be released with [jerry_api_release_object](#jerryapirel
**Example**
```cpp
```c
static bool
handler (const jerry_api_object_t * function_obj_p,
const jerry_api_value_t * this_p,
@@ -1099,7 +1099,7 @@ Upon the JavaScript array object becomes unused, all pointers to it should be re
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_create_array_object (jerry_api_size_t array_size);
```
@@ -1109,7 +1109,7 @@ jerry_api_create_array_object (jerry_api_size_t array_size);
**Example**
```cpp
```c
{
jerry_api_object_t * array_object_p = jerry_api_create_array_object (10);
@@ -1139,7 +1139,7 @@ Set value of an indexed element in the specified array object.
**Prototype**
```cpp
```c
bool
jerry_api_set_array_index_value (jerry_api_object_t * array_object_p,
jerry_api_length_t index,
@@ -1153,7 +1153,7 @@ jerry_api_set_array_index_value (jerry_api_object_t * array_object_p,
**Example**
```cpp
```c
{
jerry_api_object_t * array_object_p = jerry_api_create_array_object (10);
jerry_api_value_t val;
@@ -1178,7 +1178,7 @@ Get value of an indexed element in the specified array object.
**Prototype**
```cpp
```c
bool
jerry_api_get_array_index_value (jerry_api_object_t * array_object_p,
jerry_api_length_t index,
@@ -1192,7 +1192,7 @@ jerry_api_get_array_index_value (jerry_api_object_t * array_object_p,
**Example**
```cpp
```c
{
jerry_api_object_t* array_object_p;
... // receive or construct array_object_p
@@ -1218,7 +1218,7 @@ Release specified pointer to the value.
**Prototype**
```cpp
```c
void
jerry_api_release_value (jerry_api_value_t * value_p);
```
@@ -1226,7 +1226,7 @@ jerry_api_release_value (jerry_api_value_t * value_p);
- `value_p` - pointer to the value.
**Example**
```cpp
```c
{
jerry_api_value_t val1;
jerry_api_value_t val2;
@@ -1259,7 +1259,7 @@ it should be throwed inside of handle attached to external function object.
**Prototype**
```cpp
```c
jerry_api_object_t*
jerry_api_create_error (jerry_api_error_t error_type,
const jerry_api_char_t * message_p);
@@ -1271,7 +1271,7 @@ jerry_api_create_error (jerry_api_error_t error_type,
**Example**
```cpp
```c
static bool
handler (const jerry_api_object_t * function_obj_p,
const jerry_api_value_t * this_p,
+1 -1
View File
@@ -3,7 +3,7 @@
Currently, only Ubuntu 14.04+ is officially supported as primary development environment.
There are several dependencies, that should be installed manually. The following list is required for building:
- `gcc` or `g++` higher than `4.8.2`
- `gcc` higher than `4.8.2`
- native
- arm-none-eabi
- `cmake` higher than `2.8.12.2`
+14 -14
View File
@@ -13,7 +13,7 @@
# limitations under the License.
cmake_minimum_required (VERSION 2.8.12)
project (JerryCore CXX C ASM)
project (JerryCore C ASM)
# Definitions
# Get version information from git
@@ -122,17 +122,17 @@ project (JerryCore CXX C ASM)
# Sources
# Jerry core
file(GLOB SOURCE_CORE_API *.cpp)
file(GLOB SOURCE_CORE_LIT lit/*.cpp)
file(GLOB SOURCE_CORE_RCS rcs/*.cpp)
file(GLOB SOURCE_CORE_MEM mem/*.cpp)
file(GLOB SOURCE_CORE_VM vm/*.cpp)
file(GLOB SOURCE_CORE_ECMA_BUILTINS ecma/builtin-objects/*.cpp)
file(GLOB SOURCE_CORE_ECMA_BASE ecma/base/*.cpp)
file(GLOB SOURCE_CORE_ECMA_OPERATIONS ecma/operations/*.cpp)
file(GLOB SOURCE_CORE_PARSER_JS parser/js/*.cpp)
file(GLOB SOURCE_CORE_PARSER_REGEXP parser/regexp/*.cpp)
file(GLOB SOURCE_CORE_JRT jrt/*.cpp)
file(GLOB SOURCE_CORE_API *.c)
file(GLOB SOURCE_CORE_LIT lit/*.c)
file(GLOB SOURCE_CORE_RCS rcs/*.c)
file(GLOB SOURCE_CORE_MEM mem/*.c)
file(GLOB SOURCE_CORE_VM vm/*.c)
file(GLOB SOURCE_CORE_ECMA_BUILTINS ecma/builtin-objects/*.c)
file(GLOB SOURCE_CORE_ECMA_BASE ecma/base/*.c)
file(GLOB SOURCE_CORE_ECMA_OPERATIONS ecma/operations/*.c)
file(GLOB SOURCE_CORE_PARSER_JS parser/js/*.c)
file(GLOB SOURCE_CORE_PARSER_REGEXP parser/regexp/*.c)
file(GLOB SOURCE_CORE_JRT jrt/*.c)
set(SOURCE_CORE_FILES
${SOURCE_CORE_API}
@@ -149,7 +149,7 @@ project (JerryCore CXX C ASM)
# All-in-one build
if("${ENABLE_ALL_IN_ONE}" STREQUAL "ON")
set(ALL_IN_FILE "${CMAKE_BINARY_DIR}/jerry-all-in.cpp")
set(ALL_IN_FILE "${CMAKE_BINARY_DIR}/jerry-all-in.c")
list(SORT SOURCE_CORE_FILES)
file(REMOVE ${ALL_IN_FILE})
@@ -201,7 +201,7 @@ project (JerryCore CXX C ASM)
add_library(${TARGET_NAME}.jerry-core STATIC ${SOURCE_CORE})
set_property(TARGET ${TARGET_NAME}.jerry-core
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${C_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
target_compile_definitions(${TARGET_NAME}.jerry-core PRIVATE ${DEFINES_JERRY})
target_include_directories(${TARGET_NAME}.jerry-core PRIVATE ${INCLUDE_CORE})
target_include_directories(${TARGET_NAME}.jerry-core PRIVATE ${INCLUDE_FDLIBM})
+6 -6
View File
@@ -51,7 +51,7 @@
*/
#define ECMA_SET_POINTER(field, non_compressed_pointer) MEM_CP_SET_POINTER (field, non_compressed_pointer)
/* ecma-helpers-value.cpp */
/* ecma-helpers-value.c */
extern ecma_type_t ecma_get_value_type_field (ecma_value_t) __attr_pure___;
extern bool ecma_is_value_empty (ecma_value_t);
@@ -137,7 +137,7 @@ extern lit_string_hash_t ecma_string_hash (const ecma_string_t *);
extern ecma_string_t *ecma_string_substr (const ecma_string_t *, ecma_length_t, ecma_length_t);
extern ecma_string_t *ecma_string_trim (const ecma_string_t *);
/* ecma-helpers-number.cpp */
/* ecma-helpers-number.c */
extern const ecma_number_t ecma_number_relative_eps;
extern ecma_number_t ecma_number_make_nan (void);
@@ -163,7 +163,7 @@ extern ecma_number_t ecma_number_multiply (ecma_number_t, ecma_number_t);
extern ecma_number_t ecma_number_divide (ecma_number_t, ecma_number_t);
extern void ecma_number_to_decimal (ecma_number_t, uint64_t *, int32_t *, int32_t *);
/* ecma-helpers-values-collection.cpp */
/* ecma-helpers-values-collection.c */
extern ecma_collection_header_t *ecma_new_values_collection (const ecma_value_t[], ecma_length_t, bool);
extern void ecma_free_values_collection (ecma_collection_header_t *, bool);
extern void ecma_append_to_values_collection (ecma_collection_header_t *, ecma_value_t, bool);
@@ -188,7 +188,7 @@ ecma_collection_iterator_init (ecma_collection_iterator_t *, ecma_collection_hea
extern bool
ecma_collection_iterator_next (ecma_collection_iterator_t *);
/* ecma-helpers.cpp */
/* ecma-helpers.c */
extern ecma_object_t *ecma_create_object (ecma_object_t *, bool, ecma_object_type_t);
extern ecma_object_t *ecma_create_decl_lex_env (ecma_object_t *);
extern ecma_object_t *ecma_create_object_lex_env (ecma_object_t *, ecma_object_t *, bool);
@@ -250,7 +250,7 @@ extern ecma_property_descriptor_t ecma_get_property_descriptor_from_property (ec
extern void ecma_bytecode_ref (ecma_compiled_code_t *);
extern void ecma_bytecode_deref (ecma_compiled_code_t *);
/* ecma-helpers-external-pointers.cpp */
/* ecma-helpers-external-pointers.c */
extern bool
ecma_create_external_pointer_property (ecma_object_t *, ecma_internal_property_id_t, ecma_external_pointer_t);
extern bool
@@ -258,7 +258,7 @@ ecma_get_external_pointer_value (ecma_object_t *, ecma_internal_property_id_t, e
extern void
ecma_free_external_pointer_in_property (ecma_property_t *);
/* ecma-helpers-conversion.cpp */
/* ecma-helpers-conversion.c */
extern ecma_number_t ecma_utf8_string_to_number (const lit_utf8_byte_t *, lit_utf8_size_t);
extern ssize_t ecma_uint32_to_utf8_string (uint32_t, lit_utf8_byte_t *, ssize_t);
extern uint32_t ecma_number_to_uint32 (ecma_number_t);
@@ -83,7 +83,7 @@ typedef enum
ECMA_DATE_LOCAL /**< date vaule is in local time */
} ecma_date_timezone_t;
/* ecma-builtin-helpers-date.cpp */
/* ecma-builtin-helpers-date.c */
extern ecma_number_t ecma_date_day (ecma_number_t);
extern ecma_number_t ecma_date_time_within_day (ecma_number_t);
extern ecma_number_t ecma_date_days_in_year (ecma_number_t);
@@ -121,7 +121,7 @@ extern ecma_completion_value_t ecma_date_get_primitive_value (ecma_value_t);
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN */
/* ecma-builtin-helper-json.cpp */
/* ecma-builtin-helper-json.c */
/**
* Context for JSON.stringify()
+1 -1
View File
@@ -69,7 +69,7 @@ static bool jerry_api_available;
#ifdef JERRY_ENABLE_LOG
/**
* TODO:
* Move logging-related functionality to separate module, like jerry-log.cpp
* Move logging-related functionality to separate module, like jerry-log.c
*/
/**

Some files were not shown because too many files have changed in this diff Show More