vppinfra: move unused code to extras/deprecated/vppinfra
[vpp.git] / src / vppinfra / CMakeLists.txt
index 17daecd..e667eb0 100644 (file)
@@ -16,13 +16,14 @@ enable_language(ASM)
 ##############################################################################
 # Generate vppinfra/config.h
 ##############################################################################
-set(LOG2_CACHE_LINE_BYTES 6)
-option(VPP_USE_DLMALLOC "Use dlmalloc memory allocator." ON)
-if(VPP_USE_DLMALLOC)
-  set(DLMALLOC 1)
-else(VPP_USE_DLMALLOC)
-  set(DLMALLOC 0)
-endif(VPP_USE_DLMALLOC)
+set(LOG2_CACHE_LINE_BYTES ${VPP_LOG2_CACHE_LINE_SIZE})
+
+option(VPP_VECTOR_GROW_BY_ONE "Vectors grow by one, instead of 3/2" OFF)
+if(VPP_VECTOR_GROW_BY_ONE)
+  set(VECTOR_GROW_BY_ONE 1)
+else(VPP_VECTOR_GROW_BY_ONE)
+  set(VECTOR_GROW_BY_ONE 0)
+endif(VPP_VECTOR_GROW_BY_ONE)
 
 configure_file(
   ${CMAKE_SOURCE_DIR}/vppinfra/config.h.in
@@ -32,23 +33,20 @@ 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
   dlmalloc.c
   elf.c
-  elf_clib.c
   elog.c
   error.c
-  fheap.c
   fifo.c
   format.c
   graph.c
@@ -59,47 +57,38 @@ set(VPPINFRA_SRCS
   maplog.c
   mem_dlmalloc.c
   mhash.c
+  mpcap.c
+  pcap.c
+  pmalloc.c
   pool.c
   ptclosure.c
-  qsort.c
-  random.c
   random_buffer.c
+  random.c
   random_isaac.c
+  rbtree.c
   serialize.c
-  slist.c
   socket.c
   std-formats.c
   string.c
   time.c
   time_range.c
-  timer.c
   timing_wheel.c
-  tw_timer_2t_1w_2048sl.c
-  tw_timer_16t_2w_512sl.c
+  tw_timer_2t_2w_512sl.c
   tw_timer_16t_1w_2048sl.c
-  tw_timer_4t_3w_256sl.c
+  tw_timer_16t_2w_512sl.c
   tw_timer_1t_3w_1024sl_ov.c
+  tw_timer_2t_1w_2048sl.c
+  tw_timer_4t_3w_256sl.c
   unformat.c
   unix-formats.c
   unix-misc.c
   valloc.c
   vec.c
   vector.c
-  zvec.c
-  linux/mem.c
-  linux/sysfs.c
 )
 
-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
@@ -112,6 +101,7 @@ vpp_add_header_files(vppinfra
   bitops.h
   byte_order.h
   cache.h
+  callback.h
   clib_error.h
   clib.h
   cpu.h
@@ -123,17 +113,14 @@ vpp_add_header_files(vppinfra
   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
   lb_hash_hash.h
+  llist.h
   lock.h
   longjmp.h
   macros.h
@@ -144,25 +131,29 @@ vpp_add_header_files(vppinfra
   memcpy_sse3.h
   mem.h
   mhash.h
-  mheap_bootstrap.h
   mheap.h
+  mpcap.h
   os.h
-  pipeline.h
+  pcap.h
+  pcap_funcs.h
+  pmalloc.h
   pool.h
+  pmc.h
   ptclosure.h
   random_buffer.h
   random.h
   random_isaac.h
+  rbtree.h
   serialize.h
-  slist.h
+  sha2.h
   smp.h
   socket.h
   sparse_vec.h
   string.h
   time.h
   time_range.h
-  timer.h
   timing_wheel.h
+  tw_timer_2t_2w_512sl.h
   tw_timer_16t_1w_2048sl.h
   tw_timer_16t_2w_512sl.h
   tw_timer_1t_3w_1024sl_ov.h
@@ -171,8 +162,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
@@ -184,24 +175,36 @@ vpp_add_header_files(vppinfra
   vector_neon.h
   vector_sse42.h
   xxhash.h
-  xy.h
-  zvec.h
   linux/syscall.h
   linux/sysfs.h
 )
 
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+  list(APPEND VPPINFRA_SRCS
+    elf_clib.c
+    linux/mem.c
+    linux/sysfs.c
+   )
+endif()
+
+add_vpp_library(vppinfra
+  SOURCES ${VPPINFRA_SRCS}
+  LINK_LIBRARIES m
+  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
     elog
     fifo
-    flowhash_template
     format
     fpool
     hash
@@ -209,27 +212,31 @@ 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)
+    add_vpp_executable(test_${test}
+      SOURCES test_${test}.c
+      LINK_LIBRARIES vppinfra Threads::Threads
+      )
+  endforeach()
 endif(VPP_BUILD_VPPINFRA_TESTS)