Bug 1572724 - preserve symlinks when installing libgcc; r=glandium

Otherwise we wind up with clownshoes like:

```
froydnj@hawkeye:/opt/build/froydnj/tmp/clang$ ls -l lib/libstdc++.so*
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so.6
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so.6.0.24
```

and have duplicate copies of shared libraries in our toolchain packages,
which are not exactly small.

Differential Revision: https://phabricator.services.mozilla.com/D41368

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nathan Froyd 2019-08-09 21:11:31 +00:00
Родитель 891d20f850
Коммит 10d28350d8
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -182,16 +182,16 @@ def install_libgcc(gcc_dir, clang_dir, is_final_stage):
"x86_64-unknown-linux-gnu",
os.path.basename(libgcc_dir))
mkdir_p(clang_lib_dir)
copy_tree(libgcc_dir, clang_lib_dir)
copy_tree(libgcc_dir, clang_lib_dir, preserve_symlinks=True)
libgcc_dir = os.path.join(gcc_dir, "lib64")
clang_lib_dir = os.path.join(clang_dir, "lib")
copy_tree(libgcc_dir, clang_lib_dir)
copy_tree(libgcc_dir, clang_lib_dir, preserve_symlinks=True)
libgcc_dir = os.path.join(gcc_dir, "lib32")
clang_lib_dir = os.path.join(clang_dir, "lib32")
copy_tree(libgcc_dir, clang_lib_dir)
copy_tree(libgcc_dir, clang_lib_dir, preserve_symlinks=True)
include_dir = os.path.join(gcc_dir, "include")
clang_include_dir = os.path.join(clang_dir, "include")
copy_tree(include_dir, clang_include_dir)
copy_tree(include_dir, clang_include_dir, preserve_symlinks=True)
def install_import_library(build_dir, clang_dir):