[dpdk-dev] [PATCH v2 00/11] Fix build errors related to exported headers
Jan Viktorin
viktorin at rehivetech.com
Tue Jul 5 13:15:23 CEST 2016
Hi Adrien,
I am the only one in CC and only in the 00/11 patch. Is it a mistake? Or what is the purpose?
Regards
Jan Viktorin
RehiveTech
Sent from a mobile device
Původní zpráva
Od: Adrien Mazarguil
Odesláno: úterý, 5. července 2016 12:45
Komu: dev at dpdk.org
Kopie: Jan Viktorin
Předmět: [PATCH v2 00/11] Fix build errors related to exported headers
DPDK uses GNU C language extensions in most of its code base. This is fine
for internal source files whose compilation flags are controlled by DPDK,
however user applications that use exported "public" headers may experience
compilation failures when enabling strict error/standard checks (-std and
-pedantic for instance).
Exported headers are installed system-wide and must be as clean as possible
so applications do not have to resort to workarounds.
This patchset affects exported headers only, compilation problems are
addressed as follows:
- Adding the __extension__ keyword to nonstandard constructs (same method
as existing libraries when there is no other choice).
- Adding the __extension__ keyword to C11 constructs to remain compatible
with pure C99.
- Adding missing includes so exported files can be included out of order
and on their own.
- Fixing GNU printf-like variadic macros as there is no magic keyword for
these.
Changes in v2:
- Rebased on top of the current HEAD.
- Added script to check headers automatically (check-includes.sh), for both
C and C++ compilation.
- Updated test-build.sh to use it.
- Fixed consistency of new #include directives, now inside extern "C"
blocks for files that already do that (Jan, fixing these was too much
work for this patchset so I settled on this solution in the meantime).
- Updated headlines to address check-git-log.sh complaints.
Adrien Mazarguil (11):
lib: work around braced-groups within expressions
lib: work around large enum values
lib: use C99 syntax for zero-size arrays
lib: work around nonstandard bit-fields
lib: work around structs with no members
lib: work around unnamed structs/unions
lib: add missing include dependencies
lib: work around forward reference to enum types
lib: remove named variadic macros in exported headers
lib: hide static functions never defined
scripts: check compilation of exported header files
MAINTAINERS | 1 +
lib/librte_acl/rte_acl.h | 2 +-
lib/librte_cfgfile/rte_cfgfile.h | 2 +
lib/librte_cmdline/cmdline.h | 1 +
lib/librte_cmdline/cmdline_parse_portlist.h | 1 +
lib/librte_cmdline/cmdline_socket.h | 3 +
lib/librte_cryptodev/rte_crypto.h | 2 +
lib/librte_cryptodev/rte_crypto_sym.h | 3 +
lib/librte_cryptodev/rte_cryptodev.h | 40 ++-
lib/librte_cryptodev/rte_cryptodev_pmd.h | 6 +-
.../common/include/arch/arm/rte_byteorder.h | 2 +
.../common/include/arch/arm/rte_memcpy_32.h | 3 +-
.../common/include/arch/arm/rte_prefetch_32.h | 1 +
.../common/include/arch/arm/rte_prefetch_64.h | 1 +
.../common/include/arch/arm/rte_vect.h | 1 +
.../common/include/arch/ppc_64/rte_atomic.h | 1 +
.../common/include/arch/ppc_64/rte_byteorder.h | 1 +
.../common/include/arch/ppc_64/rte_cycles.h | 2 +
.../common/include/arch/ppc_64/rte_memcpy.h | 3 +-
.../common/include/arch/ppc_64/rte_prefetch.h | 1 +
.../common/include/arch/x86/rte_atomic.h | 2 +
.../common/include/arch/x86/rte_atomic_32.h | 9 +
.../common/include/arch/x86/rte_atomic_64.h | 8 +
.../common/include/arch/x86/rte_byteorder.h | 2 +
.../common/include/arch/x86/rte_byteorder_32.h | 7 +
.../common/include/arch/x86/rte_byteorder_64.h | 7 +
.../common/include/arch/x86/rte_cycles.h | 2 +
.../common/include/arch/x86/rte_memcpy.h | 4 +-
.../common/include/arch/x86/rte_prefetch.h | 1 +
.../common/include/arch/x86/rte_rtm.h | 1 +
.../common/include/arch/x86/rte_vect.h | 8 +-
.../common/include/generic/rte_atomic.h | 1 +
.../common/include/generic/rte_byteorder.h | 2 +
.../common/include/generic/rte_cpuflags.h | 3 +
.../common/include/generic/rte_memcpy.h | 4 +
lib/librte_eal/common/include/rte_common.h | 22 +-
lib/librte_eal/common/include/rte_devargs.h | 1 +
lib/librte_eal/common/include/rte_eal.h | 1 +
lib/librte_eal/common/include/rte_interrupts.h | 2 +
lib/librte_eal/common/include/rte_memory.h | 4 +
lib/librte_eal/common/include/rte_memzone.h | 2 +
lib/librte_eal/common/include/rte_time.h | 8 +
lib/librte_eal/common/include/rte_version.h | 1 +
.../eal/include/exec-env/rte_interrupts.h | 1 +
.../eal/include/exec-env/rte_kni_common.h | 6 +-
lib/librte_ether/rte_dev_info.h | 2 +
lib/librte_ether/rte_eth_ctrl.h | 4 +
lib/librte_ether/rte_ethdev.h | 4 +
lib/librte_hash/rte_fbk_hash.h | 2 +-
lib/librte_hash/rte_thash.h | 3 +
lib/librte_ip_frag/rte_ip_frag.h | 2 +-
lib/librte_lpm/rte_lpm.h | 7 +-
lib/librte_lpm/rte_lpm_neon.h | 1 +
lib/librte_lpm/rte_lpm_sse.h | 1 +
lib/librte_mbuf/rte_mbuf.h | 9 +
lib/librte_mempool/rte_mempool.h | 3 +
lib/librte_pdump/rte_pdump.h | 4 +
lib/librte_pipeline/rte_pipeline.h | 4 +-
lib/librte_reorder/rte_reorder.h | 2 +
lib/librte_ring/rte_ring.h | 2 +-
lib/librte_sched/rte_bitmap.h | 3 +-
lib/librte_sched/rte_reciprocal.h | 2 +
lib/librte_sched/rte_sched_common.h | 1 +
lib/librte_timer/rte_timer.h | 2 +
scripts/check-includes.sh | 286 +++++++++++++++++++
scripts/test-build.sh | 14 +
66 files changed, 511 insertions(+), 33 deletions(-)
create mode 100755 scripts/check-includes.sh
--
2.1.4
More information about the dev
mailing list