The biggest limitation is the edk build tools.  It makes the assumption
that all of the code is inside the 'workspace' directory.  There is no
reason why you can't just copy files and create your own make files, but
the edk buildtools have some auto generated files and automagically invoke
other tools to create binaries, acpi tables, firmware files, ect.

As Andrew said they allow for multiple environments.  So you can use the
same build files to compile under Linux/Apple/Windows/Cygwin using Visual
Studio, gcc, clang and they will take care of everything for you.

A way to work around it if you really want to build outside of the edk tree
is to precompile all of the libraries and just add them to your linker
scripts, but you need to be careful with basic types and the EFIAPI.  The
other way is to use symlinks on a posix environment or ntfs junction points
for a straight Windows build.  The code can live wherever you want it but
it still has to look like it is all originating from a single workspace
when invoking the edk build system.

On Fri, Feb 22, 2013 at 9:33 AM, Dan <[email protected]> wrote:

> Andrew Fish <afish <at> apple.com> writes:
>
> >
> > Dan,
> >
> > I don't think there is a clean way to do this.
> >
> > I've seen folks run into this. Especially if they have a
> library/application/driver that can cross
> > compile for multiple environments. To make it cross compile for EFI you
> have
> make it live in an edk2 tree.
> >
> > Andrew Fish
> >
> > On Feb 21, 2013, at 6:48 AM, Dan <Daniel.Cardin <at> emc.com> wrote:
> >
> > > I know its possible to create an application and build it outside of
> the
> edk2
> > > directory structure, because I have an existing one that works in that
> way.
> > > However I had to make a number of changes that were supremely hacky
> and not
> > > at all how I would want to work on the more complicated applications
> that I
> > > would like to change to work like this. Is there a nice way that I can
> make
> > > the edk2 libraries and functions available like I want? (My existing
> way
> > > doesn't seem to link the actual function implementations)
> > >
> > >
> > >
> ----------------------------------------------------------------------------
> --
> > > Everyone hates slow websites. So do we.
> > > Make your web apps faster with AppDynamics
> > > Download AppDynamics Lite for free today:
> > > http://p.sf.net/sfu/appdyn_d2d_feb
> > > _______________________________________________
> > > edk2-devel mailing list
> > > edk2-devel <at> lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> >
> >
> ------------------------------------------------------------------------------
> > Everyone hates slow websites. So do we.
> > Make your web apps faster with AppDynamics
> > Download AppDynamics Lite for free today:
> > http://p.sf.net/sfu/appdyn_d2d_feb
> >
>
>
> What I've been doing is basically copying any code that it depends on, from
> the edk to my actual project. Obviously that's a rather ugly and
> non-scalable
> way to do it. What confuses me is why I can compile it at all doing it that
> way. I would expect it to either not let me use the libraries and fail to
> compile (because if I cant use the libraries, why should I be able to use
> whatever in the edk allows me to compile uefi applications) or let me use
> the libraries like I want, and then work the way it should.
>
> Also, do you know the reason behind it being required to be in the edk tree
> (meaning the actual dependency or technical limitation that requires it)
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to