Commit Graph

638 Commits

Author SHA1 Message Date
Mike Blumenkrantz 3e7017e6a8 add EFL_VERSION_1_23 define 2019-04-05 20:17:27 -04:00
Mike Blumenkrantz a5e3d2c455 add EFL_VERSION_1_22 defines
whoops
2019-04-05 20:16:44 -04:00
Marcel Hollerbach 4edf8036e0 meson: correctly use the correct dependency
Summary:
edje_cc calls epp, so we should not only add edje_cc to the depends on
target, but rather also ensure that epp is availble. Additionally, this
removes unneccessary depends on declarations when we do cross compile.
Depends on D8561

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8562
2019-04-05 08:15:39 -04:00
Mike Blumenkrantz 6326e18b3f efl.file: improve api a bit
Summary:
the previous implementation/api had a number of issues:
* "file" property contained both "file" and "key" values
  - also performed file loading operation
* "load_error" property which was specific to image objects
* no methods for controlling file loading/unloading

this patch attempts the following changes:
* split "file" property into "file" and "key" properties
  - also remove "key" from existing "mmap" property
* remove "load_error"
* directly return error codes from operations
* add "load" and "unload" methods for directly controlling load state
* add implicit file loading if file/mmap is set during construction
* rewrite all efl.file implementations to move file loading into load() method
* rewrite all usage of efl.file api based on these changes
* add C extension functions to mimic previous behavior

ref T7577

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: vitor.sousa, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7577

Differential Revision: https://phab.enlightenment.org/D8018
2019-02-27 13:17:10 -05:00
Stefan Schmidt 300b1993d8 meson: edje: setup edje_codegen for cross-builds as well
We had it all setup for edje_cc, but missed edje_codegen which is used
in the examples.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7963
2019-02-27 11:31:46 +01:00
Wonki Kim 56a91961ce meson: add a option for selecting lua interpreter
this patch is for selecting lua interpreter such as luajit, lua51
and in addition, little more changes to unify lua dependency over efl

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7564
2019-02-21 20:49:00 +01:00
Yeongjong Lee 3731398622 edje_cc: check return value of fseeks
Reviewers: Jaehyun_Cho, zmike

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7796
2019-01-28 17:26:09 +09:00
Yeongjong Lee 99930c1a59 epp: fix correct parameters for cpp_error_with_line
Reviewers: zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7795
2019-01-28 17:15:34 +09:00
Mike Blumenkrantz c7e29cd1c1 edje_cc: fail upon detecting invalid part description references in programs
Summary:
this causes attempts to STATE_SET a non-existent state to trigger an error and
abort edj file compiling so that bugs can be fixed before they become runtime
issues

@feature
fix T7016
Depends on D7607

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7016

Differential Revision: https://phab.enlightenment.org/D7608
2019-01-17 15:11:26 -05:00
Carsten Haitzler b03c818b1c meson - dont install eina bench cmp and use install_mode 2018-12-27 17:17:13 +00:00
Carsten Haitzler f532be51bc meosn - fix install of scripts and bins and their timestamps and modes
i was comparing the bindir results of aurtofoo vs meson and some
things were missing/poking out at me. this makes them be in sync -
install the ewl_wl+test obnaries, ensure to chmod +x+r etc. scritps
AND install them
2018-12-27 15:24:08 +00:00
Marcel Hollerbach 79ded15ad3 meson: enable cross compiling
the inital work for this commit was coming from `Mark van der Putten`.
In order to not have more options for this, the idea came up to use
mesons autodetection using PATH.

If a cross file is specified, the binaries are used from the system,
rather than from the intree. (Which means --cross-file has the
dependency of efl on the buildsystem)

Differential Revision: https://phab.enlightenment.org/D7415
2018-12-07 13:05:31 +01:00
Marcel Hollerbach 5b98ebab4a meson: abstract edje_cc exec lines
the array is calling the shell etc. this makes cross building easier.

Differential Revision: https://phab.enlightenment.org/D7413
2018-12-06 15:13:34 +01:00
Carsten Haitzler a492851aed edje cc - warn - use correct free prorotype for has free func 2018-11-09 11:44:00 +00:00
Carsten Haitzler c7a22fb2c7 edje player - fix ridiculous use of srncat
another case of blind strncat usage rthat seemingly did a:

strcat(buf, str); -> strncat(buf, str, strlen(tr));

which is the most pointless thing to do ever. it's no better. it's
worse as it makes it harder to identify issues. thanks these days
compilers warn about this as a stupid thing to do... so i looked at it
and fixed it properly.

