From 2caa2210bbfb5b69c3758b8158bb0bad4a0f5e58 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 25 Aug 2018 19:37:11 +0200 Subject: [PATCH] Add USE_TLS option to choose between old and new implementation of memory.c --- Makefile.rule | 10 ++++++++-- Makefile.system | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Makefile.rule b/Makefile.rule index 649aabe70..4b815d7a8 100644 --- a/Makefile.rule +++ b/Makefile.rule @@ -3,7 +3,7 @@ # # This library's version -VERSION = 0.3.1.dev +VERSION = 0.3.3.dev # If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a # and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library @@ -107,7 +107,13 @@ BUILD_LAPACK_DEPRECATED = 1 # BUILD_RELAPACK = 1 # If you want to use legacy threaded Level 3 implementation. -# USE_SIMPLE_THREADED_LEVEL3 = 1 +USE_SIMPLE_THREADED_LEVEL3 = 1 + +# If you want to use the new, still somewhat experimental code that uses +# thread-local storage instead of a central memory buffer in memory.c +# Note that if your system uses GLIBC, it needs to have at least glibc 2.21 +# for this to work. +USE_TLS = 1 # If you want to drive whole 64bit region by BLAS. Not all Fortran # compiler supports this. It's safe to keep comment it out if you diff --git a/Makefile.system b/Makefile.system index 4712d9525..2123af204 100644 --- a/Makefile.system +++ b/Makefile.system @@ -1018,6 +1018,10 @@ ifdef USE_SIMPLE_THREADED_LEVEL3 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3 endif +ifdef USE_TLS +CCOMMON_OPT += -DUSE_TLS +endif + ifndef SYMBOLPREFIX SYMBOLPREFIX = endif