Skip to content

Commit d96ad41

Browse files
committed
cleanup TH CMakeLists and THGeneral.h of unused flags
1 parent c42a2d4 commit d96ad41

File tree

2 files changed

+60
-91
lines changed

2 files changed

+60
-91
lines changed

CMakeLists.txt

Lines changed: 60 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ IF(NOT TH_INSTALL_BIN_SUBDIR
2020
SET(TH_INSTALL_CMAKE_SUBDIR "share/cmake/TH" CACHE PATH "TH install cmake subdirectory")
2121
ENDIF()
2222

23-
# flags
23+
#######################################################################
24+
##### flags section
25+
######################################################################
2426

2527
IF(MSVC)
2628
# respect the standard
@@ -128,6 +130,52 @@ IF(C_AVX2_FOUND)
128130
SET(CMAKE_C_FLAGS "${C_AVX2_FLAGS} -DUSE_AVX2 ${CMAKE_C_FLAGS}")
129131
ENDIF(C_AVX2_FOUND)
130132

133+
CHECK_C_SOURCE_RUNS("
134+
#include <stdatomic.h>
135+
int main()
136+
{
137+
int a;
138+
int oa;
139+
atomic_store(&a, 1);
140+
atomic_fetch_add(&a, 1);
141+
oa = atomic_load(&a);
142+
if(!atomic_compare_exchange_strong(&a, &oa, 3))
143+
return -1;
144+
return 0;
145+
}
146+
" HAS_C11_ATOMICS)
147+
148+
IF(NOT HAS_C11_ATOMICS)
149+
CHECK_C_SOURCE_RUNS("
150+
#include <intrin.h>
151+
int main()
152+
{
153+
long a;
154+
_InterlockedExchange(&a, 1);
155+
_InterlockedExchangeAdd(&a, 1);
156+
if(_InterlockedCompareExchange(&a, 3, 2) != 2)
157+
return -1;
158+
return 0;
159+
}
160+
" HAS_MSC_ATOMICS)
161+
162+
CHECK_C_SOURCE_RUNS("
163+
int main()
164+
{
165+
int a;
166+
__sync_lock_test_and_set(&a, 1);
167+
__sync_fetch_and_add(&a, 1);
168+
if(!__sync_bool_compare_and_swap(&a, 2, 3))
169+
return -1;
170+
return 0;
171+
}
172+
" HAS_GCC_ATOMICS)
173+
ENDIF()
174+
175+
#######################################################################
176+
##### sources section
177+
######################################################################
178+
131179
IF(C_AVX2_FOUND OR C_AVX_FOUND OR C_SSE4_2_FOUND OR C_SSE4_1_FOUND)
132180
SET(simd generic/simd/convolve.c)
133181
IF(MSVC)
@@ -178,6 +226,11 @@ SET(src
178226
THLogAdd.c THRandom.c THFile.c THDiskFile.c THMemoryFile.c THAtomic.c THVector.c)
179227

180228
SET(src ${src} ${hdr} ${simd})
229+
230+
#######################################################################
231+
##### build section
232+
######################################################################
233+
181234
ADD_LIBRARY(TH SHARED ${src})
182235
if(BUILD_STATIC)
183236
ADD_LIBRARY(TH_static STATIC ${src})
@@ -191,48 +244,6 @@ SET_TARGET_PROPERTIES(TH PROPERTIES
191244
VERSION ${TH_SO_VERSION}
192245
SOVERSION ${TH_SO_VERSION})
193246

194-
CHECK_C_SOURCE_RUNS("
195-
#include <stdatomic.h>
196-
int main()
197-
{
198-
int a;
199-
int oa;
200-
atomic_store(&a, 1);
201-
atomic_fetch_add(&a, 1);
202-
oa = atomic_load(&a);
203-
if(!atomic_compare_exchange_strong(&a, &oa, 3))
204-
return -1;
205-
return 0;
206-
}
207-
" HAS_C11_ATOMICS)
208-
209-
IF(NOT HAS_C11_ATOMICS)
210-
CHECK_C_SOURCE_RUNS("
211-
#include <intrin.h>
212-
int main()
213-
{
214-
long a;
215-
_InterlockedExchange(&a, 1);
216-
_InterlockedExchangeAdd(&a, 1);
217-
if(_InterlockedCompareExchange(&a, 3, 2) != 2)
218-
return -1;
219-
return 0;
220-
}
221-
" HAS_MSC_ATOMICS)
222-
223-
CHECK_C_SOURCE_RUNS("
224-
int main()
225-
{
226-
int a;
227-
__sync_lock_test_and_set(&a, 1);
228-
__sync_fetch_and_add(&a, 1);
229-
if(!__sync_bool_compare_and_swap(&a, 2, 3))
230-
return -1;
231-
return 0;
232-
}
233-
" HAS_GCC_ATOMICS)
234-
ENDIF()
235-
236247
IF(HAS_C11_ATOMICS)
237248
ADD_DEFINITIONS(-DUSE_C11_ATOMICS=1)
238249
MESSAGE(STATUS "Atomics: using C11 intrinsics")
@@ -264,10 +275,6 @@ IF(LAPACK_FOUND)
264275
TARGET_LINK_LIBRARIES(TH ${LAPACK_LIBRARIES})
265276
ENDIF(LAPACK_FOUND)
266277

267-
IF(BLAS_IS_ACCELERATE)
268-
MESSAGE(STATUS "BLAS FOUND IS ACCELERATE: Fix for sdot")
269-
ENDIF()
270-
271278
IF (UNIX AND NOT APPLE)
272279
INCLUDE(CheckLibraryExists)
273280
# https://github.com/libgit2/libgit2/issues/2128#issuecomment-35649830
@@ -284,6 +291,7 @@ IF(UNIX)
284291
IF(HAVE_MMAP)
285292
ADD_DEFINITIONS(-DHAVE_MMAP=1)
286293
ENDIF(HAVE_MMAP)
294+
# done for lseek: https://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html
287295
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
288296
CHECK_FUNCTION_EXISTS(shm_open HAVE_SHM_OPEN)
289297
IF(HAVE_SHM_OPEN)
@@ -299,47 +307,10 @@ IF(UNIX)
299307
ENDIF(HAVE_MALLOC_USABLE_SIZE)
300308
ENDIF(UNIX)
301309

302-
303-
304310
IF(NOT MSVC)
305311
TARGET_LINK_LIBRARIES(TH m)
306312
ENDIF(NOT MSVC)
307313

308-
SET(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
309-
FOREACH(KEYWORD "inline" "__inline__" "__inline")
310-
IF(NOT DEFINED C_INLINE)
311-
312-
SET(CMAKE_REQUIRED_FLAGS "-Dinline=${KEYWORD} ${CMAKE_C_FLAGS}")
313-
CHECK_C_SOURCE_RUNS("
314-
static inline int static_foo()
315-
{
316-
return 0;
317-
}
318-
319-
int main(int argc, char *argv[])
320-
{
321-
static_foo();
322-
return 0;
323-
}" C_HAS_${KEYWORD})
324-
325-
IF(C_HAS_${KEYWORD})
326-
SET(C_INLINE TRUE)
327-
# Right now i put it in THGeneral.h -- debatable
328-
# ADD_DEFINITIONS("-Dinline=${KEYWORD}")
329-
SET(TH_INLINE ${KEYWORD})
330-
MESSAGE(STATUS "C inline is supported (${KEYWORD})")
331-
ENDIF(C_HAS_${KEYWORD})
332-
ENDIF(NOT DEFINED C_INLINE)
333-
ENDFOREACH(KEYWORD)
334-
SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
335-
336-
IF(NOT DEFINED C_INLINE)
337-
MESSAGE(STATUS "C inline seems not supported")
338-
# Right now i put it in THGeneral.h -- debatable
339-
# ADD_DEFINITIONS("-Dinline=")
340-
SET(TH_INLINE "")
341-
ENDIF(NOT DEFINED C_INLINE)
342-
343314
# Is __thread supported?
344315
IF(NOT MSVC)
345316
CHECK_C_SOURCE_COMPILES("static __thread int x = 1; int main() { return x; }" C_HAS_THREAD)
@@ -355,6 +326,11 @@ ENDIF(NOT C_HAS_THREAD)
355326
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
356327
CONFIGURE_FILE(THGeneral.h.in "${CMAKE_CURRENT_BINARY_DIR}/THGeneral.h")
357328

329+
330+
#######################################################################
331+
##### install section
332+
######################################################################
333+
358334
INSTALL(TARGETS TH
359335
EXPORT TH-exports
360336
RUNTIME DESTINATION "${TH_INSTALL_BIN_SUBDIR}"

THGeneral.h.in

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
#cmakedefine USE_BLAS
1515
#cmakedefine USE_LAPACK
16-
#cmakedefine BLAS_IS_ACCELERATE
1716
#cmakedefine BLAS_F2C
1817

1918
#ifdef __cplusplus
@@ -32,12 +31,6 @@
3231
# define TH_API TH_EXTERNC
3332
#endif
3433

35-
#define TH_INLINE @TH_INLINE@
36-
37-
#ifndef __cplusplus
38-
#define inline @TH_INLINE@
39-
#endif
40-
4134
#ifndef M_PI
4235
# define M_PI 3.14159265358979323846
4336
#endif

0 commit comments

Comments
 (0)