Hi,
Still digging in to the build system and have a few questions/confirmations:
Assuming I'm talking about a new package with a new component (app) created
by the driver wizard...
1) The .dsc file for the new testpkg contains [LibraryClasses] with a bunch
of (in the traditional sense) libraries. These libraries may or may not be
used by the various components added to the .dsc file. For convenience,
the driver wizard just added the "standard" set of libraries that EDK2
provides for pure UEFI coding. Is all that correct? Assuming yes:
A) Does having the items in [LibraryClasses] have anything to do with
building itself (with the exception of defining what libraries are
available for the components)? In other words, is it going to build all
those libraries at build time, or only if some component uses it?
B) The [components] section seems to be obvious in that is' similar to
adding a project to a solution in VS terminology or adding a target to a
project in other IDE type building systems?
2) The .dec file contains things like the default include paths, #defines,
but I'm confused on a couple issues still.
A) Let's start with the [LibraryClasses] section. It looks like its
purpose is to define the .h file needed with a library class defined in the
.dsc file used elsewhere in a different package. Since only a fraction of
the files (looking in MdePkg) defined under [Components] in the .dsc file
are in [LibraryClasses] of the .dec file, is that basically declaring which
of the libraries are "public" or available to link with? And so some other
component that would need a library would look to this .dec file to know
what's available to use in its [LibraryClasses] file? (that's where we
would find the libraries available to link with?)
B) the [Guids] Section - why is the GUID defined in the .dec file and in
a .h file? Is it a matter of discipline to create a .h file with a GUID
defined via #define and a variable GUID extern reference that will end up
in some .dec file? Seems like a lot of extra work?
3) in the .INF file of say an application, what is the purpose of the items
in the [Packages] section? I mean, you already define which libraries
you're to use in [LibraryClasses] and the .dsc file points to how to build
that library (via an .inf file). The [Protocols] and [Guids] section are
what the build is going to consume/use and not what it's providing
correct? (basically the .inf file is a list of items used, not items being
made available) ??
THANKS!!
------------------------------------------------------------------------------
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_jan
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel