> On Jan 25, 2018, at 17:09, Don Hinton <hinto...@gmail.com> wrote: > > > > On Thu, Jan 25, 2018 at 4:21 PM, Duncan P. N. Exon Smith > <dexonsm...@apple.com <mailto:dexonsm...@apple.com>> wrote: > > >> On Jan 25, 2018, at 16:18, Duncan P. N. Exon Smith via cfe-commits >> <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote: >> >> >> >>> On Jan 25, 2018, at 13:07, Don Hinton <hinto...@gmail.com >>> <mailto:hinto...@gmail.com>> wrote: >>> >>> On Thu, Jan 25, 2018 at 12:54 PM, Chris Bieneman <be...@apple.com >>> <mailto:be...@apple.com>> wrote: >>> Historically we have supported building libcxx without llvm-config >>> available on the system. >>> >>> In all likelihood the bots didn't fail because the bots do have llvm-config >>> because we usually require an llvm build or source checkout in order to >>> build and run the tests since tests depend on lit and gtest. >>> >>> Ah, okay, but if the bots don't test/enforce this, does it make sense to >>> continue to support building without llvm-config? >> >> I didn't realize we didn't have a bot enforcing this. I just made one: >> http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake_standalone >> >> <http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake_standalone> >> >>> I don't want to break upstream users, but the alternative is to duplicate >>> this logic across multiple sub-projects. (see >>> http://lists.llvm.org/pipermail/llvm-dev/2018-January/120707.html >>> <http://lists.llvm.org/pipermail/llvm-dev/2018-January/120707.html> for a >>> related rpath issue). >> >> It's temporary though. In the brave new world on GitHub with monorepo, the >> runtime libraries will be able to access a shared set of CMake configuration >> scripts. > > Note that there's other stuff duplicated in the runtime libraries, such as > preprocessor definitions (LLVM_... => __LIBCXX_...), that we'll never really > be able to collapse. > > Great, I've changed it to this: > > + if(LLVM_FOUND) > + llvm_setup_rpath(cxx_shared) > + endif() > > Which should work for both cases. Is that okay?
SGTM. > > >>> >>> >>> >>> >>> -Chris >>> >>> >>>> On Jan 25, 2018, at 12:51 PM, Don Hinton <hinto...@gmail.com >>>> <mailto:hinto...@gmail.com>> wrote: >>>> >>>> On Thu, Jan 25, 2018 at 12:29 PM, Duncan P. N. Exon Smith >>>> <dexonsm...@apple.com <mailto:dexonsm...@apple.com>> wrote: >>>> I don't really understand why, but our bots seemed to survive this: >>>> http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/ >>>> <http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/> >>>> >>>> Console output is here: >>>> http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/consoleFull >>>> >>>> <http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/consoleFull> >>>> >>>> That doesn't necessarily mean it's safe. Does anyone know why this might >>>> have "worked"? >>>> >>>> I'm not an expert, but llvm installs all of these cmake modules along side >>>> llvm-config, so if you find llvm-config, you find these modules. >>>> >>>> So, unless I'm missing something, it looks like AddLLVM.cmake is always >>>> available. >>>> >>>> >>>>> On Jan 25, 2018, at 11:02, Shoaib Meenai <smee...@fb.com >>>>> <mailto:smee...@fb.com>> wrote: >>>>> >>>>> This is going to break building libc++ standalone (i.e. without any LLVM >>>>> repository or even its CMake modules), right? Some upstream users care a >>>>> lot about that use case (CC beanz and Duncan). >>>>> >>>>> From: cfe-commits <cfe-commits-boun...@lists.llvm.org >>>>> <mailto:cfe-commits-boun...@lists.llvm.org>> on behalf of Don Hinton via >>>>> cfe-commits <cfe-commits@lists.llvm.org >>>>> <mailto:cfe-commits@lists.llvm.org>> >>>>> Reply-To: Don Hinton <hinto...@gmail.com <mailto:hinto...@gmail.com>> >>>>> Date: Thursday, January 25, 2018 at 10:15 AM >>>>> To: "cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>" >>>>> <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> >>>>> Subject: [libcxx] r323453 - [cmake] [libcxx] Call llvm_setup_rpath() when >>>>> adding shared libraries. >>>>> >>>>> Author: dhinton >>>>> Date: Thu Jan 25 10:13:26 2018 >>>>> New Revision: 323453 >>>>> >>>>> URL: >>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D323453-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=LDCu89byjNdZWoCIYHGHaPr3IamIdHLF0JwbnYE92vM&e= >>>>> >>>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D323453-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=LDCu89byjNdZWoCIYHGHaPr3IamIdHLF0JwbnYE92vM&e=> >>>>> Log: >>>>> [cmake] [libcxx] Call llvm_setup_rpath() when adding shared libraries. >>>>> >>>>> Clang and llvm already use llvm_setup_rpath(), so this change will >>>>> help standarize rpath usage across all projects. >>>>> >>>>> Differential Revision: >>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D42459&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=YCR-YJBua5p-4IK05GjHoZUU7aN8UJAFzL2xaz7byyw&e= >>>>> >>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D42459&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=YCR-YJBua5p-4IK05GjHoZUU7aN8UJAFzL2xaz7byyw&e=> >>>>> >>>>> Modified: >>>>> libcxx/trunk/lib/CMakeLists.txt >>>>> >>>>> Modified: libcxx/trunk/lib/CMakeLists.txt >>>>> URL: >>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_libcxx_trunk_lib_CMakeLists.txt-3Frev-3D323453-26r1-3D323452-26r2-3D323453-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=Rd7xc2GWS8oyDcm0QshNPTqM3BglPY5_aHMIuCRUt1s&e= >>>>> >>>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_libcxx_trunk_lib_CMakeLists.txt-3Frev-3D323453-26r1-3D323452-26r2-3D323453-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=Rd7xc2GWS8oyDcm0QshNPTqM3BglPY5_aHMIuCRUt1s&e=> >>>>> ============================================================================== >>>>> --- libcxx/trunk/lib/CMakeLists.txt (original) >>>>> +++ libcxx/trunk/lib/CMakeLists.txt Thu Jan 25 10:13:26 2018 >>>>> @@ -222,6 +222,7 @@ set(LIBCXX_TARGETS) >>>>> # Build the shared library. >>>>> if (LIBCXX_ENABLE_SHARED) >>>>> add_library(cxx_shared SHARED $<TARGET_OBJECTS:cxx_objects>) >>>>> + llvm_setup_rpath(cxx_shared) >>>>> target_link_libraries(cxx_shared ${LIBCXX_LIBRARIES}) >>>>> set_target_properties(cxx_shared >>>>> PROPERTIES >>>>> >>>>> >>>>> _______________________________________________ >>>>> cfe-commits mailing list >>>>> cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org> >>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_cfe-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=TPt8bk99XfmUCdi7MBxyguYV6hJg3PsXFCTXyDfGms8&e= >>>>> >>>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_cfe-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=TPt8bk99XfmUCdi7MBxyguYV6hJg3PsXFCTXyDfGms8&e=> >>>>> >>>> >>>> >>> >>> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits