SGX Applications in SampleCode are structurally different
It is not very clear from the SampleCode sample Applications, which structure to follow for Enclave/App development. If you see the SampleEnclave, there are folders like TrsutedLibrary and Edger8rSyntax folders within Enclvae and App folders. These are not available in say, SealedData Application.
I tried to structure the SampleEnclave application exactly like the SealedData Application and removed these folders and also changed the .edl. But then I get linking errors for both Enclave and App objects:
undefined reference to ecall_*
undefined reference to ocall_*
But If I just compare the link flags of both these SampleEnclave and SealedData, these don't seem to differ..
However the .edl in SampleEnclave calls:
from "Edger8rSyntax/Types.edl" import *;
from "Edger8rSyntax/Pointers.edl" import *;
from "Edger8rSyntax/Arrays.edl" import *;
from "Edger8rSyntax/Functions.edl" import *;
from "TrustedLibrary/Libc.edl" import *;
from "TrustedLibrary/Libcxx.edl" import ecall_exception, ecall_map;
from "TrustedLibrary/Thread.edl" import *;
Why this difference and how can I include the Edger routines without these extra folders and removing these imports in EDL and keeping it just as spruce as in the SealedData example? What are these missing link flags that I need?