commit
ebb04e3265
|
@ -5,6 +5,7 @@
|
||||||
*.def
|
*.def
|
||||||
*.o
|
*.o
|
||||||
*.out
|
*.out
|
||||||
|
*.tmp
|
||||||
lapack-3.1.1
|
lapack-3.1.1
|
||||||
lapack-3.1.1.tgz
|
lapack-3.1.1.tgz
|
||||||
lapack-3.4.1
|
lapack-3.4.1
|
||||||
|
|
|
@ -231,43 +231,33 @@ install(TARGETS ${OpenBLAS_LIBNAME}
|
||||||
|
|
||||||
# Install include files
|
# Install include files
|
||||||
set (GENCONFIG_BIN ${CMAKE_BINARY_DIR}/gen_config_h${CMAKE_EXECUTABLE_SUFFIX})
|
set (GENCONFIG_BIN ${CMAKE_BINARY_DIR}/gen_config_h${CMAKE_EXECUTABLE_SUFFIX})
|
||||||
ADD_CUSTOM_COMMAND(
|
|
||||||
OUTPUT ${CMAKE_BINARY_DIR}/openblas_config.h
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/config.h
|
|
||||||
COMMAND ${GENCONFIG_BIN} ${CMAKE_CURRENT_SOURCE_DIR}/config.h ${CMAKE_CURRENT_SOURCE_DIR}/openblas_config_template.h > ${CMAKE_BINARY_DIR}/openblas_config.h
|
|
||||||
)
|
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(genconfig
|
execute_process(COMMAND ${GENCONFIG_BIN}
|
||||||
ALL
|
${CMAKE_CURRENT_SOURCE_DIR}/config.h
|
||||||
DEPENDS openblas_config.h
|
${CMAKE_CURRENT_SOURCE_DIR}/openblas_config_template.h
|
||||||
)
|
OUTPUT_VARIABLE OPENBLAS_CONFIG_H_CONTENTS)
|
||||||
add_dependencies(genconfig ${OpenBLAS_LIBNAME})
|
|
||||||
|
file(WRITE ${CMAKE_BINARY_DIR}/openblas_config.tmp "${OPENBLAS_CONFIG_H_CONTENTS}")
|
||||||
|
configure_file(${CMAKE_BINARY_DIR}/openblas_config.tmp ${CMAKE_BINARY_DIR}/openblas_config.h COPYONLY)
|
||||||
|
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/openblas_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install (FILES ${CMAKE_BINARY_DIR}/openblas_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
message(STATUS "Generating f77blas.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
message(STATUS "Generating f77blas.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(genf77blas
|
file(WRITE ${CMAKE_BINARY_DIR}/f77blas.h "")
|
||||||
ALL
|
file(APPEND ${CMAKE_BINARY_DIR}/f77blas.h "#ifndef OPENBLAS_F77BLAS_H\n#define OPENBLAS_F77BLAS_H\n#include \"openblas_config.h\"\n")
|
||||||
COMMAND ${AWK} 'BEGIN{print \"\#ifndef OPENBLAS_F77BLAS_H\" \; print \"\#define OPENBLAS_F77BLAS_H\" \; print \"\#include \\"openblas_config.h\\" \"}; NF {print}; END{print \"\#endif\"}' ${CMAKE_CURRENT_SOURCE_DIR}/common_interface.h > ${CMAKE_BINARY_DIR}/f77blas.h
|
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/common_interface.h COMMON_INTERFACE_H_CONTENTS)
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/config.h
|
file(APPEND ${CMAKE_BINARY_DIR}/f77blas.h "${COMMON_INTERFACE_H_CONTENTS}")
|
||||||
)
|
file(APPEND ${CMAKE_BINARY_DIR}/f77blas.h "#endif")
|
||||||
add_dependencies(genf77blas ${OpenBLAS_LIBNAME})
|
|
||||||
|
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/f77blas.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install (FILES ${CMAKE_BINARY_DIR}/f77blas.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
if(NOT NO_CBLAS)
|
if(NOT NO_CBLAS)
|
||||||
message (STATUS "Generating cblas.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
message (STATUS "Generating cblas.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(gencblas
|
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/cblas.h CBLAS_H_CONTENTS)
|
||||||
ALL
|
string(REPLACE "common" "openblas_config" CBLAS_H_CONTENTS_NEW "${CBLAS_H_CONTENTS}")
|
||||||
COMMAND ${SED} 's/common/openblas_config/g' ${CMAKE_CURRENT_SOURCE_DIR}/cblas.h > "${CMAKE_BINARY_DIR}/cblas.tmp"
|
file(WRITE ${CMAKE_BINARY_DIR}/cblas.tmp "${CBLAS_H_CONTENTS_NEW}")
|
||||||
COMMAND cp "${CMAKE_BINARY_DIR}/cblas.tmp" "${CMAKE_BINARY_DIR}/cblas.h"
|
install (FILES ${CMAKE_BINARY_DIR}/cblas.tmp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} RENAME cblas.h)
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/cblas.h
|
|
||||||
)
|
|
||||||
add_dependencies(gencblas ${OpenBLAS_LIBNAME})
|
|
||||||
|
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/cblas.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT NO_LAPACKE)
|
if(NOT NO_LAPACKE)
|
||||||
|
@ -277,7 +267,7 @@ if(NOT NO_LAPACKE)
|
||||||
install (FILES ${INCLUDE_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install (FILES ${INCLUDE_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(genlapacke
|
ADD_CUSTOM_TARGET(genlapacke
|
||||||
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h.in "${CMAKE_BINARY_DIR}/lapacke_mangling.h"
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h.in "${CMAKE_BINARY_DIR}/lapacke_mangling.h"
|
||||||
)
|
)
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install (FILES ${CMAKE_BINARY_DIR}/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -84,7 +84,7 @@ endif ()
|
||||||
|
|
||||||
string(TOUPPER ${ARCH} UC_ARCH)
|
string(TOUPPER ${ARCH} UC_ARCH)
|
||||||
|
|
||||||
file(WRITE ${TARGET_CONF}
|
file(WRITE ${TARGET_CONF_TEMP}
|
||||||
"#define OS_${HOST_OS}\t1\n"
|
"#define OS_${HOST_OS}\t1\n"
|
||||||
"#define ARCH_${UC_ARCH}\t1\n"
|
"#define ARCH_${UC_ARCH}\t1\n"
|
||||||
"#define C_${COMPILER_ID}\t1\n"
|
"#define C_${COMPILER_ID}\t1\n"
|
||||||
|
@ -92,7 +92,7 @@ file(WRITE ${TARGET_CONF}
|
||||||
"#define FUNDERSCORE\t${FU}\n")
|
"#define FUNDERSCORE\t${FU}\n")
|
||||||
|
|
||||||
if (${HOST_OS} STREQUAL "WINDOWSSTORE")
|
if (${HOST_OS} STREQUAL "WINDOWSSTORE")
|
||||||
file(APPEND ${TARGET_CONF}
|
file(APPEND ${TARGET_CONF_TEMP}
|
||||||
"#define OS_WINNT\t1\n")
|
"#define OS_WINNT\t1\n")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ if (NOT ONLY_CBLAS)
|
||||||
# TODO: set FEXTRALIB flags a la f_check?
|
# TODO: set FEXTRALIB flags a la f_check?
|
||||||
|
|
||||||
set(BU "_")
|
set(BU "_")
|
||||||
file(APPEND ${TARGET_CONF}
|
file(APPEND ${TARGET_CONF_TEMP}
|
||||||
"#define BUNDERSCORE _\n"
|
"#define BUNDERSCORE _\n"
|
||||||
"#define NEEDBUNDERSCORE 1\n"
|
"#define NEEDBUNDERSCORE 1\n"
|
||||||
"#define NEED2UNDERSCORES 0\n")
|
"#define NEED2UNDERSCORES 0\n")
|
||||||
|
@ -56,7 +56,7 @@ else ()
|
||||||
set(NO_FBLAS 1)
|
set(NO_FBLAS 1)
|
||||||
#set(F_COMPILER GFORTRAN) # CMake handles the fortran compiler
|
#set(F_COMPILER GFORTRAN) # CMake handles the fortran compiler
|
||||||
set(BU "_")
|
set(BU "_")
|
||||||
file(APPEND ${TARGET_CONF}
|
file(APPEND ${TARGET_CONF_TEMP}
|
||||||
"#define BUNDERSCORE _\n"
|
"#define BUNDERSCORE _\n"
|
||||||
"#define NEEDBUNDERSCORE 1\n")
|
"#define NEEDBUNDERSCORE 1\n")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -2391,6 +2391,6 @@ foreach (Utils_FILE ${Utils_SRC})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
set(lapacke_include_dir "${NETLIB_LAPACK_DIR}/LAPACKE/include")
|
set(lapacke_include_dir "${NETLIB_LAPACK_DIR}/LAPACKE/include")
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${lapacke_include_dir}/lapacke_mangling_with_flags.h.in" "${lapacke_include_dir}/lapacke_mangling.h")
|
configure_file("${lapacke_include_dir}/lapacke_mangling_with_flags.h.in" "${lapacke_include_dir}/lapacke_mangling.h" COPYONLY)
|
||||||
include_directories(${lapacke_include_dir})
|
include_directories(${lapacke_include_dir})
|
||||||
set_source_files_properties(${LAPACKE_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}")
|
set_source_files_properties(${LAPACKE_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}")
|
||||||
|
|
|
@ -51,6 +51,7 @@ else()
|
||||||
set(TARGET_CONF "config.h")
|
set(TARGET_CONF "config.h")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(TARGET_CONF_TEMP "${PROJECT_BINARY_DIR}/${TARGET_CONF}.tmp")
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/c_check.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/c_check.cmake")
|
||||||
|
|
||||||
if (NOT NOFORTRAN)
|
if (NOT NOFORTRAN)
|
||||||
|
@ -80,10 +81,11 @@ endif ()
|
||||||
set(GETARCH_DIR "${PROJECT_BINARY_DIR}/getarch_build")
|
set(GETARCH_DIR "${PROJECT_BINARY_DIR}/getarch_build")
|
||||||
set(GETARCH_BIN "getarch${CMAKE_EXECUTABLE_SUFFIX}")
|
set(GETARCH_BIN "getarch${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
file(MAKE_DIRECTORY ${GETARCH_DIR})
|
file(MAKE_DIRECTORY ${GETARCH_DIR})
|
||||||
|
configure_file(${TARGET_CONF_TEMP} ${GETARCH_DIR}/${TARGET_CONF} COPYONLY)
|
||||||
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||||
try_compile(GETARCH_RESULT ${GETARCH_DIR}
|
try_compile(GETARCH_RESULT ${GETARCH_DIR}
|
||||||
SOURCES ${GETARCH_SRC}
|
SOURCES ${GETARCH_SRC}
|
||||||
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I${PROJECT_SOURCE_DIR}
|
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I${GETARCH_DIR} -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR}
|
||||||
OUTPUT_VARIABLE GETARCH_LOG
|
OUTPUT_VARIABLE GETARCH_LOG
|
||||||
COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN}
|
COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN}
|
||||||
)
|
)
|
||||||
|
@ -101,16 +103,17 @@ execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH_BIN} 1 OUTPUT_VARIABLE G
|
||||||
message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}")
|
message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}")
|
||||||
|
|
||||||
# append config data from getarch to the TARGET file and read in CMake vars
|
# append config data from getarch to the TARGET file and read in CMake vars
|
||||||
file(APPEND ${TARGET_CONF} ${GETARCH_CONF_OUT})
|
file(APPEND ${TARGET_CONF_TEMP} ${GETARCH_CONF_OUT})
|
||||||
ParseGetArchVars(${GETARCH_MAKE_OUT})
|
ParseGetArchVars(${GETARCH_MAKE_OUT})
|
||||||
|
|
||||||
set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build")
|
set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build")
|
||||||
set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}")
|
set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
file(MAKE_DIRECTORY ${GETARCH2_DIR})
|
file(MAKE_DIRECTORY ${GETARCH2_DIR})
|
||||||
|
configure_file(${TARGET_CONF_TEMP} ${GETARCH2_DIR}/${TARGET_CONF} COPYONLY)
|
||||||
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||||
try_compile(GETARCH2_RESULT ${GETARCH2_DIR}
|
try_compile(GETARCH2_RESULT ${GETARCH2_DIR}
|
||||||
SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c
|
SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c
|
||||||
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I${PROJECT_SOURCE_DIR}
|
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I${GETARCH2_DIR} -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR}
|
||||||
OUTPUT_VARIABLE GETARCH2_LOG
|
OUTPUT_VARIABLE GETARCH2_LOG
|
||||||
COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN}
|
COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN}
|
||||||
)
|
)
|
||||||
|
@ -125,7 +128,8 @@ execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 0 OUTPUT_VARIABLE
|
||||||
execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
|
execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
|
||||||
|
|
||||||
# append config data from getarch_2nd to the TARGET file and read in CMake vars
|
# append config data from getarch_2nd to the TARGET file and read in CMake vars
|
||||||
file(APPEND ${TARGET_CONF} ${GETARCH2_CONF_OUT})
|
file(APPEND ${TARGET_CONF_TEMP} ${GETARCH2_CONF_OUT})
|
||||||
|
configure_file(${TARGET_CONF_TEMP} ${PROJECT_BINARY_DIR}/${TARGET_CONF} COPYONLY)
|
||||||
ParseGetArchVars(${GETARCH2_MAKE_OUT})
|
ParseGetArchVars(${GETARCH2_MAKE_OUT})
|
||||||
|
|
||||||
# compile get_config_h
|
# compile get_config_h
|
||||||
|
|
|
@ -234,7 +234,9 @@ function(GenerateNamedObjects sources_in)
|
||||||
|
|
||||||
string(REPLACE ";" "\n#define " define_source "${obj_defines}")
|
string(REPLACE ";" "\n#define " define_source "${obj_defines}")
|
||||||
string(REPLACE "=" " " define_source "${define_source}")
|
string(REPLACE "=" " " define_source "${define_source}")
|
||||||
file(WRITE ${new_source_file} "#define ${define_source}\n#include \"${old_source_file}\"")
|
file(WRITE ${new_source_file}.tmp "#define ${define_source}\n#include \"${old_source_file}\"")
|
||||||
|
configure_file(${new_source_file}.tmp ${new_source_file} COPYONLY)
|
||||||
|
file(REMOVE ${new_source_file}.tmp)
|
||||||
list(APPEND SRC_LIST_OUT ${new_source_file})
|
list(APPEND SRC_LIST_OUT ${new_source_file})
|
||||||
|
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
# sources that need to be compiled twice, once with no flags and once with LOWER
|
# sources that need to be compiled twice, once with no flags and once with LOWER
|
||||||
set(UL_SOURCES
|
set(UL_SOURCES
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
# N.B. In the original makefile there was a BLOCKS define used in the compilation of these files but I don't see any evidence of it being set anywhere. -hpa
|
# N.B. In the original makefile there was a BLOCKS define used in the compilation of these files but I don't see any evidence of it being set anywhere. -hpa
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
if (${CORE} STREQUAL "PPC440")
|
if (${CORE} STREQUAL "PPC440")
|
||||||
set(MEMORY memory_qalloc.c)
|
set(MEMORY memory_qalloc.c)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
|
|
||||||
set(BLAS1_SOURCES
|
set(BLAS1_SOURCES
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/kernel.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/kernel.cmake")
|
||||||
|
|
||||||
# Makefile
|
# Makefile
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
|
|
||||||
set(LAPACK_SOURCES
|
set(LAPACK_SOURCES
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_directories(${PROJECT_SOURCE_DIR})
|
include_directories(${PROJECT_SOURCE_DIR})
|
||||||
|
include_directories(${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
set(OpenBLAS_utest_src
|
set(OpenBLAS_utest_src
|
||||||
utest_main.c
|
utest_main.c
|
||||||
|
|
Loading…
Reference in New Issue