diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 24b7f8741..6dc5fc56b 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -52,7 +52,7 @@ endif() set(TARGET common) -add_library(${TARGET} STATIC +add_library(${TARGET} arg.cpp arg.h base64.hpp @@ -76,6 +76,8 @@ add_library(${TARGET} STATIC if (BUILD_SHARED_LIBS) set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON) + target_compile_definitions(${TARGET} PRIVATE LLAMA_BUILD) + target_compile_definitions(${TARGET} PUBLIC LLAMA_SHARED) endif() set(LLAMA_COMMON_EXTRA_LIBS build_info) diff --git a/common/common.h b/common/common.h index 571260372..7f9556e60 100644 --- a/common/common.h +++ b/common/common.h @@ -41,6 +41,10 @@ extern const char * LLAMA_BUILD_TARGET; struct common_control_vector_load_info; +#ifdef __cplusplus +extern "C" { +#endif + // // CPU utils // @@ -54,8 +58,12 @@ struct cpu_params { uint32_t poll = 50; // Polling (busywait) level (0 - no polling, 100 - mostly polling) }; -int32_t cpu_get_num_physical_cores(); -int32_t cpu_get_num_math(); +LLAMA_API int32_t cpu_get_num_physical_cores(); +LLAMA_API int32_t cpu_get_num_math(); + +#ifdef __cplusplus +} +#endif // // Common params