again - don't do this stuff above - it's pointless. patches that do
this should be rejected. fix it properly or leave it as-is.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 882b1796d1 edje_cc - warn - fix buf truncation by snprintf by extending buffers 2018-11-09 11:44:00 +00:00
Carsten Haitzler f2e1116667 edje_cc - warn - fix free cb to be of right prototype
wrap by correctly typed func.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 906183f2cd edje_cc_parse - use memcpy instead of strncpy as we are truncating
we mean it here so it's right - use memcpy as its equivalent without
warnings.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 24b345bb53 edje_cc_parse - warn - make buffers bigger to avoid truncation 2018-11-09 11:43:59 +00:00
Marcel Hollerbach 4dfaf5729e codegen: ensure we include the filename and not the path
this mirrors the behaviour of eolian & eolian_cxx. Usally a generator
just generates the files side by side, the directory then needs to be
included anyways. thus adding the include with another subdirectory is
unusal.

Differential Revision: https://phab.enlightenment.org/D7235
2018-11-02 12:43:26 +01:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00
Mike Blumenkrantz 12f92b4bfb edje_cc: change .mo file write location to be relative to the .edj file
previously this would attempt to write the .mo file to the same directory
that the .po file was found in, which is invalid in cases such as distcheck
where the source directory is not writable

@fix

Differential Revision: https://phab.enlightenment.org/D6636
2018-08-08 14:42:05 +02:00
Mike Blumenkrantz 65b3eb27c2 Revert "edje_cc: temporarily disable aborting compile when namespace validation fails"
Summary:
This reverts commit 0dc492087e.

there are no longer any errors here so this should fail the build any time errors
are introduced

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6525
2018-07-06 11:09:51 -04:00
Mike Blumenkrantz 3309a26a0c edje_cc: disable efreetd connection
edje_cc does not use any of this functionality, and it's problematic
at build time since efreetd is not run in-tree and does not use in-tree
libraries

ref T6713

Differential Revision: https://phab.enlightenment.org/D6514
2018-07-06 15:51:59 +02:00
Mike Blumenkrantz 786210db6f edje_cc: add 'skip_namespace_validation' keyword
this pairs with the newly-added -N option to denote groups in edc files
which should not be checked for correct namespacing

the option is useful for cases such as music_control.edc,
where a group has been shipping for years with API signals like
"btn,clicked" which cannot be changed since they are used in an external
application and compatibility must be maintained

the documentation for this option explicitly states that it must only be used
inside an #ifdef SKIP_NAMESPACE_VALIDATION block, allowing this keyword to
be easily removed at a later point

ref T7072

@feature

Differential Revision: https://phab.enlightenment.org/D6388
2018-07-05 22:59:18 +02:00
Hermet Park 2663dceaf1 Revert "edje: code refactoring for readibility."
This reverts commit 7fb47fc064.

subsequential revert for previous one.

90a89d1ab2b5d23b29ad0f2680b77b5ba7f56b42.
2018-06-21 19:33:41 +09:00
Hermet Park b70c86f1fc Revert "edje: fix a regression error by 7fb47fc064b8f429242b4d5cdf57071475087821."
This reverts commit 475c93fd75.

long time after touch,
forgot that eet data has key-data pairing structure.
this change would break theme compatibility.

Thanks bu5hm4n for pointing out this.
2018-06-21 19:33:41 +09:00
Mike Blumenkrantz 0dc492087e edje_cc: temporarily disable aborting compile when namespace validation fails
Summary:
there are far too many issues here for me to fix them all, the authors of
these failures should be responsible for helping to clean this up

revert this patch once all issues are resolved

ref T6966
Depends on D6042

Reviewers: cedric, Hermet, stephenmhouston, devilhorns

Reviewed By: stephenmhouston

Subscribers: #committers

Tags: #efl

Maniphest Tasks: T6966

Differential Revision: https://phab.enlightenment.org/D6215
2018-06-15 12:27:19 -05:00
Mike Blumenkrantz 5e31eaf4a1 edje_cc: add option for verifying namespace usage
Summary:
when -N is passed, parts and program signals will be checked for
traditional namespacing based on the group name, causing compile failure
if inconsistency is detected

@feature

ref T6911

Reviewers: cedric, devilhorns

Reviewed By: cedric

Subscribers: #committers

Tags: #efl

Maniphest Tasks: T6911

