-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Eduardo Silva <eduardo@chronosphere.io>
- Loading branch information
Showing
162 changed files
with
88,516 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
CMakeCache.txt | ||
CMakeFiles | ||
CTestTestfile.cmake | ||
cmake_install.cmake | ||
Testing | ||
Coverage | ||
*.gcno | ||
*.gcda | ||
|
||
# generated by scripts/memory.sh | ||
massif-* | ||
|
||
# MSVC files generated by CMake: | ||
/*.sln | ||
/*.vcxproj | ||
/*.filters | ||
|
||
# MSVC build artifacts: | ||
*.exe | ||
*.pdb | ||
*.ilk | ||
*.lib | ||
|
||
# CMake generates *.dir/ folders for in-tree builds (used by MSVC projects), ignore all of those: | ||
*.dir/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
language: c | ||
compiler: | ||
- clang | ||
- gcc | ||
sudo: false | ||
cache: ccache | ||
script: | ||
- tests/scripts/recursion.pl library/*.c | ||
- tests/scripts/check-generated-files.sh | ||
- tests/scripts/check-doxy-blocks.pl | ||
- tests/scripts/check-names.sh | ||
- tests/scripts/doxygen.sh | ||
- cmake -D CMAKE_BUILD_TYPE:String="Check" . | ||
- make | ||
- make test | ||
- programs/test/selftest | ||
- OSSL_NO_DTLS=1 tests/compat.sh | ||
- tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl' | ||
- tests/scripts/test-ref-configs.pl | ||
- tests/scripts/curves.pl | ||
- tests/scripts/key-exchanges.pl | ||
after_failure: | ||
- tests/scripts/travis-log-failure.sh | ||
env: | ||
global: | ||
secure: "barHldniAfXyoWOD/vcO+E6/Xm4fmcaUoC9BeKW+LwsHqlDMLvugaJnmLXkSpkbYhVL61Hzf3bo0KPJn88AFc5Rkf8oYHPjH4adMnVXkf3B9ghHCgznqHsAH3choo6tnPxaFgOwOYmLGb382nQxfE5lUdvnM/W/psQjWt66A1+k=" | ||
|
||
addons: | ||
apt: | ||
packages: | ||
- doxygen | ||
- graphviz | ||
coverity_scan: | ||
project: | ||
name: "ARMmbed/mbedtls" | ||
notification_email: p.j.bakker@polarssl.org | ||
build_command_prepend: | ||
build_command: make | ||
branch_pattern: coverity_scan |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
cmake_minimum_required(VERSION 2.6) | ||
project("mbed TLS" C) | ||
|
||
option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF) | ||
option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF) | ||
|
||
option(ENABLE_PROGRAMS "Build mbed TLS programs." ON) | ||
|
||
option(UNSAFE_BUILD "Allow unsafe builds. These builds ARE NOT SECURE." OFF) | ||
|
||
# the test suites currently have compile errors with MSVC | ||
if(MSVC) | ||
option(ENABLE_TESTING "Build mbed TLS tests." OFF) | ||
else() | ||
option(ENABLE_TESTING "Build mbed TLS tests." ON) | ||
endif() | ||
|
||
# Warning string - created as a list for compatibility with CMake 2.8 | ||
set(WARNING_BORDER "*******************************************************\n") | ||
set(NULL_ENTROPY_WARN_L1 "**** WARNING! MBEDTLS_TEST_NULL_ENTROPY defined!\n") | ||
set(NULL_ENTROPY_WARN_L2 "**** THIS BUILD HAS NO DEFINED ENTROPY SOURCES\n") | ||
set(NULL_ENTROPY_WARN_L3 "**** AND IS *NOT* SUITABLE FOR PRODUCTION USE\n") | ||
|
||
set(NULL_ENTROPY_WARNING "${WARNING_BORDER}" | ||
"${NULL_ENTROPY_WARN_L1}" | ||
"${NULL_ENTROPY_WARN_L2}" | ||
"${NULL_ENTROPY_WARN_L3}" | ||
"${WARNING_BORDER}") | ||
|
||
find_package(Perl) | ||
if(PERL_FOUND) | ||
|
||
# If NULL Entropy is configured, display an appropriate warning | ||
execute_process(COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/config.pl -f ${CMAKE_SOURCE_DIR}/include/mbedtls/config.h get MBEDTLS_TEST_NULL_ENTROPY | ||
RESULT_VARIABLE result) | ||
if(${result} EQUAL 0) | ||
message(WARNING ${NULL_ENTROPY_WARNING}) | ||
|
||
if(NOT UNSAFE_BUILD) | ||
message(FATAL_ERROR "\ | ||
\n\ | ||
Warning! You have enabled MBEDTLS_TEST_NULL_ENTROPY. \ | ||
This option is not safe for production use and negates all security \ | ||
It is intended for development use only. \ | ||
\n\ | ||
To confirm you want to build with this option, re-run cmake with the \ | ||
option: \n\ | ||
cmake -DUNSAFE_BUILD=ON ") | ||
|
||
return() | ||
endif() | ||
endif() | ||
endif() | ||
|
||
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} | ||
CACHE STRING "Choose the type of build: None Debug Release Coverage ASan ASanDbg MemSan MemSanDbg Check CheckFull" | ||
FORCE) | ||
|
||
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}") | ||
|
||
if(CMAKE_COMPILER_IS_GNUCC) | ||
# some warnings we want are not available with old GCC versions | ||
# note: starting with CMake 2.8 we could use CMAKE_C_COMPILER_VERSION | ||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion | ||
OUTPUT_VARIABLE GCC_VERSION) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings") | ||
if (GCC_VERSION VERSION_GREATER 4.5 OR GCC_VERSION VERSION_EQUAL 4.5) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wlogical-op") | ||
endif() | ||
if (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow") | ||
endif() | ||
set(CMAKE_C_FLAGS_RELEASE "-O2") | ||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") | ||
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") | ||
set(CMAKE_C_FLAGS_ASAN "-Werror -fsanitize=address -fno-common -O3") | ||
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ") | ||
set(CMAKE_C_FLAGS_CHECK "-Werror -Os") | ||
set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual") | ||
endif(CMAKE_COMPILER_IS_GNUCC) | ||
|
||
if(CMAKE_COMPILER_IS_CLANG) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow") | ||
set(CMAKE_C_FLAGS_RELEASE "-O2") | ||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") | ||
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") | ||
set(CMAKE_C_FLAGS_ASAN "-Werror -fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover -O3") | ||
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ") | ||
set(CMAKE_C_FLAGS_MEMSAN "-Werror -fsanitize=memory -O3") | ||
set(CMAKE_C_FLAGS_MEMSANDBG "-Werror -fsanitize=memory -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize-memory-track-origins=2") | ||
set(CMAKE_C_FLAGS_CHECK "-Werror -Os") | ||
endif(CMAKE_COMPILER_IS_CLANG) | ||
|
||
if(MSVC) | ||
# Strictest warnings, and treat as errors | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") | ||
endif(MSVC) | ||
|
||
if(CMAKE_BUILD_TYPE STREQUAL "Coverage") | ||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) | ||
set(CMAKE_SHARED_LINKER_FLAGS "--coverage") | ||
endif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) | ||
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage") | ||
|
||
if(LIB_INSTALL_DIR) | ||
else() | ||
set(LIB_INSTALL_DIR lib) | ||
endif() | ||
|
||
include_directories(include/) | ||
|
||
if(ENABLE_ZLIB_SUPPORT) | ||
find_package(ZLIB) | ||
|
||
if(ZLIB_FOUND) | ||
include_directories(${ZLIB_INCLUDE_DIR}) | ||
endif(ZLIB_FOUND) | ||
endif(ENABLE_ZLIB_SUPPORT) | ||
|
||
add_subdirectory(library) | ||
add_subdirectory(include) | ||
|
||
if(ENABLE_PROGRAMS) | ||
add_subdirectory(programs) | ||
endif() | ||
|
||
ADD_CUSTOM_TARGET(apidoc | ||
COMMAND doxygen doxygen/mbedtls.doxyfile | ||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) | ||
|
||
if(ENABLE_TESTING) | ||
enable_testing() | ||
|
||
add_subdirectory(tests) | ||
|
||
# additional convenience targets for Unix only | ||
if(UNIX) | ||
|
||
ADD_CUSTOM_TARGET(covtest | ||
COMMAND make test | ||
COMMAND programs/test/selftest | ||
COMMAND tests/compat.sh | ||
COMMAND tests/ssl-opt.sh | ||
) | ||
|
||
ADD_CUSTOM_TARGET(lcov | ||
COMMAND rm -rf Coverage | ||
COMMAND lcov --capture --initial --directory library/CMakeFiles/mbedtls.dir -o files.info | ||
COMMAND lcov --capture --directory library/CMakeFiles/mbedtls.dir -o tests.info | ||
COMMAND lcov --add-tracefile files.info --add-tracefile tests.info -o all.info | ||
COMMAND lcov --remove all.info -o final.info '*.h' | ||
COMMAND gendesc tests/Descriptions.txt -o descriptions | ||
COMMAND genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info | ||
COMMAND rm -f files.info tests.info all.info final.info descriptions | ||
) | ||
|
||
ADD_CUSTOM_TARGET(memcheck | ||
COMMAND sed -i.bak s+/usr/bin/valgrind+`which valgrind`+ DartConfiguration.tcl | ||
COMMAND ctest -O memcheck.log -D ExperimentalMemCheck | ||
COMMAND tail -n1 memcheck.log | grep 'Memory checking results:' > /dev/null | ||
COMMAND rm -f memcheck.log | ||
COMMAND mv DartConfiguration.tcl.bak DartConfiguration.tcl | ||
) | ||
endif(UNIX) | ||
endif() |
Oops, something went wrong.