Skip to content
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

chromium: Fix incremental build error after meta-clang update #814

Merged

Conversation

MaxIhlenfeldt
Copy link
Collaborator

Fixes #794.

Build and patch changes:

We previously created a symlink pointing to the subdirectory of the latest version under $STAGING_LIBDIR_NATIVE/clang, and then copied the libclang_rt.builtins library from $STAGING_LIBDIR/clang to the same directory as the native library. This is necessary because we need to point Chromium to a single clang directory for building both native and target code, and we need its path to be independent of the specific clang version used.

However, the chosen approach leads to an error when doing a build, updating meta-clang to a revision containing a new version of clang, and then doing an incremental build.

This commit replaces the previous approach with a more safe one that does a full copy of the $STAGING_LIBDIR_NATIVE/clang subdirectory that we want to point Chromium to, and then copies the libclang_rt.builtins library for the target architecture to this copied directory.

License changes:

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:

  • chromium-x11:
  • master, clang, MACHINE=qemuarm64

Fixes OSSystems#794.

Build and patch changes:
------------------------

We previously created a symlink pointing to the subdirectory of the
latest version under $STAGING_LIBDIR_NATIVE/clang, and then copied the
libclang_rt.builtins library from $STAGING_LIBDIR/clang to the same
directory as the native library. This is necessary because we need to
point Chromium to a single clang directory for building both native and
target code, and we need its path to be independent of the specific
clang version used.

However, the chosen approach leads to an error when doing a build,
updating meta-clang to a revision containing a new version of clang, and
then doing an incremental build.

This commit replaces the previous approach with a more safe one that
does a full copy of the $STAGING_LIBDIR_NATIVE/clang subdirectory that
we want to point Chromium to, and then copies the libclang_rt.builtins
library for the target architecture to this copied directory.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - master, clang, MACHINE=qemuarm64

Signed-off-by: Max Ihlenfeldt <max@igalia.com>
@MaxIhlenfeldt MaxIhlenfeldt requested a review from rakuco May 13, 2024 15:56
Copy link
Collaborator

@kraj kraj left a comment

Choose a reason for hiding this comment

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

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

18.1.1 clang compilation issue
3 participants