[Openmp-commits] [PATCH] D55725: [OpenMP] Add libs to clang-dedicated directories

Hal Finkel via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Jan 23 19:48:11 PST 2019


hfinkel added inline comments.


================
Comment at: openmp/CMakeLists.txt:55
+endif()
+
 # Check and set up common compiler flags.
----------------
jdenny wrote:
> hfinkel wrote:
> > The way this is computed looks different to me than what I believe to be the corresponding code in libc++'s file. It's this, right?
> > 
> >   string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
> >          ${PACKAGE_VERSION})
> >   
> >   if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
> >     set(DEFAULT_INSTALL_PREFIX lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/${LLVM_DEFAULT_TARGET_TRIPLE}/)
> >     set(DEFAULT_INSTALL_HEADER_PREFIX lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/)
> >     set(LIBCXX_LIBRARY_DIR 
> >   ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/${LLVM_DEFAULT_TARGET_TRIPLE}/lib${LIBCXX_LIBDIR_SUFFIX})
> >     set(LIBCXX_HEADER_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
> >   elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
> >     set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
> >     set(LIBCXX_HEADER_DIR  ${LLVM_BINARY_DIR})
> >   else()
> >     set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX})
> >   endif()
> > 
> > 
> Thanks for reviewing.  It seems like each subproject has a slightly different formula.
> 
> What this patch does here is similar to what's in `compiler-rt/cmake/base-config-ix.cmake` except this patch doesn't attempt to observe `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR`.  Perhaps it should?
> 
> Below is some of the relevant code from that script (I've omitted many seemingly irrelevant lines):
> 
> ```
> if (LLVM_TREE_AVAILABLE)
>   set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
>   set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
> else()
>   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
>     "Path where built compiler-rt libraries should be stored.")
>   set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
>     "Path where built compiler-rt libraries should be installed.")
> endif()
> 
> if(NOT DEFINED COMPILER_RT_OS_DIR)
>   string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
> endif()
> if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
>   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
>     ${COMPILER_RT_OUTPUT_DIR})
>   set(COMPILER_RT_LIBRARY_INSTALL_DIR
>     ${COMPILER_RT_INSTALL_PATH})
> else(LVM_ENABLE_PER_TARGET_RUNTIME_DIR)
>   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
>     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
>   set(COMPILER_RT_LIBRARY_INSTALL_DIR
>     ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
> endif()
> ```
> 
> ... It seems like each subproject has a slightly different formula.

I can certainly believe that.

> What this patch does here is similar to what's in compiler-rt/cmake/base-config-ix.cmake 

SGTM.

> except this patch doesn't attempt to observe LLVM_ENABLE_PER_TARGET_RUNTIME_DIR. Perhaps it should?

Yes, I think that it should.



Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55725/new/

https://reviews.llvm.org/D55725





More information about the Openmp-commits mailing list