Differential Revision: https://phab.enlightenment.org/D6036
2018-06-15 12:26:44 -05:00
Hermet Park 475c93fd75 edje: fix a regression error by 7fb47fc064.
That shouldn't be touched, just confused by its name.
2018-06-07 19:38:05 +09:00
Hermet Park 7fb47fc064 edje: code refactoring for readibility.
collection.part is too ambigious, since group has parts as well.
Normally we regard it as "name" (of group) instead of part.
2018-06-07 17:53:12 +09:00
Mike Blumenkrantz 334718a006 edje_cc: fixup edje_collections_lookup hash ids during collection pruning
Summary:
unused groups are pruned during this stage of edje_cc, and it becomes
necessary to update the values in this hash in order to maintain the
key:value pairing between the Edje_Part_Collection_Directory_Entry and
its corresponding Edje_Part_Collection so that lookups return consistent
results after pruning has completed

@fix

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: Hermet, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6041
2018-06-07 17:34:22 +09:00
Marcel Hollerbach 8c14de8541 edje_cc: do not keep the filedescriptor
we have a limited number of filedescriptors available, a theme can
consist out of a number of groups with scripts, keeping the fd for later
use is going above the maximum number of open files, thus use the path
of the file, not the fd to access the file.

fix  T6922

Differential Revision: https://phab.enlightenment.org/D6159
2018-05-14 17:26:28 +02:00
SubhransuSekhar Mohanty fd24998fa6 edje_cc: Fix coverity issue of accessing invalid memory. 2018-05-11 13:49:23 +09:00
WooHyun Jung 1b15c67c63 edje_cc: resolve possible dereferencing freed pointer 2018-05-11 10:44:55 +09:00
Cedric Bail 9c23ffb675 Revert "edje_cc: fix default color_class colors"
This reverts commit d83ebb6980.

Had to revert this as it break backward compatibility with what theme
expect to be the default value. We could reintroduce this with a version
check if necessary.

T6885
2018-05-02 10:46:34 -07:00
Hermet Park 215b854b54 edje edje_cc: fix memory leak.
This token has temporary alloc'd memory.
We should free it before loosing its ptr address.

@fix
2018-04-20 13:12:22 +09:00
Hermet Park 5ea2f94ffb edje: Don't access a garbage pointer.
set null to avoid multiple access.
At 221 line, it tries to free tmp again.
2018-04-20 11:44:43 +09:00
Hermet Park ecc8b479bd edje: fix potential memory leak.
next_token() requires free() for it's returned value and a string attribute.
Here token usage didn't take care of the memory freeing.

@fix
2018-04-09 11:29:41 +09:00
Hermet Park d5c913c60b edje: fix potential memory leak.
next_token() requires free() for it's returned value and a string attribute
Here logic didn't take care of the memory usage.

@fix
2018-04-09 11:14:07 +09:00
Mike Blumenkrantz 3d9dcbd478 edje: add ability to reference images from other edje files
this uses the just-added "id" property to allow referencing images
by name from that theme. example:

=FILE1=
id: "myfile";
images.image: "someimage.png" COMP;

=FILE2=
requires: "myfile";
images.image: "someimage.png" EXTERNAL "myfile";

FILE2 will now load someimage.png from FILE1 at runtime if FILE1 is
currently opened in edje, and FILE1 will be kept open until FILE2 is
closed

@feature
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 3a86768f3b edje_cc: add "id" toplevel property
this can be used by edje files to identify themselves
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 30378f26fa edje: reformat bin/ c files
a lot of this was unreadable due to mixed tabs/spaces or just random
formatting
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 645c573efb edje: EDJE_IMAGE_SOURCE_TYPE_EXTERNAL -> EDJE_IMAGE_SOURCE_TYPE_USER
no functional changes, just a confusing define rename
2018-02-28 16:02:37 -05:00
Vincent Torri d7170beb76 Windows: remove symlink() usage in edje_decc and evil binaries 2018-01-30 16:52:24 +09:00
Mike Blumenkrantz 18e392b502 edje_cc: check HAVE_SYS_RESOURCE_H presence for rlimit usage
fix T6645
2018-01-27 11:56:31 -05:00
Mike Blumenkrantz 1876151597 edje_cc: simplify thread tracking for exiting on signal 2018-01-26 14:21:02 -05:00
Mike Blumenkrantz 789c2892a3 edje_cc: make -thread option
this option was broken due to immediately triggering EMFILE errors
during thread initialization and then attempting to exit while threads
were still ongoing

some work is still needed to make this an improvement over the current
default of not using threads

@fix
2018-01-26 14:10:31 -05:00
Andy Williams d234458dfc Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 16:08:31 +00:00
Ross Vandegrift 71e5c74eb6 efl: drop deprecated Encoding key from desktop files
Summary:
The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 1.20.6.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5584

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-13 10:27:48 -08:00