1# standalone plugin meson configuration 2project('gst-svt-av1', 'c', 3 version : '0.1', 4 meson_version : '>= 0.29', 5 default_options : [ 'buildtype=debugoptimized' ]) 6 7# standard gst-plugins-bad dependencies and configuration 8gst_req = '>= 1.13.1' 9gst_dep = dependency('gstreamer-1.0', version : gst_req, 10 fallback : ['gstreamer', 'gst_dep']) 11gstbase_dep = dependency('gstreamer-base-1.0', version : gst_req, 12 fallback : ['gstreamer', 'gstbase_dep']) 13gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_req, 14 fallback : ['gstreamer', 'gstvideo_dep']) 15plugins_install_dir = '@0@/gstreamer-1.0'.format(get_option('libdir')) 16 17# common meson configuration 18svtav1enc_dep = dependency('SvtAv1Enc') 19 20cc = meson.get_compiler('c') 21cc_flags = [ 22 '-D_FORTIFY_SOURCE=2', 23 '-Wformat', 24 '-Wformat-security', 25 '-fPIE', 26 '-fPIC', 27 '-fstack-protector-strong', 28] 29foreach flag: cc_flags 30 if cc.has_argument(flag) 31 add_global_arguments(flag, language: 'c') 32 endif 33endforeach 34 35 36ldflags = [ 37 '-Wl,-z,now', 38 '-Wl,-z,relro', 39 '-Wl,-z,noexecstack', 40] 41foreach lflag : ldflags 42 add_global_link_arguments(lflag, language : 'c') 43endforeach 44 45 46if svtav1enc_dep.found() 47 gstsvtav1enc = library('gstsvtav1enc', 48 'gstsvtav1enc.c', 49 dependencies: [gstbase_dep, gstvideo_dep, svtav1enc_dep], 50 install: true, 51 install_dir: plugins_install_dir, 52 ) 53endif 54