interface: rx queue infra rework, part one
[vpp.git] / src / vppinfra / CMakeLists.txt
index f2279d0..3dc99cc 100644 (file)
@@ -36,6 +36,13 @@ install(
   COMPONENT vpp-dev
 )
 
+add_definitions(-fvisibility=hidden)
+
+# Ensure symbols from cJSON are exported
+set_source_files_properties( cJSON.c PROPERTIES
+  COMPILE_DEFINITIONS " CJSON_API_VISIBILITY " )
+
+
 ##############################################################################
 # vppinfra sources
 ##############################################################################
@@ -47,15 +54,17 @@ set(VPPINFRA_SRCS
   elf.c
   elog.c
   error.c
-  fheap.c
   fifo.c
   format.c
   graph.c
   hash.c
   heap.c
+  interrupt.c
   longjmp.S
   macros.c
   maplog.c
+  mem.c
+  mem_bulk.c
   mem_dlmalloc.c
   mhash.c
   mpcap.c
@@ -68,7 +77,6 @@ set(VPPINFRA_SRCS
   random_isaac.c
   rbtree.c
   serialize.c
-  slist.c
   socket.c
   std-formats.c
   string.c
@@ -87,16 +95,19 @@ set(VPPINFRA_SRCS
   valloc.c
   vec.c
   vector.c
-  zvec.c
+  cJSON.c
 )
 
 set(VPPINFRA_HEADERS
   sanitizer.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
+  bihash_8_16.h
+  bihash_24_16.h
   bihash_template.c
   bihash_template.h
   bihash_vec8_8.h
@@ -105,16 +116,12 @@ set(VPPINFRA_HEADERS
   byte_order.h
   cache.h
   callback.h
+  callback_data.h
+  cJSON.h
   clib_error.h
   clib.h
   cpu.h
   crc32.h
-  cuckoo_8_8.h
-  cuckoo_16_8.h
-  cuckoo_common.h
-  cuckoo_debug.h
-  cuckoo_template.h
-  cuckoo_template.c
   dlist.h
   dlmalloc.h
   elf_clib.h
@@ -122,16 +129,13 @@ set(VPPINFRA_HEADERS
   elog.h
   error_bootstrap.h
   error.h
-  fheap.h
   fifo.h
   file.h
-  flowhash_24_16.h
-  flowhash_8_8.h
-  flowhash_template.h
   format.h
   graph.h
   hash.h
   heap.h
+  interrupt.h
   lb_hash_hash.h
   llist.h
   lock.h
@@ -144,15 +148,12 @@ set(VPPINFRA_HEADERS
   memcpy_sse3.h
   mem.h
   mhash.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
@@ -160,7 +161,6 @@ set(VPPINFRA_HEADERS
   rbtree.h
   serialize.h
   sha2.h
-  slist.h
   smp.h
   socket.h
   sparse_vec.h
@@ -189,9 +189,8 @@ set(VPPINFRA_HEADERS
   vector.h
   vector_neon.h
   vector_sse42.h
+  warnings.h
   xxhash.h
-  xy.h
-  zvec.h
   linux/syscall.h
   linux/sysfs.h
 )
@@ -204,11 +203,16 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
    )
 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
 )
 
 ##############################################################################
@@ -218,12 +222,10 @@ option(VPP_BUILD_VPPINFRA_TESTS "Build vppinfra tests." OFF)
 if(VPP_BUILD_VPPINFRA_TESTS)
   foreach(test
     bihash_vec88
-    cuckoo_template
     dlist
     elf
     elog
     fifo
-    flowhash_template
     format
     fpool
     hash
@@ -238,16 +240,13 @@ if(VPP_BUILD_VPPINFRA_TESTS)
     random_isaac
     rwlock
     serialize
-    slist
     socket
     spinlock
     time
     time_range
-    timing_wheel
     tw_timer
     valloc
     vec
-    zvec
   )
     add_vpp_executable(test_${test}
       SOURCES test_${test}.c
@@ -255,7 +254,7 @@ if(VPP_BUILD_VPPINFRA_TESTS)
       )
   endforeach()
 
-  foreach(test bihash_template cuckoo_bihash)
+  foreach(test bihash_template)
     add_vpp_executable(test_${test}
       SOURCES test_${test}.c
       LINK_LIBRARIES vppinfra Threads::Threads