X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=meson.build;h=f8e97a566c43c6c4308da38fdfca8d839d51fc94;hb=d6f64b665a39e0bde2fe5d5b79a0274f734b2c6e;hp=34f85586bc1bce9a910ddf693801421bee60b0e9;hpb=a30af04e6f81514149ef589ecfe71ec80c34e10a;p=src%2Fagl-compositor.git diff --git a/meson.build b/meson.build index 34f8558..f8e97a5 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('agl-compositor', - 'c', - version: '0.0.18', + 'c','cpp', + version: '0.0.19', default_options: [ 'warning_level=3', 'c_std=gnu99', @@ -10,11 +10,14 @@ project('agl-compositor', ) config_h = configuration_data() -agl_compositor_version = '0.0.18' +agl_compositor_version = '0.0.19' libweston_version = 'libweston-8' pkgconfig = import('pkgconfig') +fs = import('fs') cc = meson.get_compiler('c') +cxx = meson.get_compiler('cpp') + add_project_arguments( cc.get_supported_arguments([ '-Wno-unused-parameter', @@ -73,10 +76,11 @@ depnames_waltham = [ deps_waltham = [] foreach depname : depnames_waltham dep = dependency(depname, required: false) - if not dep.found() + if dep.found() + deps_waltham += dep + else message('Waltham requires @0@ which was not found. '.format(depname)) endif - deps_waltham += dep endforeach deps_waltham += deps_remoting @@ -131,14 +135,17 @@ foreach proto: protocols endforeach endforeach -# libweston-6 pkg-config file already has 'libweston-6' as prefix but -# agl-compositor uses 'libweston-6' also. This makes use of the prefix -# path as to allow building and installing the compositor locally +# libweston pkg-config file already has 'libweston' as prefix but +# agl-compositor uses 'libweston' also. This makes use of the prefix path as to +# allow building and installing the compositor locally prefix_path = get_option('prefix') message('prefix_path ' + prefix_path) if not prefix_path.contains('/usr') - additional_include_dir = include_directories(prefix_path + '/' + 'include') - local_dep = declare_dependency(include_directories: additional_include_dir) + include_dir_str = join_paths(prefix_path, 'include') + if not fs.is_dir(include_dir_str) + error('Prefix path does not contain an include directory!') + endif + local_dep = declare_dependency(include_directories: include_dir_str) else local_dep = [] endif @@ -155,8 +162,9 @@ deps_libweston = [ local_dep, ] + srcs_agl_compositor = [ - 'src/main.c', + 'src/compositor.c', 'src/desktop.c', 'src/layout.c', 'src/policy.c', @@ -181,17 +189,25 @@ if policy_to_install == 'auto' or policy_to_install == 'allow-all' elif policy_to_install == 'deny-all' srcs_agl_compositor += 'src/policy-deny.c' message('Installing deny all policy') +elif policy_to_install == 'rba' + srcs_agl_compositor += ['src/policy-rba.c', 'src/rba_adapter.cpp'] + deps_libweston += dependency('librba') + message('Installing rba policy') endif - # From meson documentation: # In order to look for headers in a specific directory you can use args : # '-I/extra/include/dir, but this should only be used in exceptional cases for # includes that can't be detected via pkg-config and passed via dependencies. if libweston_dep.found() - if not prefix_path.contains('/usr') - dir_path_x11_backend = join_paths(prefix_path, 'include', libweston_version, 'libweston', 'backend-x11.h') + if not meson.is_cross_build() + if not prefix_path.contains('/usr') + dir_path_x11_backend = join_paths(prefix_path, 'include', libweston_version, 'libweston', 'backend-x11.h') + else + dir_path_x11_backend = join_paths(libweston_version, 'libweston', 'backend-x11.h') + endif else + message('Building with cross environment') dir_path_x11_backend = join_paths(libweston_version, 'libweston', 'backend-x11.h') endif @@ -225,12 +241,31 @@ if dep_libsmack.found() deps_libweston += dep_libsmack endif +dir_module_agl_compositor = join_paths(join_paths(prefix_path, get_option('libdir')), 'agl-compositor') + +libexec_compositor = shared_library( + 'exec_compositor', + sources: srcs_agl_compositor, + dependencies: deps_libweston, + install_dir: dir_module_agl_compositor, + install: true, + version: '0.0.0', + soversion: 0 +) + +dep_libexec_compositor = declare_dependency( + link_with: libexec_compositor, + include_directories: [ include_directories('.') ], + dependencies: deps_libweston, +) + configure_file(output: 'config.h', configuration: config_h) exe_agl_compositor = executable( 'agl-compositor', - srcs_agl_compositor, - dependencies: deps_libweston, + 'src/main.c', + dependencies: dep_libexec_compositor, + install_rpath: dir_module_agl_compositor, install: true )