@@ -110,8 +110,14 @@ set(UMF_SOURCES
110110 memtarget.c
111111 mempolicy.c
112112 memspace.c
113+ memspaces/memspace_host_all.c
114+ memspaces/memspace_highest_capacity.c
115+ memspaces/memspace_highest_bandwidth.c
116+ memspaces/memspace_lowest_latency.c
117+ memspaces/memspace_numa.c
113118 provider/provider_coarse.c
114119 provider/provider_tracking.c
120+ provider/provider_os_memory.c
115121 critnib/critnib.c
116122 ravl/ravl.c
117123 pool/pool_proxy.c
@@ -128,15 +134,8 @@ set(UMF_SOURCES_MACOSX libumf_linux.c)
128134set (UMF_SOURCES_WINDOWS libumf_windows.c)
129135
130136set (UMF_SOURCES_COMMON_LINUX_MACOSX
131- provider/provider_devdax_memory.c
132- provider/provider_file_memory.c
133- provider/provider_os_memory.c
134- memtargets/memtarget_numa.c
135- memspaces/memspace_numa.c
136- memspaces/memspace_host_all.c
137- memspaces/memspace_highest_capacity.c
138- memspaces/memspace_highest_bandwidth.c
139- memspaces/memspace_lowest_latency.c)
137+ provider/provider_devdax_memory.c provider/provider_file_memory.c
138+ memtargets/memtarget_numa.c)
140139
141140if (NOT UMF_DISABLE_HWLOC)
142141 set (UMF_SOURCES_LINUX ${UMF_SOURCES_LINUX}
@@ -145,32 +144,26 @@ if(NOT UMF_DISABLE_HWLOC)
145144 set (UMF_SOURCES_MACOSX ${UMF_SOURCES_MACOSX}
146145 ${UMF_SOURCES_COMMON_LINUX_MACOSX} )
147146
148- set (UMF_SOURCES_WINDOWS ${UMF_SOURCES_WINDOWS}
149- provider/provider_os_memory.c)
150-
151147 set (UMF_LIBS ${UMF_LIBS} ${LIBHWLOC_LIBRARIES} )
152-
153- if (NOT WINDOWS)
154- add_optional_symbol(umfMemspaceCreateFromNumaArray)
155- add_optional_symbol(umfMemspaceHighestBandwidthGet)
156- add_optional_symbol(umfMemspaceHighestCapacityGet)
157- add_optional_symbol(umfMemspaceHostAllGet)
158- add_optional_symbol(umfMemspaceLowestLatencyGet)
159- endif ()
160148endif ()
161149
162- if (WINDOWS)
163- message (STATUS "UMF_OPTIONAL_SYMBOLS: ${UMF_OPTIONAL_SYMBOLS_WINDOWS} " )
164- else ()
165- message (STATUS "UMF_OPTIONAL_SYMBOLS: ${UMF_OPTIONAL_SYMBOLS_LINUX} " )
150+ # Add symbols for unsupported functions
151+ if (NOT UMF_BUILD_CUDA_PROVIDER)
152+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
153+ "UMF_NO_CUDA_PROVIDER=1" )
154+ endif ()
155+ if (NOT UMF_BUILD_LEVEL_ZERO_PROVIDER)
156+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
157+ "UMF_NO_LEVEL_ZERO_PROVIDER=1" )
158+ endif ()
159+ if (UMF_DISABLE_HWLOC OR WINDOWS)
160+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
161+ "UMF_NO_DEVDAX_PROVIDER=1" )
162+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
163+ "UMF_NO_FILE_PROVIDER=1" )
166164endif ()
167165
168- # Configure map/def files with optional symbols
169- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /libumf.def.in"
170- "${CMAKE_CURRENT_BINARY_DIR} /libumf.def" @ONLY)
171-
172- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /libumf.map.in"
173- "${CMAKE_CURRENT_BINARY_DIR} /libumf.map" @ONLY)
166+ set (UMF_SOURCES ${UMF_SOURCES} provider/provider_unsupported.c)
174167
175168set (UMF_PRIVATE_LIBRARY_DIRS ${UMF_PRIVATE_LIBRARY_DIRS}
176169 ${LIBHWLOC_LIBRARY_DIRS} )
@@ -198,8 +191,8 @@ if(UMF_BUILD_SHARED_LIBRARY)
198191 TYPE SHARED
199192 SRCS ${UMF_SOURCES}
200193 LIBS ${UMF_LIBS} ${HWLOC_LIB}
201- LINUX_MAP_FILE ${CMAKE_CURRENT_BINARY_DIR } /libumf.map
202- WINDOWS_DEF_FILE ${CMAKE_CURRENT_BINARY_DIR } /libumf.def)
194+ LINUX_MAP_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.map
195+ WINDOWS_DEF_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.def)
203196 set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
204197 "UMF_SHARED_LIBRARY" )
205198 set_target_properties (
@@ -217,7 +210,7 @@ endif()
217210
218211if (UMF_DISABLE_HWLOC)
219212 set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
220- UMF_NO_HWLOC=1)
213+ " UMF_NO_HWLOC=1" )
221214endif ()
222215
223216if (UMF_LINK_HWLOC_STATICALLY)
0 commit comments