Home | History | Annotate | Download | only in gbm
      1 # Copyright  2017 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 inc_gbm = include_directories('.', 'backends/dri')
     22 
     23 files_gbm = files(
     24   'main/backend.c',
     25   'main/backend.h',
     26   'main/gbm.c',
     27   'main/gbm.h',
     28   'main/gbmint.h',
     29 )
     30 deps_gbm = []
     31 args_gbm = []
     32 deps_gbm = []
     33 incs_gbm = [
     34   include_directories('main'), inc_include, inc_src, inc_loader,
     35   inc_wayland_drm,
     36 ]
     37 
     38 if with_dri2
     39   files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h')
     40   deps_gbm += dep_libdrm # TODO: pthread-stubs
     41   args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path)
     42 endif
     43 if with_platform_wayland
     44   deps_gbm += dep_wayland_server
     45   incs_gbm += inc_wayland_drm
     46 endif
     47 
     48 # TODO: wayland support (requires egl)
     49 
     50 libgbm = shared_library(
     51   'gbm',
     52   files_gbm,
     53   include_directories : incs_gbm,
     54   c_args : [c_vis_args, args_gbm],
     55   link_args : [ld_args_gc_sections],
     56   link_with : [libloader, libmesa_util, libxmlconfig],
     57   dependencies : [deps_gbm, dep_dl, dep_thread],
     58   version : '1.0.0',
     59   install : true,
     60 )
     61 
     62 install_headers('main/gbm.h')
     63 
     64 pkg.generate(
     65   name : 'gbm',
     66   filebase : 'gbm',
     67   description : 'Mesa gbm library',
     68   version : meson.project_version(),
     69   libraries : libgbm,
     70   libraries_private : '-ldl',  # FIXME: autotools lists this a incomplete
     71 )
     72 
     73 if with_tests
     74   test(
     75     'gbm-symbols-check',
     76     find_program('gbm-symbols-check'),
     77     args : libgbm
     78   )
     79 endif
     80