summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore_con/ecore_con_url.c6
-rw-r--r--src/lib/ecore_con/efl_net_dialer_websocket.c10
-rw-r--r--src/lib/ecore_con/efl_net_ssl_context.c2
-rw-r--r--src/lib/ector/meson.build4
-rw-r--r--src/lib/eet/eet_cipher.c22
-rw-r--r--src/lib/eet/eet_image.c54
-rw-r--r--src/lib/eet/eet_lib.c20
-rw-r--r--src/lib/eet/meson.build6
-rw-r--r--src/lib/efreet/meson.build6
-rw-r--r--src/lib/elementary/efl_ui_exact_model.c8
-rw-r--r--src/lib/emile/Emile.h4
-rw-r--r--src/lib/emile/emile_base64.h8
-rw-r--r--src/lib/emile/emile_cipher.h10
-rw-r--r--src/lib/emile/emile_compress.h6
-rw-r--r--src/lib/emile/emile_image.h16
-rw-r--r--src/lib/evas/meson.build16
16 files changed, 178 insertions, 20 deletions
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index 4df3e71079..428b5d3e55 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -47,16 +47,20 @@ ecore_con_url_init(void)
if (++_init_count > 1) return _init_count;
if (!ecore_init()) goto ecore_init_failed;
if (!ecore_con_init()) goto ecore_con_init_failed;
+#ifndef EMILE_HEADER_ONLY
if (!emile_init()) goto emile_init_failed;
if (!emile_cipher_init()) goto emile_cipher_init_failed;
+#endif
ECORE_CON_EVENT_URL_DATA = ecore_event_type_new();
ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new();
ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new();
return _init_count;
+#ifndef EMILE_HEADER_ONLY
emile_cipher_init_failed:
emile_shutdown();
emile_init_failed:
+#endif
ecore_con_shutdown();
ecore_con_init_failed:
ecore_shutdown();
@@ -78,7 +82,9 @@ ecore_con_url_shutdown(void)
ECORE_CON_EVENT_URL_COMPLETE,
ECORE_CON_EVENT_URL_PROGRESS);
+#ifndef EMILE_HEADER_ONLY
emile_shutdown(); /* no emile_cipher_shutdown(), handled here */
+#endif
ecore_con_shutdown();
ecore_shutdown();
return 0;
diff --git a/src/lib/ecore_con/efl_net_dialer_websocket.c b/src/lib/ecore_con/efl_net_dialer_websocket.c
index a16579cfc6..caf1da56da 100644
--- a/src/lib/ecore_con/efl_net_dialer_websocket.c
+++ b/src/lib/ecore_con/efl_net_dialer_websocket.c
@@ -1024,13 +1024,13 @@ static void
_efl_net_dialer_websocket_key_add(Efl_Net_Dialer_Websocket_Data *pd)
{
Eina_Binbuf *binbuf_key;
- Eina_Strbuf *strbuf_key_base64;
+ Eina_Strbuf *strbuf_key_base64 = NULL;
uint8_t key[16];
const Eina_Slice guid_slice = EINA_SLICE_STR_LITERAL("258EAFA5-E914-47DA-95CA-C5AB0DC85B11");
Eina_Slice ro_slice;
Eina_Rw_Slice rw_slice;
uint8_t sha1hash[20];
- Eina_Bool ret;
+ Eina_Bool ret = EINA_FALSE;
size_t i;
for (i = 0; i < sizeof(key); i++)
@@ -1039,7 +1039,9 @@ _efl_net_dialer_websocket_key_add(Efl_Net_Dialer_Websocket_Data *pd)
binbuf_key = eina_binbuf_manage_new(key, sizeof(key), EINA_TRUE);
EINA_SAFETY_ON_NULL_RETURN(binbuf_key);
+#ifndef EMILE_HEADER_ONLY
strbuf_key_base64 = emile_base64_encode(binbuf_key);
+#endif
eina_binbuf_free(binbuf_key);
EINA_SAFETY_ON_NULL_RETURN(strbuf_key_base64);
@@ -1055,7 +1057,9 @@ _efl_net_dialer_websocket_key_add(Efl_Net_Dialer_Websocket_Data *pd)
binbuf_key = eina_binbuf_manage_new(ro_slice.mem, ro_slice.len, EINA_TRUE);
EINA_SAFETY_ON_NULL_GOTO(binbuf_key, free_strbuf);
/* 2) sha1(base64(random(16)) + guid) */
+#ifndef EMILE_HEADER_ONLY
ret = emile_binbuf_sha1(binbuf_key, sha1hash);
+#endif
eina_binbuf_free(binbuf_key);
eina_strbuf_free(strbuf_key_base64);
@@ -1065,7 +1069,9 @@ _efl_net_dialer_websocket_key_add(Efl_Net_Dialer_Websocket_Data *pd)
binbuf_key = eina_binbuf_manage_new(sha1hash, sizeof(sha1hash), EINA_TRUE);
EINA_SAFETY_ON_NULL_RETURN(binbuf_key);
+#ifndef EMILE_HEADER_ONLY
strbuf_key_base64 = emile_base64_encode(binbuf_key);
+#endif
eina_binbuf_free(binbuf_key);
EINA_SAFETY_ON_NULL_RETURN(strbuf_key_base64);
diff --git a/src/lib/ecore_con/efl_net_ssl_context.c b/src/lib/ecore_con/efl_net_ssl_context.c
index a625fe81ee..401a741b20 100644
--- a/src/lib/ecore_con/efl_net_ssl_context.c
+++ b/src/lib/ecore_con/efl_net_ssl_context.c
@@ -273,11 +273,13 @@ _efl_net_ssl_context_efl_object_finalize(Eo *o, Efl_Net_Ssl_Context_Data *pd)
o = efl_finalize(efl_super(o, MY_CLASS));
if (!o) return NULL;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init())
{
ERR("could not initialize cipher subsystem.");
return NULL;
}
+#endif
if (pd->is_dialer)
{
diff --git a/src/lib/ector/meson.build b/src/lib/ector/meson.build
index 9a9545fee8..004ada73aa 100644
--- a/src/lib/ector/meson.build
+++ b/src/lib/ector/meson.build
@@ -1,7 +1,9 @@
-ector_deps = [eina, emile, eet, eo, efl, draw]
+ector_deps = [eina, eet, eo, efl, draw]
ector_pub_deps = [eina, efl]
ector_ext_deps = [triangulator, freetype, draw_without_deps, m]
+ector_deps += emile
+
pub_eo_file_target = []
ector_opt_lib = [ ]
diff --git a/src/lib/eet/eet_cipher.c b/src/lib/eet/eet_cipher.c
index 82de1bbdff..5fab877265 100644
--- a/src/lib/eet/eet_cipher.c
+++ b/src/lib/eet/eet_cipher.c
@@ -88,7 +88,9 @@ eet_identity_open(const char *certificate_file,
gnutls_datum_t load_file = { NULL, 0 };
char pass[1024];
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return NULL;
+#endif
/* Init */
if (!(key = malloc(sizeof(Eet_Key))))
@@ -188,7 +190,9 @@ on_error:
EVP_PKEY *pkey = NULL;
X509 *cert = NULL;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return NULL;
+#endif
/* Load the X509 certificate in memory. */
{
@@ -243,7 +247,9 @@ on_error:
EET_API void
eet_identity_close(Eet_Key *key)
{
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return ;
+#endif
#ifdef HAVE_SIGNATURE
if (!key || (key->references > 0))
@@ -287,7 +293,9 @@ eet_identity_print(Eet_Key *key,
if (!key)
return;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return ;
+#endif
if (key->private_key)
{
@@ -360,7 +368,9 @@ on_error:
if (!key)
return;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return ;
+#endif
rsa = EVP_PKEY_get1_RSA(key->private_key);
if (rsa)
@@ -485,7 +495,9 @@ eet_identity_sign(FILE *fp,
if (!fp || !key || !key->certificate || !key->private_key)
return EET_ERROR_BAD_OBJECT;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return EET_ERROR_NOT_IMPLEMENTED;
+#endif
/* Get the file size. */
fd = fileno(fp);
@@ -665,7 +677,9 @@ eet_identity_check(const void *data_base,
if (signature_length < sizeof(int) * 3)
return NULL;
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return NULL;
+#endif
/* Get the header */
memcpy(&magic, header, sizeof(int));
@@ -841,7 +855,9 @@ eet_identity_certificate_print(const unsigned char *certificate,
return;
}
+#ifndef EMILE_HEADER_ONLY
if (!emile_cipher_init()) return ;
+#endif
# ifdef HAVE_GNUTLS
gnutls_datum_t datum;
@@ -905,11 +921,13 @@ eet_cipher(const void *data,
void **result,
unsigned int *result_length)
{
- Eina_Binbuf *out;
+ Eina_Binbuf *out = NULL;
Eina_Binbuf *in;
in = eina_binbuf_manage_new(data, size, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
out = emile_binbuf_cipher(EMILE_AES256_CBC, in, key, length);
+#endif
if (result_length) *result_length = out ? eina_binbuf_length_get(out) : 0;
if (result) *result = out ? eina_binbuf_string_steal(out) : NULL;
@@ -931,7 +949,9 @@ eet_decipher(const void *data,
Eina_Binbuf *in;
in = eina_binbuf_manage_new(data, size, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
out = emile_binbuf_decipher(EMILE_AES256_CBC, in, key, length);
+#endif
if (result_length) *result_length = out ? eina_binbuf_length_get(out) : 0;
if (result) *result = out ? eina_binbuf_string_steal(out) : NULL;
diff --git a/src/lib/eet/eet_image.c b/src/lib/eet/eet_image.c
index 01ccddf1e5..4f6ea8c6cb 100644
--- a/src/lib/eet/eet_image.c
+++ b/src/lib/eet/eet_image.c
@@ -157,12 +157,16 @@ eet_jpeg_membuf_dst(j_compress_ptr cinfo,
/*---*/
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_header_decode(const void *data,
int size,
unsigned int *w,
unsigned int *h,
const Eet_Colorspace **cspaces);
+#endif
+
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_rgb_decode(const void *data,
int size,
@@ -172,6 +176,9 @@ eet_data_image_jpeg_rgb_decode(const void *data,
unsigned int w,
unsigned int h,
Eet_Colorspace cspace);
+#endif
+
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_alpha_decode(const void *data,
int size,
@@ -181,6 +188,8 @@ eet_data_image_jpeg_alpha_decode(const void *data,
unsigned int w,
unsigned int h,
Eet_Colorspace cspace);
+#endif
+
static void *
eet_data_image_lossless_convert(int *size,
const void *data,
@@ -324,6 +333,7 @@ _eet_image_jpeg_emit_message_cb(j_common_ptr cinfo,
*/
}
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_header_decode(const void *data,
int size,
@@ -366,7 +376,9 @@ eet_data_image_jpeg_header_decode(const void *data,
return r;
}
+#endif
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_rgb_decode(const void *data,
int size,
@@ -379,7 +391,7 @@ eet_data_image_jpeg_rgb_decode(const void *data,
{
Emile_Image_Load_Opts opts;
Emile_Image_Property prop;
- Emile_Image *image;
+ Emile_Image *image = NULL;
Eina_Binbuf *bin;
Emile_Image_Load_Error error;
int r = 0;
@@ -421,7 +433,9 @@ eet_data_image_jpeg_rgb_decode(const void *data,
return r;
}
+#endif
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_jpeg_alpha_decode(const void *data,
int size,
@@ -506,6 +520,7 @@ eet_data_image_jpeg_alpha_decode(const void *data,
return r;
}
+#endif
// FIXME: Importing two functions from evas here: premul & unpremul
static void
@@ -551,6 +566,7 @@ _eet_argb_unpremul(unsigned int *data, unsigned int len)
}
}
+#ifndef EMILE_HEADER_ONLY
static int
eet_data_image_etc2_decode(const void *data,
unsigned int length,
@@ -648,6 +664,7 @@ eet_data_image_etc2_decode(const void *data,
eina_binbuf_free(bin);
return 0;
}
+#endif
static void *
eet_data_image_lossless_convert(int *size,
@@ -693,7 +710,7 @@ eet_data_image_lossless_compressed_convert(int *size,
{
Eina_Binbuf *in;
- Eina_Binbuf *out;
+ Eina_Binbuf *out = NULL;
unsigned char *result;
int *bigend_data = NULL;
int header[8];
@@ -716,7 +733,9 @@ eet_data_image_lossless_compressed_convert(int *size,
return NULL;
}
+#ifndef EMILE_HEADER_ONLY
out = emile_compress(in, eet_2_emile_compressor(compression), compression);
+#endif
if (!out || (eina_binbuf_length_get(out) > eina_binbuf_length_get(in)))
{
@@ -1032,6 +1051,7 @@ eet_data_image_etc1_compressed_convert(int *size,
}
in = eina_binbuf_manage_new(buffer, block_count * etc_block_size, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
if (compress)
{
Eina_Binbuf *out;
@@ -1040,6 +1060,7 @@ eet_data_image_etc1_compressed_convert(int *size,
eina_binbuf_free(in);
in = out;
}
+#endif
if (eina_binbuf_length_get(in) > 0)
{
@@ -1745,7 +1766,7 @@ eet_data_image_header_advance_decode_cipher(const void *data,
unsigned int iw = 0, ih = 0;
unsigned const char *dt;
int sz1, sz2;
- int ok;
+ int ok = 0;
sz1 = header[1];
sz2 = header[2];
@@ -1753,7 +1774,9 @@ eet_data_image_header_advance_decode_cipher(const void *data,
goto on_error;
dt = data;
dt += 12;
+#ifndef EMILE_HEADER_ONLY
ok = eet_data_image_jpeg_header_decode(dt, sz1, &iw, &ih, cspaces);
+#endif
if (ok)
{
if (w)
@@ -1817,9 +1840,11 @@ eet_data_image_header_advance_decode_cipher(const void *data,
else
{
unsigned int iw = 0, ih = 0;
- int ok;
+ int ok = 0;
+#ifndef EMILE_HEADER_ONLY
ok = eet_data_image_jpeg_header_decode(data, size, &iw, &ih, cspaces);
+#endif
if (ok)
{
if (w)
@@ -1842,7 +1867,7 @@ eet_data_image_header_advance_decode_cipher(const void *data,
if (cspaces && *cspaces)
{
- if ((*cspaces)[0] == EMILE_COLORSPACE_GRY8)
+ if ((*cspaces)[0] == EET_COLORSPACE_GRY8)
*cspaces = _eet_gry8_alpha_colorspace;
}
@@ -1978,8 +2003,8 @@ _eet_data_image_decode_inside(const void *data,
else
{
Eina_Binbuf *in;
- Eina_Binbuf *out;
- Eina_Bool expanded;
+ Eina_Binbuf *out = NULL;
+ Eina_Bool expanded = EINA_FALSE;
in = eina_binbuf_manage_new((const unsigned char *) body, size - 8 * sizeof (int), EINA_TRUE);
if (!in) return 0;
@@ -1987,7 +2012,9 @@ _eet_data_image_decode_inside(const void *data,
if ((src_h == h) && (src_w == w) && (row_stride == src_w * 4))
{
out = eina_binbuf_manage_new((void*) d, w * h * 4, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
expanded = emile_expand(in, out, eet_2_emile_compressor(comp));
+#endif
eina_binbuf_free(in);
eina_binbuf_free(out);
if (!expanded) return 0;
@@ -1996,9 +2023,11 @@ _eet_data_image_decode_inside(const void *data,
{
/* FIXME: This could create a huge alloc. So
compressed data and tile could not always work.*/
+#ifndef EMILE_HEADER_ONLY
out = emile_decompress(in,
eet_2_emile_compressor(comp),
w * h * 4);
+#endif
eina_binbuf_free(in);
if (!out) return 0;
@@ -2033,6 +2062,7 @@ _eet_data_image_decode_inside(const void *data,
dt = data;
dt += 12;
+#ifndef EMILE_HEADER_ONLY
if (eet_data_image_jpeg_rgb_decode(dt, sz1, src_x, src_y, d, w, h,
cspace))
{
@@ -2041,19 +2071,29 @@ _eet_data_image_decode_inside(const void *data,
d, w, h, cspace))
return 0;
}
+#endif
}
+#ifndef EMILE_HEADER_ONLY
else if (!eet_data_image_jpeg_rgb_decode(data, size, src_x, src_y, d, w,
h, cspace))
return 0;
+#else
+ else
+ return 0;
+#endif
}
else if ((lossy == EET_IMAGE_ETC1) ||
(lossy == EET_IMAGE_ETC2_RGB) ||
(lossy == EET_IMAGE_ETC2_RGBA) ||
(lossy == EET_IMAGE_ETC1_ALPHA))
{
+#ifndef EMILE_HEADER_ONLY
return eet_data_image_etc2_decode(data, size, d,
src_x, src_y, src_w, src_h,
alpha, cspace, lossy);
+#else
+ return 0;
+#endif
}
else
abort();
diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c
index ba78771006..5ad44fada1 100644
--- a/src/lib/eet/eet_lib.c
+++ b/src/lib/eet/eet_lib.c
@@ -565,11 +565,13 @@ eet_init(void)
goto shutdown_mempool;
}
+#ifndef EMILE_HEADER_ONLY
if (!emile_init())
{
EINA_LOG_ERR("Emile: failed to initialize");
goto shutdown_emile;
}
+#endif
eina_log_timing(_eet_log_dom_global,
EINA_LOG_STATE_STOP,
@@ -577,8 +579,10 @@ eet_init(void)
return eet_init_count;
+#ifndef EMILE_HEADER_ONLY
shutdown_emile:
eet_node_shutdown();
+#endif
shutdown_mempool:
eet_mempool_shutdown();
unregister_log_domain:
@@ -637,7 +641,9 @@ eet_shutdown(void)
eina_lock_free(&eet_cache_lock);
+#ifndef EMILE_HEADER_ONLY
emile_shutdown();
+#endif
eina_log_domain_unregister(_eet_log_dom_global);
_eet_log_dom_global = -1;
@@ -1944,6 +1950,7 @@ eet_read_cipher(Eet_File *ef,
if (!in) goto on_error;
/* First uncipher data */
+#ifndef EMILE_HEADER_ONLY
if (efn->ciphered && cipher_key)
{
Eina_Binbuf *out;
@@ -1956,7 +1963,9 @@ eet_read_cipher(Eet_File *ef,
in = out;
}
+#endif
+#ifndef EMILE_HEADER_ONLY
if (efn->compression)
{
Eina_Binbuf *out;
@@ -1970,6 +1979,7 @@ eet_read_cipher(Eet_File *ef,
in = out;
}
+#endif
UNLOCK_FILE(ef);
@@ -2052,6 +2062,7 @@ eet_read_direct(Eet_File *ef,
/* handle alias case */
if (efn->alias)
{
+#ifndef EMILE_HEADER_ONLY
if (efn->compression)
{
Eina_Binbuf *in;
@@ -2082,6 +2093,7 @@ eet_read_direct(Eet_File *ef,
eina_binbuf_free(out);
return retptr;
}
+#endif
data = efn->data ? efn->data : ef->data + efn->offset;
if (!data) goto on_error;
@@ -2154,6 +2166,7 @@ eet_alias_get(Eet_File *ef,
data = efn->data ? efn->data : ef->data + efn->offset;
/* handle alias case */
+#ifndef EMILE_HEADER_ONLY
if (efn->compression)
{
Eina_Binbuf *in;
@@ -2184,6 +2197,7 @@ eet_alias_get(Eet_File *ef,
eina_binbuf_free(out);
return retptr;
}
+#endif
if (!data)
goto on_error;
@@ -2278,6 +2292,7 @@ eet_alias(Eet_File *ef,
if (!in) goto on_error;
/* if we want to compress */
+#ifndef EMILE_HEADER_ONLY
if (comp)
{
Eina_Binbuf *out;
@@ -2290,6 +2305,7 @@ eet_alias(Eet_File *ef,
in = out;
}
+#endif
/* Does this node already exist? */
for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next)
@@ -2400,6 +2416,7 @@ eet_write_cipher(Eet_File *ef,
UNLOCK_FILE(ef);
in = eina_binbuf_manage_new(data, size, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
if (comp)
{
Eina_Binbuf *out;
@@ -2425,7 +2442,9 @@ eet_write_cipher(Eet_File *ef,
comp = 0;
}
}
+#endif
+#ifndef EMILE_HEADER_ONLY
if (cipher_key)
{
Eina_Binbuf *out;
@@ -2439,6 +2458,7 @@ eet_write_cipher(Eet_File *ef,
in = out;
}
}
+#endif
LOCK_FILE(ef);
/* Does this node already exist? */
diff --git a/src/lib/eet/meson.build b/src/lib/eet/meson.build
index 4a308a47eb..3451403620 100644
--- a/src/lib/eet/meson.build
+++ b/src/lib/eet/meson.build
@@ -1,6 +1,8 @@
eet_deps = [rg_etc]
-eet_pub_deps = [eina, emile, efl]
-eet_ext_deps = [crypto, jpeg, m, rg_etc_simple]
+eet_pub_deps = [eina, efl]
+eet_ext_deps = [rg_etc_simple, crypto, jpeg, m]
+
+eet_pub_deps += [emile]
eet_header_src = [
'Eet.h'
diff --git a/src/lib/efreet/meson.build b/src/lib/efreet/meson.build
index 83bfa33bcf..970956ad7d 100644
--- a/src/lib/efreet/meson.build
+++ b/src/lib/efreet/meson.build
@@ -30,10 +30,14 @@ efreet_src = files([
'efreet_trash.c'
])
-efreet_deps = [eet, ecore, ecore_con, ecore_file, eo, efl, eina, emile, ecore_ipc, buildsystem]
+efreet_deps = [eet, ecore, ecore_con, ecore_file, eo, efl, eina, ecore_ipc, buildsystem]
efreet_pub_deps = [eina, eo, efl]
efreet_ext_deps = [buildsystem_simple, intl, m]
+if get_option('emile')
+ efreet_deps += emile
+endif
+
package_c_args += ['-DDATA_DIR="'+dir_data+'"']
efreet_lib = library('efreet',
diff --git a/src/lib/elementary/efl_ui_exact_model.c b/src/lib/elementary/efl_ui_exact_model.c
index 9c33709123..7ee5c71452 100644
--- a/src/lib/elementary/efl_ui_exact_model.c
+++ b/src/lib/elementary/efl_ui_exact_model.c
@@ -59,7 +59,7 @@ _efl_ui_exact_model_slot_compress(unsigned int index, Eina_List *compressed, uns
{
unsigned int list_index = index / EFL_UI_EXACT_MODEL_CONTENT;
static Eina_Binbuf *z = NULL;
- Eina_Binbuf *cbuf;
+ Eina_Binbuf *cbuf = NULL;
Eina_Binbuf *tbuf;
Eina_List *l = NULL;
unsigned int i;
@@ -69,7 +69,9 @@ _efl_ui_exact_model_slot_compress(unsigned int index, Eina_List *compressed, uns
tbuf = eina_binbuf_manage_new((unsigned char *) buffer, EFL_UI_EXACT_MODEL_CONTENT_LENGTH, EINA_TRUE);
if (!tbuf) return compressed;
+#ifndef EMILE_HEADER_ONLY
cbuf = emile_compress(tbuf, EMILE_LZ4, EMILE_COMPRESSOR_FAST);
+#endif
eina_binbuf_free(tbuf);
if (!cbuf) return compressed;
@@ -96,7 +98,9 @@ _efl_ui_exact_model_slot_compress(unsigned int index, Eina_List *compressed, uns
return compressed;
}
+#ifndef EMILE_HEADER_ONLY
z = emile_compress(tbuf, EMILE_LZ4, EMILE_COMPRESSOR_FAST);
+#endif
eina_binbuf_free(tbuf);
free(zmem);
@@ -139,7 +143,9 @@ _efl_ui_exact_model_buffer_expand(unsigned int list_index, unsigned int *buffer,
// Found -> expand in buffer
tmp = eina_binbuf_manage_new((unsigned char*) buffer, EFL_UI_EXACT_MODEL_CONTENT_LENGTH, EINA_TRUE);
+#ifndef EMILE_HEADER_ONLY
emile_expand(eina_list_data_get(l), tmp, EMILE_LZ4);
+#endif
eina_binbuf_free(tmp);
return buffer;
diff --git a/src/lib/emile/Emile.h b/src/lib/emile/Emile.h
index e9f2b13368..29712de708 100644
--- a/src/lib/emile/Emile.h
+++ b/src/lib/emile/Emile.h
@@ -63,7 +63,9 @@ extern "C" {
*
* @since 1.14
*/
+#ifdef EMILE_HEADER_ONLY
EMILE_API int emile_init(void);
+#endif
/**
* Shut down the Emile library
@@ -76,7 +78,9 @@ EMILE_API int emile_init(void);
* @return The new init count.
* @since 1.14
*/
+#ifdef EMILE_HEADER_ONLY
EMILE_API int emile_shutdown(void);
+#endif
/**
* @}
diff --git a/src/lib/emile/emile_base64.h b/src/lib/emile/emile_base64.h
index 8377e3b5b8..7e75cde4c8 100644
--- a/src/lib/emile/emile_base64.h
+++ b/src/lib/emile/emile_base64.h
@@ -19,7 +19,9 @@
*
* @since 1.17.0
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Strbuf *emile_base64_encode(const Eina_Binbuf *in);
+#endif
/**
* @brief base64 url and filename safe encoding function.
@@ -33,7 +35,9 @@ EMILE_API Eina_Strbuf *emile_base64_encode(const Eina_Binbuf *in);
*
* @since 1.17.0
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Strbuf *emile_base64url_encode(const Eina_Binbuf *in);
+#endif
/**
* @brief base64 decoding function.
@@ -45,7 +49,9 @@ EMILE_API Eina_Strbuf *emile_base64url_encode(const Eina_Binbuf *in);
*
* @since 1.17.0
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf* emile_base64_decode(const Eina_Strbuf *in);
+#endif
/**
* @brief decoding function for base64 url and filename safe encoding.
@@ -57,7 +63,9 @@ EMILE_API Eina_Binbuf* emile_base64_decode(const Eina_Strbuf *in);
*
* @since 1.17.0
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf* emile_base64url_decode(const Eina_Strbuf *in);
+#endif
/**
* @}
diff --git a/src/lib/emile/emile_cipher.h b/src/lib/emile/emile_cipher.h
index 9e24de3a45..259073cbc2 100644
--- a/src/lib/emile/emile_cipher.h
+++ b/src/lib/emile/emile_cipher.h
@@ -46,14 +46,18 @@ typedef enum _Emile_Cipher_Algorithm
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Bool emile_cipher_init(void);
+#endif
/**
* Get the name of the current used backend.
*
* @return the name of the current cipher backend.
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Emile_Cipher_Backend emile_cipher_module_get(void);
+#endif
/**
* Cipher a buffer with a defined algorithm and key.
@@ -66,7 +70,9 @@ EMILE_API Emile_Cipher_Backend emile_cipher_module_get(void);
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf *emile_binbuf_cipher(Emile_Cipher_Algorithm algo, const Eina_Binbuf * in, const char *key, unsigned int length);
+#endif
/**
* Decipher a buffer with a defined algorithm and key.
@@ -83,7 +89,9 @@ EMILE_API Eina_Binbuf *emile_binbuf_cipher(Emile_Cipher_Algorithm algo, const Ei
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf *emile_binbuf_decipher(Emile_Cipher_Algorithm algo, const Eina_Binbuf * in, const char *key, unsigned int length);
+#endif
#ifdef EFL_BETA_API_SUPPORT
@@ -102,6 +110,7 @@ typedef enum
EMILE_WANT_WRITE = 3
} Emile_Want_Type;
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Bool emile_binbuf_hmac_sha1(const char *key, unsigned int key_len, const Eina_Binbuf * data, unsigned char digest[20]);
EMILE_API Eina_Bool emile_binbuf_sha1(const Eina_Binbuf * data, unsigned char digest[20]);
@@ -125,6 +134,7 @@ EMILE_API void emile_cipher_verify_set(Emile_SSL * emile, Eina_Bool verify);
EMILE_API void emile_cipher_verify_basic_set(Emile_SSL * emile, Eina_Bool verify_basic);
EMILE_API Eina_Bool emile_cipher_verify_get(const Emile_SSL * emile);
EMILE_API Eina_Bool emile_cipher_verify_basic_get(const Emile_SSL * emile);
+#endif
#endif
diff --git a/src/lib/emile/emile_compress.h b/src/lib/emile/emile_compress.h
index 5e3a0caf15..b46015d75d 100644
--- a/src/lib/emile/emile_compress.h
+++ b/src/lib/emile/emile_compress.h
@@ -51,7 +51,9 @@ typedef enum
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf *emile_compress(const Eina_Binbuf * in, Emile_Compressor_Type t, Emile_Compressor_Level level);
+#endif
/**
* @brief Uncompress a buffer into a newly allocated buffer.
*
@@ -67,7 +69,9 @@ EMILE_API Eina_Binbuf *emile_compress(const Eina_Binbuf * in, Emile_Compressor_T
* @note That if dest_length doesn't match the expanded data, it will
* just fail and return @c NULL.
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Binbuf *emile_decompress(const Eina_Binbuf * in, Emile_Compressor_Type t, unsigned int dest_length);
+#endif
/**
* @brief Uncompress a buffer into an existing buffer.
@@ -83,7 +87,9 @@ EMILE_API Eina_Binbuf *emile_decompress(const Eina_Binbuf * in, Emile_Compressor
* expanded data or it will fail. In case of failure, random garbage
* could fill the out buffer.
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Bool emile_expand(const Eina_Binbuf * in, Eina_Binbuf * out, Emile_Compressor_Type t);
+#endif
/**
* @}
*/
diff --git a/src/lib/emile/emile_image.h b/src/lib/emile/emile_image.h
index 40953e1acd..9af4c51431 100644
--- a/src/lib/emile/emile_image.h
+++ b/src/lib/emile/emile_image.h
@@ -259,7 +259,9 @@ EMILE_API Emile_Image *emile_image_tgv_memory_open(Eina_Binbuf * source, Emile_I
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Emile_Image *emile_image_tgv_file_open(Eina_File * source, Emile_Image_Load_Opts * opts, Emile_Image_Animated * animated, Emile_Image_Load_Error * error);
+#endif
/**
@@ -273,7 +275,9 @@ EMILE_API Emile_Image *emile_image_tgv_file_open(Eina_File * source, Emile_Image
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Emile_Image *emile_image_jpeg_memory_open(Eina_Binbuf * source, Emile_Image_Load_Opts * opts, Emile_Image_Animated * animated, Emile_Image_Load_Error * error);
+#endif
/**
* Open a JPEG image from file.
@@ -286,7 +290,9 @@ EMILE_API Emile_Image *emile_image_jpeg_memory_open(Eina_Binbuf * source, Emile_
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Emile_Image *emile_image_jpeg_file_open(Eina_File * source, Emile_Image_Load_Opts * opts, Emile_Image_Animated * animated, Emile_Image_Load_Error * error);
+#endif
/**
* Read the header of an image to fill Emile_Image_Property.
@@ -299,7 +305,9 @@ EMILE_API Emile_Image *emile_image_jpeg_file_open(Eina_File * source, Emile_Imag
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Bool emile_image_head(Emile_Image * image, Emile_Image_Property * prop, unsigned int property_size, Emile_Image_Load_Error * error);
+#endif
/**
* Read the pixels from an image file.
@@ -313,7 +321,9 @@ EMILE_API Eina_Bool emile_image_head(Emile_Image * image, Emile_Image_Property *
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API Eina_Bool emile_image_data(Emile_Image * image, Emile_Image_Property * prop, unsigned int property_size, void *pixels, Emile_Image_Load_Error * error);
+#endif
/**
* Register a callback for emile to ask what to do during the processing of an image
@@ -323,7 +333,9 @@ EMILE_API Eina_Bool emile_image_data(Emile_Image * image, Emile_Image_Property *
* @param action The action this callback is triggered on.
* @since 1.19
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API void emile_image_callback_set(Emile_Image *image, Emile_Action_Cb callback, Emile_Action action, const void *data);
+#endif
/**
* Close an opened image handler.
@@ -332,7 +344,9 @@ EMILE_API void emile_image_callback_set(Emile_Image *image, Emile_Action_Cb call
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API void emile_image_close(Emile_Image * source);
+#endif
/**
* Convert an error code related to an image handler into a meaningful string.
@@ -343,7 +357,9 @@ EMILE_API void emile_image_close(Emile_Image * source);
*
* @since 1.14
*/
+#ifndef EMILE_HEADER_ONLY
EMILE_API const char *emile_load_error_str(Emile_Image * source, Emile_Image_Load_Error error);
+#endif
/**
* @}
diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build
index e341b265a3..c19948e06c 100644
--- a/src/lib/evas/meson.build
+++ b/src/lib/evas/meson.build
@@ -52,10 +52,12 @@ evas_vg_loaders_file = [
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_deps = [eo, eet, eina, efl, ector, ecore, draw, buildsystem]
evas_ext_deps = [vg_common, draw_simple]
evas_ext_none_static_deps = [buildsystem_simple, intl, m, valgrind, libunibreak, lua]
+evas_deps += emile
+
pub_eo_file_target = []
priv_eo_files = []
evas_include_directories = []
@@ -208,7 +210,11 @@ if get_option('opengl') != 'none'
endif
evas_link = [ ]
-evas_pub_deps = [eina, ecore, ector, emile]
+evas_pub_deps = [eina, ecore, ector]
+evas_pub_deps += emile
+
+evas_opt_deps = []
+evas_opt_deps += emile
if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
evas_opt = static_library('evas_opt',
@@ -218,7 +224,7 @@ if cpu_sse3 == true or cpu_neon == true and cpu_neon_intrinsics == false
evas_include_directories +
[vg_common_inc_dir],
c_args: native_arch_opt_c_args,
- dependencies: [eina, eo, ector, emile, evas_deps, evas_ext_none_static_deps],
+ dependencies: [eina, eo, ector, evas_deps, evas_ext_none_static_deps, evas_opt_deps],
)
evas_link += [ evas_opt ]
endif
@@ -280,7 +286,7 @@ foreach loader : evas_vg_savers_file
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],
+ dependencies: [eo, ector, freetype, eet, evas_opt_deps],
)]
config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
endif
@@ -313,7 +319,7 @@ evas = declare_dependency(
evas_bin = declare_dependency(
link_with : [evas_lib],
- dependencies : [eina, ecore, ector, emile],
+ dependencies : [eina, ecore, ector, evas_opt_deps],
include_directories : evas_include_directories
)