Skip to content

Commit 9bd63ce

Browse files
authored
Merge pull request #104 from igchor/utils_lib
Create static lib for utils
2 parents b5a0ed9 + bfcc0ea commit 9bd63ce

14 files changed

+58
-31
lines changed

src/CMakeLists.txt

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
66

7+
add_subdirectory(utils)
8+
79
set(UMF_SOURCES
810
memory_pool.c
911
memory_provider.c
@@ -15,34 +17,23 @@ set(UMF_SOURCES
1517

1618
set(UMF_SOURCES_LINUX
1719
provider/provider_os_memory_linux.c
18-
utils/utils_posix_concurrency.c
19-
utils/utils_posix_math.c
2020
)
2121

2222
set(UMF_SOURCES_WINDOWS
2323
provider/provider_os_memory_windows.c
2424
provider/provider_tracking_windows.cpp
25-
utils/utils_windows_concurrency.c
26-
utils/utils_windows_math.c
27-
)
28-
29-
set(UMF_SOURCES_MACOSX
30-
utils/utils_posix_concurrency.c
31-
utils/utils_posix_math.c
3225
)
3326

34-
if(LINUX)
35-
set(UMF_LIBS numa)
36-
else()
37-
set(UMF_LIBS)
38-
endif()
39-
4027
if(LINUX)
4128
set(UMF_SOURCES ${UMF_SOURCES} ${UMF_SOURCES_LINUX})
4229
elseif(WINDOWS)
4330
set(UMF_SOURCES ${UMF_SOURCES} ${UMF_SOURCES_WINDOWS})
44-
elseif(MACOSX)
45-
set(UMF_SOURCES ${UMF_SOURCES} ${UMF_SOURCES_MACOSX})
31+
endif()
32+
33+
if(LINUX)
34+
set(UMF_LIBS umf_utils numa)
35+
else()
36+
set(UMF_LIBS umf_utils)
4637
endif()
4738

4839
if(UMF_BUILD_SHARED_LIBRARY)
@@ -70,10 +61,8 @@ add_library(${PROJECT_NAME}::umf ALIAS umf)
7061

7162
target_include_directories(umf PUBLIC
7263
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
73-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/common>
7464
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/critnib>
7565
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/provider>
76-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils>
7766
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
7867
)
7968

File renamed without changes.

src/memory_provider_get_last_failed.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*
88
*/
99

10-
#include "common.h"
1110
#include "memory_provider_internal.h"
11+
#include "utils_common.h"
1212

1313
static __TLS umf_memory_provider_handle_t lastFailedProvider = NULL;
1414

src/pool/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
if(UMF_BUILD_LIBUMF_POOL_DISJOINT)
77
add_umf_library(NAME disjoint_pool
88
TYPE STATIC
9-
SRCS pool_disjoint.cpp)
9+
SRCS pool_disjoint.cpp
10+
LIBS umf_utils)
1011

1112
add_library(${PROJECT_NAME}::disjoint_pool ALIAS disjoint_pool)
1213

@@ -32,7 +33,7 @@ if(UMF_BUILD_LIBUMF_POOL_JEMALLOC)
3233
add_umf_library(NAME jemalloc_pool
3334
TYPE STATIC
3435
SRCS pool_jemalloc.c
35-
LIBS jemalloc)
36+
LIBS jemalloc umf_utils)
3637
add_library(${PROJECT_NAME}::jemalloc_pool ALIAS jemalloc_pool)
3738
install(TARGETS jemalloc_pool
3839
EXPORT ${PROJECT_NAME}-targets
@@ -48,7 +49,7 @@ if(UMF_BUILD_LIBUMF_POOL_SCALABLE)
4849
add_umf_library(NAME scalable_pool
4950
TYPE STATIC
5051
SRCS pool_scalable.c
51-
LIBS dl)
52+
LIBS dl umf_utils)
5253
add_library(${PROJECT_NAME}::scalable_pool ALIAS scalable_pool)
5354
install(TARGETS scalable_pool
5455
EXPORT ${PROJECT_NAME}-targets

src/pool/pool_disjoint.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
// TODO: replace with logger?
2323
#include <iostream>
2424

25+
#include "../cpp_helpers.hpp"
2526
#include "pool_disjoint.h"
2627
#include "umf.h"
27-
#include "umf_helpers.hpp"
2828
#include "utils_math.h"
2929

3030
typedef struct umf_disjoint_pool_shared_limits_t {

src/pool/pool_jemalloc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
#include <jemalloc/jemalloc.h>
1515

16-
#include "common.h"
16+
#include "utils_common.h"
1717
#include <umf/memory_pool.h>
1818
#include <umf/memory_pool_ops.h>
1919
#include <umf/pools/pool_jemalloc.h>

src/pool/pool_scalable.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
#include <tbb/scalable_allocator.h>
2525

26-
#include "common.h"
26+
#include "utils_common.h"
2727

2828
typedef void *(*raw_alloc_tbb_type)(intptr_t, size_t *);
2929
typedef void (*raw_free_tbb_type)(intptr_t, void *, size_t);

src/provider/provider_os_memory_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#ifndef UMF_OS_MEMORY_PROVIDER_INTERNAL_H
99
#define UMF_OS_MEMORY_PROVIDER_INTERNAL_H
1010

11-
#include "common.h"
11+
#include "utils_common.h"
1212
#include <umf/providers/provider_os_memory.h>
1313

1414
#ifdef __cplusplus

src/utils/CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright (C) 2023 Intel Corporation
2+
# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
3+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4+
5+
include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
6+
7+
set(UMF_UTILS_SOURCES_POSIX
8+
utils_posix_concurrency.c
9+
utils_posix_math.c
10+
)
11+
12+
set(UMF_UTILS_SOURCES_WINDOWS
13+
utils_windows_concurrency.c
14+
utils_windows_math.c
15+
)
16+
17+
if(LINUX OR MACOSX)
18+
set(UMF_UTILS_SOURCES ${UMF_UTILS_SOURCES_POSIX})
19+
elseif(WINDOWS)
20+
set(UMF_UTILS_SOURCES ${UMF_UTILS_SOURCES_WINDOWS})
21+
endif()
22+
23+
add_umf_library(NAME umf_utils
24+
TYPE STATIC
25+
SRCS ${UMF_UTILS_SOURCES})
26+
27+
add_library(${PROJECT_NAME}::utils ALIAS umf_utils)
28+
29+
target_include_directories(umf_utils PUBLIC
30+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
31+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
32+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
33+
)
34+
35+
install(TARGETS umf_utils
36+
EXPORT ${PROJECT_NAME}-targets)
File renamed without changes.

test/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,5 +91,6 @@ endif()
9191

9292
if(LINUX) # OS-specific functions are implemented only for Linux now
9393
add_umf_test(NAME provider_os_memory
94-
SRCS provider_os_memory.cpp)
94+
SRCS provider_os_memory.cpp
95+
LIBS umf_utils)
9596
endif()

test/common/pool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
#include <stdlib.h>
2323

2424
#include "base.hpp"
25+
#include "cpp_helpers.hpp"
2526
#include "provider.hpp"
26-
#include "umf_helpers.hpp"
2727

2828
namespace umf_test {
2929

test/common/provider.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <gtest/gtest.h>
1717

1818
#include "base.hpp"
19-
#include "umf_helpers.hpp"
19+
#include "cpp_helpers.hpp"
2020

2121
namespace umf_test {
2222

test/provider_os_memory.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
#include "base.hpp"
66

7+
#include "cpp_helpers.hpp"
78
#include "provider_os_memory_internal.h"
89
#include "umf/providers/provider_os_memory.h"
9-
#include "umf_helpers.hpp"
1010
#include <umf/memory_provider.h>
1111

1212
using umf_test::test;

0 commit comments

Comments
 (0)