[PATCH] D159414: Haiku: Fixes for header / library paths

Trung Nguyen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 5 00:15:04 PDT 2023


trungnt2910 added a comment.

I'm not the Haiku toolchain expert here 😅, all I can do is comparing this with what the GCC toolchain for Haiku does.



================
Comment at: clang/lib/Driver/ToolChains/Haiku.cpp:24-25
 
+  getFilePaths().push_back(concat(getDriver().SysRoot, "/boot/system/lib"));
+  getFilePaths().push_back(concat(getDriver().SysRoot, "/boot/system/develop/lib"));
 }
----------------
Should we also add the corresponding non-packaged paths, like `/boot/system/non-packaged/lib` and `/boot/system/non-packaged/develop/lib`?

The latest GCC toolchain on Haiku does **not** do it, but neither does it recognize non-packaged files for the headers.


================
Comment at: clang/lib/Driver/ToolChains/Haiku.cpp:85-86
+                   "/boot/system/develop/headers/os/net"));
+  addSystemInclude(DriverArgs, CC1Args, concat(D.SysRoot,
+                   "/boot/system/develop/headers/os/opengl"));
+  addSystemInclude(DriverArgs, CC1Args, concat(D.SysRoot,
----------------
Not included by GCC, and not found in my Haiku installation.

I don't know what this is for though, so probably just keep it until someone else says otherwise.


================
Comment at: clang/lib/Driver/ToolChains/Haiku.cpp:105-106
+                   "/boot/system/develop/headers/os/add-ons/tracker"));
+  addSystemInclude(DriverArgs, CC1Args, concat(D.SysRoot,
+                   "/boot/system/develop/headers/os/be_apps/Deskbar"));
+  addSystemInclude(DriverArgs, CC1Args, concat(D.SysRoot,
----------------
This seems to have been removed from Haiku, see: https://github.com/haiku/haiku/commit/a3e794ae459fec76826407f8ba8c94cd3535f128

The latest Haiku GCC toolchain does not include it.


================
Comment at: clang/test/Driver/haiku.c:28
+// CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/tracker"
+// CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/be_apps/Deskbar"
+// CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/be_apps/NetPositive"
----------------
Should also remove this if the corresponding line in `Haiku.cpp` is removed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D159414/new/

https://reviews.llvm.org/D159414



More information about the cfe-commits mailing list