forked from enlightenment/efl
meson: redo evas building
Summary: before recent times we had to support static and shared building based on the options of the user, which forced us to complicate our build with the evas_goal hack. the evas_goal hack more or less was the idea of "faking" the evas build in the evas directory, finish all the .eo generation there, then build the modules and make all the static files ready. Then build everything in evas_goal. Now, that we just build everything the same always, we can simply build it in the evas way (removing the evas_goal hack FINALLY), as the same modules are build statically and shared. This also gives us the possibility to build the shared image loaders *again* the the modules directory, which unbreaks peoples build scripts who packaged loader files seperatly. Reviewers: zmike, raster, cedric, stefan_schmidt Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10548
This commit is contained in:
parent
795c37b2a4
commit
28f630ba41
10
meson.build
10
meson.build
|
@ -249,13 +249,6 @@ ecore_evas_wayland_engine_include_dir = []
|
||||||
|
|
||||||
evas_static_list = []
|
evas_static_list = []
|
||||||
|
|
||||||
evas_lib = ['evas' ,[], false, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']]
|
|
||||||
evas_img_modules = ['evas' ,[], true, false, false, false, false, false, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']]
|
|
||||||
evas_engines = [join_paths('evas', 'engines'),[], true, false, false, false, false, false, [], []]
|
|
||||||
evas_goal = ['evas_goal' ,[], false, true, false, false, false, false, ['eina', 'efl', 'eo'], []]
|
|
||||||
|
|
||||||
evas_settings = [ evas_lib, evas_img_modules, evas_goal, evas_engines ]
|
|
||||||
|
|
||||||
subprojects = [
|
subprojects = [
|
||||||
# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs
|
# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs
|
||||||
['evil' ,[] , false, true, false, false, false, false, [], []],
|
['evil' ,[] , false, true, false, false, false, false, [], []],
|
||||||
|
@ -284,7 +277,8 @@ subprojects = [
|
||||||
['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']],
|
['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']],
|
||||||
['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []],
|
['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []],
|
||||||
['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']],
|
['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']],
|
||||||
['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []]] + evas_settings +[
|
['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []],
|
||||||
|
['evas' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']],
|
||||||
['ecore_input_evas' ,[] , false, true, false, false, false, false, ['eina', 'evas'], []],
|
['ecore_input_evas' ,[] , false, true, false, false, false, false, ['eina', 'evas'], []],
|
||||||
['ecore_evas' ,[] , true, true, true, false, false, false, ['evas', 'ector'], []],
|
['ecore_evas' ,[] , true, true, true, false, false, false, ['evas', 'ector'], []],
|
||||||
['ecore_imf' ,[] , true, true, false, false, false, false, ['eina'], []],
|
['ecore_imf' ,[] , true, true, false, false, false, false, ['eina'], []],
|
||||||
|
|
|
@ -599,27 +599,12 @@ evas_module_find_type(Evas_Module_Type type, const char *name)
|
||||||
{
|
{
|
||||||
if (run_in_tree == 1)
|
if (run_in_tree == 1)
|
||||||
{
|
{
|
||||||
// special cases due to compleixty of meson build and
|
char subsystem[PATH_MAX];
|
||||||
// putting these in odd places in the tree - do special
|
|
||||||
// name lookups for build in tree module lookups
|
|
||||||
if (type == EVAS_MODULE_TYPE_IMAGE_LOADER)
|
|
||||||
{
|
|
||||||
snprintf(buffer, sizeof(buffer),
|
|
||||||
PACKAGE_BUILD_DIR"/src/lib/evas_goal/libshared_loader_%s"MOD_SUFFIX, name);
|
|
||||||
}
|
|
||||||
else if (type == EVAS_MODULE_TYPE_IMAGE_SAVER)
|
|
||||||
{
|
|
||||||
snprintf(buffer, sizeof(buffer),
|
|
||||||
PACKAGE_BUILD_DIR"/src/lib/evas_goal/libshared_saver_%s"MOD_SUFFIX, name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char subsystem[PATH_MAX];
|
|
||||||
|
|
||||||
snprintf(subsystem, sizeof(subsystem), "evas/%s", type_str);
|
snprintf(subsystem, sizeof(subsystem), "evas/%s", type_str);
|
||||||
bs_mod_get(buffer, sizeof(buffer), subsystem, name);
|
bs_mod_get(buffer, sizeof(buffer), subsystem, name);
|
||||||
}
|
if (!evas_file_path_exists(buffer))
|
||||||
if (!evas_file_path_exists(buffer)) buffer[0] = '\0';
|
buffer[0] = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,16 +1,53 @@
|
||||||
# README
|
# README
|
||||||
#
|
#
|
||||||
# Evas build is a bit more complex.
|
|
||||||
# the final shared library is build in src/lib/evas_goal/meson.build.
|
|
||||||
#
|
|
||||||
# The content of lib/evas is build as static_library as
|
|
||||||
# are all the engines loaders and savers.
|
|
||||||
#
|
|
||||||
# All those stages are defining dependencies with theire source code
|
# All those stages are defining dependencies with theire source code
|
||||||
# as 'source :', later everything is build as libevas.so.
|
# as 'source :', later everything is build as libevas.so.
|
||||||
#
|
#
|
||||||
# For now loaders and savers are ALWAYS build statically.
|
|
||||||
#
|
png = dependency('libpng')
|
||||||
|
tiff = dependency('libtiff-4', required: get_option('evas-loaders-disabler').contains('tiff') == false)
|
||||||
|
giflib = cc.find_library('gif')
|
||||||
|
webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false)
|
||||||
|
|
||||||
|
evas_image_loaders_file = [
|
||||||
|
['bmp', 'shared', []],
|
||||||
|
['eet', 'static', [eet]],
|
||||||
|
['generic', 'shared', [rt]],
|
||||||
|
['gif', 'shared', [giflib]],
|
||||||
|
['ico', 'shared', []],
|
||||||
|
['jpeg', 'static', [jpeg]],
|
||||||
|
['pmaps', 'shared', []],
|
||||||
|
['png', 'static', [png]],
|
||||||
|
['psd', 'shared', []],
|
||||||
|
['tga', 'shared', []],
|
||||||
|
['tgv', 'shared', [rg_etc, lz4]],
|
||||||
|
['tiff', 'shared', [tiff]],
|
||||||
|
['wbmp', 'shared', []],
|
||||||
|
['webp', 'shared', [webp]],
|
||||||
|
['xpm', 'shared', []]
|
||||||
|
]
|
||||||
|
|
||||||
|
evas_image_savers_file = [
|
||||||
|
['eet', 'static', [eet]],
|
||||||
|
['jpeg', 'static', [jpeg]],
|
||||||
|
['png', 'static', [png]],
|
||||||
|
['tgv', 'shared', [rg_etc, lz4]],
|
||||||
|
['tiff', 'shared', [tiff]],
|
||||||
|
['webp', 'shared', [webp]],
|
||||||
|
]
|
||||||
|
json = dependency('rlottie', required: get_option('evas-loaders-disabler').contains('json') == false)
|
||||||
|
|
||||||
|
evas_vg_loaders_file = [
|
||||||
|
['eet', [eet]],
|
||||||
|
['json', [json]],
|
||||||
|
['svg', []],
|
||||||
|
]
|
||||||
|
|
||||||
|
evas_vg_savers_file = ['eet', 'svg']
|
||||||
|
|
||||||
|
evas_model_savers_file = ['eet', 'obj', 'ply']
|
||||||
|
|
||||||
|
evas_model_loaders_file = ['eet', 'md2', 'obj', 'ply']
|
||||||
|
|
||||||
rel_evas_modules = join_paths('..', '..', '..', 'modules', 'evas', 'engines', 'software_generic')
|
rel_evas_modules = join_paths('..', '..', '..', 'modules', 'evas', 'engines', 'software_generic')
|
||||||
evas_deps = [eo, eet, eina, efl, emile, ector, ecore, buildsystem, intl]
|
evas_deps = [eo, eet, eina, efl, emile, ector, ecore, buildsystem, intl]
|
||||||
|
@ -168,13 +205,8 @@ if get_option('opengl') != 'none'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
evas_pre = declare_dependency(
|
|
||||||
include_directories: evas_include_directories + [vg_common_inc_dir] + [include_directories(join_paths('..', '..', 'modules', 'evas', 'engines', 'buffer'))],
|
|
||||||
sources : pub_eo_file_target + priv_eo_file_target,
|
|
||||||
dependencies: [eina, eo, ector, emile, evas_deps, m],
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_link = [ ]
|
evas_link = [ ]
|
||||||
|
evas_pub_deps = [eina, ecore, ector, emile]
|
||||||
|
|
||||||
if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
|
if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
|
||||||
evas_opt = static_library('evas_opt',
|
evas_opt = static_library('evas_opt',
|
||||||
|
@ -189,11 +221,106 @@ if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
|
||||||
evas_link += [ evas_opt ]
|
evas_link += [ evas_opt ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
evas_pre_lib_dep = declare_dependency(
|
foreach loader_inst : evas_image_loaders_file
|
||||||
include_directories: evas_include_directories + [vg_common_inc_dir],
|
loader = loader_inst[0]
|
||||||
sources : [evas_src, pub_eo_file_target],
|
loader_type = loader_inst[1]
|
||||||
link_with: evas_link,
|
loader_deps = loader_inst[2]
|
||||||
dependencies: [evas_deps, m, draw, valgrind, libunibreak]
|
if get_option('evas-loaders-disabler').contains(loader) == false
|
||||||
|
if loader_type == 'static'
|
||||||
|
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_loaders', loader, 'evas_image_load_'+loader+'.c')
|
||||||
|
config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
dependencies: loader_deps,
|
||||||
|
)]
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
message('Image loader '+loader+' disabled')
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
foreach loader_inst : evas_image_savers_file
|
||||||
|
loader = loader_inst[0]
|
||||||
|
loader_type = loader_inst[1]
|
||||||
|
loader_deps = loader_inst[2]
|
||||||
|
if get_option('evas-loaders-disabler').contains(loader) == false
|
||||||
|
if loader_type == 'static'
|
||||||
|
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_savers', loader, 'evas_image_save_'+loader+'.c')
|
||||||
|
config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
dependencies: loader_deps,
|
||||||
|
)]
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
message('Image saver '+loader+' disabled')
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
foreach loader_inst : evas_vg_loaders_file
|
||||||
|
loader = loader_inst[0]
|
||||||
|
loader_deps = loader_inst[1]
|
||||||
|
|
||||||
|
if (get_option('evas-loaders-disabler').contains(loader) == false)
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'vg_loaders', loader, 'evas_vg_load_'+loader+'.c')
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
dependencies: loader_deps,
|
||||||
|
)]
|
||||||
|
config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
foreach loader : evas_vg_savers_file
|
||||||
|
if (get_option('evas-loaders-disabler').contains(loader) == false)
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'vg_savers', loader, 'evas_vg_save_'+loader+'.c')
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
dependencies: [eo, ector, emile, freetype, eet],
|
||||||
|
)]
|
||||||
|
config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
foreach loader : evas_model_loaders_file
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'model_loaders', loader, 'evas_model_load_'+loader+'.c')
|
||||||
|
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
)]
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
foreach loader : evas_model_savers_file
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'model_savers', loader, 'evas_model_save_'+loader+'.c')
|
||||||
|
|
||||||
|
evas_static_list += [declare_dependency(
|
||||||
|
sources: file,
|
||||||
|
)]
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
evas_lib = library('evas',
|
||||||
|
include_directories: evas_include_directories + [vg_common_inc_dir],
|
||||||
|
sources : [evas_src, pub_eo_file_target, priv_eo_file_target],
|
||||||
|
dependencies: [evas_deps, m, draw, valgrind, libunibreak, evas_static_list],
|
||||||
|
link_with: evas_link,
|
||||||
|
install: true,
|
||||||
|
c_args : '-DPACKAGE_DATA_DIR="'+join_paths(dir_data, 'evas')+'"',
|
||||||
|
version : meson.project_version()
|
||||||
|
)
|
||||||
|
|
||||||
|
evas = declare_dependency(
|
||||||
|
link_with : [evas_lib],
|
||||||
|
sources: pub_eo_file_target,
|
||||||
|
dependencies : [m] + evas_pub_deps + evas_deps,
|
||||||
|
include_directories: evas_include_directories + [vg_common_inc_dir] + [include_directories(join_paths('..', '..', 'modules', 'evas', 'engines', 'buffer'))],
|
||||||
|
)
|
||||||
|
|
||||||
|
evas_bin = declare_dependency(
|
||||||
|
link_with : [evas_lib],
|
||||||
|
dependencies : [eina, ecore, ector, emile, lua],
|
||||||
|
include_directories : evas_include_directories
|
||||||
)
|
)
|
||||||
|
|
||||||
if get_option('install-eo-files')
|
if get_option('install-eo-files')
|
||||||
|
@ -206,7 +333,6 @@ install_headers(evas_header_src,
|
||||||
install_dir : dir_package_include,
|
install_dir : dir_package_include,
|
||||||
)
|
)
|
||||||
|
|
||||||
automatic_pkgfile = false
|
|
||||||
pub_eo_files = []
|
pub_eo_files = []
|
||||||
package_eo_subdirs += ['canvas', 'gesture']
|
package_eo_subdirs += ['canvas', 'gesture']
|
||||||
package_header_subdirs += ['canvas', 'gesture']
|
package_header_subdirs += ['canvas', 'gesture']
|
||||||
|
|
|
@ -1,179 +0,0 @@
|
||||||
#fixed dependencies by efl
|
|
||||||
png = dependency('libpng')
|
|
||||||
tiff = dependency('libtiff-4', required: get_option('evas-loaders-disabler').contains('tiff') == false)
|
|
||||||
giflib = cc.find_library('gif')
|
|
||||||
webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false)
|
|
||||||
|
|
||||||
evas_loader_saver_mod_bmp = ['bmp', 'shared', []]
|
|
||||||
evas_loader_saver_mod_eet = ['eet', 'static', [eet]]
|
|
||||||
evas_loader_saver_mod_generic = ['generic', 'shared', [rt]]
|
|
||||||
evas_loader_saver_mod_gif = ['gif', 'shared', [giflib]]
|
|
||||||
evas_loader_saver_mod_ico = ['ico', 'shared', []]
|
|
||||||
evas_loader_saver_mod_jpeg = ['jpeg', 'static', [jpeg]]
|
|
||||||
evas_loader_saver_mod_pmaps = ['pmaps', 'shared', []]
|
|
||||||
evas_loader_saver_mod_png = ['png', 'static', [png]]
|
|
||||||
evas_loader_saver_mod_psd = ['psd', 'shared', []]
|
|
||||||
evas_loader_saver_mod_tga = ['tga', 'shared', []]
|
|
||||||
evas_loader_saver_mod_tgv = ['tgv', 'shared', [rg_etc, lz4]]
|
|
||||||
evas_loader_saver_mod_tiff = ['tiff', 'shared', [tiff]]
|
|
||||||
evas_loader_saver_mod_wbmp = ['wbmp', 'shared', []]
|
|
||||||
evas_loader_saver_mod_webp = ['webp', 'shared', [webp]]
|
|
||||||
evas_loader_saver_mod_xpm = ['xpm', 'shared', []]
|
|
||||||
|
|
||||||
evas_image_loaders_file = [
|
|
||||||
evas_loader_saver_mod_bmp,
|
|
||||||
evas_loader_saver_mod_eet,
|
|
||||||
evas_loader_saver_mod_generic,
|
|
||||||
evas_loader_saver_mod_gif,
|
|
||||||
evas_loader_saver_mod_ico,
|
|
||||||
evas_loader_saver_mod_jpeg,
|
|
||||||
evas_loader_saver_mod_pmaps,
|
|
||||||
evas_loader_saver_mod_png,
|
|
||||||
evas_loader_saver_mod_psd,
|
|
||||||
evas_loader_saver_mod_tga,
|
|
||||||
evas_loader_saver_mod_tgv,
|
|
||||||
evas_loader_saver_mod_tiff,
|
|
||||||
evas_loader_saver_mod_wbmp,
|
|
||||||
evas_loader_saver_mod_webp,
|
|
||||||
evas_loader_saver_mod_xpm
|
|
||||||
]
|
|
||||||
|
|
||||||
evas_image_savers_file = [
|
|
||||||
evas_loader_saver_mod_eet,
|
|
||||||
evas_loader_saver_mod_jpeg,
|
|
||||||
evas_loader_saver_mod_png,
|
|
||||||
evas_loader_saver_mod_tgv,
|
|
||||||
evas_loader_saver_mod_tiff,
|
|
||||||
evas_loader_saver_mod_webp
|
|
||||||
]
|
|
||||||
|
|
||||||
foreach loader_inst : evas_image_loaders_file
|
|
||||||
loader = loader_inst[0]
|
|
||||||
loader_type = loader_inst[1]
|
|
||||||
loader_deps = loader_inst[2]
|
|
||||||
if get_option('evas-loaders-disabler').contains(loader) == false
|
|
||||||
if loader_type == 'static'
|
|
||||||
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
|
||||||
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_loaders', loader, 'evas_image_load_'+loader+'.c')
|
|
||||||
config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
|
|
||||||
tmp = static_library('image_loader_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [evas_pre] + loader_deps
|
|
||||||
)
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
sources: file,
|
|
||||||
dependencies: loader_deps,
|
|
||||||
)]
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
message('Image loader '+loader+' disabled')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
foreach loader_inst : evas_image_savers_file
|
|
||||||
loader = loader_inst[0]
|
|
||||||
loader_type = loader_inst[1]
|
|
||||||
loader_deps = loader_inst[2]
|
|
||||||
if get_option('evas-loaders-disabler').contains(loader) == false
|
|
||||||
if loader_type == 'static'
|
|
||||||
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
|
||||||
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_savers', loader, 'evas_image_save_'+loader+'.c')
|
|
||||||
config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
|
|
||||||
tmp = static_library('image_saver_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [evas_pre] + loader_deps
|
|
||||||
)
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
sources: file,
|
|
||||||
dependencies: loader_deps,
|
|
||||||
)]
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
message('Image saver '+loader+' disabled')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
evas_lib = library('evas',
|
|
||||||
'empty.c',
|
|
||||||
#all the source code is coming from evas_pre_lib_dep
|
|
||||||
dependencies: [evas_pre_lib_dep, evas_static_list],
|
|
||||||
install: true,
|
|
||||||
c_args : '-DPACKAGE_DATA_DIR="'+join_paths(dir_data, 'evas')+'"',
|
|
||||||
version : meson.project_version()
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_pub_deps = [eina, ecore, ector, emile, evas_pre]
|
|
||||||
|
|
||||||
evas = declare_dependency(
|
|
||||||
link_with : [evas_lib],
|
|
||||||
dependencies : evas_pub_deps,
|
|
||||||
include_directories : evas_include_directories
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_bin = declare_dependency(
|
|
||||||
link_with : [evas_lib],
|
|
||||||
dependencies : [eina, ecore, ector, emile, lua],
|
|
||||||
include_directories : evas_include_directories
|
|
||||||
)
|
|
||||||
|
|
||||||
tmp_package_subdirs = []
|
|
||||||
automatic_pkgfile = false
|
|
||||||
|
|
||||||
foreach subdir : evas_header_subdirs
|
|
||||||
tmp_package_subdirs += join_paths('evas-'+version_major, subdir)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
pkgconfig.generate(evas_lib,
|
|
||||||
name : 'evas',
|
|
||||||
subdirs : ['evas-'+version_major] + tmp_package_subdirs,
|
|
||||||
version : version_major + '.' + version_minor + '.' + version_micro,
|
|
||||||
libraries : [eina, ecore, ector, emile, lua],
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach loader_inst : evas_image_loaders_file
|
|
||||||
loader = loader_inst[0]
|
|
||||||
loader_type = loader_inst[1]
|
|
||||||
loader_deps = loader_inst[2]
|
|
||||||
if get_option('evas-loaders-disabler').contains(loader) == false
|
|
||||||
if loader_type == 'shared'
|
|
||||||
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
|
||||||
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_loaders', loader, 'evas_image_load_'+loader+'.c')
|
|
||||||
evas_package_modules = join_paths(dir_lib, 'evas', 'modules')
|
|
||||||
mod_install_dir = join_paths(evas_package_modules, 'image_loaders', loader, version_name)
|
|
||||||
shared_module('shared_loader_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [eina, evas] + loader_deps,
|
|
||||||
install : true,
|
|
||||||
install_dir : mod_install_dir,
|
|
||||||
name_suffix : sys_mod_extension
|
|
||||||
)
|
|
||||||
module_files += join_paths(mod_install_dir, 'libshared_loader_'+loader + '.' + sys_mod_extension)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
message('Image loader '+loader+' disabled')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
foreach loader_inst : evas_image_savers_file
|
|
||||||
loader = loader_inst[0]
|
|
||||||
loader_type = loader_inst[1]
|
|
||||||
loader_deps = loader_inst[2]
|
|
||||||
if get_option('evas-loaders-disabler').contains(loader) == false
|
|
||||||
if loader_type == 'shared'
|
|
||||||
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
|
||||||
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_savers', loader, 'evas_image_save_'+loader+'.c')
|
|
||||||
evas_package_modules = join_paths(dir_lib, 'evas', 'modules')
|
|
||||||
mod_install_dir = join_paths(evas_package_modules, 'image_savers', loader, version_name)
|
|
||||||
shared_module('shared_saver_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [eina, evas] + loader_deps,
|
|
||||||
install : true,
|
|
||||||
install_dir : mod_install_dir,
|
|
||||||
name_suffix : sys_mod_extension
|
|
||||||
)
|
|
||||||
module_files += join_paths(mod_install_dir, 'libshared_saver_'+loader + '.' + sys_mod_extension)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
message('Image saver '+loader+' disabled')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
foreach loader_inst : evas_image_loaders_file
|
||||||
|
loader = loader_inst[0]
|
||||||
|
loader_type = loader_inst[1]
|
||||||
|
loader_deps = loader_inst[2]
|
||||||
|
if get_option('evas-loaders-disabler').contains(loader) == false
|
||||||
|
if loader_type == 'shared'
|
||||||
|
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_loaders', loader, 'evas_image_load_'+loader+'.c')
|
||||||
|
evas_package_modules = join_paths(dir_lib, 'evas', 'modules')
|
||||||
|
mod_install_dir = join_paths(evas_package_modules, 'image_loaders', loader, version_name)
|
||||||
|
shared_module('shared_loader_'+loader, file,
|
||||||
|
include_directories : config_dir,
|
||||||
|
dependencies : [eina, evas] + loader_deps,
|
||||||
|
install : true,
|
||||||
|
install_dir : mod_install_dir,
|
||||||
|
name_suffix : sys_mod_extension
|
||||||
|
)
|
||||||
|
module_files += join_paths(mod_install_dir, 'libshared_loader_'+loader + '.' + sys_mod_extension)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
message('Image loader '+loader+' disabled')
|
||||||
|
endif
|
||||||
|
endforeach
|
|
@ -0,0 +1,23 @@
|
||||||
|
foreach loader_inst : evas_image_savers_file
|
||||||
|
loader = loader_inst[0]
|
||||||
|
loader_type = loader_inst[1]
|
||||||
|
loader_deps = loader_inst[2]
|
||||||
|
if get_option('evas-loaders-disabler').contains(loader) == false
|
||||||
|
if loader_type == 'shared'
|
||||||
|
config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
|
||||||
|
file = join_paths(meson.source_root(), 'src', 'modules', 'evas', 'image_savers', loader, 'evas_image_save_'+loader+'.c')
|
||||||
|
evas_package_modules = join_paths(dir_lib, 'evas', 'modules')
|
||||||
|
mod_install_dir = join_paths(evas_package_modules, 'image_savers', loader, version_name)
|
||||||
|
shared_module('shared_saver_'+loader, file,
|
||||||
|
include_directories : config_dir,
|
||||||
|
dependencies : [eina, evas] + loader_deps,
|
||||||
|
install : true,
|
||||||
|
install_dir : mod_install_dir,
|
||||||
|
name_suffix : sys_mod_extension
|
||||||
|
)
|
||||||
|
module_files += join_paths(mod_install_dir, 'libshared_saver_'+loader + '.' + sys_mod_extension)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
message('Image saver '+loader+' disabled')
|
||||||
|
endif
|
||||||
|
endforeach
|
|
@ -1,7 +1,9 @@
|
||||||
#fixed dependencies by efl
|
#fixed dependencies by efl
|
||||||
json = dependency('rlottie', required: get_option('evas-loaders-disabler').contains('json') == false)
|
|
||||||
|
|
||||||
|
subdir('image_savers')
|
||||||
|
subdir('image_loaders')
|
||||||
subdir('model_savers')
|
subdir('model_savers')
|
||||||
subdir('model_loaders')
|
subdir('model_loaders')
|
||||||
subdir('vg_savers')
|
subdir('vg_savers')
|
||||||
subdir('vg_loaders')
|
subdir('vg_loaders')
|
||||||
|
subdir('engines')
|
||||||
|
|
|
@ -1,16 +1 @@
|
||||||
evas_model_loaders_file = ['eet', 'md2', 'obj', 'ply']
|
#all the loaders here are build statically, the build instructions are in src/lib/evas/meson.build
|
||||||
|
|
||||||
foreach loader : evas_model_loaders_file
|
|
||||||
file = join_paths(loader, 'evas_model_load_'+loader+'.c')
|
|
||||||
|
|
||||||
tmp = static_library('model_loader_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [evas_pre]
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
include_directories: include_directories('.'),
|
|
||||||
sources: file,
|
|
||||||
dependencies: evas_pre,
|
|
||||||
)]
|
|
||||||
endforeach
|
|
||||||
|
|
|
@ -1,16 +1 @@
|
||||||
evas_model_savers_file = ['eet', 'obj', 'ply']
|
#all the loaders here are build statically, the build instructions are in src/lib/evas/meson.build
|
||||||
|
|
||||||
foreach loader : evas_model_savers_file
|
|
||||||
file = join_paths(loader, 'evas_model_save_'+loader+'.c')
|
|
||||||
|
|
||||||
tmp = static_library('model_saver_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : evas_pre
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
include_directories: include_directories('.'),
|
|
||||||
sources: file,
|
|
||||||
dependencies: evas_pre,
|
|
||||||
)]
|
|
||||||
endforeach
|
|
||||||
|
|
|
@ -1,26 +1 @@
|
||||||
evas_vg_loaders_file = [
|
#all the loaders here are build statically, the build instructions are in src/lib/evas/meson.build
|
||||||
['eet', [eet]],
|
|
||||||
['json', [json]],
|
|
||||||
['svg', []],
|
|
||||||
]
|
|
||||||
|
|
||||||
foreach loader_inst : evas_vg_loaders_file
|
|
||||||
loader = loader_inst[0]
|
|
||||||
loader_deps = loader_inst[1]
|
|
||||||
|
|
||||||
if (get_option('evas-loaders-disabler').contains(loader) == false)
|
|
||||||
file = join_paths(loader, 'evas_vg_load_'+loader+'.c')
|
|
||||||
|
|
||||||
static_library('vg_loader_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies : [evas_pre] + loader_deps
|
|
||||||
)
|
|
||||||
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
sources: file,
|
|
||||||
dependencies: loader_deps,
|
|
||||||
)]
|
|
||||||
|
|
||||||
config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
|
@ -1,17 +1 @@
|
||||||
evas_vg_savers_file = ['eet', 'svg']
|
#all the loaders here are build statically, the build instructions are in src/lib/evas/meson.build
|
||||||
|
|
||||||
foreach loader : evas_vg_savers_file
|
|
||||||
file = join_paths(loader, 'evas_vg_save_'+loader+'.c')
|
|
||||||
|
|
||||||
if (get_option('evas-loaders-disabler').contains(loader) == false)
|
|
||||||
tmp = static_library('vg_saver_'+loader, file,
|
|
||||||
include_directories : config_dir,
|
|
||||||
dependencies: [eo, ector, emile, freetype, eet, evas_pre],
|
|
||||||
)
|
|
||||||
evas_static_list += [declare_dependency(
|
|
||||||
sources: file,
|
|
||||||
dependencies: [eo, ector, emile, freetype, eet, evas_pre],
|
|
||||||
)]
|
|
||||||
config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
|
@ -12,6 +12,10 @@ bs_mod_get(char *path, size_t maxlen, const char *subsystem, const char *mod_nam
|
||||||
// this causes the module to link to itself, instead of the library
|
// this causes the module to link to itself, instead of the library
|
||||||
if (!strcmp(subsystem, "ethumb"))
|
if (!strcmp(subsystem, "ethumb"))
|
||||||
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/%s/lib%s_el"MOD_SUFFIX, subsystem, mod_name, mod_name);
|
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/%s/lib%s_el"MOD_SUFFIX, subsystem, mod_name, mod_name);
|
||||||
|
else if (!strcmp(subsystem, "evas/image_loaders"))
|
||||||
|
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/libshared_loader_%s"MOD_SUFFIX, subsystem, mod_name);
|
||||||
|
else if (!strcmp(subsystem, "evas/image_savers"))
|
||||||
|
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/libshared_saver_%s"MOD_SUFFIX, subsystem, mod_name);
|
||||||
else
|
else
|
||||||
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/%s/lib%s"MOD_SUFFIX, subsystem, mod_name, mod_name);
|
snprintf(path, maxlen, PACKAGE_BUILD_DIR"/src/modules/%s/%s/lib%s"MOD_SUFFIX, subsystem, mod_name, mod_name);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue