forked from enlightenment/efl
meson - add checks/options for mmx, sse3, neon, altivec
so we can build our assembly fast-paths again.... - also clean up the code a bit to match...
This commit is contained in:
parent
a447bbd489
commit
c1ad0879a1
58
meson.build
58
meson.build
|
@ -1,7 +1,7 @@
|
||||||
project('efl', ['c','cpp'],
|
project('efl', ['c','cpp'],
|
||||||
version: '1.21.99',
|
version: '1.21.99',
|
||||||
default_options : ['buildtype=plain'],
|
default_options : ['buildtype=plain'],
|
||||||
meson_version : '>=0.46'
|
meson_version : '>=0.47'
|
||||||
)
|
)
|
||||||
|
|
||||||
if target_machine.system() == 'darwin'
|
if target_machine.system() == 'darwin'
|
||||||
|
@ -110,6 +110,59 @@ if compiler.compiles(code, args : '-lc', name : 'environ check') == true
|
||||||
config_h.set10('HAVE_ENVIRON', true)
|
config_h.set10('HAVE_ENVIRON', true)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
## or should this be target_machine?
|
||||||
|
cpu_mmx = false
|
||||||
|
cpu_sse3 = false
|
||||||
|
cpu_neon = false
|
||||||
|
cpu_neon_intrinsics = false
|
||||||
|
cpu_altivec = false
|
||||||
|
evas_opt_c_args = [ ]
|
||||||
|
machine_c_args = [ ]
|
||||||
|
compiler = meson.get_compiler('c')
|
||||||
|
if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64'
|
||||||
|
if compiler.check_header('immintrin.h') == true
|
||||||
|
if (get_option('cpu-mmx') == true)
|
||||||
|
config_h.set10('BUILD_MMX', true)
|
||||||
|
cpu_mmx = true
|
||||||
|
message('x86 build - MMX enabled')
|
||||||
|
if (get_option('cpu-sse3') == true)
|
||||||
|
config_h.set10('BUILD_SSE3', true)
|
||||||
|
evas_opt_c_args += [ '-msse3' ]
|
||||||
|
cpu_sse3 = true
|
||||||
|
message('x86 build - SSE3 enabled')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
elif host_machine.cpu_family() == 'arm'
|
||||||
|
if compiler.check_header('arm_neon.h') == true
|
||||||
|
if (get_option('cpu-neon') == true)
|
||||||
|
config_h.set10('BUILD_NEON', true)
|
||||||
|
machine_c_args += ['-mfpu=neon', '-ftree-vectorize']
|
||||||
|
cpu_neon = true
|
||||||
|
message('ARM build - NEON enabled')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
elif host_machine.cpu_family() == 'aarch64'
|
||||||
|
if compiler.check_header('arm_neon.h') == true
|
||||||
|
if (get_option('cpu-neon') == true)
|
||||||
|
config_h.set10('BUILD_NEON', true)
|
||||||
|
config_h.set10('BUILD_NEON_INTRINSICS', true)
|
||||||
|
machine_c_args += ['-ftree-vectorize']
|
||||||
|
cpu_neon = true
|
||||||
|
cpu_neon_intrinsics = true
|
||||||
|
message('ARM64 build - NEON + intrinsics enabled')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
elif host_machine.cpu_family() == 'ppc' or host_machine.cpu_family() == 'ppc64'
|
||||||
|
if compiler.check_header('altivec.h') == true
|
||||||
|
if (get_option('cpu-akltivec') == true)
|
||||||
|
config_h.set10('BUILD_ALTIVEC', true)
|
||||||
|
machine_c_args += [ '-maltivec' ]
|
||||||
|
cpu_altivec = true
|
||||||
|
message('PPC/POWER build - ALTIVEC enabled')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
config_dir = [include_directories('.')]
|
config_dir = [include_directories('.')]
|
||||||
eolian_include_directories = []
|
eolian_include_directories = []
|
||||||
|
@ -231,7 +284,8 @@ foreach package : subprojects
|
||||||
package_version_name = '-'.join(package_name.split('_')) + '-' + version_major
|
package_version_name = '-'.join(package_name.split('_')) + '-' + version_major
|
||||||
package_c_args = [
|
package_c_args = [
|
||||||
'-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, package_name)+'"',
|
'-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, package_name)+'"',
|
||||||
'-DNEED_RUN_IN_TREE=1'
|
'-DNEED_RUN_IN_TREE=1',
|
||||||
|
machine_c_args
|
||||||
]
|
]
|
||||||
automatic_pkgfile = true
|
automatic_pkgfile = true
|
||||||
if package[1].length() == 0 or get_option(package[1][0])
|
if package[1].length() == 0 or get_option(package[1][0])
|
||||||
|
|
|
@ -49,7 +49,7 @@ option('drm',
|
||||||
option('cocoa',
|
option('cocoa',
|
||||||
type : 'boolean',
|
type : 'boolean',
|
||||||
value : false,
|
value : false,
|
||||||
description : 'Flag for handling drm support in efl'
|
description : 'Flag for handling apple cocoa support in efl'
|
||||||
)
|
)
|
||||||
|
|
||||||
option('physics',
|
option('physics',
|
||||||
|
@ -327,3 +327,28 @@ option('mono',
|
||||||
value: false,
|
value: false,
|
||||||
description: 'Flag for handling c# bindings'
|
description: 'Flag for handling c# bindings'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
option('cpu-mmx',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Build MMX support when building for intel'
|
||||||
|
)
|
||||||
|
|
||||||
|
option('cpu-sse3',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Build SSE3 support when building for intel'
|
||||||
|
)
|
||||||
|
|
||||||
|
option('cpu-neon',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Build NEON support when building for ARM'
|
||||||
|
)
|
||||||
|
|
||||||
|
option('cpu-altivec',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Build ALTIVEC support when building for PPC/POWER'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#include "evas_common_private.h"
|
#include "evas_common_private.h"
|
||||||
#ifdef BUILD_NEON
|
#ifdef BUILD_NEON
|
||||||
#ifdef BUILD_NEON_INTRINSICS
|
# ifdef BUILD_NEON_INTRINSICS
|
||||||
#include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int cpu_feature_mask = 0;
|
static int cpu_feature_mask = 0;
|
||||||
|
@ -15,20 +15,22 @@ static int cpu_feature_mask = 0;
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __SPARC__
|
#ifdef __SPARC__
|
||||||
# define NEED_FEATURE_TEST
|
# define NEED_FEATURE_TEST
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__ARM_ARCH__)
|
#if defined(__ARM_ARCH__)
|
||||||
# ifdef BUILD_NEON
|
# ifdef BUILD_NEON
|
||||||
# define NEED_FEATURE_TEST
|
# define NEED_FEATURE_TEST
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NEED_FEATURE_TEST
|
#ifdef NEED_FEATURE_TEST
|
||||||
#if defined (HAVE_STRUCT_SIGACTION) && defined (HAVE_SIGLONGJMP)
|
# ifdef HAVE_SIGLONGJMP
|
||||||
#include <signal.h>
|
# include <signal.h>
|
||||||
#include <setjmp.h>
|
# include <setjmp.h>
|
||||||
#include <errno.h>
|
# include <errno.h>
|
||||||
|
|
||||||
static sigjmp_buf detect_buf;
|
static sigjmp_buf detect_buf;
|
||||||
static void evas_common_cpu_catch_ill(int sig);
|
static void evas_common_cpu_catch_ill(int sig);
|
||||||
|
@ -45,30 +47,30 @@ evas_common_cpu_catch_segv(int sig EINA_UNUSED)
|
||||||
{
|
{
|
||||||
siglongjmp(detect_buf, 1);
|
siglongjmp(detect_buf, 1);
|
||||||
}
|
}
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#ifdef BUILD_ALTIVEC
|
# ifdef BUILD_ALTIVEC
|
||||||
void
|
void
|
||||||
evas_common_cpu_altivec_test(void)
|
evas_common_cpu_altivec_test(void)
|
||||||
{
|
{
|
||||||
#ifdef __POWERPC__
|
# ifdef __POWERPC__
|
||||||
#ifdef __VEC__
|
# ifdef __VEC__
|
||||||
vector unsigned int zero;
|
vector unsigned int zero;
|
||||||
|
|
||||||
zero = vec_splat_u32(0);
|
zero = vec_splat_u32(0);
|
||||||
#endif /* __VEC__ */
|
# endif /* __VEC__ */
|
||||||
#endif /* __POWERPC__ */
|
# endif /* __POWERPC__ */
|
||||||
}
|
}
|
||||||
#endif /* BUILD_ALTIVEC */
|
# endif /* BUILD_ALTIVEC */
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_common_cpu_neon_test(void)
|
evas_common_cpu_neon_test(void)
|
||||||
{
|
{
|
||||||
//#if defined(__ARM_ARCH__) && (__ARM_ARCH__ >= 70)
|
//#if defined(__ARM_ARCH__) && (__ARM_ARCH__ >= 70)
|
||||||
#ifdef BUILD_NEON
|
# ifdef BUILD_NEON
|
||||||
#ifdef BUILD_NEON_INTRINSICS
|
# ifdef BUILD_NEON_INTRINSICS
|
||||||
volatile uint32x4_t temp = vdupq_n_u32(0x1);
|
volatile uint32x4_t temp = vdupq_n_u32(0x1);
|
||||||
#else
|
# else
|
||||||
asm volatile (
|
asm volatile (
|
||||||
".fpu neon \n\t"
|
".fpu neon \n\t"
|
||||||
"vqadd.u8 d0, d1, d0\n"
|
"vqadd.u8 d0, d1, d0\n"
|
||||||
|
@ -77,18 +79,32 @@ evas_common_cpu_neon_test(void)
|
||||||
: /* Clobbered */
|
: /* Clobbered */
|
||||||
"d0", "d1"
|
"d0", "d1"
|
||||||
);
|
);
|
||||||
#endif
|
# endif
|
||||||
#endif
|
# endif
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_common_cpu_vis_test(void)
|
evas_common_cpu_vis_test(void)
|
||||||
{
|
{
|
||||||
#ifdef __SPARC__
|
# ifdef __SPARC__
|
||||||
#endif /* __SPARC__ */
|
# endif /* __SPARC__ */
|
||||||
}
|
}
|
||||||
#endif /* NEED_FEATURE_TEST */
|
#endif /* NEED_FEATURE_TEST */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(BUILD_MMX) || defined(BUILD_SSE3)
|
||||||
|
# define NEED_CPU_CHECK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NEED_FEATURE_TEST
|
||||||
|
# ifndef HAVE_SIGLONGJMP
|
||||||
|
# undef NEED_CPU_CHECK
|
||||||
|
# define NEED_CPU_CHECK
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NEED_CPU_CHECK
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_cpu_check(Eina_Cpu_Features f)
|
_cpu_check(Eina_Cpu_Features f)
|
||||||
{
|
{
|
||||||
|
@ -97,13 +113,13 @@ _cpu_check(Eina_Cpu_Features f)
|
||||||
features = eina_cpu_features_get();
|
features = eina_cpu_features_get();
|
||||||
return (features & f) == f;
|
return (features & f) == f;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NEED_FEATURE_TEST
|
#ifdef NEED_FEATURE_TEST
|
||||||
int
|
int
|
||||||
evas_common_cpu_feature_test(void (*feature)(void))
|
evas_common_cpu_feature_test(void (*feature)(void))
|
||||||
{
|
{
|
||||||
#if defined (HAVE_STRUCT_SIGACTION) && defined (HAVE_SIGLONGJMP)
|
# ifdef HAVE_SIGLONGJMP
|
||||||
int enabled = 1;
|
int enabled = 1;
|
||||||
struct sigaction act, oact, oact2;
|
struct sigaction act, oact, oact2;
|
||||||
|
|
||||||
|
@ -119,9 +135,9 @@ evas_common_cpu_feature_test(void (*feature)(void))
|
||||||
|
|
||||||
if (sigsetjmp(detect_buf, 1))
|
if (sigsetjmp(detect_buf, 1))
|
||||||
{
|
{
|
||||||
sigaction(SIGILL, &oact, NULL);
|
sigaction(SIGILL, &oact, NULL);
|
||||||
sigaction(SIGSEGV, &oact2, NULL);
|
sigaction(SIGSEGV, &oact2, NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
feature();
|
feature();
|
||||||
|
@ -129,16 +145,28 @@ evas_common_cpu_feature_test(void (*feature)(void))
|
||||||
sigaction(SIGILL, &oact, NULL);
|
sigaction(SIGILL, &oact, NULL);
|
||||||
sigaction(SIGSEGV, &oact2, NULL);
|
sigaction(SIGSEGV, &oact2, NULL);
|
||||||
return enabled;
|
return enabled;
|
||||||
#else
|
# else
|
||||||
|
# ifdef BUILD_MMX
|
||||||
if (feature == evas_common_cpu_mmx_test)
|
if (feature == evas_common_cpu_mmx_test)
|
||||||
return _cpu_check(EINA_CPU_MMX);
|
return _cpu_check(EINA_CPU_MMX);
|
||||||
/* no mmx2 support in eina */
|
/* no mmx2 support in eina */
|
||||||
if (feature == evas_common_cpu_sse_test)
|
if (feature == evas_common_cpu_sse_test)
|
||||||
return _cpu_check(EINA_CPU_SSE);
|
return _cpu_check(EINA_CPU_SSE);
|
||||||
|
# endif
|
||||||
|
# ifdef BUILD_SSE3
|
||||||
if (feature == evas_common_cpu_sse3_test)
|
if (feature == evas_common_cpu_sse3_test)
|
||||||
return _cpu_check(EINA_CPU_SSE3);
|
return _cpu_check(EINA_CPU_SSE3);
|
||||||
|
# endif
|
||||||
|
# ifdef BUILD_ALTIVEC
|
||||||
|
if (feature == evas_common_cpu_altivec_test)
|
||||||
|
return _cpu_check(CPU_FEATURE_ALTIVEC);
|
||||||
|
# endif
|
||||||
|
# ifdef BUILD_NEON
|
||||||
|
if (feature == evas_common_cpu_neon_test)
|
||||||
|
return _cpu_check(EINA_CPU_NEON);
|
||||||
|
# endif
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
# endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -169,6 +197,7 @@ evas_common_cpu_init(void)
|
||||||
cpu_feature_mask |= _cpu_check(EINA_CPU_SSE3) * CPU_FEATURE_SSE3;
|
cpu_feature_mask |= _cpu_check(EINA_CPU_SSE3) * CPU_FEATURE_SSE3;
|
||||||
# endif /* BUILD_SSE3 */
|
# endif /* BUILD_SSE3 */
|
||||||
#endif /* BUILD_MMX */
|
#endif /* BUILD_MMX */
|
||||||
|
|
||||||
#ifdef BUILD_ALTIVEC
|
#ifdef BUILD_ALTIVEC
|
||||||
# ifdef __POWERPC__
|
# ifdef __POWERPC__
|
||||||
# ifdef __VEC__
|
# ifdef __VEC__
|
||||||
|
@ -183,6 +212,7 @@ evas_common_cpu_init(void)
|
||||||
# endif /* __VEC__ */
|
# endif /* __VEC__ */
|
||||||
# endif /* __POWERPC__ */
|
# endif /* __POWERPC__ */
|
||||||
#endif /* BUILD_ALTIVEC */
|
#endif /* BUILD_ALTIVEC */
|
||||||
|
|
||||||
#ifdef __SPARC__
|
#ifdef __SPARC__
|
||||||
if (getenv("EVAS_CPU_NO_VIS"))
|
if (getenv("EVAS_CPU_NO_VIS"))
|
||||||
cpu_feature_mask &= ~CPU_FEATURE_VIS;
|
cpu_feature_mask &= ~CPU_FEATURE_VIS;
|
||||||
|
@ -193,6 +223,7 @@ evas_common_cpu_init(void)
|
||||||
evas_common_cpu_end_opt();
|
evas_common_cpu_end_opt();
|
||||||
}
|
}
|
||||||
#endif /* __SPARC__ */
|
#endif /* __SPARC__ */
|
||||||
|
|
||||||
#if defined(__ARM_ARCH__)
|
#if defined(__ARM_ARCH__)
|
||||||
# ifdef BUILD_NEON
|
# ifdef BUILD_NEON
|
||||||
if (getenv("EVAS_CPU_NO_NEON"))
|
if (getenv("EVAS_CPU_NO_NEON"))
|
||||||
|
@ -200,17 +231,24 @@ evas_common_cpu_init(void)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* On linux eina_cpu sets this up with getauxval() */
|
/* On linux eina_cpu sets this up with getauxval() */
|
||||||
#if defined(HAVE_SYS_AUXV_H) && defined(HAVE_ASM_HWCAP_H) && defined(__arm__) && defined(__linux__)
|
# if defined(HAVE_SYS_AUXV_H) && defined(HAVE_ASM_HWCAP_H) && defined(__arm__) && defined(__linux__)
|
||||||
cpu_feature_mask |= CPU_FEATURE_NEON *
|
cpu_feature_mask |= CPU_FEATURE_NEON *
|
||||||
!!(eina_cpu_features_get() & EINA_CPU_NEON);
|
!!(eina_cpu_features_get() & EINA_CPU_NEON);
|
||||||
#else
|
# else
|
||||||
cpu_feature_mask |= CPU_FEATURE_NEON *
|
cpu_feature_mask |= CPU_FEATURE_NEON *
|
||||||
evas_common_cpu_feature_test(evas_common_cpu_neon_test);
|
evas_common_cpu_feature_test(evas_common_cpu_neon_test);
|
||||||
evas_common_cpu_end_opt();
|
evas_common_cpu_end_opt();
|
||||||
#endif
|
# endif
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__aarch64__)
|
||||||
|
if (getenv("EVAS_CPU_NO_NEON"))
|
||||||
|
cpu_feature_mask &= ~CPU_FEATURE_NEON;
|
||||||
|
else
|
||||||
|
cpu_feature_mask |= CPU_FEATURE_NEON;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -82,6 +82,18 @@ evas_src += files([
|
||||||
'region.h'
|
'region.h'
|
||||||
])
|
])
|
||||||
|
|
||||||
|
if cpu_sse3 == true
|
||||||
|
evas_src_opt += files([
|
||||||
|
'evas_op_blend/op_blend_master_sse3.c'
|
||||||
|
])
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cpu_neon == true and cpu_neon_intrinsics == false
|
||||||
|
evas_src_opt += files([
|
||||||
|
'evas_op_copy/op_copy_neon.S'
|
||||||
|
])
|
||||||
|
endif
|
||||||
|
|
||||||
#subdir('evas_op_blend')
|
#subdir('evas_op_blend')
|
||||||
#subdir('evas_op_sub')
|
#subdir('evas_op_sub')
|
||||||
subdir('language')
|
subdir('language')
|
||||||
|
|
|
@ -258,6 +258,10 @@ static __m128i RGB_MASK_SSE3;
|
||||||
|
|
||||||
static __m128i ALPHA_SSE3;
|
static __m128i ALPHA_SSE3;
|
||||||
|
|
||||||
|
#ifndef EFL_ALWAYS_INLINE
|
||||||
|
# define EFL_ALWAYS_INLINE inline
|
||||||
|
#endif
|
||||||
|
|
||||||
static EFL_ALWAYS_INLINE __m128i
|
static EFL_ALWAYS_INLINE __m128i
|
||||||
mul_256_sse3(__m128i a, __m128i c) {
|
mul_256_sse3(__m128i a, __m128i c) {
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#ifndef EVAS_COMMON_H
|
#ifndef EVAS_COMMON_H
|
||||||
#define EVAS_COMMON_H
|
#define EVAS_COMMON_H
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
//#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h" /* so that EAPI in Evas.h is correctly defined */
|
#include "config.h" /* so that EAPI in Evas.h is correctly defined */
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
#ifdef STDC_HEADERS
|
#ifdef STDC_HEADERS
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
|
|
|
@ -108,6 +108,8 @@ evas_src = [
|
||||||
'main.c'
|
'main.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
evas_src_opt = [ ]
|
||||||
|
|
||||||
evas_src += vg_common_src
|
evas_src += vg_common_src
|
||||||
|
|
||||||
evas_deps += dependency('freetype2')
|
evas_deps += dependency('freetype2')
|
||||||
|
@ -177,9 +179,25 @@ evas_pre = declare_dependency(
|
||||||
dependencies: [eina, eo, ector, emile, evas_deps, m],
|
dependencies: [eina, eo, ector, emile, evas_deps, m],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
evas_link = [ ]
|
||||||
|
|
||||||
|
if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
|
||||||
|
evas_opt = static_library('evas_opt',
|
||||||
|
sources: evas_src_opt,
|
||||||
|
include_directories:
|
||||||
|
[ include_directories('../../..') ] +
|
||||||
|
evas_include_directories +
|
||||||
|
[vg_common_inc_dir],
|
||||||
|
c_args: evas_opt_c_args,
|
||||||
|
dependencies: [eina, eo, ector, emile, evas_deps, m],
|
||||||
|
)
|
||||||
|
evas_link += [ evas_opt ]
|
||||||
|
endif
|
||||||
|
|
||||||
evas_pre_lib_dep = declare_dependency(
|
evas_pre_lib_dep = declare_dependency(
|
||||||
include_directories: evas_include_directories + [vg_common_inc_dir],
|
include_directories: evas_include_directories + [vg_common_inc_dir],
|
||||||
sources : [evas_src, pub_eo_file_target],
|
sources : [evas_src, pub_eo_file_target],
|
||||||
|
link_with: evas_link,
|
||||||
dependencies: [evas_deps, m, draw, valgrind, libunibreak]
|
dependencies: [evas_deps, m, draw, valgrind, libunibreak]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue