Skip to content

Commit

Permalink
[libc++] Support -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on in CI
Browse files Browse the repository at this point in the history
This fixes -isystem/-L/-Wl,-rpath paths when -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on
is used (https://reviews.llvm.org/D107799#2969650).

* `-isystem path/to/build/generic-cxx17/include/c++/v1`. `build/generic-cxx17/include/x86_64-unknown-linux-gnu/c++/v1 (__config_site)` is missing.
* `-L path/to/build/generic-cxx17/lib`. Should be `build/generic-cxx17/lib/x86_64-unknown-linux-gnu` instead

Reviewed By: ldionne, phosek, #libc

Differential Revision: https://reviews.llvm.org/D108836
  • Loading branch information
MaskRay committed Aug 30, 2021
1 parent 070090c commit daf0dfb
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
10 changes: 7 additions & 3 deletions libcxx/test/configs/libcxx-trunk-shared.cfg.in
Expand Up @@ -7,6 +7,9 @@ INSTALL_ROOT = "@CMAKE_BINARY_DIR@"
COMPILER = "@CMAKE_CXX_COMPILER@"
EXEC_ROOT = "@LIBCXX_BINARY_DIR@"
CMAKE_OSX_SYSROOT = "@CMAKE_OSX_SYSROOT@"
INCLUDE_DIR = "@LIBCXX_INSTALL_INCLUDE_DIR@"
INCLUDE_TARGET_DIR = "@LIBCXX_INSTALL_INCLUDE_TARGET_DIR@"
LIBRARY_DIR = "@LIBCXX_INSTALL_LIBRARY_DIR@"

import os
import pipes
Expand All @@ -32,13 +35,14 @@ config.substitutions.append(('%{flags}',
'-isysroot {}'.format(CMAKE_OSX_SYSROOT) if CMAKE_OSX_SYSROOT else ''
))
config.substitutions.append(('%{compile_flags}',
'-nostdinc++ -isystem {} -I {}'.format(
os.path.join(INSTALL_ROOT, 'include', 'c++', 'v1'),
'-nostdinc++ -isystem {} -isystem {} -I {}'.format(
os.path.join(INSTALL_ROOT, INCLUDE_DIR),
os.path.join(INSTALL_ROOT, INCLUDE_TARGET_DIR),
os.path.join(LIBCXX_ROOT, 'test', 'support'))
))
config.substitutions.append(('%{link_flags}',
'-nostdlib++ -L {0} -lc++ -Wl,-rpath,{0} -pthread'.format(
os.path.join(INSTALL_ROOT, 'lib'))
os.path.join(INSTALL_ROOT, LIBRARY_DIR))
))
config.substitutions.append(('%{exec}',
'{} {} --execdir %T -- '.format(
Expand Down
10 changes: 7 additions & 3 deletions libcxx/test/configs/libcxx-trunk-static.cfg.in
Expand Up @@ -7,6 +7,9 @@ INSTALL_ROOT = "@CMAKE_BINARY_DIR@"
COMPILER = "@CMAKE_CXX_COMPILER@"
EXEC_ROOT = "@LIBCXX_BINARY_DIR@"
CMAKE_OSX_SYSROOT = "@CMAKE_OSX_SYSROOT@"
INCLUDE_DIR = "@LIBCXX_INSTALL_INCLUDE_DIR@"
INCLUDE_TARGET_DIR = "@LIBCXX_INSTALL_INCLUDE_TARGET_DIR@"
LIBRARY_DIR = "@LIBCXX_INSTALL_LIBRARY_DIR@"

import os
import pipes
Expand All @@ -32,13 +35,14 @@ config.substitutions.append(('%{flags}',
'-isysroot {}'.format(CMAKE_OSX_SYSROOT) if CMAKE_OSX_SYSROOT else ''
))
config.substitutions.append(('%{compile_flags}',
'-nostdinc++ -isystem {} -I {}'.format(
os.path.join(INSTALL_ROOT, 'include', 'c++', 'v1'),
'-nostdinc++ -isystem {} -isystem {} -I {}'.format(
os.path.join(INSTALL_ROOT, INCLUDE_DIR),
os.path.join(INSTALL_ROOT, INCLUDE_TARGET_DIR),
os.path.join(LIBCXX_ROOT, 'test', 'support'))
))
config.substitutions.append(('%{link_flags}',
'-nostdlib++ -L {} -lc++ -lc++abi -pthread'.format(
os.path.join(INSTALL_ROOT, 'lib'))
os.path.join(INSTALL_ROOT, LIBRARY_DIR))
))
config.substitutions.append(('%{exec}',
'{} {} --execdir %T -- '.format(
Expand Down

0 comments on commit daf0dfb

Please sign in to comment.