|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v5 2/4] doc: Add section about symbol exporting
On 03.09.2018 14:58, Florian Schmidt wrote: Hi, Reviewed-by: Florian Schmidt <florian.schmidt@xxxxxxxxx> There's just one typo which I will fix when pushing, see below. Hi, thanks a lot! Cheers On 09/03/2018 02:17 PM, Simon Kuenzer wrote:From: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> This patch additionally adds some cross-links between application, internal library, and external library development guides. Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> ---doc/guides/developers-app.rst | 36 +++++++++++++++++++++++++++++++++-doc/guides/developers-external-lib.rst | 9 +++++---- doc/guides/developers-internal-lib.rst | 25 +++++++++++++---------- 3 files changed, 55 insertions(+), 15 deletions(-)diff --git a/doc/guides/developers-app.rst b/doc/guides/developers-app.rstindex 12e4739..d3e3a34 100644 --- a/doc/guides/developers-app.rst +++ b/doc/guides/developers-app.rst@@ -13,7 +13,7 @@ and rely on Unikraft's build system to build the necessary objects withcorrect and compatible compiler and linker flags). In greater detail, in order for an application to work with Unikraft -you need to provide at least the following three files: +you need to provide at least the following four files: * **Makefile**: Used to specify where the main Unikraft repo is with respect to the application's repo, as well as repos for any external@@ -26,6 +26,11 @@ you need to provide at least the following three files:* **Config.uk**: A Kconfig-like snippet used to populate Unikraft's menu with application-specific options. + * **exportsyms.uk**: A text file where each line contains the name + of one symbol that should be exported to other libraries. This file+ usually contains only `main` for an application that is developed/ported+ as a single library to Unikraft. + The Makefile is generally short and simple and might remind you to Linux kernel modules that are built off-tree. For most applications the Makefile should contain no more than the following: ::@@ -43,6 +48,8 @@ the Makefile should contain no more than the following: ::We cover the format of the other two files in turn next, followed by an explanation of the build process. +.. _lib-essential-files: + ============================ Config.uk ============================@@ -229,6 +236,8 @@ Reserved variable names in the name scope are so far: ::APPNAME_BASE - Path to source base APPNAME_BUILD - Path to target build dir+ APPNAME_EXPORTS - Path to the list of exported symbols + (default is '$(APPNAME_BASE)/exportsyms.uk')APPNAME_ORIGIN - Path to extracted archive(when fetch or unarchive was used) APPNAME_CLEAN APPNAME_CLEAN-y - List of files to clean additional @@ -260,6 +269,31 @@ Reserved variable names in the name scope are so far: :: APPNAME_FILENAME_VARIANT_INCLUDES - Includes for a *specific* source APPNAME_FILENAME_VARIANT_INCLUDES-y file and variant of the library+ +============================ +exportsyms.uk +============================ +Unikraft provides separate namespaces for each library. This means that+every function and variable will only be visible and linkable internally.+ +To make a symbol visible for other libraries, add it to this+``exportsyms.uk`` file. It is simply a flat file, with one symbol name per _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |