[Mesa-dev] [PATCH 3/4] anv: Use central api generation scripts.

Chad Versace chadversary at chromium.org
Thu Aug 9 17:37:33 UTC 2018

On Tue 07 Aug 2018, Dylan Baker wrote:
> Quoting Bas Nieuwenhuizen (2018-08-07 16:14:33)                                                                                                                                                                                                                                       
> >                                                                                                                                                                                                                                                                                     
> >  anv_extensions_c = custom_target(                                                                                                                                                                                                                                                  
> > @@ -36,10 +37,11 @@ anv_extensions_c = custom_target(                                                                                                                                                                                                                               
> >    input : ['anv_extensions_gen.py', vk_api_xml],                                                                                                                                                                                                                                   
> >    output : 'anv_extensions.c',                                                                                                                                                                                                                                                     
> >    command : [                                                                                                                                                                                                                                                                      
> > +   'env', 'PYTHONPATH=@0@'.format(join_paths(meson.source_root(), 'src/vulkan/util/')),                                                                                                                                                                                            
> This is really gross, you're adding a dependency on a unix console command. I                                                                                                                                                                                                         
> know that anv is only built on Unix-like oses, but this will eventually end up                                                                                                                                                                                                        
> being used in some code that needs to run on Windows (or mac, does mac have                                                                                                                                                                                                           
> env?).                                                                                                                                                                                                                                                                                
> I know that some people will object, but IMHO a better solution than mucking                                                                                                                                                                                                          
> with the python path (either through sys.path or through PYTHONPATH, is to                                                                                                                                                                                                            
> put all of the generators in a src/generators directory and be done with it.                                                                                                                                                                                                          
> Sure the intel specific bits (for example) aren't in the src/intel folder, 
> that's a small price to avoid having to call env just to run a python script.

Dylan, I think we should avoid introducing complexity in the build
system for the benefit of operating systems not supported by the driver.
That feels like a serious premature optimazation, to me.  Anvil's usage
of ioctls is highly specific to Linux/Unix, will not work on MacOS, and
definitely does not work on Windows.

(By the way, MacOS has the 'env' command).

More information about the mesa-dev mailing list