@@ -110,8 +110,13 @@ 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
113117 provider/provider_coarse.c
114118 provider/provider_tracking.c
119+ provider/provider_os_memory.c
115120 critnib/critnib.c
116121 ravl/ravl.c
117122 pool/pool_proxy.c
@@ -128,15 +133,8 @@ set(UMF_SOURCES_MACOSX libumf_linux.c)
128133set (UMF_SOURCES_WINDOWS libumf_windows.c)
129134
130135set (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)
136+ provider/provider_devdax_memory.c provider/provider_file_memory.c
137+ memtargets/memtarget_numa.c memspaces/memspace_numa.c)
140138
141139if (NOT UMF_DISABLE_HWLOC)
142140 set (UMF_SOURCES_LINUX ${UMF_SOURCES_LINUX}
@@ -145,32 +143,26 @@ if(NOT UMF_DISABLE_HWLOC)
145143 set (UMF_SOURCES_MACOSX ${UMF_SOURCES_MACOSX}
146144 ${UMF_SOURCES_COMMON_LINUX_MACOSX} )
147145
148- set (UMF_SOURCES_WINDOWS ${UMF_SOURCES_WINDOWS}
149- provider/provider_os_memory.c)
150-
151146 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 ()
160147endif ()
161148
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} " )
149+ # Add symbols for unsupported functions
150+ if (NOT UMF_BUILD_CUDA_PROVIDER)
151+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
152+ "UMF_NO_CUDA_PROVIDER=1" )
153+ endif ()
154+ if (NOT UMF_BUILD_LEVEL_ZERO_PROVIDER)
155+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
156+ "UMF_NO_LEVEL_ZERO_PROVIDER=1" )
157+ endif ()
158+ if (UMF_DISABLE_HWLOC OR WINDOWS)
159+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
160+ "UMF_NO_DEVDAX_PROVIDER=1" )
161+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
162+ "UMF_NO_FILE_PROVIDER=1" )
166163endif ()
167164
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)
165+ set (UMF_SOURCES ${UMF_SOURCES} provider/provider_unsupported.c)
174166
175167set (UMF_PRIVATE_LIBRARY_DIRS ${UMF_PRIVATE_LIBRARY_DIRS}
176168 ${LIBHWLOC_LIBRARY_DIRS} )
@@ -198,8 +190,8 @@ if(UMF_BUILD_SHARED_LIBRARY)
198190 TYPE SHARED
199191 SRCS ${UMF_SOURCES}
200192 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)
193+ LINUX_MAP_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.map
194+ WINDOWS_DEF_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.def)
203195 set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
204196 "UMF_SHARED_LIBRARY" )
205197 set_target_properties (
@@ -217,7 +209,7 @@ endif()
217209
218210if (UMF_DISABLE_HWLOC)
219211 set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
220- UMF_NO_HWLOC=1)
212+ " UMF_NO_HWLOC=1" )
221213endif ()
222214
223215if (UMF_LINK_HWLOC_STATICALLY)
0 commit comments