Skip to content

Update update_libcxx.py to handle recent changes #24392

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
May 23, 2025

Conversation

aheejin
Copy link
Member

@aheejin aheejin commented May 21, 2025

update_libcxx.py updates

  • Now it handles the new llvm-libc directory
  • It excludes unused ryu_(long_double)constants.h from libc
  • It deletes libcxx/include/__cxx03 for now because we are not using it.
  • Make clean_dir and copy_tree handle the case when the local dir does not exist, which can happen when new directories are added
  • Make copy_tree handle removing files in excludes when they are in subdirectories (In libc, many CMakeLists.txt are in subdirectories)

This also adds readme.txt to llvm-libc directory.

- `update_libcxx.py` update
  - Now it handles the new `llvm-libc` directory
  - It exclude unused `ryu_(long_double)constants.h` from libc
  - It deletes `libcxx/include/__cxx03` for now because we are not using
    it.
  - Make `clean_dir` and `copy_tree` handle the case when the local dir
    does not exist, which can happen when new directories are added
  - Make `copy_tree` handle removing files in `excludes` when they are
    in subdirectories (In libc, many `CMakeLists.txt` are in
    subdirectories)

This also adds `readme.txt` to `llvm-libc` directory.
@aheejin aheejin requested a review from sbc100 May 21, 2025 23:34
('include', 'llvm-libc-types'),
('shared',),
('src', '__support'),
]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these go at the top level with the the file lists like preserve_files and excludes?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done (Changed the variable name to libc_copy_dirs)

@aheejin
Copy link
Member Author

aheejin commented May 22, 2025

test-mac-arm64 and test-windows fail with

Running 'git status --short'

M system/lib/llvm-libc/README.txt

Checkout is not clean.  See above for list of dirty/untracked files.

Exited with code exit status 1

Not sure what happened, but is there a way to clean the working directory?

@sbc100
Copy link
Collaborator

sbc100 commented May 22, 2025

test-mac-arm64 and test-windows fail with

Running 'git status --short'

M system/lib/llvm-libc/README.txt

Checkout is not clean.  See above for list of dirty/untracked files.

Exited with code exit status 1

Not sure what happened, but is there a way to clean the working directory?

Somehow the README file is being updated during the build... that seems odd? Each test run starts off clean

@sbc100
Copy link
Collaborator

sbc100 commented May 22, 2025

You try run-run with ssh on the test-mac-arm64 runner. Then do git diff in the project directory to see how the readme is reported to have changed.

@sbc100
Copy link
Collaborator

sbc100 commented May 22, 2025

Oh interesting you are trying to add a readme.txt and there is an existing README.txt. That won't work on mac or windows where the filesystem is case insensitive.

@aheejin
Copy link
Member Author

aheejin commented May 22, 2025

Oh interesting you are trying to add a readme.txt and there is an existing README.txt. That won't work on mac or windows where the filesystem is case insensitive.

Ah thanks!

@aheejin aheejin merged commit d0e06d8 into emscripten-core:main May 23, 2025
30 checks passed
@aheejin aheejin deleted the update_libcxx branch May 23, 2025 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants