Commit Graph

90 Commits

Author SHA1 Message Date
Vincent Torri 01b987df59 make mman.h private
Summary:
integrate mman.h to make Evil private to the EFL, as mman.h does not exist on Windows. After a discussion with raster, i include sys/mman.h only on non Windows platform.

One issue, though, is that src/modules/emotion/generic/Emotion_Generic_Plugin.h has inlined functions using mmap()

Test Plan: compilation on Windows

Reviewers: cedric, raster, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9542
2019-08-19 09:55:13 -04:00
Vincent Torri 8db978aa4c include evil_private.h in last files, and disable symbolic links on Windows in a couple of files
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8933
2019-05-22 07:59:05 -04:00
Vincent Torri a5267d3d9c remove Evil.h when not necessary, include evil_private.h when necessary
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8925
2019-05-20 09:10:00 -04:00
Marcel Hollerbach a6d256cb6a build: fix macos build
Summary:
it the .pc file of luajit carries linker flags that causes compilation
fails on macos, thus we need to split up the .pc file into our own
dependency, and use it with causion

Reviewers: zmike, cedric, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7995
2019-02-22 08:53:20 -05: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
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
Daniel Kolesa b8f28e2a99 elua: get rid of lightuserdata for state retrieval
In order to get around the lightuserdata 48-bit problem, split
the state pointer into two and reconstruct it later as necessary.
2018-04-13 15:40:05 +02:00
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Daniel Kolesa 40214e16c7 elua: correctly wrap gettext funcs
Now, we cannot directly register funcs defined by a different
signature than the lua standard (int (*)(lua_State *)) so we
have to correctly wrap those with proper conversions etc.
2017-11-24 10:55:46 +01:00
Carsten Haitzler 6587613a58 elua - use safeptr with lightuserdata to work around luajit 64bit issue
luajit only supports 47bits on 64bit for lightuser data (bad! don't
mess with opaque pointers... really unexpected and bad and probably
should be fixed in luajit by doing things like on 32bit where
pointers are not messed with etc.)
2017-11-24 18:29:23 +09:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Daniel Kolesa 67d1c0e51c elua: load regular file if bytecode cache fails
If bytecode is requested and fails to load, load original file
instead. Force re-write of bytecode if that succeeds.

This is useful if there is bytecode newer than the source file that
the current Lua version can't load, for example when migrating from
LuaJIT 2.0 to 2.1, which changed bytecode format.

