Skip to content

Commit 977bfa5

Browse files
committed
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 [email protected] JerryScript-DCO-1.0-Signed-off-by: Robert Sipka [email protected]
1 parent ec5859f commit 977bfa5

File tree

150 files changed

+131
-166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+131
-166
lines changed

CMakeLists.txt

Lines changed: 28 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,30 @@
1313
# limitations under the License.
1414

1515
cmake_minimum_required (VERSION 2.8.12)
16-
project (Jerry CXX C ASM)
16+
project (Jerry C ASM)
1717

1818
# Determining platform
1919
set(PLATFORM "${CMAKE_SYSTEM_NAME}")
2020
string(TOUPPER "${PLATFORM}" PLATFORM)
2121

2222
# Compiler configuration
2323
if(NOT ("${PLATFORM}" STREQUAL "DARWIN"))
24-
if(NOT CMAKE_COMPILER_IS_GNUCXX)
25-
message(FATAL_ERROR "g++ compiler is required")
24+
if(NOT CMAKE_COMPILER_IS_GNUCC)
25+
message(FATAL_ERROR "gcc compiler is required")
2626
endif()
2727
endif()
2828

29-
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
30-
# Require g++ of version >= 4.7.0
31-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
32-
OUTPUT_VARIABLE GNU_CXX_VERSION
29+
if(CMAKE_COMPILER_IS_GNUCC)
30+
# Require gcc of version >= 4.7.0
31+
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
32+
OUTPUT_VARIABLE GNU_CC_VERSION
3333
OUTPUT_STRIP_TRAILING_WHITESPACE)
34-
if(${GNU_CXX_VERSION} VERSION_LESS 4.7.0)
35-
message(FATAL_ERROR "g++ compiler version 4.7.0 or higher required")
34+
if(${GNU_CC_VERSION} VERSION_LESS 4.7.0)
35+
message(FATAL_ERROR "gcc compiler version 4.7.0 or higher required")
3636
endif()
3737
endif()
3838

39+
3940
# Imported and third-party targets prefix
4041
set(PREFIX_IMPORTED_LIB imported_)
4142
set(SUFFIX_THIRD_PARTY_LIB .third_party.lib)
@@ -49,13 +50,11 @@ project (Jerry CXX C ASM)
4950
# Architecture-specific compile/link flags
5051
foreach(FLAG ${FLAGS_COMMON_ARCH})
5152
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG}")
52-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}")
5353
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG}")
5454
endforeach()
5555

5656
# Remove rdynamic option
5757
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS )
58-
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS )
5958

6059
# Defining options
6160
option(ENABLE_VALGRIND "Enable valgrind helpers in memory allocators" OFF)
@@ -102,7 +101,7 @@ project (Jerry CXX C ASM)
102101
message(FATAL_ERROR "Platform '${PLATFORM}' is not supported")
103102
endif()
104103

105-
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
104+
if(CMAKE_COMPILER_IS_GNUCC)
106105
if("${ENABLE_LTO}" STREQUAL "ON")
107106
# Use gcc-ar and gcc-ranlib to support LTO
108107
get_filename_component(PATH_TO_GCC ${CMAKE_C_COMPILER} REALPATH)
@@ -273,15 +272,15 @@ project (Jerry CXX C ASM)
273272
macro(add_jerry_compile_warnings)
274273
foreach(_warning ${ARGV})
275274
add_jerry_compile_flags(-W${_warning})
276-
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
275+
if(CMAKE_COMPILER_IS_GNUCC)
277276
add_jerry_compile_flags(-Werror=${_warning})
278277
endif()
279278
endforeach()
280279
endmacro()
281280

282281
add_jerry_compile_warnings(all extra format-nonliteral init-self conversion sign-conversion format-security missing-declarations)
283282
add_jerry_compile_flags(-pedantic -Wno-stack-protector -Wno-attributes)
284-
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
283+
if(CMAKE_COMPILER_IS_GNUCC)
285284
add_jerry_compile_warnings(logical-op)
286285
else()
287286
add_jerry_compile_flags(-Wno-nested-anon-types)
@@ -298,13 +297,6 @@ project (Jerry CXX C ASM)
298297
set(LINKER_FLAGS_STATIC "-static")
299298
endif()
300299

301-
# C++
302-
set(CXX_FLAGS_JERRY "-std=c++11 -fno-exceptions -fno-rtti")
303-
# Turn off implicit template instantiation
304-
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
305-
set(CXX_FLAGS_JERRY "${CXX_FLAGS_JERRY} -fno-implicit-templates -fno-implicit-inline-templates")
306-
endif()
307-
308300
# C
309301
set(C_FLAGS_JERRY "-std=c99")
310302

