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

Add clang runtime feature #579

Merged
merged 3 commits into from
May 23, 2023
Merged

Add clang runtime feature #579

merged 3 commits into from
May 23, 2023

Conversation

sksat
Copy link
Collaborator

@sksat sksat commented May 17, 2023

概要

clang crate(正確にはその dependency の clang-sys crate)の runtime feature を使って libclang をリンクする

詳細

  • clang-runtime feature を追加
    • ここで clang crate に runtime feature を指定
  • clang-runtime を default feature にした

検証結果

test へのリンクや,検証結果へのリンク

影響範囲

CI や c2a-core crate のユーザが libclang のリンクのことを考えなくてよくなる

備考

一連のPRマージ後にPre Release したい

@sksat sksat added enhancement New feature or request tools labels May 17, 2023
@sksat sksat self-assigned this May 17, 2023
@sksat sksat requested a review from meltingrabbit May 17, 2023 18:34
std = []
export-src = ["std"]
clang-runtime = ["clang/runtime"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

[features] とは,
featureはcrateが提供するビルドフラグ

std feature, export-src fatureがすでに入っている,という状況.

たとえば,

https://github.com/ut-issl/c2a-core/pull/568/files

export-src を指定したときだけ,source_dir() がつかえる.指定するのは,crateを使う側(c2a-coreは crate 側).

crateを使う側が使えるfeatureを列挙してるのがfeatures

Copy link
Collaborator

Choose a reason for hiding this comment

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

default はcrate利用者側が明示的に指定しなくてもあたるfeature

Copy link
Collaborator

Choose a reason for hiding this comment

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

hoge = [fuga} は,hoge featureを使うときに,fuga featureを指定して使う,ということ

Copy link
Collaborator

@meltingrabbit meltingrabbit May 23, 2023

Choose a reason for hiding this comment

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

clang-runtime = ["clang/runtime"]

は,clang crateにruntime featureを指定していることができるfeatureである clang-runtime feature を追加してる.(それをc2a core crate利用者が使えるようにしてる)

Copy link
Collaborator

Choose a reason for hiding this comment

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

export-src = ["std"]

は,export-src feature が c2a core が提供しており,これを指定するとstd featureも勝手に有効にある.

@sksat sksat merged commit 7497a8e into develop May 23, 2023
@sksat sksat deleted the feature/add-clang-runtime-feature branch May 23, 2023 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants