X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2FCMakeLists.txt;h=60e6eeff9fea2c3ee298f56f94681cdaff32b154;hb=a690fdbfe179e0ea65818c03b52535bf9210efd0;hp=ecd1528c391d644a25c1c7eeeed6a24476b630a0;hpb=d897adcebb0085942cbade024c3ccd8bafd448ef;p=vpp.git diff --git a/src/vppinfra/CMakeLists.txt b/src/vppinfra/CMakeLists.txt index ecd1528c391..60e6eeff9fe 100644 --- a/src/vppinfra/CMakeLists.txt +++ b/src/vppinfra/CMakeLists.txt @@ -16,7 +16,7 @@ enable_language(ASM) ############################################################################## # Generate vppinfra/config.h ############################################################################## -set(LOG2_CACHE_LINE_BYTES 6) +set(LOG2_CACHE_LINE_BYTES ${VPP_LOG2_CACHE_LINE_SIZE}) option(VPP_USE_DLMALLOC "Use dlmalloc memory allocator." ON) if(VPP_USE_DLMALLOC) set(DLMALLOC 1) @@ -24,6 +24,13 @@ else(VPP_USE_DLMALLOC) set(DLMALLOC 0) endif(VPP_USE_DLMALLOC) +find_library(NUMA numa) +if (NUMA) + set(NUMA_LIBRARY_FOUND 1) +else(NUMA) + set(NUMA_LIBRARY_FOUND 0) +endif() + configure_file( ${CMAKE_SOURCE_DIR}/vppinfra/config.h.in ${CMAKE_BINARY_DIR}/vppinfra/config.h @@ -32,19 +39,18 @@ configure_file( install( FILES ${CMAKE_BINARY_DIR}/vppinfra/config.h DESTINATION include/vppinfra - COMPONENT dev + COMPONENT vpp-dev ) ############################################################################## # vppinfra sources ############################################################################## set(VPPINFRA_SRCS - asm_x86.c backtrace.c + bihash_all_vector.c cpu.c cuckoo_template.c elf.c - elf_clib.c elog.c error.c fheap.c @@ -57,12 +63,15 @@ set(VPPINFRA_SRCS macros.c maplog.c mhash.c + mpcap.c + pcap.c + pmalloc.c pool.c ptclosure.c - qsort.c random.c random_buffer.c random_isaac.c + rbtree.c serialize.c slist.c socket.c @@ -70,7 +79,6 @@ set(VPPINFRA_SRCS string.c time.c time_range.c - timer.c timing_wheel.c tw_timer_2t_1w_2048sl.c tw_timer_16t_2w_512sl.c @@ -84,32 +92,10 @@ set(VPPINFRA_SRCS vec.c vector.c zvec.c - linux/mem.c - linux/sysfs.c ) -if(VPP_USE_DLMALLOC) - list(APPEND VPPINFRA_SRCS - dlmalloc.c - mem_dlmalloc.c - ) -else(VPP_USE_DLMALLOC) - list(APPEND VPPINFRA_SRCS - mheap.c - mem_mheap.c - ) -endif(VPP_USE_DLMALLOC) - -add_library(vppinfra SHARED ${VPPINFRA_SRCS}) -target_link_libraries(vppinfra m) -install(TARGETS vppinfra DESTINATION lib) - -############################################################################## -# vppinfra headers -############################################################################## -vpp_add_header_files(vppinfra - asm_mips.h - asm_x86.h +set(VPPINFRA_HEADERS + sanitizer.h bihash_16_8.h bihash_24_8.h bihash_40_8.h @@ -122,6 +108,7 @@ vpp_add_header_files(vppinfra bitops.h byte_order.h cache.h + callback.h clib_error.h clib.h cpu.h @@ -144,6 +131,7 @@ vpp_add_header_files(vppinfra hash.h heap.h lb_hash_hash.h + llist.h lock.h longjmp.h macros.h @@ -156,14 +144,21 @@ vpp_add_header_files(vppinfra mhash.h mheap_bootstrap.h mheap.h + mpcap.h os.h + pcap.h + pcap_funcs.h pipeline.h + pmalloc.h pool.h + pmc.h ptclosure.h random_buffer.h random.h random_isaac.h + rbtree.h serialize.h + sha2.h slist.h smp.h socket.h @@ -171,7 +166,6 @@ vpp_add_header_files(vppinfra string.h time.h time_range.h - timer.h timing_wheel.h tw_timer_16t_1w_2048sl.h tw_timer_16t_2w_512sl.h @@ -181,8 +175,8 @@ vpp_add_header_files(vppinfra tw_timer_template.c tw_timer_template.h types.h + atomics.h unix.h - valgrind.h valloc.h vec_bootstrap.h vec.h @@ -200,12 +194,41 @@ vpp_add_header_files(vppinfra linux/sysfs.h ) +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + list(APPEND VPPINFRA_SRCS + elf_clib.c + linux/mem.c + linux/sysfs.c + ) +endif() + + +if(VPP_USE_DLMALLOC) + list(APPEND VPPINFRA_SRCS + dlmalloc.c + mem_dlmalloc.c + ) +else(VPP_USE_DLMALLOC) + list(APPEND VPPINFRA_SRCS + mheap.c + mem_mheap.c + ) +endif(VPP_USE_DLMALLOC) + +add_vpp_library(vppinfra + SOURCES ${VPPINFRA_SRCS} + LINK_LIBRARIES m ${NUMA} + INSTALL_HEADERS ${VPPINFRA_HEADERS} + COMPONENT libvppinfra +) + +############################################################################## +# vppinfra headers +############################################################################## option(VPP_BUILD_VPPINFRA_TESTS "Build vppinfra tests." OFF) if(VPP_BUILD_VPPINFRA_TESTS) - set(VPPINFRA_TESTS - bihash_template + foreach(test bihash_vec88 - cuckoo_bihash cuckoo_template dlist elf @@ -219,27 +242,34 @@ if(VPP_BUILD_VPPINFRA_TESTS) longjmp macros maplog + pmalloc pool_iterate ptclosure random random_isaac + rwlock serialize slist socket + spinlock time time_range timing_wheel tw_timer valloc vec - vhash zvec ) - foreach(test ${VPPINFRA_TESTS}) - add_executable(test_${test} test_${test}.c) - target_link_libraries(test_${test} vppinfra) + add_vpp_executable(test_${test} + SOURCES test_${test}.c + LINK_LIBRARIES vppinfra pthread + ) endforeach() - target_link_libraries(test_bihash_template Threads::Threads) - target_link_libraries(test_cuckoo_bihash Threads::Threads) + foreach(test bihash_template cuckoo_bihash) + add_vpp_executable(test_${test} + SOURCES test_${test}.c + LINK_LIBRARIES vppinfra Threads::Threads + ) + endforeach() endif(VPP_BUILD_VPPINFRA_TESTS)