meson.build revision f71742df
1f71742dfSmrg# Configuration file 2f71742dfSmrgconfigure_file(output: 'config.h', configuration: conf) 3f71742dfSmrg 4f71742dfSmrg# List of generated sources: 5f71742dfSmrg# - name of the generated file 6f71742dfSmrg# - registry source file 7f71742dfSmrg# - additional sources 8f71742dfSmrggenerated_sources = [ 9f71742dfSmrg [ 'gl_generated_dispatch.c', gl_registry, [ 'dispatch_common.c', 'dispatch_common.h' ] ] 10f71742dfSmrg] 11f71742dfSmrg 12f71742dfSmrgif build_egl 13f71742dfSmrg generated_sources += [ [ 'egl_generated_dispatch.c', egl_registry, 'dispatch_egl.c' ] ] 14f71742dfSmrgendif 15f71742dfSmrg 16f71742dfSmrgif build_glx 17f71742dfSmrg generated_sources += [ [ 'glx_generated_dispatch.c', glx_registry, 'dispatch_glx.c' ] ] 18f71742dfSmrgendif 19f71742dfSmrg 20f71742dfSmrgif build_wgl 21f71742dfSmrg generated_sources += [ [ 'wgl_generated_dispatch.c', wgl_registry, 'dispatch_wgl.c' ] ] 22f71742dfSmrgendif 23f71742dfSmrg 24f71742dfSmrggen_sources = [ ] 25f71742dfSmrgsources = [ ] 26f71742dfSmrg 27f71742dfSmrgforeach g: generated_sources 28f71742dfSmrg gen_source = g[0] 29f71742dfSmrg registry = g[1] 30f71742dfSmrg source = g[2] 31f71742dfSmrg 32f71742dfSmrg generated = custom_target(gen_source, 33f71742dfSmrg input: registry, 34f71742dfSmrg output: [ gen_source ], 35f71742dfSmrg command: [ 36f71742dfSmrg python, 37f71742dfSmrg gen_dispatch_py, 38f71742dfSmrg '--source', 39f71742dfSmrg '--no-header', 40f71742dfSmrg '--outputdir=@OUTDIR@', 41f71742dfSmrg '@INPUT@', 42f71742dfSmrg ]) 43f71742dfSmrg 44f71742dfSmrg gen_sources += [ generated ] 45f71742dfSmrg sources += [ source ] 46f71742dfSmrgendforeach 47f71742dfSmrg 48f71742dfSmrgepoxy_sources = sources + gen_sources 49f71742dfSmrg 50f71742dfSmrgcommon_ldflags = [] 51f71742dfSmrg 52f71742dfSmrgif host_system == 'linux' 53f71742dfSmrg foreach f: [ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ] 54f71742dfSmrg if cc.has_argument(f) 55f71742dfSmrg common_ldflags += f 56f71742dfSmrg endif 57f71742dfSmrg endforeach 58f71742dfSmrgendif 59f71742dfSmrg 60f71742dfSmrg# Maintain compatibility with autotools; see: https://github.com/anholt/libepoxy/issues/108 61f71742dfSmrgif host_system == 'darwin' 62f71742dfSmrg common_ldflags += [ '-compatibility_version=1', '-current_version=1.0', ] 63f71742dfSmrgendif 64f71742dfSmrg 65f71742dfSmrgepoxy_deps = [ dl_dep, ] 66f71742dfSmrgif host_system == 'windows' 67f71742dfSmrg epoxy_deps += [ opengl32_dep, gdi32_dep ] 68f71742dfSmrgendif 69f71742dfSmrg 70f71742dfSmrg# Allow building a static version of epoxy 71f71742dfSmrgif libtype != 'shared' 72f71742dfSmrg libepoxy_static = static_library('epoxy', 73f71742dfSmrg sources: epoxy_sources + epoxy_headers, 74f71742dfSmrg install: true, 75f71742dfSmrg dependencies: epoxy_deps, 76f71742dfSmrg include_directories: libepoxy_inc, 77f71742dfSmrg c_args: common_cflags + visibility_cflags, 78f71742dfSmrg link_args: common_ldflags) 79f71742dfSmrg libepoxy = libepoxy_static 80f71742dfSmrgendif 81f71742dfSmrg 82f71742dfSmrgif libtype != 'static' 83f71742dfSmrg libepoxy_shared = shared_library('epoxy', 84f71742dfSmrg sources: epoxy_sources + epoxy_headers, 85f71742dfSmrg version: '0.0.0', 86f71742dfSmrg install: true, 87f71742dfSmrg dependencies: epoxy_deps, 88f71742dfSmrg include_directories: libepoxy_inc, 89f71742dfSmrg c_args: common_cflags + visibility_cflags, 90f71742dfSmrg link_args: common_ldflags) 91f71742dfSmrg libepoxy = libepoxy_shared 92f71742dfSmrgendif 93f71742dfSmrg 94f71742dfSmrglibepoxy_dep = declare_dependency(link_with: libepoxy, 95f71742dfSmrg include_directories: libepoxy_inc, 96f71742dfSmrg dependencies: epoxy_deps, 97f71742dfSmrg sources: epoxy_headers) 98