misc: experimental configure script
[vpp.git] / src / vppinfra / CMakeLists.txt
index b83b57e..dd3690b 100644 (file)
@@ -27,11 +27,11 @@ 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
+  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
   DESTINATION include/vppinfra
   COMPONENT vpp-dev
 )
@@ -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
@@ -59,10 +60,12 @@ set(VPPINFRA_SRCS
   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
@@ -100,6 +103,7 @@ 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
@@ -132,6 +136,7 @@ set(VPPINFRA_HEADERS
   graph.h
   hash.h
   heap.h
+  interrupt.h
   lb_hash_hash.h
   llist.h
   lock.h
@@ -139,6 +144,7 @@ set(VPPINFRA_HEADERS
   macros.h
   maplog.h
   math.h
+  memcpy.h
   memcpy_avx2.h
   memcpy_avx512.h
   memcpy_sse3.h
@@ -187,7 +193,6 @@ set(VPPINFRA_HEADERS
   vector_sse42.h
   warnings.h
   xxhash.h
-  linux/syscall.h
   linux/sysfs.h
 )
 
@@ -199,9 +204,13 @@ 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