Make 'tests' depend on a generated 'providers/fipsmodule.cnf'

providers/fipsmodule.cnf is generated using 'openssl fipsinstall' with
the openssl program in the build directory.

Fixes #14315

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14320)
diff --git a/providers/build.info b/providers/build.info
index b365bda..1fab34c 100644
--- a/providers/build.info
+++ b/providers/build.info
@@ -142,6 +142,16 @@
   # statements, the final build file will not have a trace of it.
   MODULES{fips}=$FIPSGOAL
   LIBS{noinst}=$LIBFIPS
+
+  # For tests that try to use the FIPS module, we need to make a local fips
+  # module installation.  We have the output go to standard output, because
+  # the generated commands in build templates are expected to catch that,
+  # and thereby keep control over the exact output file location.
+  DEPEND[|tests|]=fipsmodule.cnf
+  GENERATE[fipsmodule.cnf]=../apps/openssl fipsinstall \
+        -module providers/$(FIPSMODULENAME) -provider_name fips \
+        -mac_name HMAC -section_name fips_sect -out -
+  DEPEND[fipsmodule.cnf]=$FIPSGOAL
 ENDIF
 
 #