From 85c379d6d15b40212ebebf38a767b70bb102559c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Tue, 12 Jan 2016 13:59:39 +0000 Subject: [PATCH] Revert changes done to 'make apidoc' target This partially reverts 1989caf71c1d4 (only the changes to Makefile and CMakeLists, the addition to scripts/config.pl is kept). Modifying config.h in the apidoc target creates a race condition with make -j4 all apidoc where some parts of the library, tests or programs could be built with the wrong config.h, resulting in all kinds of (semi-random) errors. Recent versions of CMake mitigate this by adding a .NOTPARALLEL target to the generated Makefile, but people would still get errors with older CMake versions that are still in use (eg in RHEL 5), and with plain make. An additional issue is that, by failing to use cp -p, the apidoc target was updating the timestamp on config.h, which seems to cause further build issues. Let's get back to the previous, safe, situation. The improved apidoc building will be resurrected in a script in the next commit. fixes #390 fixes #391 --- CMakeLists.txt | 17 +++-------------- ChangeLog | 2 ++ Makefile | 3 --- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f032ad40c..d3213575d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,20 +130,9 @@ if(ENABLE_PROGRAMS) add_subdirectory(programs) endif() -# targets for doxygen only work on Unix -if(UNIX) - ADD_CUSTOM_TARGET(apidoc - COMMAND mkdir -p apidoc - COMMAND cp include/mbedtls/config.h include/mbedtls/config.h.bak - COMMAND scripts/config.pl realfull - COMMAND doxygen doxygen/mbedtls.doxyfile - COMMAND mv include/mbedtls/config.h.bak include/mbedtls/config.h - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - - ADD_CUSTOM_TARGET(apidoc_clean - COMMAND rm -rf apidoc - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) -endif(UNIX) +ADD_CUSTOM_TARGET(apidoc + COMMAND doxygen doxygen/mbedtls.doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) if(ENABLE_TESTING) enable_testing() diff --git a/ChangeLog b/ChangeLog index ef01bcfee..61a063133 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,6 +24,8 @@ Bugfix (found by Catena cyber using oss-fuzz) * Fix memory leak and free without initialization in pk_encrypt and pk_decrypt example programs. Reported by Brace Stout. Fixes #1128. + * Fix potential build failures related to the 'apidoc' target, introduced + in the previous patch release. Found by Robert Scheck. #390 #391 = mbed TLS 2.1.14 branch released 2018-07-25 diff --git a/Makefile b/Makefile index 0eece74ab..dd76b40e2 100644 --- a/Makefile +++ b/Makefile @@ -87,10 +87,7 @@ lcov: apidoc: mkdir -p apidoc - cp include/mbedtls/config.h include/mbedtls/config.h.bak - scripts/config.pl realfull doxygen doxygen/mbedtls.doxyfile - mv include/mbedtls/config.h.bak include/mbedtls/config.h apidoc_clean: rm -rf apidoc