Skip to content

Commit 3b22a98

Browse files
committed
Install paths
1 parent 05753f7 commit 3b22a98

File tree

9 files changed

+102
-127
lines changed

9 files changed

+102
-127
lines changed

clang/lib/Driver/ToolChain.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -983,7 +983,7 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const {
983983
return {};
984984
}
985985

986-
std::optional< std::string> ToolChain::getDefaultIntrinsicModuleDir( ) const {
986+
std::optional< std::string> ToolChain::getDefaultIntrinsicModuleDir( ) const {
987987
SmallString<128> P(D.ResourceDir);
988988
llvm::sys::path::append(P, "finclude");
989989
return getTargetSubDirPath(P );

flang-rt/CMakeLists.txt

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ include(ExtendPath)
7676
# Path to LLVM development tools (FileCheck, llvm-lit, not, ...)
7777
set(LLVM_TOOLS_DIR "${LLVM_BINARY_DIR}/bin")
7878

79+
80+
flang_module_fortran_enable()
81+
7982
# Determine build and install paths.
8083
# The build path is absolute, but the install dir is relative, CMake's install
8184
# command has to apply CMAKE_INSTALL_PREFIX itself.
@@ -112,7 +115,7 @@ endif ()
112115
set(FLANG_RT_INSTALL_RESOURCE_PATH "${FLANG_RT_INSTALL_RESOURCE_PATH_DEFAULT}"
113116
CACHE PATH "Path to install runtime libraries to (default: clang resource dir)")
114117
extend_path(FLANG_RT_INSTALL_RESOURCE_LIB_PATH "${FLANG_RT_INSTALL_RESOURCE_PATH}" "${toolchain_lib_subdir}")
115-
extend_path(FLANG_RT_INSTALL_RESOURCE_MOD_PATH "${FLANG_RT_INSTALL_RESOURCE_PATH}" "${toolchain_mod_subdir}")
118+
#extend_path(FLANG_RT_INSTALL_RESOURCE_MOD_PATH "${FLANG_RT_INSTALL_RESOURCE_PATH}" "${toolchain_mod_subdir}")
116119
cmake_path(NORMAL_PATH FLANG_RT_OUTPUT_RESOURCE_DIR)
117120
cmake_path(NORMAL_PATH FLANG_RT_INSTALL_RESOURCE_PATH)
118121
# FIXME: For the libflang_rt.so, the toolchain resource lib dir is not a good
@@ -127,11 +130,11 @@ cmake_path(NORMAL_PATH FLANG_RT_INSTALL_RESOURCE_PATH)
127130
cmake_path(NORMAL_PATH FLANG_RT_OUTPUT_RESOURCE_LIB_DIR)
128131
cmake_path(NORMAL_PATH FLANG_RT_INSTALL_RESOURCE_LIB_PATH)
129132
cmake_path(NORMAL_PATH FLANG_RT_OUTPUT_RESOURCE_MOD_DIR)
130-
cmake_path(NORMAL_PATH FLANG_RT_INSTALL_RESOURCE_MOD_PATH)
133+
#cmake_path(NORMAL_PATH FLANG_RT_INSTALL_RESOURCE_MOD_PATH)
131134

132135
message("toolchain_mod_subdir: ${toolchain_mod_subdir}")
133136
message("FLANG_RT_OUTPUT_RESOURCE_MOD_DIR: ${FLANG_RT_OUTPUT_RESOURCE_MOD_DIR}")
134-
message("FLANG_RT_INSTALL_RESOURCE_MOD_PATH: ${FLANG_RT_INSTALL_RESOURCE_MOD_PATH}")
137+
#message("FLANG_RT_INSTALL_RESOURCE_MOD_PATH: ${FLANG_RT_INSTALL_RESOURCE_MOD_PATH}")
135138

136139

137140
#################
@@ -294,11 +297,6 @@ set(HAVE_BACKTRACE ${Backtrace_FOUND})
294297
set(BACKTRACE_HEADER ${Backtrace_HEADER})
295298

296299

297-
298-
299-
300-
301-
302300
#####################
303301
# Build Preparation #
304302
#####################
@@ -348,28 +346,3 @@ if (FLANG_RT_INCLUDE_TESTS)
348346
else ()
349347
add_custom_target(check-flang-rt)
350348
endif()
351-
352-
353-
################
354-
# Installation #
355-
################
356-
357-
358-
359-
360-
# Need to do it here for all mod files, will install any modules in that location (including e.g. omp_lib.mod)
361-
# https://stackoverflow.com/questions/52712416/cmake-fortran-module-directory-to-be-used-with-add-library
362-
# No way to find which mod files built by flang-rt individually
363-
# TODO: Does this a build-dependency on the module files?
364-
cmake_path(GET FLANG_RT_INSTALL_RESOURCE_MOD_PATH PARENT_PATH install_mod_parent_path)
365-
message("FLANG_RT_INSTALL_RESOURCE_MOD_PATH: ${FLANG_RT_INSTALL_RESOURCE_MOD_PATH}")
366-
install(DIRECTORY "${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}"
367-
DESTINATION "${install_mod_parent_path}"
368-
)
369-
#install(FILES "${FLANG_RT_OUTPUT_RESOURCE_MOD_DIR}/*.mod"
370-
# DESTINATION "${FLANG_RT_INSTALL_RESOURCE_MOD_PATH}"
371-
#)
372-
373-
374-
375-

flang-rt/cmake/modules/AddFlangRT.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,13 +356,11 @@ function (add_flangrt_library name)
356356
PROPERTIES
357357
ARCHIVE_OUTPUT_DIRECTORY "${FLANG_RT_OUTPUT_RESOURCE_LIB_DIR}"
358358
LIBRARY_OUTPUT_DIRECTORY "${FLANG_RT_OUTPUT_RESOURCE_LIB_DIR}"
359-
#Fortran_MODULE_DIRECTORY "${FLANG_RT_OUTPUT_RESOURCE_MOD_DIR}"
360359
)
361360

362361
install(TARGETS ${tgtname}
363362
ARCHIVE DESTINATION "${FLANG_RT_INSTALL_RESOURCE_LIB_PATH}"
364363
LIBRARY DESTINATION "${FLANG_RT_INSTALL_RESOURCE_LIB_PATH}"
365-
# Fortran ???
366364
)
367365
endif ()
368366

flang-rt/cmake/modules/AddFlangRTOffload.cmake

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,14 @@ macro(enable_omp_offload_compilation name files)
8989
)
9090

