meson/swr: re-shuffle generated files
authorGeorge Kyriazis <george.kyriazis@intel.com>
Thu, 1 Feb 2018 03:44:54 +0000 (21:44 -0600)
committerGeorge Kyriazis <george.kyriazis@intel.com>
Fri, 2 Feb 2018 23:43:00 +0000 (17:43 -0600)
Move generated files from codegen/meson.build to other directories, in order
to satisfy generated include file dependencies

Add correct file lists for architecture-specific libraries.

cc: mesa-stable@lists.freedesktop.org
cc: dylan@pnwbakers.com

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
src/gallium/drivers/swr/meson.build
src/gallium/drivers/swr/rasterizer/codegen/meson.build
src/gallium/drivers/swr/rasterizer/core/backends/meson.build [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/jitter/meson.build [new file with mode: 0644]

index ae86c8ec3801341954c92e477134679568162acb..4d6af87af086dcbb18c4592ac6cef2afb6b967d1 100644 (file)
@@ -151,7 +151,22 @@ files_swr_arch = files(
 swr_context_files = files('swr_context.h')
 swr_state_files = files('rasterizer/core/state.h')
 swr_event_proto_files = files('rasterizer/archrast/events.proto')
+swr_gen_backend_files = files('rasterizer/codegen/templates/gen_backend.cpp')
+swr_gen_rasterizer_files = files('rasterizer/codegen/templates/gen_rasterizer.cpp')
+swr_gen_header_init_files = files('rasterizer/codegen/templates/gen_header_init.hpp')
+
+swr_gen_llvm_ir_macros_py = files('rasterizer/codegen/gen_llvm_ir_macros.py')
+swr_gen_backends_py = files('rasterizer/codegen/gen_backends.py')
+
+swr_gen_builder_depends = files(
+    'rasterizer/codegen/templates/gen_builder.hpp',
+    'rasterizer/codegen/gen_common.py'
+    )
+
+
+subdir('rasterizer/jitter')
 subdir('rasterizer/codegen')
+subdir('rasterizer/core/backends')
 
 swr_incs = include_directories(
   'rasterizer/codegen', 'rasterizer/core', 'rasterizer/jitter',
@@ -180,7 +195,7 @@ if with_swr_arches.contains('avx')
   swr_arch_defines += '-DHAVE_SWR_AVX'
   swr_arch_libs += shared_library(
     'swrAVX',
-    files_swr_common,
+    [files_swr_common, files_swr_arch],
     cpp_args : [swr_cpp_args, swr_avx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX'],
     link_args : [ld_args_gc_sections],
     include_directories : [swr_incs],
@@ -212,7 +227,7 @@ if with_swr_arches.contains('avx2')
   swr_arch_defines += '-DHAVE_SWR_AVX2'
   swr_arch_libs += shared_library(
     'swrAVX2',
-    files_swr_common,
+    [files_swr_common, files_swr_arch],
     cpp_args : [swr_cpp_args, swr_avx2_args, '-DKNOB_ARCH=KNOB_ARCH_AVX2'],
     link_args : [ld_args_gc_sections],
     include_directories : [swr_incs],
@@ -236,7 +251,7 @@ if with_swr_arches.contains('knl')
   swr_arch_defines += '-DHAVE_SWR_KNL'
   swr_arch_libs += shared_library(
     'swrKNL',
-    files_swr_common,
+    [files_swr_common, files_swr_arch],
     cpp_args : [
       swr_cpp_args, swr_knl_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512',
       '-DKNOB_ARCH_KNIGHTS',
@@ -263,7 +278,7 @@ if with_swr_arches.contains('skx')
   swr_arch_defines += '-DHAVE_SWR_SKX'
   swr_arch_libs += shared_library(
     'swrSKX',
-    files_swr_common,
+    [files_swr_common, files_swr_arch],
     cpp_args : [swr_cpp_args, swr_skx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512'],
     link_args : [ld_args_gc_sections],
     include_directories : [swr_incs],
index a21f40540a1bbd5d17e3728675ce796aa3facf55..2cef0d3aaf5878bc0da89858ae67993af794c8c8 100644 (file)
@@ -40,40 +40,6 @@ gen_knobs_h = custom_target(
   ),
 )
 
-gen_builder_hpp = custom_target(
-  'gen_builder.hpp',
-  input : [
-    'gen_llvm_ir_macros.py',
-    join_paths(
-      dep_llvm.get_configtool_variable('includedir'), 'llvm', 'IR',
-      'IRBuilder.h'
-    )
-  ],
-  output : 'gen_builder.hpp',
-  command : [
-    prog_python2, '@INPUT0@', '--input', '@INPUT1@', '--output', '@OUTPUT@',
-    '--gen_h', '--output-dir', meson.current_build_dir()
-  ],
-  depend_files : files(
-    'templates/gen_builder.hpp',
-    'gen_common.py',
-  ),
-  build_by_default : true,
-)
-
-gen_builder_x86_hpp = custom_target(
-  'gen_builder_x86.hpp',
-  input : 'gen_llvm_ir_macros.py',
-  output : 'gen_builder_x86.hpp',
-  command : [
-    prog_python2, '@INPUT0@', '--gen_x86_h', '--output', '@OUTPUT@',
-    '--output-dir', meson.current_build_dir()
-  ],
-  depend_files : files(
-    'templates/gen_builder.hpp',
-    'gen_common.py',
-  ),
-)
 
 # The generators above this are needed individually, while the below generators
 # are all inputs to the same lib, so they don't need unique names.
@@ -114,45 +80,3 @@ foreach x : [['gen_ar_event.hpp', '--gen_event_hpp'],
   )
 endforeach
 
-files_swr_common += custom_target(
-  'gen_backend_pixel',
-  input : 'gen_backends.py',
-  output : [
-    'gen_BackendPixelRate0.cpp', 'gen_BackendPixelRate1.cpp',
-    'gen_BackendPixelRate2.cpp', 'gen_BackendPixelRate3.cpp',
-    'gen_BackendPixelRate.hpp',
-  ],
-  command : [
-    prog_python2, '@INPUT@',
-    '--outdir', meson.current_build_dir(),
-    '--dim', '5', '2', '3', '2', '2', '2',
-    '--numfiles', '4',
-    '--cpp', '--hpp',
-  ],
-  depend_files : files(
-    'templates/gen_backend.cpp',
-    'templates/gen_header_init.hpp',
-  ),
-)
-
-files_swr_common += custom_target(
-  'gen_backend_raster',
-  input : 'gen_backends.py',
-  output : [
-    'gen_rasterizer0.cpp', 'gen_rasterizer1.cpp',
-    'gen_rasterizer2.cpp', 'gen_rasterizer3.cpp',
-    'gen_rasterizer.hpp',
-  ],
-  command : [
-    prog_python2, '@INPUT@',
-    '--outdir', meson.current_build_dir(),
-    '--rast',
-    '--dim', '5', '2', '2', '3', '5', '2',
-    '--numfiles', '4',
-    '--cpp', '--hpp',
-  ],
-  depend_files : files(
-    'templates/gen_rasterizer.cpp',
-    'templates/gen_header_init.hpp',
-  ),
-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/backends/meson.build b/src/gallium/drivers/swr/rasterizer/core/backends/meson.build
new file mode 100644 (file)
index 0000000..25665a3
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright © 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+
+files_swr_common += custom_target(
+  'gen_backend_pixel',
+  input : swr_gen_backends_py,
+  output : [
+    'gen_BackendPixelRate0.cpp', 'gen_BackendPixelRate1.cpp',
+    'gen_BackendPixelRate2.cpp', 'gen_BackendPixelRate3.cpp',
+    'gen_BackendPixelRate.hpp',
+  ],
+  command : [
+    prog_python2, '@INPUT@',
+    '--outdir', '@OUTDIR@',
+    '--dim', '5', '2', '3', '2', '2', '2',
+    '--numfiles', '4',
+    '--cpp', '--hpp',
+  ],
+  depend_files : [ swr_gen_backend_files, swr_gen_header_init_files ],
+)
+
+files_swr_common += custom_target(
+  'gen_backend_raster',
+  input : swr_gen_backends_py,
+  output : [
+    'gen_rasterizer0.cpp', 'gen_rasterizer1.cpp',
+    'gen_rasterizer2.cpp', 'gen_rasterizer3.cpp',
+    'gen_rasterizer.hpp',
+  ],
+  command : [
+    prog_python2, '@INPUT@',
+    '--outdir', '@OUTDIR@',
+    '--rast',
+    '--dim', '5', '2', '2', '3', '5', '2',
+    '--numfiles', '4',
+    '--cpp', '--hpp',
+  ],
+  depend_files : [ swr_gen_rasterizer_files, swr_gen_header_init_files ],
+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/meson.build b/src/gallium/drivers/swr/rasterizer/jitter/meson.build
new file mode 100644 (file)
index 0000000..d4e79d5
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright © 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+
+gen_builder_hpp = custom_target(
+  'gen_builder.hpp',
+  input : [
+    swr_gen_llvm_ir_macros_py,
+    join_paths(
+      dep_llvm.get_configtool_variable('includedir'), 'llvm', 'IR',
+      'IRBuilder.h'
+    )
+  ],
+  output : 'gen_builder.hpp',
+  command : [
+    prog_python2, '@INPUT0@', '--input', '@INPUT1@', '--output', '@OUTPUT@',
+    '--gen_h', '--output-dir', '@OUTDIR@'
+  ],
+  depend_files : swr_gen_builder_depends,
+  build_by_default : true,
+)
+
+gen_builder_x86_hpp = custom_target(
+  'gen_builder_x86.hpp',
+  input : '../codegen/gen_llvm_ir_macros.py',
+  output : 'gen_builder_x86.hpp',
+  command : [
+    prog_python2, '@INPUT0@', '--gen_x86_h', '--output', '@OUTPUT@',
+    '--output-dir', '@OUTDIR@'
+  ],
+  depend_files : swr_gen_builder_depends,
+)
+