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

fall back to Boost::stacktrace_basic if Boost::stacktrace_backtrace is not available #40

Merged
merged 2 commits into from
Dec 10, 2024

Conversation

ban-nobuhiro
Copy link
Contributor

Debian/Ubuntu 以外の環境 (FreeBSD や RedHat 系 Linux ディストリビューション) では、
標準提供されているパッケージでは Boost::stacktrace_backtrace が使えないことが多いため、
使えない環境では Boost::stacktrace_basic を使うようにする変更です。

また、 takatori を使用するモジュールが、自身の CMakeLists.txt で (takatori が依存している) Boost;;stacktrace_backtrace への依存を明示的に指定しないとビルドが通らない状態だったので、 takatori が export する Config ファイルに、 takatori が選択した Boost::stacktrace のライブラリへの依存を指定するように修正しました。

もともとは、コンパイラに G++ 以外を使用する場合に Boost::stacktrace_noop を使うようにされていましたが、
https://www.boost.org/doc/libs/1_65_0/doc/html/stacktrace/configuration_and_build.html によれば

  • Clang でも stacktrace_backtrace が使える
  • stacktrace_basic はデフォルトで使える

とのことですので、

  • Clang++ の場合にも stacktrace_backtrace を使うように
  • 他の理由で使えない場合のフォールバック先は stacktrace_noop でなく stacktrace_basic に

変更しました。

Copy link
Contributor

@ashigeru ashigeru left a comment

Choose a reason for hiding this comment

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

LGTM

@ban-nobuhiro ban-nobuhiro merged commit 0429e36 into master Dec 10, 2024
6 checks passed
@ban-nobuhiro
Copy link
Contributor Author

レビューありがとうございます。マージしました。

@ban-nobuhiro ban-nobuhiro deleted the boost-stacktrace-fallback branch December 10, 2024 04:26
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