9191
set(OMP_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:C,CXX>:
92-
-fopenmp -fvisibility=hidden -fopenmp-cuda-mode --offload-arch=${compile_for_architectures}
93-
# Force LTO for the device part.
94-
-foffload-lto
92+
-fopenmp
93+
-fvisibility=hidden
94+
-fopenmp-cuda-mode
95+
--offload-arch=${compile_for_architectures}
96+
# Force LTO for the device part.
97+
-foffload-lto
9598
>)
96-
#set_source_files_properties(${files} PROPERTIES COMPILE_OPTIONS
97-
# "${OMP_COMPILE_OPTIONS}"
98-
# )
99-
set_property(SOURCE ${files} APPEND
99+
set_property(SOURCE ${files} APPEND
100100
PROPERTY COMPILE_DEFINITIONS ${OMP_COMPILE_OPTIONS}
101101
)
102102
target_link_options(${name}.static PUBLIC ${OMP_COMPILE_OPTIONS})
@@ -110,7 +110,6 @@ macro(enable_omp_offload_compilation name files)
110110
if (TARGET omp)
111111
add_dependencies(${name} omp)
112112
target_link_options(${name}.static PUBLIC "-L$<TARGET_FILE_DIR:omp>")
113-
#target_link_libraries(${name}.static PRIVATE omp)
114113
endif ()
115114
else()
116115
message(FATAL_ERROR

flang-rt/lib/runtime/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ find_package(Backtrace)
1414
set(HAVE_BACKTRACE ${Backtrace_FOUND})
1515
set(BACKTRACE_HEADER ${Backtrace_HEADER})
1616

17-
flang_module_fortran_enable()
17+
1818

1919
include(CheckFortranSourceCompiles)
2020
include(CMakePushCheckState)

flang/CMakeLists.txt

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,7 @@ else()
264264
endif()
265265

266266
if (FLANG_STANDALONE_BUILD)
267-
option(FLANG_ENABLE_FLANG_RT "Build flang-rt and modules" ON)
268-
if (FLANG_ENABLE_FLANG_RT)
269-
# TODO: Add runtimes external_project
270-
list(APPEND LLVM_ENABLE_RUNTIMES flang-rt)
271-
else ()
272-
message(STATUS "Not building Flang-RT. For a usable Fortran toolchain, compile a standalone Flang-RT.")
273-
endif ()
267+
message(STATUS "Not building Flang-RT. For a usable Fortran toolchain, compile a standalone Flang-RT.")
274268
elseif (NOT "flang-rt" IN_LIST LLVM_ENABLE_RUNTIMES)
275269
message(STATUS "Not building Flang-RT. For a usable Fortran toolchain, either set FLANG_ENABLE_FLANG_RT=ON, add LLVM_ENABLE_RUNTIMES=flang-rt, or compile a standalone Flang-RT.")
276270
endif ()
@@ -280,7 +274,7 @@ set(FLANG_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
280274
mark_as_advanced(FLANG_TOOLS_INSTALL_DIR)
281275

282276
set(FLANG_INTRINSIC_MODULES_DIR "" CACHE PATH "Additional search path for modules; needed for running all tests if not building flang-rt in a bootstrapping build")
283-
set(FLANG_INCLUDE_DIR "${FLANG_BINARY_DIR}/include")
277+
set(FLANG_INCLUDE_DIR ${FLANG_BINARY_DIR}/include)
284278

285279
# TODO: Remove when libclangDriver is lifted out of Clang
286280
if(FLANG_STANDALONE_BUILD)
@@ -502,14 +496,6 @@ endif()
502496
include(AddFlang)
503497
include(FlangCommon)
504498

505-
include(TestBigEndian)
506-
test_big_endian(IS_BIGENDIAN)
507-
if (IS_BIGENDIAN)
508-
add_compile_definitions(FLANG_BIG_ENDIAN=1)
509-
else ()
510-
add_compile_definitions(FLANG_LITTLE_ENDIAN=1)
511-
endif ()
512-
513499
if (FLANG_INCLUDE_TESTS)
514500
add_compile_definitions(FLANG_INCLUDE_TESTS=1)
515501
endif()

openmp/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ set(OPENMP_TEST_FLAGS "" CACHE STRING
100100
set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING
101101
"OpenMP compiler flag to use for testing OpenMP runtime libraries.")
102102

103+
if (LLVM_RUNTIMES_BUILD)
104+
flang_module_fortran_enable()
105+
endif ()
106+
103107
set(ENABLE_LIBOMPTARGET ON)
104108
# Currently libomptarget cannot be compiled on Windows or MacOS X.
105109
# Since the device plugins are only supported on Linux anyway,

openmp/runtime/src/CMakeLists.txt

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ if (LLVM_TOOL_OPENMP_BUILD)
449449
return ()
450450
endif ()
451451

452-
flang_module_fortran_enable()
452+
453453

454454

455455

@@ -468,7 +468,7 @@ endif ()
468468
add_library(libomp-mod OBJECT
469469
omp_lib.F90
470470
)
471-
flang_module_target(libomp-mod)
471+
472472
add_dependencies(libomp-mod flang-rt-mod)
473473

474474
libomp_get_fflags(LIBOMP_CONFIGURED_FFLAGS)
@@ -482,23 +482,12 @@ endif ()
482482
add_dependencies(libomp-mod flang-rt-mod)
483483
set_target_properties(libomp-mod PROPERTIES FOLDER "OpenMP/Fortran Modules")
484484

485+
flang_module_target(libomp-mod)
485486

486487

487488

488489

489-
490-
set (destination ${LIBOMP_HEADERS_INSTALL_PATH})
491-
if (LIBOMP_MODULES_INSTALL_PATH)
492-
set (destination ${LIBOMP_MODULES_INSTALL_PATH})
493-
endif()
494-
install(TARGETS libomp-mod
495-
ARCHIVE DESTINATION "${LIBOMP_INSTALL_RESOURCE_LIB_PATH}"
496-
LIBRARY DESTINATION "${LIBOMP_INSTALL_RESOURCE_LIB_PATH}"
497-
# Fortran ???
498-
)
499490
install(FILES
500-
${CMAKE_CURRENT_BINARY_DIR}/omp_lib.h
501-
"${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}/omp_lib.mod"
502-
"${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}/omp_lib_kinds.mod"
503-
DESTINATION "${RUNTIMES_INSTALL_RESOURCE_MOD_PATH}"
491+
"${CMAKE_CURRENT_BINARY_DIR}/omp_lib.h"
492+
DESTINATION "${RUNTIMES_INSTALL_RESOURCE_INCLUDE_PATH}"
504493
)

0 commit comments

Comments
 (0)