X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2FCMakeLists.txt;h=6976ac59fc57069bca95df1d911ba958070d9290;hb=c03593e81d924e65de0f28ae69b452ddd2052757;hp=b83b57e8b89dd116c330da53d2bcbf2dae11f1d6;hpb=f5b27cbcc7cae5279aac512f805be73591f58eaa;p=vpp.git diff --git a/src/vppinfra/CMakeLists.txt b/src/vppinfra/CMakeLists.txt index b83b57e8b89..6976ac59fc5 100644 --- a/src/vppinfra/CMakeLists.txt +++ b/src/vppinfra/CMakeLists.txt @@ -27,19 +27,19 @@ endif(VPP_VECTOR_GROW_BY_ONE) configure_file( ${CMAKE_SOURCE_DIR}/vppinfra/config.h.in - ${CMAKE_BINARY_DIR}/vppinfra/config.h + ${CMAKE_CURRENT_BINARY_DIR}/config.h ) install( - FILES ${CMAKE_BINARY_DIR}/vppinfra/config.h - DESTINATION include/vppinfra + FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vppinfra COMPONENT vpp-dev ) add_definitions(-fvisibility=hidden) # Ensure symbols from cJSON are exported -set_source_files_properties( cJSON.c PROPERTIES +set_source_files_properties( cJSON.c jsonformat.c PROPERTIES COMPILE_DEFINITIONS " CJSON_API_VISIBILITY " ) @@ -48,6 +48,7 @@ set_source_files_properties( cJSON.c PROPERTIES ############################################################################## set(VPPINFRA_SRCS backtrace.c + bitmap.c bihash_all_vector.c cpu.c dlmalloc.c @@ -56,17 +57,23 @@ set(VPPINFRA_SRCS error.c fifo.c format.c - graph.c + format_table.c hash.c heap.c + interrupt.c + jsonformat.c longjmp.S macros.c maplog.c mem.c + mem_bulk.c mem_dlmalloc.c mhash.c mpcap.c pcap.c + perfmon/bundle_default.c + perfmon/bundle_core_power.c + perfmon/perfmon.c pmalloc.c pool.c ptclosure.c @@ -93,13 +100,15 @@ set(VPPINFRA_SRCS valloc.c vec.c vector.c + vector/toeplitz.c cJSON.c ) set(VPPINFRA_HEADERS - sanitizer.h + bihash_12_4.h bihash_16_8.h bihash_24_8.h + bihash_32_8.h bihash_40_8.h bihash_48_8.h bihash_8_8.h @@ -119,6 +128,13 @@ set(VPPINFRA_HEADERS clib.h cpu.h crc32.h + crypto/sha2.h + crypto/ghash.h + crypto/aes.h + crypto/aes_cbc.h + crypto/aes_ctr.h + crypto/aes_gcm.h + crypto/poly1305.h dlist.h dlmalloc.h elf_clib.h @@ -129,9 +145,11 @@ set(VPPINFRA_HEADERS fifo.h file.h format.h - graph.h + format_table.h hash.h heap.h + interrupt.h + jsonformat.h lb_hash_hash.h llist.h lock.h @@ -139,15 +157,16 @@ set(VPPINFRA_HEADERS macros.h maplog.h math.h - memcpy_avx2.h - memcpy_avx512.h - memcpy_sse3.h + memcpy.h + memcpy_x86_64.h mem.h mhash.h mpcap.h os.h pcap.h pcap_funcs.h + pcg.h + perfmon/perfmon.h pmalloc.h pool.h ptclosure.h @@ -156,7 +175,6 @@ set(VPPINFRA_HEADERS random_isaac.h rbtree.h serialize.h - sha2.h smp.h socket.h sparse_vec.h @@ -181,13 +199,18 @@ set(VPPINFRA_HEADERS vector_altivec.h vector_avx2.h vector_avx512.h - vector_funcs.h + vector/array_mask.h + vector/compress.h + vector/count_equal.h + vector/index_to_ptr.h + vector/ip_csum.h + vector/mask_compare.h + vector/toeplitz.h vector.h vector_neon.h vector_sse42.h warnings.h xxhash.h - linux/syscall.h linux/sysfs.h ) @@ -196,12 +219,17 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") elf_clib.c linux/mem.c linux/sysfs.c + linux/netns.c ) endif() +option(VPP_USE_EXTERNAL_LIBEXECINFO "Use external libexecinfo (useful for non-glibc targets)." OFF) +if(VPP_USE_EXTERNAL_LIBEXECINFO) + set(EXECINFO_LIB execinfo) +endif() add_vpp_library(vppinfra SOURCES ${VPPINFRA_SRCS} - LINK_LIBRARIES m + LINK_LIBRARIES m ${EXECINFO_LIB} INSTALL_HEADERS ${VPPINFRA_HEADERS} COMPONENT libvppinfra LTO @@ -222,10 +250,12 @@ if(VPP_BUILD_VPPINFRA_TESTS) fpool hash heap + interrupt longjmp macros maplog pmalloc + pool_alloc pool_iterate ptclosure random @@ -253,3 +283,34 @@ if(VPP_BUILD_VPPINFRA_TESTS) ) endforeach() endif(VPP_BUILD_VPPINFRA_TESTS) + +set(test_files + test/aes_cbc.c + test/aes_ctr.c + test/aes_gcm.c + test/poly1305.c + test/array_mask.c + test/compress.c + test/count_equal.c + test/crc32c.c + test/index_to_ptr.c + test/ip_csum.c + test/mask_compare.c + test/memcpy_x86_64.c + test/sha2.c + test/toeplitz.c +) + +add_vpp_executable(test_infra + SOURCES + test/test.c + ${test_files} + LINK_LIBRARIES vppinfra + NO_INSTALL +) + +vpp_library_set_multiarch_sources(test_infra + SOURCES + ${test_files} +) +