)]}' { "commit": "9f1d51209cb03024c7b90ee240645772bbb11019", "tree": "e7f2487dbc15cb362441bb6f5531f95df8c95d4b", "parents": [ "c522bc4da70a3a38893292511d85440abeff5b29" ], "author": { "name": "Martin Storsjö", "email": "martin@martin.st", "time": "Sat Apr 09 23:40:07 2022 +0300" }, "committer": { "name": "Copybara-Service", "email": "copybara-worker@google.com", "time": "Wed May 18 10:40:37 2022 -0700" }, "message": "[runtimes] Default LIB*_HERMETIC_STATIC_LIBRARY to ON on Windows\n\n(In the case of libunwind, the cmake option is called\nLIBUNWIND_HIDE_SYMBOLS, but it has the same effect as\nLIBCXX_HERMETIC_STATIC_LIBRARY and\nLIBCXXABI_HERMETIC_STATIC_LIBRARY.)\n\nPreviously, the same issue was dealt with by setting a project wide\ndefine (_LIBUNWIND_HIDE_SYMBOLS,\n_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS and\n_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) if only building a static\nlibrary. If building both static and shared at the same time, this\nwasn\u0027t set, and the static library would contain dllexport directives.\n\nThe LIB*_HERMETIC_STATIC_LIBRARY and LIBUNWIND_HIDE_SYMBOLS cmake\noptions only apply the defines to the static library in the build,\neven if building both static and shared at the same time.\n\n(This could only be done use after the object libraries were\nenabled, as a shared libcxx needs libcxxabi object files built\nwith dllexports included.)\n\nThis allows removing inelegant code for deciding how to build the\nlibcxxabi static library and a TODO comment that suggested that\nusers should need to start setting an option, which they shouldn\u0027t\nneed to. Finally, this gets rid of two XFAILs in tests.\n\nDifferential Revision: https://reviews.llvm.org/D125715\n\nGitOrigin-RevId: bedf657d0f4c54ffe9ef4303382657a74296b544\n", "tree_diff": [ { "type": "modify", "old_id": "aa5ab9a0086b22bbf6863d28fd60f9f21c80fe4c", "old_mode": 33188, "old_path": "CMakeLists.txt", "new_id": "791ff6c75df72b36b3f440a2ef052d0cc2d423e0", "new_mode": 33188, "new_path": "CMakeLists.txt" }, { "type": "modify", "old_id": "e19f33c55a29f0b57046025a03e6bf94b4771f5e", "old_mode": 33188, "old_path": "src/CMakeLists.txt", "new_id": "afaed4fea326cf8f0ad5774863bd887a8d83dbc5", "new_mode": 33188, "new_path": "src/CMakeLists.txt" } ] }