From c990189e14eab809cbb39bb350a36fcdab5c85ac 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 890521853..094d9069b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,20 +85,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 b6cf066f3..3f8d55357 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,8 @@ Bugfix * Fix bug in mbedtls_mpi_add_mpi() that caused wrong results when the three arguments where the same (in-place doubling). Found and fixed by Janos Follath. + * Fix potential build failures related to the 'apidoc' target, introduced + in the previous patch release. Found by Robert Scheck. #390 #391 = mbed TLS 2.2.1 released 2016-01-05 diff --git a/Makefile b/Makefile index 0950e6b17..7f03115b0 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