101e04c3fSmrg# Copyright © 2017 Intel Corporation
201e04c3fSmrg
301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy
401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal
501e04c3fSmrg# in the Software without restriction, including without limitation the rights
601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is
801e04c3fSmrg# furnished to do so, subject to the following conditions:
901e04c3fSmrg
1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in
1101e04c3fSmrg# all copies or substantial portions of the Software.
1201e04c3fSmrg
1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1901e04c3fSmrg# SOFTWARE.
2001e04c3fSmrg
217ec681f3Smrginc_include = [include_directories('.')]
2201e04c3fSmrginc_d3d9 = include_directories('D3D9')
2301e04c3fSmrginc_haikugl = include_directories('HaikuGL')
2401e04c3fSmrg
257ec681f3Smrg# Most things assume that Android headers are in the default include
267ec681f3Smrg# path when compiling for Android so add the stub headers to
277ec681f3Smrg# inc_include when using the stub.
287ec681f3Smrgif with_android_stub
297ec681f3Smrg  inc_include += [include_directories('android_stub')]
3001e04c3fSmrgendif
3101e04c3fSmrg
327ec681f3Smrgif not with_glvnd
337ec681f3Smrg  if with_gles1 or with_gles2 or with_opengl or with_egl
347ec681f3Smrg    install_headers('KHR/khrplatform.h', subdir : 'KHR')
357ec681f3Smrg  endif
367ec681f3Smrg
377ec681f3Smrg  if with_gles1
387ec681f3Smrg    install_headers(
397ec681f3Smrg      'GLES/egl.h',
407ec681f3Smrg      'GLES/gl.h',
417ec681f3Smrg      'GLES/glext.h',
427ec681f3Smrg      'GLES/glplatform.h',
437ec681f3Smrg      subdir : 'GLES',
447ec681f3Smrg    )
457ec681f3Smrg  endif
467ec681f3Smrg
477ec681f3Smrg  if with_gles2
487ec681f3Smrg    install_headers(
497ec681f3Smrg      'GLES2/gl2.h',
507ec681f3Smrg      'GLES2/gl2ext.h',
517ec681f3Smrg      'GLES2/gl2platform.h',
527ec681f3Smrg      subdir : 'GLES2',
537ec681f3Smrg    )
547ec681f3Smrg    install_headers(
557ec681f3Smrg      'GLES3/gl3.h',
567ec681f3Smrg      'GLES3/gl31.h',
577ec681f3Smrg      'GLES3/gl32.h',
587ec681f3Smrg      'GLES3/gl3ext.h',
597ec681f3Smrg      'GLES3/gl3platform.h',
607ec681f3Smrg      subdir : 'GLES3',
617ec681f3Smrg    )
627ec681f3Smrg  endif
637ec681f3Smrg
647ec681f3Smrg  if with_opengl
657ec681f3Smrg    install_headers(
667ec681f3Smrg      'GL/gl.h',
677ec681f3Smrg      'GL/glcorearb.h',
687ec681f3Smrg      'GL/glext.h',
697ec681f3Smrg      subdir : 'GL',
707ec681f3Smrg    )
717ec681f3Smrg  endif
727ec681f3Smrg
737ec681f3Smrg  if with_glx != 'disabled'
747ec681f3Smrg    install_headers(
757ec681f3Smrg      'GL/glx.h',
767ec681f3Smrg      'GL/glxext.h',
777ec681f3Smrg      subdir : 'GL')
787ec681f3Smrg  endif
797ec681f3Smrg
807ec681f3Smrg  if with_egl
817ec681f3Smrg    install_headers(
827ec681f3Smrg      'EGL/egl.h',
837ec681f3Smrg      'EGL/eglext.h',
847ec681f3Smrg      'EGL/eglplatform.h',
857ec681f3Smrg      subdir : 'EGL',
867ec681f3Smrg    )
877ec681f3Smrg  endif
8801e04c3fSmrgendif
8901e04c3fSmrg
907ec681f3Smrg# Non-upstream headers
917ec681f3Smrgif with_egl
9201e04c3fSmrg  install_headers(
937ec681f3Smrg    'EGL/eglmesaext.h',
947ec681f3Smrg    'EGL/eglextchromium.h',
957ec681f3Smrg    subdir : 'EGL',
9601e04c3fSmrg  )
9701e04c3fSmrgendif
9801e04c3fSmrg
997ec681f3Smrgif with_osmesa
10001e04c3fSmrg  install_headers('GL/osmesa.h', subdir : 'GL')
10101e04c3fSmrgendif
10201e04c3fSmrg
10301e04c3fSmrgif with_dri
10401e04c3fSmrg  install_headers('GL/internal/dri_interface.h', subdir : 'GL/internal')
10501e04c3fSmrgendif
10601e04c3fSmrg
10701e04c3fSmrgif with_gallium_st_nine
10801e04c3fSmrg  install_headers(
10901e04c3fSmrg    'd3dadapter/d3dadapter9.h', 'd3dadapter/drm.h', 'd3dadapter/present.h',
11001e04c3fSmrg    subdir : 'd3dadapter',
11101e04c3fSmrg  )
11201e04c3fSmrgendif
11301e04c3fSmrg
11401e04c3fSmrgif with_platform_haiku
11501e04c3fSmrg  install_headers(
11601e04c3fSmrg    'HaikuGL/GLRenderer.h', 'HaikuGL/GLView.h', 'HaikuGL/OpenGLKit.h',
11701e04c3fSmrg    subdir : 'opengl',
11801e04c3fSmrg  )
11901e04c3fSmrgendif
12001e04c3fSmrg
12101e04c3fSmrg# Only install the headers if we are building a stand alone implementation and
12201e04c3fSmrg# not an ICD enabled implementation
12301e04c3fSmrgif with_gallium_opencl and not with_opencl_icd
12401e04c3fSmrg  install_headers(
12501e04c3fSmrg    'CL/cl.h',
12601e04c3fSmrg    'CL/cl.hpp',
12753c12917Smaya    'CL/cl2.hpp',
12801e04c3fSmrg    'CL/cl_d3d10.h',
12901e04c3fSmrg    'CL/cl_d3d11.h',
13001e04c3fSmrg    'CL/cl_dx9_media_sharing.h',
13153c12917Smaya    'CL/cl_dx9_media_sharing_intel.h',
13201e04c3fSmrg    'CL/cl_egl.h',
13301e04c3fSmrg    'CL/cl_ext.h',
13453c12917Smaya    'CL/cl_ext_intel.h',
13501e04c3fSmrg    'CL/cl_gl.h',
13601e04c3fSmrg    'CL/cl_gl_ext.h',
1377ec681f3Smrg    'CL/cl_icd.h',
13801e04c3fSmrg    'CL/cl_platform.h',
13953c12917Smaya    'CL/cl_va_api_media_sharing_intel.h',
14053c12917Smaya    'CL/cl_version.h',
14101e04c3fSmrg    'CL/opencl.h',
14201e04c3fSmrg    subdir: 'CL'
14301e04c3fSmrg  )
14401e04c3fSmrgendif
145