Add config option to use dlmalloc instead of mheap
[vpp.git] / build-data / platforms / vpp.mk
index 5b20058..5e4980a 100644 (file)
 # limitations under the License.
 
 # vector packet processor
+
+MACHINE=$(shell uname -m)
+
 vpp_arch = native
-ifeq ($(shell uname -m),x86_64)
-vpp_march = corei7                     # Nehalem Instruction set
-vpp_mtune = corei7-avx                 # Optimize for Sandy Bridge
-vpp_dpdk_arch = corei7
-else ifeq ($(shell uname -m),aarch64)
 ifeq ($(TARGET_PLATFORM),thunderx)
-vpp_march = armv8-a+crc
-vpp_mtune = thunderx
-vpp_dpdk_arch = armv8a
 vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
-else
-vpp_march = native
-vpp_mtune = generic
-vpp_dpdk_arch = native
-endif
 endif
 vpp_native_tools = vppapigen
 
@@ -36,37 +26,43 @@ vpp_uses_dpdk = yes
 # Uncoment to enable building unit tests
 # vpp_enable_tests = yes
 
-vpp_root_packages = vpp gmod
-
-vpp_configure_args_vpp = --with-dpdk
-
-# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e.
-vlib_configure_args_vpp = --with-pre-data=128
+vpp_root_packages = vpp vom
 
 # DPDK configuration parameters
-# vpp_uses_dpdk_cryptodev_sw = yes
+# vpp_uses_dpdk_mlx4_pmd = yes
 # vpp_uses_dpdk_mlx5_pmd = yes
 # vpp_uses_external_dpdk = yes
 # vpp_dpdk_inc_dir = /usr/include/dpdk
 # vpp_dpdk_lib_dir = /usr/lib
 # vpp_dpdk_shared_lib = yes
 
-vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
+# Use '--without-libnuma' for non-numa aware architecture
+# Use '--enable-dlmalloc' to use dlmalloc instead of mheap
+vpp_configure_args_vpp = --enable-dlmalloc
+sample-plugin_configure_args_vpp = --enable-dlmalloc
+
+# load balancer plugin is not portable on 32 bit platform
+ifeq ($(MACHINE),i686)
+vpp_configure_args_vpp += --disable-lb-plugin
+endif
+
+vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
+       -fstack-protector-all -fPIC -Werror
+vpp_debug_TAG_CXXFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
        -fstack-protector-all -fPIC -Werror
-vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
+vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
        -fstack-protector-all -fPIC -Werror
 
-vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
-       -fstack-protector -fPIC -Werror
-vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
-       -fstack-protector -fPIC -Werror
+vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
+vpp_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
+vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror -pie -Wl,-z,now
+
+vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
+vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
+
+vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -fprofile-arcs -ftest-coverage
+vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -coverage
 
-vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
-       -fstack-protector -fPIC -Werror
-vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
-       -fstack-protector -fPIC -Werror
+vpp_coverity_TAG_CFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__
+vpp_coverity_TAG_LDFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__
 
-vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
-       -fPIC -Werror -fprofile-arcs -ftest-coverage
-vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
-       -fPIC -Werror -coverage