Cleanup: move provider mains up

providers/default/defltprov.c and providers/legacy/legacyprov.c
are moved up to providers/ and providers/build.info is adjusted
accordingly.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10088)
diff --git a/providers/build.info b/providers/build.info
index 42b9c0a..c31c427 100644
--- a/providers/build.info
+++ b/providers/build.info
@@ -28,7 +28,7 @@
 #                       FIPS_MODE undefined.  The default and legacy
 #                       providers use this.
 
-SUBDIRS=common default implementations
+SUBDIRS=common implementations
 
 INCLUDE[../libcrypto]=common/include
 
@@ -82,6 +82,7 @@
 # with DEPEND.
 $DEFAULTGOAL=../libcrypto
 SOURCE[$DEFAULTGOAL]=$LIBIMPLEMENTATIONS $LIBNONFIPS
+SOURCE[$DEFAULTGOAL]=defltprov.c
 # Some legacy implementations depend on provider header files
 INCLUDE[../libcrypto]=implementations/include
 
@@ -117,7 +118,6 @@
 #
 IF[{- !$disabled{legacy} -}]
   # The legacy implementation library
-  SUBDIRS=legacy
   LIBS{noinst}=$LIBLEGACY
   DEPEND[$LIBLEGACY]=$LIBCOMMON $LIBNONFIPS
 
@@ -147,6 +147,6 @@
 
   # Common things that are valid no matter what form the Legacy provider
   # takes.
-  INCLUDE[$LEGACYGOAL]=../include common/include
+  SOURCE[$LEGACYGOAL]=legacyprov.c
+  INCLUDE[$LEGACYGOAL]=../include implementations/include
 ENDIF
-