Building a gnulib testdir on OpenBSD 7.5 with 'make' (as opposed to
GNU make), there is this build failure:

:   ../../gllib/parse-datetime.y  && test ':' = ':' || {  sed -e 
's|".*/parse-datetime\.y"|"parse-datetime.y"|'  -e 
's|"parse-datetime\.tab\.c"|"parse-datetime.c"|'  < parse-datetime.tab.c > 
parse-datetime.c-tmp  && rm -f parse-datetime.tab.c  && mv parse-datetime.c-tmp 
../../gllib/parse-datetime.c;  }
depbase=`echo parse-datetime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; cc 
-DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC  -DEXEEXT=\"\" -I. 
-I../../gllib -I..  -DGNULIB_STRICT_CHECKING=1  -I/usr/local/include -Wall 
-DCONTINUE_AFTER_ASSERT -fvisibility=hidden -g -O2 -MT parse-datetime.o -MD -MP 
-MF $depbase.Tpo -c -o parse-datetime.o parse-datetime.c && mv -f $depbase.Tpo 
$depbase.Po
cc: error: no such file or directory: 'parse-datetime.c'
cc: error: no input files
*** Error 1 in gllib (Makefile:11673 'parse-datetime.o')
*** Error 1 in gllib (Makefile:11742 'all-recursive': @fail=;  if 
(target_option=k; case ${target_option-} in  ?) ;;  *) echo "am__make_runn...)
*** Error 2 in gllib (Makefile:8691 'all')
*** Error 1 in . (Makefile:3364 'all-recursive': @fail=;  if (target_option=k; 
case ${target_option-} in  ?) ;;  *) echo "am__make_running_w...)
*** Error 2 in 
/home/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build 
(Makefile:3270 'all')

This patch should fix it. Based on
https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=bf9412ab2e5878f2b64c8ba5d496d7a26ac4d374


2024-06-11  Bruno Haible  <br...@clisp.org>

        parse-datetime: Add support for VPATH builds with OpenBSD 'make'.
        * modules/parse-datetime (Makefile.am): Prefix the target file name
        with '$(srcdir)/'.

diff --git a/modules/parse-datetime b/modules/parse-datetime
index 64b3b09913..a49d3667dd 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -46,7 +46,7 @@ Makefile.am:
 # Additionally, here we assume GNU Bison and therefore don't need the ylwrap
 # script.
 # Therefore we override this rule.
-parse-datetime.c: parse-datetime.y
+$(srcdir)/parse-datetime.c: parse-datetime.y
        $(AM_V_YACC)$(PARSE_DATETIME_BISON) $(YFLAGS) $(AM_YFLAGS) 
$(srcdir)/parse-datetime.y \
        && test ':' = '$(PARSE_DATETIME_BISON)' || { \
          sed -e 's|".*/parse-datetime\.y"|"parse-datetime.y"|' \




Reply via email to