X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=mk%2Fmachine%2Fnative%2Frte.vars.mk;h=f7d98d0dc9ed775c40111beef7dbf1b943ed4375;hb=376ee1dee83e9c9dd3351943a4833d8de39dabd6;hp=9be1ccd2ccfd588a0bda2db9ac3401ff730992a8;hpb=e9d48c0072d36eb6423b45fba4ec49d0def6c36f;p=dpdk.git diff --git a/mk/machine/native/rte.vars.mk b/mk/machine/native/rte.vars.mk index 9be1ccd2cc..f7d98d0dc9 100644 --- a/mk/machine/native/rte.vars.mk +++ b/mk/machine/native/rte.vars.mk @@ -1,12 +1,12 @@ # BSD LICENSE -# +# # Copyright(c) 2010-2014 Intel Corporation. All rights reserved. # All rights reserved. -# +# # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: -# +# # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright @@ -16,7 +16,7 @@ # * Neither the name of Intel Corporation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. -# +# # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR @@ -32,16 +32,16 @@ # # machine: # -# - can define ARCH variable (overriden by cmdline value) -# - can define CROSS variable (overriden by cmdline value) -# - define MACHINE_CFLAGS variable (overriden by cmdline value) -# - define MACHINE_LDFLAGS variable (overriden by cmdline value) -# - define MACHINE_ASFLAGS variable (overriden by cmdline value) -# - can define CPU_CFLAGS variable (overriden by cmdline value) that +# - can define ARCH variable (overridden by cmdline value) +# - can define CROSS variable (overridden by cmdline value) +# - define MACHINE_CFLAGS variable (overridden by cmdline value) +# - define MACHINE_LDFLAGS variable (overridden by cmdline value) +# - define MACHINE_ASFLAGS variable (overridden by cmdline value) +# - can define CPU_CFLAGS variable (overridden by cmdline value) that # overrides the one defined in arch. -# - can define CPU_LDFLAGS variable (overriden by cmdline value) that +# - can define CPU_LDFLAGS variable (overridden by cmdline value) that # overrides the one defined in arch. -# - can define CPU_ASFLAGS variable (overriden by cmdline value) that +# - can define CPU_ASFLAGS variable (overridden by cmdline value) that # overrides the one defined in arch. # - may override any previously defined variable # @@ -56,54 +56,12 @@ # CPU_ASFLAGS = MACHINE_CFLAGS = -march=native -AUTO_CPUFLAGS = $(shell grep -m 1 flags /proc/cpuinfo) - -# adding flags to CPUFLAGS - -ifneq ($(filter $(AUTO_CPUFLAGS),sse),) -CPUFLAGS += SSE -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),sse2),) -CPUFLAGS += SSE2 -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),sse3),) -CPUFLAGS += SSE3 -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),ssse3),) -CPUFLAGS += SSSE3 -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),sse4_1),) -CPUFLAGS += SSE4_1 -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),sse4_2),) -CPUFLAGS += SSE4_2 -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),aes),) -CPUFLAGS += AES -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),pclmulqdq),) -CPUFLAGS += PCLMULQDQ -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),avx),) -CPUFLAGS += AVX -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),rdrnd),) -CPUFLAGS += RDRAND -endif - -ifneq ($(filter $(AUTO_CPUFLAGS),fsgsbase),) -CPUFLAGS += FSGSBASE -endif -ifneq ($(filter $(AUTO_CPUFLAGS),f16c),) -CPUFLAGS += F16C +# On FreeBSD systems, sometimes the correct CPU type is not picked up. +# To get everything to compile, we need SSE4.2 support, so check if that is +# reported by compiler. If not, check if the CPU actually supports it, and if +# so, set the compilation target to be a corei7, minimum target with SSE4.2. +SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E -