Replace se-proxy service backends with stubs

To facilitate the development of proxy backends that will
communicate with a remote secure element, the se-proxy
deployment has been modified to use stub components that
honour all service provider dependencies but don't do
anything.  This simplifies the se-proxy built image in
preparation for adding the se service clients.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I2dac1e295814839d4c7dccf4120667186d7ea6de
diff --git a/components/service/crypto/backend/stub/component.cmake b/components/service/crypto/backend/stub/component.cmake
new file mode 100644
index 0000000..5972f5d
--- /dev/null
+++ b/components/service/crypto/backend/stub/component.cmake
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+if (NOT DEFINED TGT)
+	message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+endif()
+
+target_sources(${TGT} PRIVATE
+	"${CMAKE_CURRENT_LIST_DIR}/stub_crypto_backend.c"
+	)
+
+# The stub crypto backend uses the psa crypto client to realize the
+# psa crypto API that the crypto provider depends on.  This define
+# configures the psa crypto client to be built with the stub crypto
+# caller.
+target_compile_definitions(${TGT} PRIVATE
+	PSA_CRYPTO_CLIENT_CALLER_SELECTION_H="service/crypto/client/caller/stub/crypto_caller.h"
+)