hermes-windows/external/llvh
Vladimir Morozov 5abf404eee
Merge facebook/hermes matching to RN 0.74.1 (#181)
* Merge facebook/hermes matching to RN 0.74.1

* Add merged Hermes version tag
2024-05-08 15:56:15 -07:00
..
cmake Merge tag 'hermes-2022-07-15-RNv0.70.0-88dd5731a19ab6b38b0a0a2d4386ba959f2a2c98' 2022-08-16 06:29:07 -07:00
gen/include/llvh/IR rename LLVM to LLVH 2020-07-01 04:39:48 -07:00
include Merge facebook/hermes matching to RN 0.74.1 (#181) 2024-05-08 15:56:15 -07:00
lib Merge facebook/hermes matching to RN 0.74.1 (#181) 2024-05-08 15:56:15 -07:00
patches Merge facebook/hermes matching to RN 0.74.1 (#181) 2024-05-08 15:56:15 -07:00
utils Merge facebook/hermes matching to RN 0.74.1 (#181) 2024-05-08 15:56:15 -07:00
CMakeLists.txt Improve build times using unity builds 2021-04-07 17:58:00 -07:00
LICENSE.txt Merging Hermes v0.10 into our fork (#58) 2021-11-30 09:56:51 -08:00
README.md Merge tag 'hermes-2022-07-15-RNv0.70.0-88dd5731a19ab6b38b0a0a2d4386ba959f2a2c98' 2022-08-16 06:29:07 -07:00

README.md

LLVH

This is a copy of LLVM libraries and headers that are used by Hermes.

gtest patches

There's a bug in googletest-1.8.0 when compiling on Windows, with clang, with exceptions disabled: GTEST_HAS_EXCEPTIONS isn't defined to the correct value. Pulled in this fix: 3498a1ac52 from googletest-1.10.0 into googletest-1.8.0. It only modifies ./utils/unittest/googletest/include/gtest/internal/gtest-port.h.

LIT patches

In order to fix some Windows python3 problems, it was necessary to pull in some updates to the LIT testing tool from LLVM.

This was done like so:

git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout release/9.x
cp -r ./llvm/utils/lit/* /path/to/hermes/external/llvh/utils/lit

Some copied files were omitted because we don't use them (like lit self-tests and examples).

The current LLVM 9 release is v9.0.1, commit hash c1a0a213378a458fbea1a5c77b315c7dce08fd05, from November 27, 2019.

Rename to LLVH

To avoid conflicts when linking with mainline LLVM, the namespace and include directories were manually renamed to llvh. That left renaming some C public symbols. Unused files under llvh-c/ were removed and lastly a manual rename of the remaining global symbols was performed. The last step is recorded in patches/rename-c-interface.patch.