Tested by Zhan, Zhaochen <zhaochen.zhan at intel.com> Applying these patches on the dpdk-1.7.0, we verified the compilation on FreeBSD10.0 with Clang 3.3 and Fedora20 with Clang 3.4. We also verified some simple test case (pmd, cmdline, hello_world and timer) on FreeBSD with Clang 3.3.
> -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > Sent: Tuesday, July 08, 2014 7:37 AM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH 0/6] Clang compilation support on FreeBSD and > Linux > > 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