forked from enlightenment/efl
Compare commits
7 Commits
master
...
devs/bu5hm
Author | SHA1 | Date |
---|---|---|
Marcel Hollerbach | edaf4a2dd8 | |
Marcel Hollerbach | ee13fd8cf6 | |
Marcel Hollerbach | 55a0e7a9c4 | |
Marcel Hollerbach | 7c173351fb | |
Marcel Hollerbach | fd8b758edd | |
Marcel Hollerbach | 0dbbf795e8 | |
Marcel Hollerbach | 2d2d52c88c |
|
@ -337,7 +337,7 @@ subprojects = [
|
|||
['ethumb' ,[] , true, true, true, false, false, false, true, ['eina', 'efl', 'eo'], []],
|
||||
['ethumb_client' ,[] , false, true, true, false, false, true, true, ['eina', 'efl', 'eo', 'ethumb'], []],
|
||||
['elementary' ,[] , true, true, true, true, true, true, true, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'eldbus', 'efreet', 'efreet-mime', 'efreet-trash', 'eio'], ['atspi']],
|
||||
['efl_canvas_wl' ,['wl'] , false, true, true, false, false, false, false, ['eina', 'efl', 'eo', 'evas', 'ecore'], []],
|
||||
['efl_canvas_wl' ,['wl'] , false, true, true, false, false, false, true, ['eina', 'efl', 'eo', 'evas', 'ecore'], []],
|
||||
['elua' ,['elua'] , false, true, true, false, true, false, false, ['eina', 'luajit'], []],
|
||||
['ecore_wayland' ,['wl-deprecated'] , false, true, false, false, false, false, false, ['eina'], []],
|
||||
['ecore_drm' ,['drm-deprecated'] , false, true, false, false, false, false, false, ['eina'], []],
|
||||
|
@ -428,7 +428,7 @@ foreach package : subprojects
|
|||
)
|
||||
# dependency for all the .eo file targets
|
||||
efl_one_eo_deps += declare_dependency(
|
||||
sources: pub_eo_file_target,
|
||||
sources: pub_eo_file_target + priv_eo_file_target, #this here *needs* to be public and private, because our binaries and modules do depend on internal headers
|
||||
)
|
||||
efl_one_deps += external_deps
|
||||
efl_one_parts += tmp
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
#!/bin/env python3
|
||||
import os
|
||||
import subprocess
|
||||
import argparse
|
||||
import json
|
||||
from elftools.elf.elffile import ELFFile
|
||||
|
||||
|
||||
#meson changed behaviour from 0.49 to 0.50 so we need this:
|
||||
def meson_fetch_filename(filename_object):
|
||||
if isinstance(filename_object, str):
|
||||
return filename_object
|
||||
else:
|
||||
return filename_object[0]
|
||||
|
||||
|
||||
def needed_libs(filename):
|
||||
print('Processing file:', filename)
|
||||
result = []
|
||||
with open(filename, 'rb') as f:
|
||||
elffile = ELFFile(f)
|
||||
for section in elffile.iter_sections():
|
||||
if section.name.startswith('.dynamic'):
|
||||
for tag in section.iter_tags():
|
||||
if tag.entry.d_tag == 'DT_NEEDED':
|
||||
result.append(getattr(tag, tag.entry.d_tag[3:].lower()))
|
||||
return result
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(description='Check that when build with efl-one that no module nor efl-one lib does drag in libeina or the likes')
|
||||
parser.add_argument('builddir', metavar='build', help='the path where to find the meson build directory')
|
||||
|
||||
G = parser.parse_args()
|
||||
|
||||
#Run meson to fetch all examples
|
||||
meson_introspect = subprocess.Popen(["meson", "introspect", G.builddir, "--targets"],
|
||||
stdout = subprocess.PIPE,
|
||||
stderr = subprocess.PIPE,
|
||||
)
|
||||
meson_introspect.poll()
|
||||
build_targets = json.loads(meson_introspect.stdout.read())
|
||||
build_modules = [meson_fetch_filename(b["filename"]) for b in build_targets if "modules" in meson_fetch_filename(b["filename"]) and meson_fetch_filename(b["filename"]).endswith('.so')]
|
||||
|
||||
for build_modules in build_modules:
|
||||
libs = needed_libs(build_modules)
|
||||
lib_es = [lib for lib in libs if lib.startswith("libe") and lib != "libefl-one.so.1"]
|
||||
if len(lib_es) != 0:
|
||||
print("Error, {} requies lib {}".format(build_modules, lib_es[0]))
|
||||
exit(-1)
|
||||
|
||||
print("Nothing wrong found!")
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
efl_canvas_wl_deps = [ecore_wl2, ecore_input, ecore, ecore_evas, evas, emile, eina, wayland_protocol ]
|
||||
efl_canvas_wl_pub_deps = [eo, efl, evas, dependency('wayland-server', version : '>= 1.11.0'), dependency('xkbcommon', version : '>= 0.6.0')]
|
||||
efl_canvas_wl_deps = [ecore_wl2, ecore_input, ecore, ecore_evas, evas, emile, eina]
|
||||
efl_canvas_wl_pub_deps = [eo, efl, evas]
|
||||
efl_canvas_wl_ext_deps = [dependency('wayland-server', version : '>= 1.11.0'), dependency('xkbcommon', version : '>= 0.6.0'), wayland_protocol]
|
||||
|
||||
if (get_option('x11'))
|
||||
efl_canvas_wl_deps += [ecore_x]
|
||||
efl_canvas_wl_pub_deps += [dependency('xkbcommon-x11')]
|
||||
efl_canvas_wl_ext_deps += [dependency('xkbcommon-x11')]
|
||||
endif
|
||||
|
||||
pub_eo_files = [
|
||||
|
@ -25,16 +26,17 @@ foreach eo_file : pub_eo_files
|
|||
'-gchd', '@INPUT@'])
|
||||
endforeach
|
||||
|
||||
efl_canvas_wl_src = [
|
||||
efl_canvas_wl_src = files([
|
||||
'dmabuf.c',
|
||||
'efl_canvas_wl.c',
|
||||
]
|
||||
])
|
||||
|
||||
efl_canvas_wl_header_src = ['Efl_Canvas_Wl.h']
|
||||
eolian_include_directories += ['-I', meson.current_source_dir()]
|
||||
|
||||
efl_canvas_wl_lib = library('efl_canvas_wl',
|
||||
efl_canvas_wl_src, pub_eo_file_target,
|
||||
dependencies: [m, dl] + efl_canvas_wl_deps + efl_canvas_wl_pub_deps,
|
||||
dependencies: efl_canvas_wl_deps + efl_canvas_wl_pub_deps + efl_canvas_wl_ext_deps,
|
||||
include_directories : config_dir + [include_directories(join_paths('..','..'))],
|
||||
install: true,
|
||||
c_args : package_c_args,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
eina_deps = [dl]
|
||||
eina_pub_deps = [thread_dep]
|
||||
eina_pub_deps = [thread_dep, m]
|
||||
eina_pc_deps = [m, rt, dl, thread_dep] #special case, this array is taken to drag in external deps to efl-one
|
||||
eina_ext_deps = eina_pc_deps
|
||||
|
||||
|
@ -388,11 +388,6 @@ install_headers(public_sub_headers,
|
|||
install_dir : join_paths(dir_package_include, 'eina')
|
||||
)
|
||||
|
||||
automatic_pkgfile = false
|
||||
|
||||
pkgconfig.generate(eina_lib,
|
||||
name : 'eina',
|
||||
subdirs : ['eina-'+version_major, 'efl-'+version_major, join_paths('eina-'+version_major, 'eina')],
|
||||
version : version_major + '.' + version_minor + '.' + version_micro,
|
||||
libraries : eina_pub_deps + eina_pc_deps,
|
||||
)
|
||||
package_header_subdirs += 'eina'
|
||||
#special case here to support -lm -ldl -threads
|
||||
eina_pub_deps += eina_pc_deps
|
||||
|
|
|
@ -49,7 +49,8 @@ evas_vg_savers_file = ['eet', 'svg']
|
|||
|
||||
rel_evas_modules = join_paths('..', '..', '..', 'modules', 'evas', 'engines', 'software_generic')
|
||||
evas_deps = [eo, eet, eina, efl, emile, ector, ecore, draw, buildsystem]
|
||||
evas_ext_deps = [buildsystem_simple, intl, m, draw_simple, valgrind, libunibreak, lua, vg_common]
|
||||
evas_ext_deps = []
|
||||
evas_ext_none_static_deps = [buildsystem_simple, intl, m, draw_simple, valgrind, libunibreak, lua, vg_common]
|
||||
|
||||
pub_eo_file_target = []
|
||||
priv_eo_files = []
|
||||
|
@ -138,16 +139,16 @@ evas_src += files([
|
|||
|
||||
evas_src_opt = [ ]
|
||||
|
||||
evas_ext_deps += dependency('freetype2')
|
||||
evas_ext_none_static_deps += dependency('freetype2')
|
||||
|
||||
if (get_option('fontconfig'))
|
||||
config_h.set('HAVE_FONTCONFIG', '1')
|
||||
evas_ext_deps += dependency('fontconfig')
|
||||
evas_ext_none_static_deps += dependency('fontconfig')
|
||||
endif
|
||||
|
||||
if (get_option('fribidi'))
|
||||
config_h.set('HAVE_FRIBIDI', '1')
|
||||
evas_ext_deps += dependency('fribidi')
|
||||
evas_ext_none_static_deps += dependency('fribidi')
|
||||
endif
|
||||
|
||||
if (get_option('pixman'))
|
||||
|
@ -155,16 +156,16 @@ if (get_option('pixman'))
|
|||
foreach support : pixman_support
|
||||
config_h.set(support, '1')
|
||||
endforeach
|
||||
evas_ext_deps += dependency('pixman-1')
|
||||
evas_ext_none_static_deps += dependency('pixman-1')
|
||||
endif
|
||||
|
||||
if (get_option('hyphen'))
|
||||
config_h.set('HAVE_HYPHEN', '1')
|
||||
hyphen = dependency('hyphen', required : false)
|
||||
if hyphen.found() == false
|
||||
evas_ext_deps += cc.find_library('hyphen')
|
||||
evas_ext_none_static_deps += cc.find_library('hyphen')
|
||||
endif
|
||||
evas_ext_deps += hyphen
|
||||
evas_ext_none_static_deps += hyphen
|
||||
config_h.set_quoted('EVAS_DICTS_HYPHEN_DIR', get_option('dictionaries-hyphen-dir'))
|
||||
endif
|
||||
|
||||
|
@ -180,12 +181,12 @@ subdir('vg')
|
|||
gl_deps = []
|
||||
|
||||
if get_option('harfbuzz')
|
||||
evas_ext_deps += dependency('harfbuzz')
|
||||
evas_ext_none_static_deps += dependency('harfbuzz')
|
||||
config_h.set('HAVE_HARFBUZZ', '1')
|
||||
endif
|
||||
|
||||
if get_option('wl')
|
||||
evas_ext_deps += wayland_protocol
|
||||
evas_ext_none_static_deps += wayland_protocol
|
||||
endif
|
||||
|
||||
|
||||
|
@ -204,13 +205,13 @@ evas_pub_deps = [eina, ecore, ector, emile]
|
|||
|
||||
if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
|
||||
evas_opt = static_library('evas_opt',
|
||||
sources: evas_src_opt,
|
||||
sources: [evas_src_opt, pub_eo_file_target, priv_eo_file_target],
|
||||
include_directories:
|
||||
[ include_directories('../../..') ] +
|
||||
evas_include_directories +
|
||||
[vg_common_inc_dir],
|
||||
c_args: native_arch_opt_c_args,
|
||||
dependencies: [eina, eo, ector, emile, evas_deps, evas_ext_deps],
|
||||
dependencies: [eina, eo, ector, emile, evas_deps, evas_ext_none_static_deps],
|
||||
)
|
||||
evas_link += [ evas_opt ]
|
||||
endif
|
||||
|
@ -284,6 +285,8 @@ evas_ext_deps += declare_dependency(
|
|||
link_with: evas_link,
|
||||
)
|
||||
|
||||
evas_ext_deps += evas_ext_none_static_deps
|
||||
|
||||
evas_lib = library('evas',
|
||||
include_directories: evas_include_directories + [vg_common_inc_dir],
|
||||
sources : [evas_src, pub_eo_file_target, priv_eo_file_target],
|
||||
|
|
|
@ -46,7 +46,7 @@ foreach engine_conf : engines
|
|||
if build
|
||||
engine_include_dir = []
|
||||
engine_src = []
|
||||
engine_deps = [eina, evas, evas_ext_deps]
|
||||
engine_deps = [eina, evas, evas_ext_none_static_deps, eet]
|
||||
engine_dep = declare_dependency(
|
||||
include_directories: include_directories(engine),
|
||||
)
|
||||
|
|
|
@ -11,7 +11,7 @@ foreach loader_inst : evas_image_loaders_file
|
|||
shared_module('shared_loader_'+loader, file,
|
||||
c_args : package_c_args,
|
||||
include_directories : config_dir,
|
||||
dependencies : [eina, evas, evas_ext_deps] + loader_deps,
|
||||
dependencies : [eina, evas, eet, evas_ext_none_static_deps] + loader_deps,
|
||||
install : true,
|
||||
install_dir : mod_install_dir,
|
||||
name_suffix : sys_mod_extension
|
||||
|
|
|
@ -11,7 +11,7 @@ foreach loader_inst : evas_image_savers_file
|
|||
shared_module('shared_saver_'+loader, file,
|
||||
c_args : package_c_args,
|
||||
include_directories : config_dir,
|
||||
dependencies : [eina, evas, eet, evas_ext_deps] + loader_deps,
|
||||
dependencies : [eina, evas, eet, evas_ext_none_static_deps] + loader_deps,
|
||||
install : true,
|
||||
install_dir : mod_install_dir,
|
||||
name_suffix : sys_mod_extension
|
||||
|
|
Loading…
Reference in New Issue