diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml diff --git a/configure.ac b/configure.ac index 2112606601..e0c5c25d5b 100644 --- a/configure.ac +++ b/configure.ac @@ -735,7 +735,7 @@ if test "$enable_tools" != "no" || test "$enable_doc" != "no"; then *** autogen not found. Will not link against system libopts. *** ]]) dnl simulate specifying option on the command line - enable_local_libopts=yes + included_libopts=yes fi LIBOPTS_CHECK([src/libopts]) if test "$NEED_LIBOPTS_DIR" = "true";then diff --git a/src/Makefile.am b/src/Makefile.am index 0374924c53..8dac61cac5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -272,6 +272,25 @@ libcmd_systemkey_la_LIBADD += $(LTLIBREADLINE) $(INET_PTON_LIB) $(LIB_CLOCK_GETT SUFFIXES = .stamp .def .c.bak .h.bak +if NEED_LIBOPTS +# case --enable-local-libopts: We only call AUTOGEN if the .bak files are not present. +# Normally we wouldn't want to call AUTOGEN here as it is explicitly asked not to, but +# in certain CI systems, we need to use this +# our CI systems, which work on +.def.stamp: + b=`echo $@ | sed 's/.stamp$$//'`; \ + if ! test -f $${srcdir}$${b}.c.bak;then \ + echo $${srcdir}$${b}.c.bak; \ + $(AUTOGEN) $<; \ + else \ + srcdir=$(srcdir)/; \ + rm -f $${b}.c $${b}.h; \ + cp -p $${srcdir}$${b}.c.bak $${b}.c; \ + cp -p $${srcdir}$${b}.h.bak $${b}.h; \ + fi + touch $@ +else +# default case. We call autogen, and if that fails we resort to the bundled files. .def.stamp: $(AM_V_GEN) $(AUTOGEN) $< || { \ srcdir=''; \ @@ -281,6 +300,7 @@ SUFFIXES = .stamp .def .c.bak .h.bak cp -p $${srcdir}$${b}.h.bak $${b}.h; \ } && \ touch $@ +endif .c.c.bak: -@rm -f $@