From ddc3f0d6e85e8e1257f3d16b577b579e48c7233b Mon Sep 17 00:00:00 2001 From: Evgeny Gavrin Date: Wed, 8 Jul 2015 13:06:35 +0300 Subject: [PATCH] Remove nuttx from prerequisites. Related issue: #313 JerryScript-DCO-1.0-Signed-off-by: Evgeny Gavrin e.gavrin@samsung.com --- CMakeLists.txt | 12 --- Makefile | 51 +-------- jerry-core/CMakeLists.txt | 4 +- main-nuttx.cpp | 211 -------------------------------------- tools/prerequisites.sh | 50 --------- 5 files changed, 5 insertions(+), 323 deletions(-) delete mode 100644 main-nuttx.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b28f7c0f..acdc94b66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,11 +94,6 @@ project (Jerry CXX C ASM) # Should we use external libc? if(NOT DEFINED EXTERNAL_LIBC_INTERFACE OR EXTERNAL_LIBC_INTERFACE STREQUAL "UNDEFINED") set(USE_JERRY_LIBC TRUE) - - # Jerry's libc doesn't support Nuttx platform - if(${PLATFORM_EXT} STREQUAL "NUTTX") - message(FATAL_ERROR "Nuttx build doesn't support Jerry's libc implementation") - endif() else() set(USE_JERRY_LIBC FALSE) @@ -181,10 +176,6 @@ project (Jerry CXX C ASM) "COMPACT_PROFILE" "COMPACT_PROFILE_MINIMAL") - # Nuttx - set(MODIFIERS_LISTS_NUTTX - ${MODIFIERS_LISTS_LINUX}) - # Compiler / Linker flags set(COMPILE_FLAGS_JERRY "-fno-builtin") set(LINKER_FLAGS_COMMON "-Wl,-z,noexecstack") @@ -254,9 +245,6 @@ project (Jerry CXX C ASM) # stm32f4 set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.cpp) - # Nuttx - set(SOURCE_JERRY_STANDALONE_MAIN_NUTTX main-nuttx.cpp) - # Unit tests main modules file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.cpp) diff --git a/Makefile b/Makefile index 693f3edc1..496d75c75 100644 --- a/Makefile +++ b/Makefile @@ -71,8 +71,6 @@ # External build configuration # List of include paths for external libraries (semicolon-separated) EXTERNAL_LIBS_INTERFACE ?= - # External libc interface - EXTERNAL_LIBC_INTERFACE ?= $(shell pwd)/third-party/nuttx/include # Compiler to use for external build EXTERNAL_C_COMPILER ?= arm-none-eabi-gcc EXTERNAL_CXX_COMPILER ?= arm-none-eabi-g++ @@ -81,32 +79,27 @@ export TARGET_DEBUG_MODES = debug export TARGET_RELEASE_MODES = release export TARGET_PC_SYSTEMS = linux -export TARGET_NUTTX_SYSTEMS = nuttx export TARGET_PC_MODS = cp cp_minimal mem_stats mfp cp_minimal-mfp mfp-mem_stats -export TARGET_NUTTX_MODS = $(TARGET_PC_MODS) export TARGET_MCU_MODS = cp cp_minimal export TARGET_PC_SYSTEMS_MODS = $(TARGET_PC_SYSTEMS) \ $(foreach __MOD,$(TARGET_PC_MODS),$(foreach __SYSTEM,$(TARGET_PC_SYSTEMS),$(__SYSTEM)-$(__MOD))) -export TARGET_NUTTX_SYSTEMS_MODS = $(TARGET_NUTTX_SYSTEMS) \ - $(foreach __MOD,$(TARGET_NUTTX_MODS),$(foreach __SYSTEM,$(TARGET_NUTTX_SYSTEMS),$(__SYSTEM)-$(__MOD))) + export TARGET_STM32F3_MODS = $(foreach __MOD,$(TARGET_MCU_MODS),mcu_stm32f3-$(__MOD)) export TARGET_STM32F4_MODS = $(foreach __MOD,$(TARGET_MCU_MODS),mcu_stm32f4-$(__MOD)) # Target list export JERRY_LINUX_TARGETS = $(foreach __MODE,$(TARGET_DEBUG_MODES),$(foreach __SYSTEM,$(TARGET_PC_SYSTEMS_MODS),$(__MODE).$(__SYSTEM))) \ $(foreach __MODE,$(TARGET_RELEASE_MODES),$(foreach __SYSTEM,$(TARGET_PC_SYSTEMS_MODS),$(__MODE).$(__SYSTEM))) -export JERRY_NUTTX_TARGETS = $(foreach __MODE,$(TARGET_DEBUG_MODES),$(foreach __SYSTEM,$(TARGET_NUTTX_SYSTEMS_MODS),$(__MODE).$(__SYSTEM))) \ - $(foreach __MODE,$(TARGET_RELEASE_MODES),$(foreach __SYSTEM,$(TARGET_NUTTX_SYSTEMS_MODS),$(__MODE).$(__SYSTEM))) export JERRY_STM32F3_TARGETS = $(foreach __MODE,$(TARGET_RELEASE_MODES),$(foreach __SYSTEM,$(TARGET_STM32F3_MODS),$(__MODE).$(__SYSTEM))) export JERRY_STM32F4_TARGETS = $(foreach __MODE,$(TARGET_DEBUG_MODES),$(foreach __SYSTEM,$(TARGET_STM32F4_MODS),$(__MODE).$(__SYSTEM))) \ $(foreach __MODE,$(TARGET_RELEASE_MODES),$(foreach __SYSTEM,$(TARGET_STM32F4_MODS),$(__MODE).$(__SYSTEM))) -export JERRY_TARGETS = $(JERRY_LINUX_TARGETS) $(JERRY_NUTTX_TARGETS) $(JERRY_STM32F3_TARGETS) $(JERRY_STM32F4_TARGETS) unittests +export JERRY_TARGETS = $(JERRY_LINUX_TARGETS) $(JERRY_STM32F3_TARGETS) $(JERRY_STM32F4_TARGETS) unittests export CHECK_TARGETS = $(foreach __TARGET,$(JERRY_LINUX_TARGETS),$(__TARGET).check) export FLASH_TARGETS = $(foreach __TARGET,$(JERRY_STM32F3_TARGETS) $(JERRY_STM32F4_TARGETS),$(__TARGET).flash) @@ -131,15 +124,13 @@ export SHELL=/bin/bash # Native BUILD_DIRS_NATIVE := $(foreach _OPTIONS_COMBINATION,$(OPTIONS_COMBINATIONS),$(BUILD_DIR_PREFIX)$(_OPTIONS_COMBINATION)/native) - # Nuttx - BUILD_DIRS_NUTTX := $(foreach _OPTIONS_COMBINATION,$(OPTIONS_COMBINATIONS),$(BUILD_DIR_PREFIX)$(_OPTIONS_COMBINATION)/nuttx) # stm32f3 BUILD_DIRS_STM32F3 := $(foreach _OPTIONS_COMBINATION,$(OPTIONS_COMBINATIONS),$(BUILD_DIR_PREFIX)$(_OPTIONS_COMBINATION)/stm32f3) # stm32f4 BUILD_DIRS_STM32F4 := $(foreach _OPTIONS_COMBINATION,$(OPTIONS_COMBINATIONS),$(BUILD_DIR_PREFIX)$(_OPTIONS_COMBINATION)/stm32f4) # All together - BUILD_DIRS_ALL := $(BUILD_DIRS_NATIVE) $(BUILD_DIRS_NUTTX) $(BUILD_DIRS_STM32F3) $(BUILD_DIRS_STM32F4) + BUILD_DIRS_ALL := $(BUILD_DIRS_NATIVE) $(BUILD_DIRS_STM32F3) $(BUILD_DIRS_STM32F4) # Current BUILD_DIR := ./build/obj$(OPTIONS_STRING) @@ -169,27 +160,6 @@ $(BUILD_DIRS_NATIVE): prerequisites (echo "CMake run failed. See "`pwd`"/cmake.log for details."; exit 1;); \ echo "$$TOOLCHAIN" > toolchain.config -$(BUILD_DIRS_NUTTX): prerequisites - @ [ "$(EXTERNAL_LIBC_INTERFACE)" != "" ] && [ -x `which $(EXTERNAL_C_COMPILER)` ] && [ -x `which $(EXTERNAL_CXX_COMPILER)` ] || \ - (echo "Wrong external arguments."; \ - echo "EXTERNAL_LIBC_INTERFACE='$(EXTERNAL_LIBC_INTERFACE)'"; \ - echo "EXTERNAL_LIBS_INTERFACE='$(EXTERNAL_LIBS_INTERFACE)'"; \ - echo "EXTERNAL_C_COMPILER='$(EXTERNAL_C_COMPILER)'"; \ - echo "EXTERNAL_CXX_COMPILER='$(EXTERNAL_CXX_COMPILER)'"; \ - exit 1;) - @ mkdir -p $@ && \ - cd $@ && \ - 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}" \ - -DEXTERNAL_CMAKE_CXX_COMPILER="${EXTERNAL_CXX_COMPILER}" \ - ../../.. &>cmake.log || \ - (echo "CMake run failed. See "`pwd`"/cmake.log for details."; exit 1;) - $(BUILD_DIRS_STM32F3): prerequisites @ mkdir -p $@ && \ cd $@ && \ @@ -227,19 +197,6 @@ $(BUILD_ALL)_native: $(BUILD_DIRS_NATIVE) @ $(MAKE) -C $(BUILD_DIR)/native $(JERRY_LINUX_TARGETS) unittests VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \ (echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;) -$(JERRY_NUTTX_TARGETS): $(BUILD_DIR)/nuttx - @ mkdir -p $(OUT_DIR)/$@ - @ [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/nuttx VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \ - (echo "cppcheck run failed. See $(OUT_DIR)/$@/cppcheck.log for details."; exit 1;) - @ $(MAKE) -C $(BUILD_DIR)/nuttx VERBOSE=1 $@ &>$(OUT_DIR)/$@/make.log || \ - (echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;) - @ cp `cat $(BUILD_DIR)/nuttx/$@/list` $(OUT_DIR)/$@/ - -$(BUILD_ALL)_nuttx: $(BUILD_DIRS_NUTTX) - @ mkdir -p $(OUT_DIR)/$@ - @ $(MAKE) -C $(BUILD_DIR)/nuttx $(JERRY_NUTTX_TARGETS) VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \ - (echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;) - $(JERRY_STM32F3_TARGETS): $(BUILD_DIR)/stm32f3 @ mkdir -p $(OUT_DIR)/$@ @ [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/stm32f3 VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \ @@ -272,7 +229,7 @@ $(BUILD_ALL)_stm32f4: $(BUILD_DIRS_STM32F4) @ $(MAKE) -C $(BUILD_DIR)/stm32f4 $(JERRY_STM32F4_TARGETS) VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \ (echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;) -build_all: $(BUILD_ALL)_native $(BUILD_ALL)_nuttx $(BUILD_ALL)_stm32f3 $(BUILD_ALL)_stm32f4 +build_all: $(BUILD_ALL)_native $(BUILD_ALL)_stm32f3 $(BUILD_ALL)_stm32f4 # # build - build_all, then run cppcheck and copy output to OUT_DIR diff --git a/jerry-core/CMakeLists.txt b/jerry-core/CMakeLists.txt index 2a67fc140..0e797264e 100644 --- a/jerry-core/CMakeLists.txt +++ b/jerry-core/CMakeLists.txt @@ -79,9 +79,7 @@ project (JerryCore CXX C ASM) # Platform-specific # Linux - # Nuttx - math(EXPR MEM_HEAP_AREA_SIZE_80K "80 * 1024") - set(DEFINES_JERRY_NUTTX CONFIG_MEM_HEAP_AREA_SIZE=${MEM_HEAP_AREA_SIZE_80K}) + # MCU # stm32f3 math(EXPR MEM_HEAP_AREA_SIZE_16K "16 * 1024") diff --git a/main-nuttx.cpp b/main-nuttx.cpp deleted file mode 100644 index 8d6053f7b..000000000 --- a/main-nuttx.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/* Copyright 2015 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include - -#include "jerry.h" -#include "jerry-core/jerry-api.h" - -/** - * The module interface routine - */ -extern "C" int jerry_main (int argc, char *argv[]); - -/** - * Maximum command line arguments number - */ -#define JERRY_MAX_COMMAND_LINE_ARGS (64) - -/** - * Maximum size of source code buffer - */ -#define JERRY_SOURCE_BUFFER_SIZE (1024) - -/** - * Standalone Jerry exit codes - */ -#define JERRY_STANDALONE_EXIT_CODE_OK (0) -#define JERRY_STANDALONE_EXIT_CODE_FAIL (1) - -static uint8_t source_buffer[ JERRY_SOURCE_BUFFER_SIZE ]; - -static const char* -read_sources (const char *script_file_names[], - int files_count, - size_t *out_source_size_p) -{ - int i; - uint8_t *source_buffer_tail = source_buffer; - - FILE *file = NULL; - - for (i = 0; i < files_count; i++) - { - const char *script_file_name = script_file_names[i]; - - file = fopen (script_file_name, "r"); - - if (file == NULL) - { - break; - } - - int fseek_status = fseek (file, 0, SEEK_END); - - if (fseek_status != 0) - { - break; - } - - long script_len = ftell (file); - - if (script_len < 0) - { - break; - } - - rewind (file); - - const size_t current_source_size = (size_t)script_len; - - if (source_buffer_tail + current_source_size >= source_buffer + sizeof (source_buffer)) - { - break; - } - - size_t bytes_read = fread (source_buffer_tail, 1, current_source_size, file); - if (bytes_read < current_source_size) - { - break; - } - - fclose (file); - file = NULL; - - source_buffer_tail += current_source_size; - } - - if (file != NULL) - { - fclose (file); - } - - if (i < files_count) - { - printf ("Failed to read script N%d\n", i + 1); - - return NULL; - } - else - { - const size_t source_size = (size_t) (source_buffer_tail - source_buffer); - - *out_source_size_p = source_size; - - return (const char*)source_buffer; - } -} - -int jerry_main (int argc, char *argv[]) -{ - if (argc >= JERRY_MAX_COMMAND_LINE_ARGS) - { - printf ("Too many command line arguments. Current maximum is %d (JERRY_MAX_COMMAND_LINE_ARGS)\n", argc); - - return JERRY_STANDALONE_EXIT_CODE_FAIL; - } - - const char *file_names[JERRY_MAX_COMMAND_LINE_ARGS]; - int i; - int files_counter = 0; - - for (i = 0; i < argc; i++) - { - printf ("PARAM %d : [%s]\n", i, argv[i]); - } - - jerry_flag_t flags = JERRY_FLAG_EMPTY; - - for (i = 1; i < argc; i++) - { - if (!strcmp ("-v", argv[i])) - { - printf ("Build date: \t%s\n", jerry_build_date); - printf ("Commit hash:\t%s\n", jerry_commit_hash); - printf ("Branch name:\t%s\n", jerry_branch_name); - } - else if (!strcmp ("--mem-stats", argv[i])) - { - flags |= JERRY_FLAG_MEM_STATS; - } - else if (!strcmp ("--mem-stats-per-opcode", argv[i])) - { - flags |= JERRY_FLAG_MEM_STATS_PER_OPCODE; - } - else if (!strcmp ("--mem-stats-separate", argv[i])) - { - flags |= JERRY_FLAG_MEM_STATS_SEPARATE; - } - else if (!strcmp ("--parse-only", argv[i])) - { - flags |= JERRY_FLAG_PARSE_ONLY; - } - else if (!strcmp ("--show-opcodes", argv[i])) - { - flags |= JERRY_FLAG_SHOW_OPCODES; - } - else if (!strcmp ("--abort-on-fail", argv[i])) - { - flags |= JERRY_FLAG_ABORT_ON_FAIL; - } - else - { - file_names[files_counter++] = argv[i]; - } - } - - if (files_counter == 0) - { - printf ("Jerry: file count 0\n"); - return JERRY_STANDALONE_EXIT_CODE_OK; - } - else - { - size_t source_size; - const char *source_p = read_sources (file_names, files_counter, &source_size); - - if (source_p == NULL) - { - printf ("Err: JERRY_STANDALONE_EXIT_CODE_FAIL\n"); - return JERRY_STANDALONE_EXIT_CODE_FAIL; - } - else - { - printf ("Source:\n------------\n%s\n------------\n", source_p); - - jerry_completion_code_t ret_code = jerry_run_simple ((jerry_api_char_t *) source_p, source_size, flags); - - if (ret_code == JERRY_COMPLETION_CODE_OK) - { - return JERRY_STANDALONE_EXIT_CODE_OK; - } - else - { - return JERRY_STANDALONE_EXIT_CODE_FAIL; - } - } - } -} diff --git a/tools/prerequisites.sh b/tools/prerequisites.sh index f170d9020..080791906 100755 --- a/tools/prerequisites.sh +++ b/tools/prerequisites.sh @@ -93,51 +93,6 @@ function setup_from_zip() { chmod -R u-w "$DEST" || fail_msg "$FAIL_MSG. Failed to remove write permission from '$DEST' directory contents." } -function setup_nuttx_headers() { - NAME="$1" - shift - - DEST=$(pwd)/"$1" - shift - - URL="$1" - shift - - REVISION="$1" - shift - - FAIL_MSG="Failed to setup '$NAME' prerequisite" - - if [ -e "$DEST" ] - then - chmod -R u+w "$DEST" || fail_msg "$FAIL_MSG. Failed to add write permission to '$DEST' directory contents." - rm -rf "$DEST" || fail_msg "$FAIL_MSG. Cannot remove '$DEST' directory." - fi - - if [ "$CLEAN_MODE" == "yes" ] - then - return 0 - fi - - git clone "$URL" "$TMP_DIR/$NAME" || fail_msg "$FAIL_MSG. Failed to checkout Nuttx." - ( - cd "$TMP_DIR/$NAME" || exit 1 - git checkout $REVISION || exit 1 - cd nuttx/tools || exit 1 - ./configure.sh stm32f429i-disco/usbnsh || exit 1 - cd .. || exit 1 - make include/nuttx/config.h || exit 1 - make include/arch || exit 1 - make include/arch/chip || exit 1 - ) || fail_msg "$FAIL_MSG. Failed to prepare nuttx headers" - - mkdir "./third-party/nuttx" || fail_msg "Failed to create '$DEST' directory." - cp -L -r "$TMP_DIR/$NAME/nuttx/include" "$DEST" || fail_msg "Failed to copy Nuttx headers to '$DEST' directory" - - remove_gitignore_files_at "$DEST" - chmod -R u-w "$DEST" || fail_msg "$FAIL_MSG. Failed to remove write permission from '$DEST' directory contents." -} - function setup_cppcheck() { NAME="$1" shift @@ -244,11 +199,6 @@ setup_from_zip "stm32f4" \ "8e67f7b930c6c02bd7f89a266c8d1cae3b530510b7979fbfc0ee0d57e7f88b81" \ "STM32F4-Discovery_FW_V1.1.0/*" -setup_nuttx_headers "nuttx" \ - "./third-party/nuttx" \ - "https://bitbucket.org/patacongo/nuttx.git" \ - "36a655eddec29754cc93631b6083fe6409817861" - setup_cppcheck "cppcheck-1.66" \ "./third-party/cppcheck" \ "http://downloads.sourceforge.net/project/cppcheck/cppcheck/1.66/cppcheck-1.66.tar.bz2" \