echo ':DOSWin:M::MZ::/usr/bin/wine64:' > /proc/sys/fs/binfmt_misc/register &&
mkdir -p build && cd build
- dash ../configure --disable-gcc-warnings --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --cache-file ../cache/config.cache --with-included-libtasn1 --disable-guile --disable-nls --with-included-unistring --enable-local-libopts --disable-full-test-suite --disable-non-suiteb-curves --disable-doc
+ # generate the certtool autogen file to check whether later compilation will modify it
+ - mingw64-make -C src certtool-args.c.bak
- mingw64-make -j$(nproc)
- mingw64-make -C tests check -j$(nproc)
- cd ..
+ # since we use --enable-local-libopts the generated files must equal the .bak
+ - cmp build/src/certtool-args.c build/src/certtool-args.c.bak || false
tags:
- shared
- docker
*** 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
SUFFIXES = .stamp .def .c.bak .h.bak
+if NEED_LIBOPTS
+# case --enable-local-libopts: We do not call AUTOGEN unless the .bak files are missing
+.def.stamp:
+ @b=`echo $@ | sed 's/.stamp$$//'`; \
+ if ! test -f $${srcdir}$${b}.c.bak;then \
+ echo "No .bak files found; will call autogen"; \
+ $(AM_V_GEN) $(AUTOGEN) $<; \
+ else \
+ echo "Re-using .bak files"; \
+ 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=''; \
cp -p $${srcdir}$${b}.h.bak $${b}.h; \
} && \
touch $@
+endif
.c.c.bak:
-@rm -f $@