X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2FCMakeLists.txt;h=3dc99cc9db6c76515e36ae6bf6b663008c7f0bdb;hb=5d46e52fd28ccc52539031bbbe5c67d749116a09;hp=3128ad31162257d5c49ad40fbbf8de38ff990368;hpb=9076789779c5a038ec17936130a556703c234fa8;p=vpp.git diff --git a/src/vppinfra/CMakeLists.txt b/src/vppinfra/CMakeLists.txt index 3128ad31162..3dc99cc9db6 100644 --- a/src/vppinfra/CMakeLists.txt +++ b/src/vppinfra/CMakeLists.txt @@ -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,13 +77,13 @@ set(VPPINFRA_SRCS random_isaac.c rbtree.c serialize.c - slist.c socket.c std-formats.c string.c time.c time_range.c timing_wheel.c + tw_timer_2t_2w_512sl.c tw_timer_16t_1w_2048sl.c tw_timer_16t_2w_512sl.c tw_timer_1t_3w_1024sl_ov.c @@ -86,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 @@ -104,14 +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_template.h - cuckoo_template.c dlist.h dlmalloc.h elf_clib.h @@ -119,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 @@ -141,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 @@ -157,7 +161,6 @@ set(VPPINFRA_HEADERS rbtree.h serialize.h sha2.h - slist.h smp.h socket.h sparse_vec.h @@ -165,7 +168,7 @@ set(VPPINFRA_HEADERS time.h time_range.h timing_wheel.h - tw_timer_2t_2w_512sl.c + 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 @@ -186,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 ) @@ -201,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 ) ############################################################################## @@ -215,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 @@ -235,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 @@ -252,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