X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmapi%2Fglapi%2Fmeson.build;h=1b8b685f207eee43feef8483cd2cba2ae9fe8a4e;hb=4fcddb55f27e29d78c6937c20d91e7f9962ce875;hp=74f84d289baea61d00c4537bc47cc3695142d9cb;hpb=7503ab687b3992b0967eafd4fb7372ddb3f4445a;p=mesa.git diff --git a/src/mapi/glapi/meson.build b/src/mapi/glapi/meson.build index 74f84d289ba..1b8b685f207 100644 --- a/src/mapi/glapi/meson.build +++ b/src/mapi/glapi/meson.build @@ -18,13 +18,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +subdir('gen') + inc_glapi = include_directories('.') static_glapi_files = [] static_glapi_args = [] -if with_appledri or with_windowsdri - static_glapi_files += files('glapi_gentable.c') +if with_dri and ['apple', 'windows'].contains(with_dri_platform) + static_glapi_files += [glapi_gentable_c, glapitable_h] endif if with_shared_glapi @@ -42,9 +44,21 @@ if with_shared_glapi static_glapi_args += [ '-DMAPI_MODE_BRIDGE', '-DMAPI_ABI_HEADER="@0@"'.format(glapi_mapi_tmp_h.full_path()), + gcc_lto_quirk, ] + if with_platform_windows + static_glapi_args += ['-D_GDI32_', '-DBUILD_GL32'] + endif else static_glapi_args += '-DMAPI_MODE_UTIL' + if with_platform_windows + static_glapi_args += ['-D_GDI32_', '-DBUILD_GL32', '-DKHRONOS_DLL_EXPORTS'] + if with_shared_glapi + static_glapi_args += '-D_GLAPI_DLL_EXPORTS' + else + static_glapi_args += '-D_GLAPI_NO_EXPORTS' + endif + endif static_glapi_files += files( 'glapi_dispatch.c', 'glapi_entrypoint.c', @@ -62,26 +76,32 @@ else static_glapi_files += glapi_x86_s elif with_asm_arch == 'x86_64' static_glapi_files += glapi_x86_64_s + elif with_asm_arch == 'sparc' + static_glapi_files += glapi_sparc_s endif - # TODO: SPARC asm endif libglapi_static = static_library( 'glapi_static', static_glapi_files, - include_directories : [inc_mesa, inc_include, inc_src], + include_directories : [inc_mesa, inc_include, inc_src, inc_mapi], c_args : [c_msvc_compat_args, static_glapi_args], dependencies : [dep_thread, dep_selinux], build_by_default : false, ) -if not with_shared_glapi and with_tests - glapi_static_check_table = executable( +# TODO: this test doesn't compile on windows with mingw or msvc due to +# undefined symbols from libglapi_static, but that should be fixable. +if with_any_opengl and not with_shared_glapi and with_tests and not with_platform_windows + test( 'glapi_static_check_table', - 'tests/check_table.cpp', - link_with : [libglapi_static], - dependencies : [idep_gtest], + executable( + 'glapi_static_check_table', + ['tests/check_table.cpp', glapitable_h], + include_directories : [inc_include, inc_src, inc_mesa, inc_mapi], + link_with : [libglapi_static], + dependencies : [idep_gtest, dep_thread], + ), + suite : ['mapi'], ) - - test('glapi_static_check_table', glapi_static_check_table) endif