[Mesa-dev] [PATCH] meson, anv: Add inc_vulkan to include directories
Dylan Baker
dylan at pnwbakers.com
Tue Jan 1 03:19:24 UTC 2019
Quoting Jan Vesely (2018-12-29 08:22:55)
> On Wed, 2018-12-26 at 15:26 +0000, Eric Engestrom wrote:
> > On Tuesday, 2018-12-25 23:09:53 +0100, Jan Vesely wrote:
> > > Guess my meson-fu is still pretty weak.
> > > Now I see the build failure again:
> > > In file included from ../mesa/src/intel/vulkan/anv_private.h:77:0,
> > > from ../mesa/src/intel/vulkan/genX_pipeline.c:24:
> > > src/../include/vulkan/vulkan_intel.h:27:10: fatal error: vulkan.h: No such
> > > file or directory
> > > #include "vulkan.h"
> > > ^~~~~~~~~~
> > > compilation terminated.
> > > [189/1491] Compiling C++ object 'src/c...49@@glsl at sta
> > > /builtin_functions.cpp.o'.
> > > ninja: build stopped: subcommand failed.
> > >
> > > Honestly, I've no idea how '#include "vulkan.h"' should work
> >
> > It's documented here:
> > http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
> >
> > The bit we care about in this instance is the first paragraph:
> >
> > > By default, the preprocessor looks for header files included by the
> > > quote form of the directive `#include "file"` first relative to the
> > > directory of the current file, and then in a preconfigured list of
> > > standard system directories. For example, if /usr/include/sys/stat.h
> > > contains `#include "types.h"`, GCC looks for types.h first in
> > > /usr/include/sys, then in its usual search path.
> >
> > Which means that include/vulkan/vulkan_intel.h having `#include "vulkan.h"`
> > will first match include/vulkan/vulkan.h, which is exactly the correct
> > path.
> >
> > I'm really confused as to how you can see this failure.
>
> OK, the problem was that I used install prefix identical with the
> builddir so the files would not be in the same location:
>
> $ ls mesa-meson-64/include/vulkan/
> vulkan_intel.h
>
> $ ls mesa/include/vulkan/
> vk_android_native_buffer.h vulkan.h vulkan_win32.h
> vk_icd.h vulkan_intel.h vulkan_xcb.h
> vk_platform.h vulkan_ios.h vulkan_xlib.h
> vulkan_android.h vulkan_macos.h vulkan_xlib_randr.h
> vulkan_core.h vulkan_vi.h vulkan_xlib_xrandr.h
> vulkan_fuchsia.h vulkan_wayland.h
>
> although, it's a bit weird that only vulkan_intel.h got installed.
>
vulkan_intel.h is part by anv, all of the other headers are part of the upstream
khronos headers provided by the vulkan loader.
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181231/68384aeb/attachment.sig>
More information about the mesa-dev
mailing list