From da0c94c76f1494b50274e9e41227a3f15e4765ba Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 3 Dec 2020 21:25:57 +0100 Subject: [PATCH 1/3] Avoid linking both GNU libgomp and LLVM libomp in clang/gfortran builds --- f_check | 3 +++ 1 file changed, 3 insertions(+) diff --git a/f_check b/f_check index 9ef7b8086..cb869b3bb 100644 --- a/f_check +++ b/f_check @@ -330,6 +330,9 @@ if ($link ne "") { $flags =~ s/\@/\,/g; $linker_L .= "-Wl,". $flags . " " ; } + if ($flags =~ /-lgomp/ && $CC == /clang/) { + $flags = "-lomp"; + } if ( ($flags =~ /^\-l/) From 74b585058145ee362ab57fbcbbc5c0d19332b432 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 3 Dec 2020 21:28:10 +0100 Subject: [PATCH 2/3] Add libomp to the LAPACK(-test) dependencies in clang/gfortran builds --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index a9af62a22..54dd3be41 100644 --- a/Makefile +++ b/Makefile @@ -268,7 +268,11 @@ ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc +ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGGFORTRAN1) + -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc +else -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +endif -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc From a1eecccda28cf7d00a5ffbbcd5afb4ca6ef6c6a1 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 3 Dec 2020 23:43:17 +0100 Subject: [PATCH 3/3] Update f_check --- f_check | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/f_check b/f_check index cb869b3bb..42241ae10 100644 --- a/f_check +++ b/f_check @@ -330,7 +330,7 @@ if ($link ne "") { $flags =~ s/\@/\,/g; $linker_L .= "-Wl,". $flags . " " ; } - if ($flags =~ /-lgomp/ && $CC == /clang/) { + if ($flags =~ /-lgomp/ && $CC =~ /clang/) { $flags = "-lomp"; }