build: fix distcheck for jimtcl

The issues have been highlighted while integrated jimtcl 0.82,
but were already present.

While building jimtcl as submodule, OpenOCD generates the file
jimtcl/configure.gnu to pass specific configure flags.
Issue 1: this file is not included in the distribution.
This causes the rebuild from the distribution to have a jimtcl
built with different (the default) configure flags.
With jimtcl 0.82 the new default is to enable all the features,
but a bug causes the build to fail when openssl is not installed
in the build system (the bug is already fixed but after 0.82 [1]).
All these together cause OpenOCD Jenkins to fail the build for
target 'distcheck' with jimtcl 0.82.

Add jimtcl/configure.gnu to OpenOCD distribution's file list.

The build system considers jimtcl/configure.gnu as a temporarily
file that should be removed during 'distclean'.
Issue 2: 'distcheck' set read-only permission to the source files,
including jimtcl/configure.gnu, so 'distclean' fails removing it.

Add a leading '-' to ignore errors while trying to remove the
file.

Issue 3: Now that 'distcheck' properly configures and builds
jimtcl, 'distcheck' still fails because we have enabled jimtcl
json support in [2] and jimtcl 'distclean' fails to properly
remove one object file (fixed after 0.82 [3]).

Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete
the execution of 'distcheck'. Add a comment specifying which of
the jimtcl versions are affected.

Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c
Link: [2] 0a36acbf6a ("configure: build jimtcl with json extension")
Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e
Reviewed-on: https://review.openocd.org/c/openocd/+/7527
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
This commit is contained in:
Antonio Borneo 2023-03-06 00:27:58 +01:00
parent 642735449a
commit 45eeeab308
1 changed files with 6 additions and 2 deletions

View File

@ -26,10 +26,14 @@ noinst_LTLIBRARIES =
info_TEXINFOS = info_TEXINFOS =
dist_man_MANS = dist_man_MANS =
EXTRA_DIST = EXTRA_DIST =
DISTCLEANFILES =
if INTERNAL_JIMTCL if INTERNAL_JIMTCL
SUBDIRS += jimtcl SUBDIRS += jimtcl
DIST_SUBDIRS += jimtcl DIST_SUBDIRS += jimtcl
EXTRA_DIST += jimtcl/configure.gnu
# jimtcl from 0.79 to 0.82 miss cleaning jsmn.o
DISTCLEANFILES += jimtcl/jsmn/jsmn.o
endif endif
# common flags used in openocd build # common flags used in openocd build
@ -129,9 +133,9 @@ uninstall-hook:
distclean-local: distclean-local:
rm -rf Doxyfile doxygen rm -rf Doxyfile doxygen
rm -f $(srcdir)/jimtcl/configure.gnu -rm -f $(srcdir)/jimtcl/configure.gnu
DISTCLEANFILES = doxygen.log DISTCLEANFILES += doxygen.log
METASOURCES = AUTO METASOURCES = AUTO