This patch set enables clang compilation on FreeBSD and Linux. It includes patches to fix a number of compilation errors thrown up by clang, and then adds in the appropriate toolchain makefiles and compile-time configurations.
This set has been tested with clang v3.3 on FreeBSD 10 and clang v3.4 on Fedora linux 20. The example apps folder has not been tested at this time, this patch set only focuses on the core libraries and apps. Bruce Richardson (6): pmd_bond: add missing variable initialization Makefiles: add clang to compiler if/else block mk: Ensure correct detection of SSE4.2 on FreeBSD acl: add nmmintrin.h header to allow clang compilation mk: add toolchain for clang and linuxapp target config: add compile target for clang on BSD config/defconfig_x86_64-native-bsdapp-clang | 71 ++++++++++++++++++++++++ config/defconfig_x86_64-native-linuxapp-clang | 63 ++++++++++++++++++++++ lib/librte_acl/acl_bld.c | 1 + lib/librte_pmd_bond/rte_eth_bond_pmd.c | 2 +- lib/librte_pmd_i40e/Makefile | 9 ++++ lib/librte_pmd_ixgbe/Makefile | 7 +++ lib/librte_pmd_vmxnet3/Makefile | 7 +++ mk/machine/native/rte.vars.mk | 12 +++++ mk/toolchain/clang/rte.toolchain-compat.mk | 43 +++++++++++++++ mk/toolchain/clang/rte.vars.mk | 77 +++++++++++++++++++++++++++ 10 files changed, 291 insertions(+), 1 deletion(-) create mode 100644 config/defconfig_x86_64-native-bsdapp-clang create mode 100644 config/defconfig_x86_64-native-linuxapp-clang create mode 100644 mk/toolchain/clang/rte.toolchain-compat.mk create mode 100644 mk/toolchain/clang/rte.vars.mk -- 1.9.3