Home | History | Annotate | Download | only in xvmc
      1 # Copyright  2017-2018 Intel Corporation
      2 
      3 # Permission is hereby granted, free of charge, to any person obtaining a copy
      4 # of this software and associated documentation files (the "Software"), to deal
      5 # in the Software without restriction, including without limitation the rights
      6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      7 # copies of the Software, and to permit persons to whom the Software is
      8 # furnished to do so, subject to the following conditions:
      9 
     10 # The above copyright notice and this permission notice shall be included in
     11 # all copies or substantial portions of the Software.
     12 
     13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     19 # SOFTWARE.
     20 
     21 # TODO: support non-static targets
     22 # Static targets are always enabled in autotools (unless you modify
     23 # configure.ac)
     24 
     25 xvmc_link_args = []
     26 xvmc_link_depends = []
     27 xvmc_drivers = []
     28 
     29 if with_ld_version_script
     30   xvmc_link_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'xvmc.sym')]
     31   xvmc_link_depends += files('xvmc.sym')
     32 endif
     33 
     34 libxvmc_gallium = shared_library(
     35   'XvMCgallium',
     36   'target.c',
     37   c_args : c_vis_args,
     38   cpp_args : cpp_vis_args,
     39   link_args : [xvmc_link_args, ld_args_gc_sections],
     40   include_directories : [
     41     inc_common, inc_util, inc_gallium_winsys, inc_gallium_drivers,
     42   ],
     43   link_whole : [libxvmc_st],
     44   link_with : [
     45     libgalliumvlwinsys, libgalliumvl, libgallium, libmesa_util,
     46     libpipe_loader_static, libws_null, libwsw, libswdri, libswkmsdri,
     47   ],
     48   dependencies : [dep_thread, driver_r600, driver_nouveau],
     49   link_depends : xvmc_link_depends,
     50 )
     51 
     52 foreach d : [[with_gallium_r600, 'r600'], [with_gallium_nouveau, 'nouveau']]
     53   if d[0]
     54     xvmc_drivers += 'libXvMC@0@.so'.format(d[1])
     55   endif
     56 endforeach
     57 
     58 meson.add_install_script(
     59   join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
     60   libxvmc_gallium.full_path(),
     61   xvmc_drivers_path,
     62   xvmc_drivers,
     63 )
     64