On 2015/03/02 19:22, Bruce Richardson wrote: > On Mon, Mar 02, 2015 at 12:47:42PM +0900, Tetsuya Mukawa wrote: >> Hi, >> >> I got a error while building master branch on FreeBSD. >> Here is a log. >> >> $ gmake T=x86_64-native-bsdapp-clang config >> cc: error: unknown argument: '-fdirectives-only' >> cp: /usr/home/mukawa/work/dpdk/build/.config_tmp: No such file or directory >> cp: /usr/home/mukawa/work/dpdk/build/.config_tmp: No such file or directory >> gmake[3]: Nothing to be done for 'depdirs'. >> Configuration done >> >> >> Here is log came from 'uname' >> >> $ uname -a >> FreeBSD eris.hq.igel.co.jp 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: >> Tue Nov 11 21:02:49 UTC 2014 >> >> >> I've tried to remove '-fdirectives-only' from mk/rte.sdkconfig.mk like >> below. >> With the fixing, It seems I can compile and run testpmd. >> (Obviously, we should not merge below patch, but I've done just for testing) >> >> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk >> index d43c430..f8d95b1 100644 >> --- a/mk/rte.sdkconfig.mk >> +++ b/mk/rte.sdkconfig.mk >> @@ -75,7 +75,7 @@ else >> $(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT) >> $(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f >> "$(RTE_CONFIG_TEMPLATE)" ]; then \ >> $(CPP) -undef -P -x assembler-with-cpp \ >> - -fdirectives-only -ffreestanding \ >> + -ffreestanding \ >> -o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \ >> if ! cmp -s $(RTE_OUTPUT)/.config_tmp >> $(RTE_OUTPUT)/.config; then \ >> cp $(RTE_OUTPUT)/.config_tmp >> $(RTE_OUTPUT)/.config ; \ >> >> >> Also, I've checked /usr/ports/net/dpdk, and found below line. >> (It seems above ports dpdk package is based on DPDK-1.8.) >> >> >> $(CPP) -undef -P -x assembler-with-cpp \ >> -ffreestanding \ >> -o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \ >> >> So, I guess we should not add '-fdirectives-only' for flags of $(CPP) >> for BSD system like dpdk package of ports. >> >> Thanks, >> Tetsuya >> > Yes, that is correct. In most cases I have tested, the extra flag only gives a > warning but it appears its now an error. We should conditionally include or > omit the flag for BSD vs Linux, I think. > > /Bruce Hi Bruce,
It seems we cannot use CONFIG_RTE_EXEC_ENV_LINUXAPP/BSDAPP definition here. Now I am looking for other way to check target OS. Is it not so good to use $(T) definition value here? Thanks, Tetsuya