@@ -333,23 +325,23 @@ project (Jerry CXX C ASM)
333325
# Platform-specific
334326
# Jerry standalone
335327
# Linux
336-
set(SOURCE_JERRY_STANDALONE_MAIN_LINUX main-unix.cpp)
328+
set(SOURCE_JERRY_STANDALONE_MAIN_LINUX main-unix.c)
337329

338330
# Darwin
339-
set(SOURCE_JERRY_STANDALONE_MAIN_DARWIN main-unix.cpp)
331+
set(SOURCE_JERRY_STANDALONE_MAIN_DARWIN main-unix.c)
340332

341333
# MCU
342334
# stm32f3
343-
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F3 main-mcu.cpp)
335+
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F3 main-mcu.c)
344336

345337
# stm32f4
346-
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.cpp)
338+
set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.c)
347339

348340
# Unit tests main modules
349-
file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.cpp)
341+
file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.c)
350342

351343
# Imported libraries
352-
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
344+
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT CMAKE_COMPILER_IS_GNUCC))
353345
# libclang_rt.osx
354346
add_library(${PREFIX_IMPORTED_LIB}libclang_rt.osx STATIC IMPORTED)
355347
execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=
@@ -366,19 +358,6 @@ else()
366358
OUTPUT_STRIP_TRAILING_WHITESPACE)
367359
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc
368360
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION})
369-
# libgcc_eh
370-
add_library(${PREFIX_IMPORTED_LIB}libgcc_eh STATIC IMPORTED)
371-
execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=libgcc_eh.a
372-
OUTPUT_VARIABLE IMPORTED_LIBGCC_EH_LOCATION
373-
OUTPUT_STRIP_TRAILING_WHITESPACE)
374-
if(EXISTS "${IMPORTED_LIBGCC_EH_LOCATION}")
375-
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc_eh
376-
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_EH_LOCATION})
377-
else()
378-
# If libgcc_eh not found, reference libgcc instead
379-
set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc_eh
380-
PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION})
381-
endif()
382361
endif()
383362

384363
# Platform-specific configuration
@@ -436,19 +415,19 @@ endif()
436415
endif()
437416

438417
set_property(TARGET ${TARGET_NAME}
439-
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
418+
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${C_FLAGS_JERRY}")
440419
set_property(TARGET ${TARGET_NAME}
441-
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_STATIC}")
420+
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_STATIC}")
442421
target_compile_definitions(${TARGET_NAME} PRIVATE ${DEFINES_JERRY})
443422
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
444423
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
445424
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_EXTERNAL_LIBS_INTERFACE})
446-
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
425+
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC)))
447426
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}
448427
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libclang_rt.osx)
449428
else()
450429
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}
451-
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
430+
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc)
452431
endif()
453432

454433
add_cppcheck_target(${TARGET_NAME})
@@ -483,7 +462,7 @@ endif()
483462
if(DEFINED EXTERNAL_BUILD_ENTRY_FILE)
484463
add_library(${TARGET_NAME}-entry STATIC ${EXTERNAL_BUILD_ENTRY_FILE})
485464
set_property(TARGET ${TARGET_NAME}-entry
486-
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
465+
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
487466
target_compile_definitions(${TARGET_NAME}-entry PRIVATE ${DEFINES_JERRY})
488467
target_include_directories(${TARGET_NAME}-entry PRIVATE ${INCLUDE_CORE_INTERFACE})
489468
target_include_directories(${TARGET_NAME}-entry SYSTEM PRIVATE ${CMAKE_SOURCE_DIR})
@@ -530,18 +509,18 @@ endif()
530509

531510
add_executable(${TARGET_NAME} ${SOURCE_UNIT_TEST_MAIN})
532511
set_property(TARGET ${TARGET_NAME}
533-
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS}")
512+
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${C_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS}")
534513
set_property(TARGET ${TARGET_NAME}
535-
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
514+
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
536515
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
537516
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
538517

539-
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)))
518+
if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT (CMAKE_COMPILER_IS_GNUCC)))
540519
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME} ${FDLIBM_TARGET_NAME}
541520
${PREFIX_IMPORTED_LIB}libclang_rt.osx)
542521
else()
543522
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME} ${FDLIBM_TARGET_NAME}
544-
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
523+
${PREFIX_IMPORTED_LIB}libgcc)
545524
endif()
546525

