Skip to content

Commit

Permalink
Fixing toolchain_external.cmake build configuration: generalizing it …
Browse files Browse the repository at this point in the history
…from Nuttx OS.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
  • Loading branch information
ruben-ayrapetyan committed May 8, 2015
1 parent 22954e8 commit 1431251
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 7 deletions.
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ project (Jerry CXX C ASM)

option(STRIP_RELEASE_BINARY "Strip symbols from release binaries" OFF)
set(MCU_SCRIPT_FILE "tests/blinky.js" CACHE STRING "Script to run on MCU")
elseif("${PLATFORM}" STREQUAL "NUTTX")
set(PLATFORM_EXT "NUTTX")
elseif("${PLATFORM}" STREQUAL "EXTERNAL")
set(PLATFORM_EXT "${CMAKE_SYSTEM_VERSION}")
set(EXTERNAL_BUILD TRUE)

set(EXTERNAL_LIBC_INTERFACE "UNDEFINED" CACHE STRING "Path to external libc include directory")
Expand All @@ -95,7 +95,7 @@ project (Jerry CXX C ASM)
set(USE_JERRY_LIBC TRUE)

# Jerry's libc doesn't support Nuttx platform
if(${PLATFORM} STREQUAL "NUTTX")
if(${PLATFORM_EXT} STREQUAL "NUTTX")
message(FATAL_ERROR "Nuttx build doesn't support Jerry's libc implementation")
endif()
else()
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ $(BUILD_DIRS_NUTTX): prerequisites
cmake \
-DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LTO=$(LTO) \
-DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_external.cmake \
-DEXTERNAL_TARGET_NAME=NUTTX \
-DEXTERNAL_LIBC_INTERFACE="${EXTERNAL_LIBC_INTERFACE}" \
-DEXTERNAL_LIBS_INTERFACE="${EXTERNAL_LIBS_INTERFACE}" \
-DEXTERNAL_CMAKE_C_COMPILER="${EXTERNAL_C_COMPILER}" \
Expand Down
3 changes: 2 additions & 1 deletion build/configs/toolchain_external.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

include(CMakeForceCompiler)

set(CMAKE_SYSTEM_NAME NUTTX)
set(CMAKE_SYSTEM_NAME EXTERNAL)
set(CMAKE_SYSTEM_VERSION ${EXTERNAL_TARGET_NAME})

CMAKE_FORCE_C_COMPILER(${EXTERNAL_CMAKE_C_COMPILER} GNU)
CMAKE_FORCE_CXX_COMPILER(${EXTERNAL_CMAKE_CXX_COMPILER} GNU)
10 changes: 7 additions & 3 deletions jerry-core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,12 @@ project (JerryCore CXX C ASM)
math(EXPR MEM_HEAP_AREA_SIZE_16K "16 * 1024")
set(DEFINES_JERRY_NUTTX CONFIG_MEM_HEAP_AREA_SIZE=${MEM_HEAP_AREA_SIZE_16K})
# MCU
math(EXPR MEM_HEAP_AREA_SIZE_16K "16 * 1024")
set(DEFINES_JERRY_MCU CONFIG_MEM_HEAP_AREA_SIZE=${MEM_HEAP_AREA_SIZE_16K})
# stm32f3
math(EXPR MEM_HEAP_AREA_SIZE_16K "16 * 1024")
set(DEFINES_JERRY_MCU_STM32F3 CONFIG_MEM_HEAP_AREA_SIZE=${MEM_HEAP_AREA_SIZE_16K})
# stm32f4
math(EXPR MEM_HEAP_AREA_SIZE_16K "16 * 1024")
set(DEFINES_JERRY_MCU_STM32F4 CONFIG_MEM_HEAP_AREA_SIZE=${MEM_HEAP_AREA_SIZE_16K})

# Include directories
set(INCLUDE_CORE
Expand Down Expand Up @@ -134,7 +138,7 @@ project (JerryCore CXX C ASM)
endif()

# Platform-specific configuration
set(DEFINES_JERRY ${DEFINES_JERRY} ${DEFINES_JERRY_${PLATFORM}})
set(DEFINES_JERRY ${DEFINES_JERRY} ${DEFINES_JERRY_${PLATFORM_EXT}})

# Targets declaration
function(declare_targets_for_build_mode BUILD_MODE)
Expand Down

0 comments on commit 1431251

Please sign in to comment.