[PATCH] D54726: [libcxx] Support generating linker script for static library
Louis Dionne via Phabricator
reviews at reviews.llvm.org
Mon Nov 19 15:25:04 PST 2018
ldionne requested changes to this revision.
ldionne added inline comments.
This revision now requires changes to proceed.
================
Comment at: libcxx/lib/CMakeLists.txt:388
)
+ add_custom_command(TARGET cxx_static POST_BUILD
+ COMMAND
----------------
There's something I don't understand here. You seem to be calling the script as `<script> output input` (in that order) here, but the script seems to take `input output` based on the `argparse` stuff below. If `"${CMAKE_STATIC_LIBRARY_PREFIX}c++static${CMAKE_STATIC_LIBRARY_SUFFIX}"` is the input file, where is it created?
================
Comment at: libcxx/lib/CMakeLists.txt:392
+ ARGS
+ "${CMAKE_STATIC_LIBRARY_PREFIX}c++static${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ "$<TARGET_LINKER_FILE:cxx_static>"
----------------
Why call it `libc++static.a` instead of `libc++.a`?
================
Comment at: libcxx/lib/CMakeLists.txt:395
+ ${LIBCXX_INTERFACE_LIBRARY_NAMES}
+ "m" "dl" "pthread"
+ BYPRODUCTS
----------------
Is that true on all platforms? On what platforms is this linker script expected to work?
================
Comment at: libcxx/utils/gen_link_script.py:11
+import argparse
import os
----------------
Can you confirm that there are no functional changes beyond adding support for a custom output file in this script? This is only a refactoring (thanks!), or did I miss something?
================
Comment at: libcxx/utils/gen_link_script.py:20
+ action="store_true", default=False)
+ parser.add_argument("--rename", help="Rename output file if exists",
+ action="store_true", default=False)
----------------
I think a word is missing somewhere because this help seems unclear to me.
================
Comment at: libcxx/utils/gen_link_script.py:24
+ parser.add_argument("output", help="Path to libc++ linker script")
+ parser.add_argument("libraries", help="List of libraries", nargs="*")
+ args = parser.parse_args()
----------------
List of libraries? Just any libraries?
Repository:
rCXX libc++
https://reviews.llvm.org/D54726
More information about the libcxx-commits
mailing list