2018-10-25 14:40:31 -07:00
project ( 'efl' , [ 'c' , 'cpp' ] ,
2020-08-24 02:29:35 -07:00
version : '1.25.0' ,
default_options : [ 'buildtype=release' , 'cpp_std=c++11' ] ,
2020-06-12 00:32:39 -07:00
meson_version : '>=0.50'
2018-08-12 06:26:29 -07:00
)
2018-11-16 09:37:22 -08:00
if host_machine . system ( ) == 'darwin'
2018-08-12 06:26:29 -07:00
add_languages ( 'objc' )
endif
pkgconfig = import ( 'pkgconfig' )
version_arr = meson . project_version ( ) . split ( '.' )
version_major = version_arr [ 0 ]
version_minor = version_arr [ 1 ]
version_micro = version_arr [ 2 ]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
version_name = 'v-' + version_major + '.' + version_minor
2018-08-12 06:26:29 -07:00
cc = meson . get_compiler ( 'c' )
host_os = host_machine . system ( )
if host_os == 'linux'
if cc . has_header_symbol ( 'features.h' , '__UCLIBC__' )
host_os = 'linux-uclibc'
elif cc . has_header_symbol ( 'features.h' , '__dietlibc__' )
host_os = 'linux-dietlibc'
else
host_os = 'linux-gnu'
endif
endif
#prepare a special linker args flag for binaries on macos
bin_linker_args = [ ]
2018-11-16 09:37:22 -08:00
if host_machine . system ( ) == 'darwin'
2018-08-12 06:26:29 -07:00
bin_linker_args = [ '-pagezero_size' , '10000' , '-image_base' , '100000000' ]
endif
2018-12-04 11:38:07 -08:00
windows = [ 'windows' , 'cygwin' ]
#bsd for meson 0.46 and 0.47
2019-05-26 16:59:56 -07:00
bsd = [ 'bsd' , 'freebsd' , 'dragonfly' , 'netbsd' , 'openbsd' ]
2018-12-04 11:38:07 -08:00
linux = [ 'linux' ]
osx = [ 'darwin' ]
2020-06-18 06:35:46 -07:00
sun = [ 'sunos' ]
2018-12-04 11:38:07 -08:00
sys_linux = linux . contains ( host_machine . system ( ) )
sys_bsd = bsd . contains ( host_machine . system ( ) )
sys_windows = windows . contains ( host_machine . system ( ) )
sys_osx = osx . contains ( host_machine . system ( ) )
2020-06-18 06:35:46 -07:00
sys_sun = sun . contains ( host_machine . system ( ) )
2018-12-04 11:38:07 -08:00
2018-08-12 06:26:29 -07:00
module_files = [ ]
evas_loader_map = [ ]
#install paths
dir_prefix = get_option ( 'prefix' )
dir_sysconf = join_paths ( dir_prefix , get_option ( 'sysconfdir' ) )
dir_bin = join_paths ( dir_prefix , get_option ( 'bindir' ) )
dir_data = join_paths ( dir_prefix , get_option ( 'datadir' ) )
dir_include = join_paths ( dir_prefix , get_option ( 'includedir' ) )
dir_lib = join_paths ( dir_prefix , get_option ( 'libdir' ) )
#local paths
local_lib = join_paths ( 'src' , 'lib' )
2018-10-19 06:47:44 -07:00
local_bindings = join_paths ( 'src' , 'bindings' )
2018-08-12 06:26:29 -07:00
local_bin = join_paths ( 'src' , 'bin' )
local_module = join_paths ( 'src' , 'modules' )
local_tests = join_paths ( 'src' , 'tests' )
local_benchmark = join_paths ( 'src' , 'benchmarks' )
local_examples = join_paths ( 'src' , 'examples' )
local_scripts = join_paths ( 'src' , 'scripts' )
2018-12-07 07:30:48 -08:00
dev_cflags = [ ]
dev_cflags_try = [
'-fvisibility=hidden' ,
'-Wall' ,
2020-05-12 00:21:52 -07:00
'-Wfloat-compare' ,
2020-05-12 07:56:01 -07:00
'-Wpointer-arith' ,
2019-01-03 06:59:43 -08:00
'-Wunused-parameter' ,
2018-12-07 07:30:48 -08:00
'-Wsign-compare' ,
'-Wno-missing-field-initializers' ,
]
foreach cf : dev_cflags_try
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if cc . has_argument ( cf )
2018-12-07 07:30:48 -08:00
dev_cflags + = cf
endif
endforeach
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
add_project_arguments ( dev_cflags , language : 'c' )
add_project_arguments ( dev_cflags , language : 'cpp' )
langs = [ 'c' , 'objc' , 'cpp' ]
add_project_arguments ( '-DHAVE_CONFIG_H=1' , language : langs )
add_project_arguments ( '-D_GNU_SOURCE=1' , language : langs )
add_project_arguments ( '-DEFL_BETA_API_SUPPORT=1' , language : langs )
add_project_arguments ( '-DNEED_RUN_IN_TREE=1' , language : langs )
add_project_arguments ( '-DELM_INTERNAL_API_ARGESFSDFEFC=1' , language : langs )
if sys_windows
add_project_arguments ( '-D_POSIX_C_SOURCE=200809L' , language : langs )
add_project_arguments ( '-DDLL_EXPORT=1' , language : langs )
if get_option ( 'windows-version' ) == 'vista'
add_project_arguments ( '-DWINVER=0x060' , language : langs )
add_project_arguments ( '-D_WIN32_WINNT=0x0600' , language : langs )
elif get_option ( 'windows-version' ) == 'win7'
add_project_arguments ( '-DWINVER=0x0601' , language : langs )
add_project_arguments ( '-D_WIN32_WINNT=0x0601' , language : langs )
elif get_option ( 'windows-version' ) == 'win8'
add_project_arguments ( '-DWINVER=0x0602' , language : langs )
add_project_arguments ( '-D_WIN32_WINNT=0x0602' , language : langs )
elif get_option ( 'windows-version' ) == 'win81'
add_project_arguments ( '-DWINVER=0x0603' , language : langs )
add_project_arguments ( '-D_WIN32_WINNT=0x0603' , language : langs )
elif get_option ( 'windows-version' ) == 'win10'
add_project_arguments ( '-DWINVER=0x0A00' , language : langs )
add_project_arguments ( '-D_WIN32_WINNT=0x0A00' , language : langs )
else
error ( 'Version of targetted Windows incorrect' )
2018-12-04 11:38:07 -08:00
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
add_project_arguments ( '-D__USE_MINGW_ANSI_STDIO' , language : langs )
endif
2018-08-12 06:26:29 -07:00
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if sys_sun
2020-06-18 06:35:46 -07:00
# for getpwuid_r()
add_global_arguments ( '-D_POSIX_PTHREAD_SEMANTICS' , language : 'c' )
endif
2020-09-02 00:25:51 -07:00
env = find_program ( 'env' , native : true )
2018-08-12 06:26:29 -07:00
config_h = configuration_data ( )
config_h . set_quoted ( 'MODULE_ARCH' , version_name )
config_h . set_quoted ( 'PACKAGE' , meson . project_name ( ) )
config_h . set_quoted ( 'PACKAGE_VERSION' , meson . project_version ( ) )
config_h . set_quoted ( 'VERSION' , meson . project_version ( ) )
config_h . set_quoted ( 'LOCALE_DIR' , join_paths ( [ dir_prefix , 'share/locale' ] ) )
config_h . set_quoted ( 'PACKAGE_URL' , 'https://www.enlightenment.org' )
config_h . set_quoted ( 'PACKAGE_TARNAME' , meson . project_name ( ) )
config_h . set_quoted ( 'PACKAGE_BUGREPORT' , 'enlightenment-devel@lists.sourceforge.net' )
config_h . set_quoted ( 'PACKAGE_STRING' , meson . project_name ( ) + ' ' + meson . project_version ( ) )
config_h . set_quoted ( 'PACKAGE_NAME' , meson . project_name ( ) )
config_h . set_quoted ( 'PACKAGE_BIN_DIR' , dir_bin )
config_h . set_quoted ( 'PACKAGE_LIB_DIR' , dir_lib )
config_h . set_quoted ( 'PACKAGE_SRC_DIR' , meson . source_root ( ) )
config_h . set_quoted ( 'PACKAGE_BUILD_DIR' , meson . current_build_dir ( ) )
config_h . set_quoted ( 'PACKAGE_SYSCONF_DIR' , dir_sysconf )
config_h . set_quoted ( 'BINDIR' , dir_bin )
config_h . set10 ( 'EFL_HAVE_THREADS' , true )
2018-11-09 04:32:03 -08:00
config_h . set10 ( 'SLOPPY_SPEC' , true )
2018-08-12 06:26:29 -07:00
2018-11-07 07:57:37 -08:00
## have to get compiler again for this to work
code = '' ' #define _GNU_SOURCE 1
#include <unistd.h>
#include <stdio.h>
extern char * * environ ;
void func ( void ) { printf ( " % p \ n " , environ ) ; }
'' '
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if cc . compiles ( code , args : '-lc' , name : 'environ check' )
2018-11-07 07:57:37 -08:00
config_h . set10 ( 'HAVE_ENVIRON' , true )
endif
2018-11-07 10:01:48 -08:00
cpu_sse3 = false
cpu_neon = false
cpu_neon_intrinsics = false
2018-11-16 09:37:22 -08:00
native_arch_opt_c_args = [ ]
2018-11-11 01:15:14 -08:00
2018-11-16 09:37:22 -08:00
if host_machine . endian ( ) == 'big'
2018-11-11 01:15:14 -08:00
config_h . set10 ( 'WORDS_BIGENDIAN' , true )
endif
2018-11-16 07:49:53 -08:00
if get_option ( 'native-arch-optimization' )
2018-11-16 09:37:22 -08:00
if host_machine . cpu_family ( ) == 'x86' or host_machine . cpu_family ( ) == 'x86_64'
cpu_sse3 = true
2018-11-16 07:49:53 -08:00
config_h . set10 ( 'BUILD_MMX' , true )
config_h . set10 ( 'BUILD_SSE3' , true )
2018-11-16 09:37:22 -08:00
native_arch_opt_c_args = [ '-msse3' ]
message ( 'x86 build - MMX + SSE3 enabled' )
elif host_machine . cpu_family ( ) == 'arm'
2018-11-16 07:49:53 -08:00
cpu_neon = true
config_h . set10 ( 'BUILD_NEON' , true )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
add_project_arguments ( '-mfpu=neon' , language : 'c' )
add_project_arguments ( '-ftree-vectorize' , language : 'c' )
2018-11-16 09:37:22 -08:00
message ( 'ARM build - NEON enabled' )
elif host_machine . cpu_family ( ) == 'aarch64'
2018-11-16 07:49:53 -08:00
cpu_neon = true
cpu_neon_intrinsics = true
2018-11-16 09:37:22 -08:00
config_h . set10 ( 'BUILD_NEON' , true )
config_h . set10 ( 'BUILD_NEON_INTRINSICS' , true )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
add_project_arguments ( '-ftree-vectorize' , language : 'c' )
2018-11-16 09:37:22 -08:00
native_arch_opt_c_args = [ '-ftree-vectorize' ]
2018-11-16 07:49:53 -08:00
message ( 'ARM64 build - NEON + intrinsics enabled' )
2018-11-16 09:37:22 -08:00
elif host_machine . cpu_family ( ) == 'ppc' or host_machine . cpu_family ( ) == 'ppc64'
2018-11-16 07:49:53 -08:00
config_h . set10 ( 'BUILD_ALTIVEC' , true )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
add_project_arguments ( '-ftree-vectorize' , language : 'c' )
add_project_arguments ( '-maltivec' , language : 'c' )
2018-11-16 07:49:53 -08:00
message ( 'PPC/POWER build - ALTIVEC enabled' )
2018-11-07 10:01:48 -08:00
endif
endif
2018-11-07 07:57:37 -08:00
2018-08-12 06:26:29 -07:00
config_dir = [ include_directories ( '.' ) ]
eolian_include_directories = [ ]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if sys_linux or sys_bsd or sys_sun
2018-08-12 06:26:29 -07:00
sys_lib_extension = 'so'
sys_exe_extension = ''
sys_mod_extension = 'so'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
elif sys_windows
2018-08-12 06:26:29 -07:00
sys_lib_extension = 'dll'
sys_exe_extension = 'exe'
sys_mod_extension = 'dll'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
elif sys_osx
2018-08-12 06:26:29 -07:00
sys_lib_extension = 'dylib'
sys_exe_extension = ''
2020-04-06 02:50:34 -07:00
sys_mod_extension = 'so'
2019-02-12 12:34:27 -08:00
config_h . set ( 'environ' , '(*_NSGetEnviron())' )
2018-08-12 06:26:29 -07:00
else
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
error ( 'System ' + host_machine . system ( ) + ' not known' )
2018-08-12 06:26:29 -07:00
endif
2019-12-03 10:50:38 -08:00
if host_os == 'freebsd' or host_os == 'dragonfly'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# This is necessary. We MUST use OpenSSL in base as bringing in from ports
# can cause major issues (2 copies of the same library).
2019-12-03 10:50:38 -08:00
crypto = declare_dependency ( link_args : [ '-lssl' , '-lcrypto' ] )
config_h . set ( 'HAVE_OPENSSL' , '1' )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
elif get_option ( 'crypto' ) == 'gnutls'
2018-08-12 06:26:29 -07:00
# gcrypt does not want to provide a pkg config file so we try the lib
crypto = [ dependency ( 'gnutls' ) , cc . find_library ( 'gcrypt' ) ]
config_h . set ( 'HAVE_GNUTLS' , '1' )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
elif get_option ( 'crypto' ) == 'openssl'
2018-08-12 06:26:29 -07:00
crypto = dependency ( 'openssl' )
config_h . set ( 'HAVE_OPENSSL' , '1' )
endif
2019-06-27 01:26:55 -07:00
if get_option ( 'crypto' ) != ''
config_h . set ( 'HAVE_CIPHER' , '1' )
config_h . set ( 'HAVE_SIGNATURE' , '1' )
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
config_h . set_quoted ( 'SHARED_LIB_SUFFIX' , '.' + sys_lib_extension )
config_h . set_quoted ( 'MOD_SUFFIX' , '.' + sys_mod_extension )
2019-08-27 04:40:33 -07:00
if sys_exe_extension == ''
config_h . set_quoted ( 'EXE_SUFFIX' , '' )
else
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
config_h . set_quoted ( 'EXE_SUFFIX' , '.' + sys_exe_extension )
2019-08-27 04:40:33 -07:00
endif
2018-08-12 06:26:29 -07:00
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if get_option ( 'tslib' )
2019-01-10 04:13:21 -08:00
config_h . set ( 'HAVE_TSLIB' , '1' )
endif
2018-08-12 06:26:29 -07:00
subdir ( 'header_checks' )
subdir ( 'po' )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if get_option ( 'wl' )
2018-08-12 06:26:29 -07:00
subdir ( join_paths ( 'src' , 'wayland_protocol' ) )
endif
ecore_evas_wayland_engine_include_dir = [ ]
2019-10-05 10:35:00 -07:00
evas_static_list = [ ]
2019-12-24 20:33:53 -08:00
luaold_interpreters = [
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
[ 'lua' , [ '>=5.1.0' , '<5.3.0' ] ] ,
[ 'lua51' , [ '>=5.1.0' , '<5.2.0' ] ] ,
[ 'lua-5.1' , [ '>=5.1.0' , '<5.2.0' ] ] ,
[ 'lua5.1' , [ '>=5.1.0' , '<5.2.0' ] ] ,
[ 'lua52' , [ '>=5.2.0' , '<5.3.0' ] ] ,
[ 'lua-5.2' , [ '>=5.2.0' , '<5.3.0' ] ] ,
[ 'lua5.2' , [ '>=5.2.0' , '<5.3.0' ] ] ,
2019-12-24 20:33:53 -08:00
]
lua_pc_name = ''
2020-06-06 10:09:21 -07:00
have_elua = get_option ( 'elua' )
2019-12-24 20:33:53 -08:00
if get_option ( 'lua-interpreter' ) == 'lua'
2020-05-11 08:17:47 -07:00
config_h . set ( 'ENABLE_LUA_OLD' , '1' )
2019-12-24 20:33:53 -08:00
foreach l : luaold_interpreters
lua = dependency ( l [ 0 ] , version : l [ 1 ] , required : false )
lua_pc_name = l [ 0 ]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if lua . found ( )
2019-12-24 20:33:53 -08:00
break
endif
endforeach
2020-06-06 10:09:21 -07:00
if not lua . found ( )
error ( 'Lua not found' )
endif
if have_elua
2020-07-31 09:21:15 -07:00
message ( 'Using experimental Elua with interpreter support...' )
2020-06-06 10:09:21 -07:00
endif
2019-12-24 20:33:53 -08:00
else
lua = dependency ( get_option ( 'lua-interpreter' ) )
lua_pc_name = 'luajit'
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if sys_osx and get_option ( 'lua-interpreter' ) == 'luajit'
# luajit on macro is broken, this means we need to generate our own
# dependency with our arguments, a library later still needs to link to
# luajit for the pagesize argument thingy
2019-12-24 20:33:53 -08:00
lua = declare_dependency (
include_directories : include_directories ( lua . get_pkgconfig_variable ( 'includedir' ) ) ,
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
link_args : [ '-L' + lua . get_pkgconfig_variable ( 'libdir' ) , '-l' + lua . get_pkgconfig_variable ( 'libname' ) ]
2019-12-24 20:33:53 -08:00
)
endif
2018-08-12 06:26:29 -07:00
subprojects = [
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# name | option | mod | lib | bin | bench | tests | examples | true if build in efl-one | pkg-config options | name of static libs
[ 'evil' , [ ] , false , true , false , false , false , false , true , [ ] , [ ] ] ,
[ 'eina' , [ ] , false , true , true , true , true , true , true , [ ] , [ ] ] ,
[ 'eolian' , [ ] , false , true , true , false , true , false , false , [ 'eina' ] , [ ] ] ,
[ 'eo' , [ ] , false , true , false , true , true , false , true , [ 'eina' ] , [ ] ] ,
[ 'efl' , [ ] , false , true , false , false , true , false , true , [ 'eo' ] , [ ] ] ,
[ 'emile' , [ ] , false , true , false , false , true , true , true , [ 'eina' , 'efl' ] , [ 'lz4' , 'rg_etc' ] ] ,
[ 'eet' , [ ] , false , true , true , false , true , true , true , [ 'eina' , 'emile' , 'efl' ] , [ ] ] ,
[ 'ecore' , [ ] , false , true , false , false , false , false , true , [ 'eina' , 'eo' , 'efl' ] , [ 'buildsystem' ] ] ,
[ 'eldbus' , [ ] , false , true , true , false , true , true , true , [ 'eina' , 'eo' , 'efl' ] , [ ] ] ,
[ 'ecore' , [ ] , true , false , false , false , true , true , true , [ 'eina' , 'eo' , 'efl' ] , [ ] ] , #ecores modules depend on eldbus
[ 'ecore_audio' , [ 'audio' ] , false , true , false , false , false , false , true , [ 'eina' , 'eo' ] , [ ] ] ,
[ 'ecore_avahi' , [ 'avahi' ] , false , true , false , false , false , true , false , [ 'eina' , 'ecore' ] , [ ] ] ,
[ 'ecore_con' , [ ] , false , true , true , false , true , false , true , [ 'eina' , 'eo' , 'efl' , 'ecore' ] , [ 'http-parser' ] ] ,
[ 'ecore_file' , [ ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'eeze' , [ 'eeze' ] , true , true , true , false , true , false , true , [ 'eina' , 'efl' ] , [ ] ] ,
[ 'ecore_input' , [ ] , false , true , false , false , false , false , true , [ 'eina' , 'eo' ] , [ ] ] ,
[ 'ecore_x' , [ 'x11' ] , false , true , false , false , false , false , true , [ 'eina' , 'efl' ] , [ ] ] ,
[ 'ecore_fb' , [ 'fb' ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'ecore_wl2' , [ 'wl' ] , true , true , false , false , true , false , true , [ 'eina' ] , [ 'libdrm' ] ] ,
[ 'ecore_sdl' , [ 'sdl' ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'ecore_win32' , [ ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'ecore_ipc' , [ ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'ecore_buffer' , [ 'buffer' ] , true , true , true , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'ector' , [ ] , false , true , false , false , true , false , true , [ 'eina' , 'efl' ] , [ 'draw' , 'triangulator' , 'freetype' ] ] ,
[ 'elput' , [ 'drm' ] , false , true , false , false , true , false , true , [ 'eina' , 'eldbus' ] , [ ] ] ,
[ 'ecore_drm2' , [ 'drm' ] , false , true , false , false , false , false , true , [ 'ecore' ] , [ 'libdrm' ] ] ,
[ 'ecore_cocoa' , [ 'cocoa' ] , false , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'evas' , [ ] , true , true , false , false , true , true , true , [ 'eina' , 'efl' , 'eo' ] , [ 'vg_common' , 'libunibreak' ] ] ,
[ 'efreet' , [ ] , false , true , false , false , true , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'ecore_input_evas' , [ ] , false , true , false , false , false , false , true , [ 'eina' , 'evas' ] , [ ] ] ,
[ 'ecore_evas' , [ ] , true , true , true , false , false , false , true , [ 'evas' , 'ector' ] , [ ] ] ,
[ 'ecore_imf' , [ ] , true , true , false , false , false , false , true , [ 'eina' ] , [ ] ] ,
[ 'embryo' , [ ] , false , true , true , false , false , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'eio' , [ ] , false , true , false , false , true , true , true , [ 'eina' , 'eet' ] , [ ] ] ,
[ 'efreet' , [ ] , false , false , true , false , false , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'ecore_imf_evas' , [ ] , false , true , false , false , false , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'ephysics' , [ 'physics' ] , false , true , false , false , false , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'edje' , [ ] , false , true , true , false , true , true , true , [ 'evas' , 'eo' , 'efl' , lua_pc_name ] , [ ] ] ,
[ 'emotion' , [ ] , true , true , false , false , true , true , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'ethumb' , [ ] , true , true , true , false , false , false , true , [ 'eina' , 'efl' , 'eo' ] , [ ] ] ,
[ 'ethumb_client' , [ ] , false , true , true , false , false , true , true , [ 'eina' , 'efl' , 'eo' , 'ethumb' ] , [ ] ] ,
[ 'elementary' , [ ] , true , true , true , true , true , true , true , [ 'eina' , 'efl' , 'eo' , 'eet' , 'evas' , 'ecore' , 'ecore-evas' , 'ecore-file' , 'ecore-input' , 'edje' , 'ethumb-client' , 'emotion' , 'ecore-imf' , 'ecore-con' , 'eldbus' , 'efreet' , 'efreet-mime' , 'efreet-trash' , 'eio' ] , [ 'atspi' ] ] ,
[ 'efl_canvas_wl' , [ 'wl' ] , false , true , true , false , false , false , true , [ 'eina' , 'efl' , 'eo' , 'evas' , 'ecore' ] , [ ] ] ,
[ 'elua' , [ 'elua' ] , false , true , true , false , true , false , false , [ 'eina' , lua_pc_name ] , [ ] ] ,
[ 'ecore_wayland' , [ 'wl-deprecated' ] , false , true , false , false , false , false , false , [ 'eina' ] , [ ] ] ,
[ 'ecore_drm' , [ 'drm-deprecated' ] , false , true , false , false , false , false , false , [ 'eina' ] , [ ] ] ,
[ 'exactness' , [ ] , false , false , true , false , false , false , false , [ 'eina, evas, eet' ] , [ ] ] ,
2018-08-12 06:26:29 -07:00
]
# We generate Efl_Config.h and config.h later, they will be available here
config_dir + = include_directories ( '.' )
#we have to do that first, eina modules are required by eina
#the other modules require theire package
subdir ( join_paths ( local_module , 'eina' ) )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# List of dependency objects that might be disabled due to configurations
# If they are enabled, the object gets overwritten by the library file.
2019-09-09 06:15:00 -07:00
ecore_audio = declare_dependency ( )
2018-08-12 06:26:29 -07:00
test_dirs = [ ]
example_dirs = [ ]
2020-05-10 05:43:28 -07:00
efl_one_parts = [ ]
efl_one_deps = [ ]
efl_one_eo_deps = [ ]
efl_one_include_dirs = [ ]
2020-05-27 05:38:32 -07:00
efl_one_sub_dirs = [ ]
2018-08-12 06:26:29 -07:00
tmp_empty = declare_dependency ( )
foreach package : subprojects
package_name = package [ 0 ]
package_version_name = '-' . join ( package_name . split ( '_' ) ) + '-' + version_major
automatic_pkgfile = true
if package [ 1 ] . length ( ) == 0 or get_option ( package [ 1 ] [ 0 ] )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
config_h . set ( 'HAVE_' + package_name . to_upper ( ) . underscorify ( ) , '1' )
2018-08-12 06:26:29 -07:00
dir_package_include = join_paths ( dir_include , package_version_name )
dir_package_modules = join_paths ( dir_lib , package_name , 'modules' )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# ensure that we really dont copy the eo file targets from a previous
# library Those are the variables that can be used to reflect the libraries
# speical handlings -> at the end is used to indicate where to find this
# variable outside of this for loop
2018-10-19 06:47:44 -07:00
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# public eo and eot files - which probebly have to be used later for bindings
2018-10-19 06:47:44 -07:00
pub_eo_files = [ ] # -> package_name + '_eo_files'
pub_eo_types_files = [ ] # -> package_name + '_eot_files'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# All subdirs where eo files that are listed in the pub_* variables can be
# found
# For every element != '' a variable called package_name + '_' + subir + '_eot_files' and package_name + '_' + subir + '_eo_files' must exist.
2018-10-19 06:47:44 -07:00
package_eo_subdirs = [ '' ] # -> package_name + '_eo_subdirs'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# All subdirs that should be included in order to include every requried header
2018-10-19 06:47:44 -07:00
package_header_subdirs = [ ] # -> package_name + '_include_subdirs'
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# eo file targets, this list of targets can be used to ensure the files are created before accessed
2018-08-12 06:26:29 -07:00
pub_eo_file_target = [ ]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# private eo files target - never use this :)
2018-08-12 06:26:29 -07:00
priv_eo_file_target = [ ]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# use this variable to store custom variables in that should be placed in the .pc file
2018-10-31 02:22:09 -07:00
package_pc_variables = [ ]
2018-08-12 06:26:29 -07:00
2020-05-07 10:05:54 -07:00
foreach static_lib : package [ 10 ]
2018-08-12 06:26:29 -07:00
if get_variable ( static_lib , tmp_empty ) == tmp_empty
subdir ( join_paths ( 'src' , 'static_libs' , static_lib ) )
endif
endforeach
2020-05-18 08:18:54 -07:00
#package_c_args definition for lib and module
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , package_name ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
'-DEFL_BUILD=1' ,
]
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if package [ 3 ]
2018-10-19 06:47:44 -07:00
subdir ( join_paths ( local_lib , package_name ) )
set_variable ( package_name + '_eo_files' , pub_eo_files )
set_variable ( package_name + '_eot_files' , pub_eo_types_files )
set_variable ( package_name + '_header_subdirs' , package_header_subdirs )
set_variable ( package_name + '_eo_subdirs' , package_eo_subdirs )
2020-05-10 05:43:28 -07:00
if ( package [ 8 ] and get_option ( 'efl-one' ) )
src = get_variable ( package_name + '_src' )
external_deps = get_variable ( package_name + '_ext_deps' )
efl_one_include_dirs + = [ include_directories ( '.' ) , include_directories ( join_paths ( local_lib , package_name ) ) ]
foreach subdirs : package_eo_subdirs
efl_one_include_dirs + = include_directories ( join_paths ( local_lib , package_name ) )
endforeach
tmp = static_library ( 'efl_one_part_' + package_name ,
src , pub_eo_file_target , priv_eo_file_target ,
include_directories : efl_one_include_dirs ,
dependencies : external_deps + efl_one_eo_deps ,
c_args : package_c_args ,
)
# dependency for all the .eo file targets
efl_one_eo_deps + = declare_dependency (
2020-05-27 09:20:11 -07:00
sources : pub_eo_file_target + priv_eo_file_target , #this here *needs* to be public and private, because our binaries and modules do depend on internal headers
2020-05-10 05:43:28 -07:00
)
efl_one_deps + = external_deps
efl_one_parts + = tmp
endif
2018-08-12 06:26:29 -07:00
endif
2020-05-07 10:05:54 -07:00
#special case for eolian, this is never efl-one, but will be required in the library
if ( package_name == 'eolian' )
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , package_name ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
]
if ( package [ 4 ] )
subdir ( join_paths ( local_bin , package_name ) )
endif
2018-08-12 06:26:29 -07:00
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if package [ 6 ]
2018-08-12 06:26:29 -07:00
test_dirs + = [ package_name ]
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if package [ 7 ]
2018-08-12 06:26:29 -07:00
example_dirs + = [ package_name ]
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
set_variable ( 'build_' + package_name . underscorify ( ) , true )
2018-08-12 06:26:29 -07:00
# generate automatic pc files for libraries
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
if automatic_pkgfile and package [ 3 ]
tmp_lib = get_variable ( package_name + '_lib' )
tmp_deps = get_variable ( package_name + '_deps' )
tmp_pub_deps = get_variable ( package_name + '_pub_deps' )
2018-10-19 06:47:44 -07:00
tmp_package_subdirs = [ ]
foreach subdir : package_header_subdirs
tmp_package_subdirs + = join_paths ( package_version_name , subdir )
endforeach
2020-05-27 05:38:32 -07:00
if ( package [ 8 ] and get_option ( 'efl-one' ) )
efl_one_sub_dirs + = [ package_version_name ] + tmp_package_subdirs
endif
2018-08-12 06:26:29 -07:00
pkgconfig . generate ( tmp_lib ,
name : '-' . join ( package_name . split ( '_' ) ) ,
2018-10-19 06:47:44 -07:00
subdirs : [ package_version_name ] + tmp_package_subdirs ,
2018-11-17 03:19:41 -08:00
version : version_major + '.' + version_minor + '.' + version_micro ,
2018-08-12 06:26:29 -07:00
libraries : tmp_pub_deps ,
2020-05-07 10:05:54 -07:00
requires : package [ 9 ] ,
2018-10-31 02:22:09 -07:00
variables : package_pc_variables
2018-08-12 06:26:29 -07:00
)
2018-10-03 09:06:33 -07:00
if package_name == 'ethumb_client'
pkgconfig . generate ( tmp_lib ,
name : package_name ,
2018-10-19 06:47:44 -07:00
subdirs : [ package_version_name ] + tmp_package_subdirs ,
2018-11-17 03:19:41 -08:00
version : version_major + '.' + version_minor + '.' + version_micro ,
2018-10-03 09:06:33 -07:00
libraries : tmp_pub_deps ,
2020-05-07 10:05:54 -07:00
requires : package [ 9 ] ,
2018-10-03 09:06:33 -07:00
)
endif
2018-08-12 06:26:29 -07:00
endif
else
message ( package_name + ' disabled!' )
endif
2020-05-07 10:05:54 -07:00
endforeach
if ( get_option ( 'efl-one' ) )
#building efl-one
efl_one_lib = shared_library ( 'efl-one' ,
link_whole : efl_one_parts ,
install : true ,
version : meson . project_version ( ) ,
)
efl_one = declare_dependency (
link_with : efl_one_lib ,
include_directories : efl_one_include_dirs ,
dependencies : [ thread_dep , intl ] + efl_one_eo_deps ,
version : meson . project_version ( )
)
pkgconfig . generate (
name : 'efl-one' ,
2020-05-27 05:38:32 -07:00
subdirs : efl_one_sub_dirs ,
2020-05-07 10:05:54 -07:00
description : 'Configureation for efl in one big fat .so' ,
2020-05-27 04:09:36 -07:00
libraries : [ efl_one ] + eina_pc_deps , #eina is a special case here which drags in m dl & threads
2020-05-07 10:05:54 -07:00
)
2018-08-12 06:26:29 -07:00
2020-05-07 10:05:54 -07:00
#overwrite all the dependencies of subprojects with efl-one, in order to link the modules and binaries to the correct .so
foreach package : subprojects
package_name = package [ 0 ]
if package [ 1 ] . length ( ) == 0 or get_option ( package [ 1 ] [ 0 ] )
if ( package [ 3 ] )
if ( package [ 8 ] and get_option ( 'efl-one' ) )
set_variable ( package_name , efl_one )
endif
endif
endif
endforeach
endif
#delayed build of bin, modules, and benchmarks
foreach package : subprojects
package_name = package [ 0 ]
if package [ 1 ] . length ( ) == 0 or get_option ( package [ 1 ] [ 0 ] )
2020-05-10 05:43:28 -07:00
dir_package_include = join_paths ( dir_include , package_version_name )
dir_package_modules = join_paths ( dir_lib , package_name , 'modules' )
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , package_name ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
'-DEFL_BUILD=1' ,
]
2020-05-07 10:05:54 -07:00
if ( package [ 2 ] )
subdir ( join_paths ( local_module , package_name ) )
endif
2020-05-10 05:43:28 -07:00
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , package_name ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
]
2020-05-07 10:05:54 -07:00
if ( package [ 4 ] and package_name != 'eolian' )
subdir ( join_paths ( local_bin , package_name ) )
endif
if ( package [ 5 ] )
subdir ( join_paths ( local_benchmark , package_name ) )
endif
endif
2018-08-12 06:26:29 -07:00
endforeach
2019-02-13 04:42:55 -08:00
#build this later, as the debug services are depending on ecore
2019-06-04 12:11:20 -07:00
subdir ( join_paths ( 'src' , 'bin' , 'efl' ) )
2018-08-12 06:26:29 -07:00
2019-06-04 12:11:20 -07:00
subdir ( join_paths ( 'src' , 'generic' , 'evas' ) )
subdir ( 'cmakeconfig' )
2019-10-01 05:57:04 -07:00
subdir ( join_paths ( 'src' , 'bindings' ) )
2019-06-04 12:11:20 -07:00
subdir ( join_paths ( 'src' , 'edje_external' ) )
subdir ( join_paths ( 'data' ) )
2018-08-12 06:26:29 -07:00
if get_option ( 'build-tests' )
check = dependency ( 'check' )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
2020-07-27 03:24:57 -07:00
if ( check . version ( ) == '0.15.1' )
error ( 'There is a bug in check@0.15.1 which does not allow efl to be compiled with it. Please downgrade / upgrade or disable tests' )
endif
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
test_env = environment ( )
test_env . set ( 'EFL_RUN_IN_TREE' , '1' )
if get_option ( 'b_sanitize' ) == 'address'
test_env . set ( 'ASAN_OPTIONS' , 'detect_leaks=0:detect_odr_violation=0' )
endif
2018-08-12 06:26:29 -07:00
subdir ( join_paths ( 'src' , 'tests' ) )
foreach test : test_dirs
2020-05-10 05:43:28 -07:00
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , test ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
]
subdir ( join_paths ( local_tests , test ) )
2018-08-12 06:26:29 -07:00
endforeach
endif
if get_option ( 'build-examples' )
foreach example : example_dirs
2020-05-10 05:43:28 -07:00
package_c_args = [
'-DPACKAGE_DATA_DIR="' + join_paths ( dir_data , example ) + '"' ,
'-DNEED_RUN_IN_TREE=1' ,
]
subdir ( join_paths ( local_examples , example ) )
2018-08-12 06:26:29 -07:00
endforeach
endif
subdir ( join_paths ( local_scripts ) )
meson . add_install_script ( 'meson/meson_modules.sh' , module_files )
foreach evas_loader_map_inst : evas_loader_map
evas_loader_original = evas_loader_map_inst [ 0 ]
evas_loader_link_types = evas_loader_map_inst [ 1 ]
meson . add_install_script ( 'meson/evas_loader_conf.sh' , evas_loader_original , evas_loader_link_types )
endforeach
meson: add docs
Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.
ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.
Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)
While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.
fix T7781
Depends on D8690
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7781
Differential Revision: https://phab.enlightenment.org/D8561
2019-04-30 03:15:33 -07:00
doxygen = find_program ( 'doxygen' , required : false )
2019-06-04 12:11:20 -07:00
if doxygen . found ( )
meson: add docs
Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.
ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.
Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)
While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.
fix T7781
Depends on D8690
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7781
Differential Revision: https://phab.enlightenment.org/D8561
2019-04-30 03:15:33 -07:00
subdir ( 'doc' )
endif
2018-08-12 06:26:29 -07:00
#
# Configure files
#
efl_config_h = configuration_data ( )
efl_config_h . set ( 'EFL_VERSION_MAJOR' , version_major )
efl_config_h . set ( 'EFL_VERSION_MINOR' , version_minor )
efl_config_h . set ( 'EFL_VERSION_MICRO' , version_micro )
efl_config_h . set ( 'EFL_BUILD_ID' , get_option ( 'build-id' ) )
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
# FIXME placeholder
2018-08-12 06:26:29 -07:00
efl_config_h . set ( 'EFL_API_LEGACY_DEF' , '#define EFL_API_LEGACY_DEF "FIXME NOT IMPLEMENTED"' )
configure_file (
output : 'config.h' ,
configuration : config_h
)
configure_file (
input : join_paths ( 'src' , 'lib' , 'efl' , 'Efl_Config.h.in' ) ,
output : 'Efl_Config.h' ,
2020-05-28 12:38:41 -07:00
install_dir : join_paths ( dir_include , 'eina-' + version_major ) ,
2018-08-12 06:26:29 -07:00
configuration : efl_config_h
)
configure_file (
input : 'elm_intro.h.in' ,
output : 'elm_intro.h' ,
configuration : config_h ,
install_dir : join_paths ( dir_include , 'elementary-' + version_major )
)
2018-10-31 07:46:21 -07:00
subdir ( join_paths ( 'systemd-services' ) )
subdir ( join_paths ( 'dbus-services' ) )
2018-11-02 05:28:28 -07:00
#output the three new efl-* .pc files
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
efl_20_pc_files = {
'efl-ui' : [ 'elementary' ] ,
'efl-core' : [ 'ecore' , 'efl' , 'emile' ] ,
'efl-net' : [ 'ecore' , 'ecore-con' , 'emile' ] ,
}
2018-11-02 05:28:28 -07:00
Meson.build cleanup.
Summary:
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.
I want to make further changes on meson.build (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.
The changes are:
1. build: set arguments scope to project instead of globally
If we set arguments globally, it may conflict with other builds - specially
considering [meson's subprojects
feature](https://mesonbuild.com/Subprojects.html). Setting to project
arguments ensures we are only considering EFL and not leaking unwanted flags.
2. build: Fix spacing and indent
Mostly because it is not well standardized during the file - sometimes
there's spaces between tokens, sometimes there is not, etc. The same applies
to indent.
3. build: move test environment closer to test commands
Just as a matter of organization. If we're doing things for tests that don't
impact other stuff, then leave it when tests are handled.
4. build: Remove unnecessary parenthesis and == true comparisons
Less noisy redundancy: `true` is already true, and `false` is already false,
no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
== true` shouldn't have different effects, as the first you can read as "if
the system is windows". It gets better when you have `not` instead of `==
false`, so for an example you could read `if not sys_windows` as "if it is
not a windows system" more naturally.
5. build: Switch pc_files to dict
Just thought it could stay a little better (since it works as a dict),
specially in the `foreach` right after.
6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall
This way we ensure this is compiler-independant (and use the correct feature
for that, since meson even warns when configuring the build dir).
7. build: Use language args from add_project_arguments properly instead of a loop
The `language:` kwarg from `add_{project,global}_arguments` receives a list
of languages, so no need for that loop.
8. **[removed to a future patch]** build: Use '/' instead of join_paths
As it [is recommended by meson since
v0.49](https://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-)
(and stays clearer IMO, specially since that's how some languages are
adopting path separation, e.g. C++'s filesystem stdlib).
Reviewers: bu5hm4n
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11994
2020-07-01 00:23:53 -07:00
foreach name , libraries : efl_20_pc_files
2018-11-02 05:28:28 -07:00
pkgconfig . generate (
name : '-' . join ( name . split ( '_' ) ) ,
description : name + ' configutation file' ,
requires : libraries ,
)
endforeach