X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fprog_guide%2Fdev_kit_build_system.rst;h=18a30104dc6c8fec3b423827119ef6020e66653d;hb=65eca099f405e23b9f382a3b4ca611bc32fddc88;hp=04f1d4eb14bca90c5dc0660b095b29a4d6f91a94;hpb=55ae322d619be42cfd8b4f7a695268c2f8a9629e;p=dpdk.git diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst b/doc/guides/prog_guide/dev_kit_build_system.rst index 04f1d4eb14..18a30104dc 100644 --- a/doc/guides/prog_guide/dev_kit_build_system.rst +++ b/doc/guides/prog_guide/dev_kit_build_system.rst @@ -70,7 +70,7 @@ Each build directory contains include files, libraries, and applications: ... ~/DEV/DPDK$ ls i686-native-linuxapp-gcc - app build hostapp include kmod lib Makefile + app build buildtools include kmod lib Makefile ~/DEV/DPDK$ ls i686-native-linuxapp-gcc/app/ @@ -85,7 +85,7 @@ Each build directory contains include files, libraries, and applications: librte_cmdline.a librte_lpm.a librte_mempool.a librte_ring.a - librte_eal.a librte_malloc.a librte_pmd_e1000.a librte_timer.a + librte_eal.a librte_pmd_e1000.a librte_timer.a ~/DEV/DPDK$ ls i686-native-linuxapp-gcc/include/ @@ -264,7 +264,7 @@ These Makefiles generate a binary application. * rte.extapp.mk: External application -* rte.hostapp.mk: Host application in the development kit framework +* rte.hostapp.mk: prerequisite tool to build dpdk Library ^^^^^^^ @@ -304,6 +304,44 @@ Misc * rte.subdir.mk: Build several directories in the development kit framework. +.. _Internally_Generated_Build_Tools: + +Internally Generated Build Tools +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``app/pmdinfogen`` + + +``pmdinfogen`` scans an object (.o) file for various well known symbol names. These +well known symbol names are defined by various macros and used to export +important information about hardware support and usage for pmd files. For +instance the macro: + +.. code-block:: c + + PMD_REGISTER_DRIVER(drv, name) + +Creates the following symbol: + +.. code-block:: c + + static char this_pmd_name0[] __attribute__((used)) = ""; + + +Which pmdinfogen scans for. Using this information other relevant bits of data +can be exported from the object file and used to produce a hardware support +description, that pmdinfogen then encodes into a json formatted string in the +following format: + +.. code-block:: c + + static char ="PMD_INFO_STRING=\"{'name' : '', ...}\""; + + +These strings can then be searched for by external tools to determine the +hardware support of a given library or application. + + .. _Useful_Variables_Provided_by_the_Build_System: Useful Variables Provided by the Build System @@ -343,6 +381,8 @@ Useful Variables Provided by the Build System By default, the variable is set to /lib/modules/$(shell uname -r)/build, which is correct when the target machine is also the build machine. +* RTE_DEVEL_BUILD: Stricter options (stop on warning). It defaults to y in a git tree. + Variables that Can be Set/Overridden in a Makefile Only ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -411,6 +451,8 @@ Variables that Can be Set/Overridden by the User in a Makefile or Command Line * EXTRA_LDFLAGS: The content of this variable is appended after LDFLAGS when linking. +* EXTRA_LDLIBS: The content of this variable is appended after LDLIBS when linking. + * EXTRA_ASFLAGS: The content of this variable is appended after ASFLAGS when assembling. * EXTRA_CPPFLAGS: The content of this variable is appended after CPPFLAGS when using a C preprocessor on assembly files.