From edcf4c135f75e1de9fddc536adaa7b8578addc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= Date: Mon, 4 Aug 2025 19:11:43 +0000 Subject: [PATCH] Remove fortran dependency for eigenblas. --- blas/CMakeLists.txt | 19 +--------------- blas/fortran/complexdots.f | 43 ------------------------------------- blas/testing/CMakeLists.txt | 12 +++++++++++ 3 files changed, 13 insertions(+), 61 deletions(-) delete mode 100644 blas/fortran/complexdots.f diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt index 4ae060302..4f189925a 100644 --- a/blas/CMakeLists.txt +++ b/blas/CMakeLists.txt @@ -2,14 +2,6 @@ project(EigenBlas CXX) if(EIGEN_BUILD_BLAS) -include(CheckLanguage) -check_language(Fortran) -if(CMAKE_Fortran_COMPILER) - enable_language(Fortran) - set(EIGEN_Fortran_COMPILER_WORKS ON) -else() - set(EIGEN_Fortran_COMPILER_WORKS OFF) -endif() add_custom_target(blas) @@ -18,15 +10,9 @@ set(EigenBlas_SRCS single.cpp double.cpp complex_single.cpp complex_double.cpp f2c/lsame.c f2c/dspmv.c f2c/ssbmv.c f2c/chbmv.c f2c/sspmv.c f2c/zhbmv.c f2c/chpmv.c f2c/dsbmv.c f2c/zhpmv.c f2c/dtbmv.c f2c/stbmv.c f2c/ctbmv.c - f2c/ztbmv.c + f2c/ztbmv.c f2c/complexdots.c ) -if (EIGEN_Fortran_COMPILER_WORKS) - set(EigenBlas_SRCS ${EigenBlas_SRCS} fortran/complexdots.f) -else() - set(EigenBlas_SRCS ${EigenBlas_SRCS} f2c/complexdots.c) -endif() - set(EIGEN_BLAS_TARGETS "") add_library(eigen_blas_static ${EigenBlas_SRCS}) @@ -49,8 +35,6 @@ foreach(target IN LISTS EIGEN_BLAS_TARGETS) ARCHIVE DESTINATION lib) endforeach() -if(EIGEN_Fortran_COMPILER_WORKS) - if(EIGEN_BUILD_TESTING) if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) add_subdirectory(testing) # can't do EXCLUDE_FROM_ALL here, breaks CTest @@ -60,4 +44,3 @@ if(EIGEN_BUILD_TESTING) endif() endif() -endif() diff --git a/blas/fortran/complexdots.f b/blas/fortran/complexdots.f deleted file mode 100644 index a7da51d16..000000000 --- a/blas/fortran/complexdots.f +++ /dev/null @@ -1,43 +0,0 @@ - COMPLEX FUNCTION CDOTC(N,CX,INCX,CY,INCY) - INTEGER INCX,INCY,N - COMPLEX CX(*),CY(*) - COMPLEX RES - EXTERNAL CDOTCW - - CALL CDOTCW(N,CX,INCX,CY,INCY,RES) - CDOTC = RES - RETURN - END - - COMPLEX FUNCTION CDOTU(N,CX,INCX,CY,INCY) - INTEGER INCX,INCY,N - COMPLEX CX(*),CY(*) - COMPLEX RES - EXTERNAL CDOTUW - - CALL CDOTUW(N,CX,INCX,CY,INCY,RES) - CDOTU = RES - RETURN - END - - DOUBLE COMPLEX FUNCTION ZDOTC(N,CX,INCX,CY,INCY) - INTEGER INCX,INCY,N - DOUBLE COMPLEX CX(*),CY(*) - DOUBLE COMPLEX RES - EXTERNAL ZDOTCW - - CALL ZDOTCW(N,CX,INCX,CY,INCY,RES) - ZDOTC = RES - RETURN - END - - DOUBLE COMPLEX FUNCTION ZDOTU(N,CX,INCX,CY,INCY) - INTEGER INCX,INCY,N - DOUBLE COMPLEX CX(*),CY(*) - DOUBLE COMPLEX RES - EXTERNAL ZDOTUW - - CALL ZDOTUW(N,CX,INCX,CY,INCY,RES) - ZDOTU = RES - RETURN - END diff --git a/blas/testing/CMakeLists.txt b/blas/testing/CMakeLists.txt index 52c23acda..f0ee6a487 100644 --- a/blas/testing/CMakeLists.txt +++ b/blas/testing/CMakeLists.txt @@ -1,3 +1,13 @@ +include(CheckLanguage) +check_language(Fortran) +if(CMAKE_Fortran_COMPILER) + enable_language(Fortran) + set(EIGEN_Fortran_COMPILER_WORKS ON) +else() + set(EIGEN_Fortran_COMPILER_WORKS OFF) +endif() + +if (EIGEN_Fortran_COMPILER_WORKS) macro(ei_add_blas_test testname) @@ -38,3 +48,5 @@ ei_add_blas_test(zblat3) # add_custom_target(level1) # add_dependencies(level1 sblat1) +endif() +