[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