Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vppinfra: add array mask func
[vpp.git]
/
src
/
vppinfra
/
CMakeLists.txt
diff --git
a/src/vppinfra/CMakeLists.txt
b/src/vppinfra/CMakeLists.txt
index
02e5322
..
728072c
100644
(file)
--- a/
src/vppinfra/CMakeLists.txt
+++ b/
src/vppinfra/CMakeLists.txt
@@
-17,81
+17,99
@@
enable_language(ASM)
# Generate vppinfra/config.h
##############################################################################
set(LOG2_CACHE_LINE_BYTES ${VPP_LOG2_CACHE_LINE_SIZE})
# Generate vppinfra/config.h
##############################################################################
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)
-else(VPP_USE_DLMALLOC)
- set(DLMALLOC 0)
-endif(VPP_USE_DLMALLOC)
+
+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
configure_file(
${CMAKE_SOURCE_DIR}/vppinfra/config.h.in
- ${CMAKE_
BINARY_DIR}/vppinfra
/config.h
+ ${CMAKE_
CURRENT_BINARY_DIR}
/config.h
)
install(
)
install(
- FILES ${CMAKE_
BINARY_DIR}/vppinfra
/config.h
+ FILES ${CMAKE_
CURRENT_BINARY_DIR}
/config.h
DESTINATION include/vppinfra
COMPONENT vpp-dev
)
DESTINATION include/vppinfra
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
##############################################################################
set(VPPINFRA_SRCS
backtrace.c
##############################################################################
# vppinfra sources
##############################################################################
set(VPPINFRA_SRCS
backtrace.c
+ bitmap.c
+ bihash_all_vector.c
cpu.c
cpu.c
-
cuckoo_template
.c
+
dlmalloc
.c
elf.c
elog.c
error.c
elf.c
elog.c
error.c
- fheap.c
fifo.c
format.c
graph.c
hash.c
heap.c
fifo.c
format.c
graph.c
hash.c
heap.c
+ interrupt.c
longjmp.S
macros.c
maplog.c
longjmp.S
macros.c
maplog.c
+ mem.c
+ mem_bulk.c
+ mem_dlmalloc.c
mhash.c
mhash.c
+ mpcap.c
pcap.c
pmalloc.c
pool.c
ptclosure.c
pcap.c
pmalloc.c
pool.c
ptclosure.c
- random.c
random_buffer.c
random_buffer.c
+ random.c
random_isaac.c
rbtree.c
random_isaac.c
rbtree.c
+ sanitizer.c
serialize.c
serialize.c
- slist.c
socket.c
std-formats.c
string.c
time.c
time_range.c
socket.c
std-formats.c
string.c
time.c
time_range.c
- timer.c
timing_wheel.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_16t_1w_2048sl.c
- tw_timer_
4t_3w_256
sl.c
+ tw_timer_
16t_2w_512
sl.c
tw_timer_1t_3w_1024sl_ov.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
unformat.c
unix-formats.c
unix-misc.c
valloc.c
vec.c
vector.c
-
zvec
.c
+
cJSON
.c
)
set(VPPINFRA_HEADERS
)
set(VPPINFRA_HEADERS
+ sanitizer.h
bihash_16_8.h
bihash_24_8.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_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
bihash_template.c
bihash_template.h
bihash_vec8_8.h
@@
-99,6
+117,9
@@
set(VPPINFRA_HEADERS
bitops.h
byte_order.h
cache.h
bitops.h
byte_order.h
cache.h
+ callback.h
+ callback_data.h
+ cJSON.h
clib_error.h
clib.h
cpu.h
clib_error.h
clib.h
cpu.h
@@
-110,36
+131,32
@@
set(VPPINFRA_HEADERS
elog.h
error_bootstrap.h
error.h
elog.h
error_bootstrap.h
error.h
- fheap.h
fifo.h
file.h
fifo.h
file.h
- flowhash_24_16.h
- flowhash_8_8.h
- flowhash_template.h
format.h
graph.h
hash.h
heap.h
format.h
graph.h
hash.h
heap.h
+ interrupt.h
lb_hash_hash.h
lb_hash_hash.h
+ llist.h
lock.h
longjmp.h
macros.h
maplog.h
math.h
lock.h
longjmp.h
macros.h
maplog.h
math.h
+ memcpy.h
memcpy_avx2.h
memcpy_avx512.h
memcpy_sse3.h
mem.h
mhash.h
memcpy_avx2.h
memcpy_avx512.h
memcpy_sse3.h
mem.h
mhash.h
- mheap_bootstrap.h
- mheap.h
+ mpcap.h
os.h
pcap.h
pcap_funcs.h
os.h
pcap.h
pcap_funcs.h
- pipeline.h
pmalloc.h
pool.h
pmalloc.h
pool.h
- pmc.h
ptclosure.h
random_buffer.h
random.h
ptclosure.h
random_buffer.h
random.h
@@
-147,15
+164,14
@@
set(VPPINFRA_HEADERS
rbtree.h
serialize.h
sha2.h
rbtree.h
serialize.h
sha2.h
- slist.h
smp.h
socket.h
sparse_vec.h
string.h
time.h
time_range.h
smp.h
socket.h
sparse_vec.h
string.h
time.h
time_range.h
- timer.h
timing_wheel.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
tw_timer_16t_1w_2048sl.h
tw_timer_16t_2w_512sl.h
tw_timer_1t_3w_1024sl_ov.h
@@
-166,21
+182,20
@@
set(VPPINFRA_HEADERS
types.h
atomics.h
unix.h
types.h
atomics.h
unix.h
- valgrind.h
valloc.h
vec_bootstrap.h
vec.h
vector_altivec.h
vector_avx2.h
vector_avx512.h
valloc.h
vec_bootstrap.h
vec.h
vector_altivec.h
vector_avx2.h
vector_avx512.h
- vector_funcs.h
+ vector/mask_compare.h
+ vector/compress.h
+ vector/array_mask.h
vector.h
vector_neon.h
vector_sse42.h
vector.h
vector_neon.h
vector_sse42.h
+ warnings.h
xxhash.h
xxhash.h
- xy.h
- zvec.h
- linux/syscall.h
linux/sysfs.h
)
linux/sysfs.h
)
@@
-192,24
+207,16
@@
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
)
endif()
)
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)
-
+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}
add_vpp_library(vppinfra
SOURCES ${VPPINFRA_SRCS}
- LINK_LIBRARIES m
+ LINK_LIBRARIES m
${EXECINFO_LIB}
INSTALL_HEADERS ${VPPINFRA_HEADERS}
COMPONENT libvppinfra
INSTALL_HEADERS ${VPPINFRA_HEADERS}
COMPONENT libvppinfra
+ LTO
)
##############################################################################
)
##############################################################################
@@
-219,12
+226,10
@@
option(VPP_BUILD_VPPINFRA_TESTS "Build vppinfra tests." OFF)
if(VPP_BUILD_VPPINFRA_TESTS)
foreach(test
bihash_vec88
if(VPP_BUILD_VPPINFRA_TESTS)
foreach(test
bihash_vec88
- cuckoo_template
dlist
elf
elog
fifo
dlist
elf
elog
fifo
- flowhash_template
format
fpool
hash
format
fpool
hash
@@
-237,27
+242,45
@@
if(VPP_BUILD_VPPINFRA_TESTS)
ptclosure
random
random_isaac
ptclosure
random
random_isaac
+ rwlock
serialize
serialize
- slist
socket
socket
+ spinlock
time
time_range
time
time_range
- timing_wheel
tw_timer
valloc
vec
tw_timer
valloc
vec
- zvec
)
add_vpp_executable(test_${test}
SOURCES test_${test}.c
)
add_vpp_executable(test_${test}
SOURCES test_${test}.c
- LINK_LIBRARIES vppinfra
+ LINK_LIBRARIES vppinfra
pthread
)
endforeach()
)
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
)
endforeach()
add_vpp_executable(test_${test}
SOURCES test_${test}.c
LINK_LIBRARIES vppinfra Threads::Threads
)
endforeach()
+
+set(test_files
+ vector/test/compress.c
+ vector/test/mask_compare.c
+ vector/test/array_mask.c
+)
+
+add_vpp_executable(test_vector_funcs
+ SOURCES
+ vector/test/test.c
+ ${test_files}
+ LINK_LIBRARIES vppinfra
+)
+
+vpp_library_set_multiarch_sources(test_vector_funcs
+ SOURCES
+ ${test_files}
+)
+
endif(VPP_BUILD_VPPINFRA_TESTS)
endif(VPP_BUILD_VPPINFRA_TESTS)