547526
add_cppcheck_target(${TARGET_NAME})

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ export TARGET_NATIVE_SYSTEMS = $(shell uname -s | tr '[:upper:]' '[:lower:]')
115115
endif
116116
# Compiler to use for external build
117117
EXTERNAL_C_COMPILER ?= arm-none-eabi-gcc
118-
EXTERNAL_CXX_COMPILER ?= arm-none-eabi-g++
119118

120119
export TARGET_DEBUG_MODES = debug
121120
export TARGET_RELEASE_MODES = release

build/configs/toolchain_afl_i686.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,3 @@ set(CMAKE_SYSTEM_NAME Linux)
1818
set(CMAKE_SYSTEM_PROCESSOR i686)
1919

2020
CMAKE_FORCE_C_COMPILER(afl-gcc GNU)
21-
CMAKE_FORCE_CXX_COMPILER(afl-g++ GNU)

build/configs/toolchain_afl_x86_64.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,5 @@ set(CMAKE_SYSTEM_NAME Linux)
1818
set(CMAKE_SYSTEM_PROCESSOR x86_64)
1919

2020
CMAKE_FORCE_C_COMPILER(afl-gcc GNU)
21-
CMAKE_FORCE_CXX_COMPILER(afl-g++ GNU)
2221

2322
set(FLAGS_COMMON_ARCH -ffixed-rbp)

build/configs/toolchain_darwin_x86_64.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Darwin)
1616
set(CMAKE_SYSTEM_PROCESSOR x86_64)
1717

1818
find_program(CMAKE_C_COMPILER NAMES gcc cc)
19-
find_program(CMAKE_CXX_COMPILER NAMES g++ c++)
2019
# FIXME: This could break cross compilation, when the strip is not for the target architecture
2120
find_program(CMAKE_STRIP NAMES strip)
2221

build/configs/toolchain_external.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,3 @@ set(CMAKE_SYSTEM_NAME EXTERNAL)
1818
set(CMAKE_SYSTEM_PROCESSOR "${EXTERNAL_CMAKE_SYSTEM_PROCESSOR}")
1919

2020
CMAKE_FORCE_C_COMPILER(${EXTERNAL_CMAKE_C_COMPILER} GNU)
21-
CMAKE_FORCE_CXX_COMPILER(${EXTERNAL_CMAKE_CXX_COMPILER} GNU)

build/configs/toolchain_linux_armv7l-el.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
1616
set(CMAKE_SYSTEM_PROCESSOR armv7l-el)
1717

1818
set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc)
19-
set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++)
2019
# FIXME: This could break cross compilation, when the strip is not for the target architecture
2120
find_program(CMAKE_STRIP NAMES arm-linux-gnueabi-strip strip)
2221

build/configs/toolchain_linux_armv7l-hf.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
1616
set(CMAKE_SYSTEM_PROCESSOR armv7l-hf)
1717

1818
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
19-
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
2019
# FIXME: This could break cross compilation, when the strip is not for the target architecture
2120
find_program(CMAKE_STRIP NAMES arm-linux-gnueabihf-strip strip)
2221
#

build/configs/toolchain_linux_i686.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,5 @@ set(CMAKE_SYSTEM_NAME Linux)
1616
set(CMAKE_SYSTEM_PROCESSOR i686)
1717

1818
find_program(CMAKE_C_COMPILER NAMES i686-linux-gnu-gcc i686-unknown-linux-gnu-gcc)
19-
find_program(CMAKE_CXX_COMPILER NAMES i686-linux-gnu-g++ i686-unknown-linux-gnu-g++)
2019
# FIXME: This could break cross compilation, when the strip is not for the target architecture
2120
find_program(CMAKE_STRIP NAMES i686-linux-gnu-strip i686-unknown-linux-gnu-strip strip)

build/configs/toolchain_linux_x86_64.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ set(CMAKE_SYSTEM_NAME Linux)
1616
set(CMAKE_SYSTEM_PROCESSOR x86_64)
1717

1818
find_program(CMAKE_C_COMPILER NAMES x86_64-linux-gnu-gcc x86_64-unknown-linux-gnu-gcc)
19-
find_program(CMAKE_CXX_COMPILER NAMES x86_64-linux-gnu-g++ x86_64-unknown-linux-gnu-g++)
2019
# FIXME: This could break cross compilation, when the strip is not for the target architecture
2120
find_program(CMAKE_STRIP NAMES x86_64-linux-gnu-strip x86_64-unknown-linux-gnu-strip strip)
2221

0 commit comments

Comments
 (0)