Fixes confusing cases such as in T2728.
2017-08-30 20:21:23 +02:00
Daniel Kolesa 352c044524 elua: use up to date lua API
luaL_reg is a 5.0 API which we don't support.
2017-06-28 11:51:29 +02:00
Carsten Haitzler 1b918594f2 elua - fix build for luajit2.1.0-beta3+
it seems luajit (and lua) broke api again... removed a #define from
their headers from 5.1->5.2 of lua (and seemingly luajit2.1 too). :(

this should fix T2728

@fix
2017-06-12 11:16:31 +09:00
Daniel Kolesa d27c27528c elua: load modules from local dirs first
This fixes cases when running scripts locally - local modules
are preferred over systemwide, avoiding possibly outdated system
scripts from being run.
2016-08-08 14:38:39 +01:00
Daniel Kolesa 0d126eab35 elua: enable module lookups in apps location
This will allow for better organization of the docgen script.
2016-07-19 16:19:42 +01:00
Daniel Kolesa 7a9fbd27ab elua: more file utilities in clib 2016-04-16 18:15:57 +01:00
Daniel Kolesa 18c208c7f9 elua: add several file/dir utils used by doc gen
This will be expanded into a proper util lib later.
2016-03-29 13:23:58 +01:00
Jean-Philippe Andre 24417ff1a5 elua: Fix use of eina_file_mkstemp after previous patch
The API (that didn't work in the first place) was used wrongly
as it was assumed its behaviour was the same as mkstemp (duh!).
It turns out eina's version doesn't replace the input string but
returns a tmpstr instead.

@fix
2016-01-19 18:18:29 +09:00
Vincent Torri 67f44a3cf8 Efreet, Elua : use eina_file_mkstemp instead of mkstemp
Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3411
2015-12-08 14:24:59 +09:00
Vincent Torri 4f242fb48a efl: add binary mode to fdopen() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:05:23 +01:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Daniel Kolesa a3cec656c8 elua: remove non-portable lconv fields (breaks windows) 2015-10-19 11:52:03 +01:00
Daniel Kolesa b90c1bf90e elua lib: sanitize all file paths before writing them
This will prevent random nonsense from being written in.

It changes semantics slightly (documented) and also fixes
CID 1267463.

@fix
2015-06-09 14:01:25 +01:00
Cedric BAIL e1dee32e26 elua: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Daniel Kolesa 7cc295ae9a elua lib: use -1 for default values in localeconv 2015-05-06 15:05:23 +01:00
Daniel Kolesa 490deb9328 elua lib: add API to retrieve lconv from lua 2015-05-06 15:05:23 +01:00
Daniel Kolesa 3a685d40c0 elua lib: add a func to retrieve the current translation lang 2015-05-06 15:05:23 +01:00
Daniel Kolesa 093c7aa596 elua lib: remove unnecessary checks (always initialized) 2015-05-06 15:05:23 +01:00
Daniel Kolesa db66fe6255 elua lib: fix elua_util_app_load + docs 2015-05-06 15:05:23 +01:00
Daniel Kolesa e73f7f7a40 elua lib: use Eina_Bool as return val in some utils 2015-05-06 15:05:23 +01:00
Daniel Kolesa 88faba813c elua lib: merge the 3 setup funcs into one
This allows simpler initialization and elua_util_require
can now queue up modules before full initialization is done.
2015-05-06 15:05:23 +01:00
Daniel Kolesa 660a4d7e1c elua lib: docs for elua_util_error_report + remove unnecessary arg 2015-05-06 15:05:22 +01:00
Daniel Kolesa a02bb195d9 elua lib: docs for elua_util_script_run 2015-05-06 15:05:22 +01:00
Daniel Kolesa a5486874d5 elua lib: docs for elua_util_app_load 2015-05-06 15:05:22 +01:00
Daniel Kolesa ca056e51ef elua lib: docs for elua_util_string_run 2015-05-06 15:05:22 +01:00
Daniel Kolesa f9520f7974 elua lib: docs for elua_util_file_run 2015-05-06 15:05:22 +01:00
Daniel Kolesa 1bc450402f elua lib: docs for elua_util_require 2015-05-06 15:05:22 +01:00
Daniel Kolesa 2a8eb85dff elua lib: docs for elua_io_loadfile 2015-05-06 15:05:22 +01:00
Daniel Kolesa 098b135799 elua lib: docs for elua_state_io_setup 2015-05-06 15:05:22 +01:00
Daniel Kolesa 123955994b elua lib: docs for elua_state_modules_setup 2015-05-06 15:05:22 +01:00
Daniel Kolesa 373ad4e9f6 elua lib: docs for elua_state_i18n_setup 2015-05-06 15:05:22 +01:00
Daniel Kolesa 8bd25cc966 elua lib: docs for elua_state_lua_state_get 2015-05-06 15:05:22 +01:00
Daniel Kolesa a27fe217df elua lib: docs for elua_state_appload_ref_push 2015-05-06 15:05:22 +01:00
Daniel Kolesa 9d46c23403 elua lib: docs for elua_state_require_ref_push 2015-05-06 15:05:22 +01:00
Daniel Kolesa 6a8c807f81 elua lib: docs for elua_state_include_path_add 2015-05-06 15:05:22 +01:00
Daniel Kolesa a54fa7abb9 elua lib: add docs for elua_state_prog_name_get 2015-05-06 15:05:22 +01:00
Daniel Kolesa 4d6f254885 elua lib: add docs for the dir retrieval APIs. 2015-05-06 15:05:22 +01:00
Daniel Kolesa eab576db61 elua lib: add doc for elua_state_dirs_fill 2015-05-06 15:05:22 +01:00
Daniel Kolesa fcf865f7ae elua lib: add docs for elua_state_dirs_set 2015-05-06 15:05:21 +01:00