xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

meson.build (2787B)


      1 python3 = import('python3')
      2 
      3 # XWin requires OpenGL spec files in order to generate wrapper code for native GL functions
      4 py3 = python3.find_python()
      5 if run_command(py3, '-c', 'import lxml;').returncode() != 0
      6     error('python3 lxml module not found')
      7 endif
      8 
      9 khronos_spec_dir = dependency('khronos-opengl-registry').get_pkgconfig_variable('specdir')
     10 
     11 gen_gl_wrappers_opts= ['-nodebug']
     12 gen_gl_wrappers_cmd = ['env', 'PYTHONPATH=' + khronos_spec_dir, py3, files('./gen_gl_wrappers.py'), gen_gl_wrappers_opts]
     13 
     14 wgl_wrappers = custom_target(
     15     'gen_wgl_wrappers',
     16     command: [gen_gl_wrappers_cmd, '-registry', '@INPUT@', '-prefix', 'wgl', '-wrapper', '-preresolve', '-outfile', '@OUTPUT@'],
     17     input: join_paths(khronos_spec_dir, 'wgl.xml'),
     18     output: 'generated_wgl_wrappers.ic',
     19     depend_files: join_paths(khronos_spec_dir, 'reg.py'),
     20 )
     21 
     22 gl_shim = custom_target(
     23     'gen_gl_shim',
     24     command: [gen_gl_wrappers_cmd, '-registry', '@INPUT@', '-shim', '-outfile', '@OUTPUT@'],
     25     input: join_paths(khronos_spec_dir, 'gl.xml'),
     26     output: 'generated_gl_shim.ic',
     27     depend_files: join_paths(khronos_spec_dir, 'reg.py'),
     28 )
     29 
     30 gl_thunks = custom_target(
     31     'gen_gl_thunks',
     32     command: [gen_gl_wrappers_cmd, '-registry', '@INPUT@', '-thunk', '-outfile', '@OUTPUT@'],
     33     input: join_paths(khronos_spec_dir, 'gl.xml'),
     34     output: 'generated_gl_thunks.ic',
     35     depend_files: join_paths(khronos_spec_dir, 'reg.py'),
     36 )
     37 
     38 gl_thunks_def = custom_target(
     39     'gen_gl_thunks_def',
     40     command: [gen_gl_wrappers_cmd, '-registry', '@INPUT@', '-thunkdefs', '-outfile', '@OUTPUT@'],
     41     input: join_paths(khronos_spec_dir, 'gl.xml'),
     42     output: 'generated_gl_thunks.def',
     43     depend_files: join_paths(khronos_spec_dir, 'reg.py'),
     44 )
     45 
     46 srcs_windows_glx = [
     47     'winpriv.c',
     48     'winpriv.h',
     49     'glwindows.h',
     50     'glshim.c',
     51     gl_shim,
     52     'indirect.c',
     53     'indirect.h',
     54     'wgl_ext_api.c',
     55     wgl_wrappers,
     56     'wgl_ext_api.h',
     57 ]
     58 
     59 if build_windowsdri
     60     srcs_windows_glx += [
     61         'dri_helpers.c',
     62         'dri_helpers.h',
     63     ]
     64 endif
     65 
     66 xwin_glx_c_args = []
     67 xwin_glx_c_args += '-DHAVE_XWIN_CONFIG_H'
     68 xwin_glx_c_args += '-DXWIN_GLX_WINDOWS'
     69 
     70 xwin_glx = static_library(
     71     'XwinGLX',
     72     srcs_windows_glx,
     73     include_directories: [
     74         inc,
     75         top_dir_inc,
     76         include_directories('../'),
     77     ],
     78     dependencies: common_dep,
     79     c_args: xwin_glx_c_args,
     80 )
     81 
     82 srcs_wgl_thunk = [
     83     'glthunk.c',
     84     gl_thunks,
     85 ]
     86 
     87 WGLthunk = shared_library(
     88     'nativeGLthunk',
     89     srcs_wgl_thunk,
     90     include_directories: [
     91         inc,
     92         top_dir_inc,
     93     ],
     94     c_args: xwin_glx_c_args + [
     95       '-Wno-unused-function',
     96       '-Wno-missing-prototypes',
     97       '-Wno-missing-declarations',
     98     ],
     99     link_args: ['-lopengl32'],
    100     vs_module_defs: gl_thunks_def,
    101     install: true,
    102 )