 +    ],
 +)
 +
++cc_library(
++    name = "external_tinyxml2",
++    srcs = ["external/tinyxml2/tinyxml2.cpp"],
++    hdrs = ["external/tinyxml2/tinyxml2.h"],
++    copts = [
++        "-Wno-implicit-fallthrough",
++        "-Iexternal/linux_sgx/external/tinyxml2",
++    ],
++)
++
 +cc_binary(
 +    name = "sgx_sign_tool",
 +    srcs = [
-+        "external/tinyxml2/tinyxml2.cpp",
-+        "external/tinyxml2/tinyxml2.h",
 +        "sdk/sign_tool/SignTool/elf_helper.h",
 +        "sdk/sign_tool/SignTool/enclave_creator_sign.cpp",
 +        "sdk/sign_tool/SignTool/enclave_creator_sign.h",

 bool is_valid_sp(uintptr_t sp);
--- /dev/null
+++ BUILD
@@ -0,0 +1,1283 @@
+# linux-sgx is the Intel SGX SDK
+
+load(

+
+/* Define if using gcc and it supports RDRAND */
+#define HAVE_RDRAND_IN_GCC 1
diff -Nur psw/ae/aesm_service/source/bundles/ecdsa_quote_service_bundle/ecdsa_quote_service_bundle.cpp psw/ae/aesm_service/source/bundles/ecdsa_quote_service_bundle/ecdsa_quote_service_bundle.cpp
--- psw/ae/aesm_service/source/bundles/ecdsa_quote_service_bundle/ecdsa_quote_service_bundle.cpp
+++ psw/ae/aesm_service/source/bundles/ecdsa_quote_service_bundle/ecdsa_quote_service_bundle.cpp
