Skip to content

Commit

Permalink
meson: enable cross compiling
Browse files Browse the repository at this point in the history
the inital work for this commit was coming from `Mark van der Putten`.
In order to not have more options for this, the idea came up to use
mesons autodetection using PATH.

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

Differential Revision: https://phab.enlightenment.org/D7415
  • Loading branch information
marcelhollerbach committed Dec 7, 2018
1 parent 4a196b9 commit 79ded15
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 7 deletions.
3 changes: 1 addition & 2 deletions data/elementary/objects/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ endforeach
custom_target('prefs_compile',
input: 'test_prefs.epc',
output: 'test_prefs.epb',
command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path(),
'@INPUT@', '@OUTPUT@'],
command : elm_prefs_cc_exe + ['@INPUT@', '@OUTPUT@'],
depends : elm_prefs_cc,
install : true,
install_dir : join_paths(dir_data, 'elementary', 'objects'),
Expand Down
11 changes: 8 additions & 3 deletions src/bin/edje/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,14 @@ edje_cc = executable('edje_cc',
link_args : bin_linker_args
)

env = find_program('env')

edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()]
if meson.is_cross_build()
_edje_cc = find_program('edje_cc', native: true)
edje_cc_path = _edje_cc.path()
edje_cc_exe = [_edje_cc]
else
env = find_program('env', native: true)
edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()]
endif

edje_decc_src = [
'edje_decc.c',
Expand Down
8 changes: 7 additions & 1 deletion src/bin/eet/meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
eet_bin = executable('eet',
_eet_bin = executable('eet',
'eet_main.c',
dependencies: [eet],
install : true
Expand All @@ -8,3 +8,9 @@ install_data(['diffeet','vieet'],
install_mode: 'rwxr-xr-x',
install_dir : dir_bin
)

if meson.is_cross_build()
eet_bin = find_program('eet', native : true)
else
eet_bin = _eet_bin
endif
10 changes: 10 additions & 0 deletions src/bin/elementary/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,16 @@ elm_prefs_cc = executable('elm_prefs_cc',
link_args: '-rdynamic'
)

if meson.is_cross_build()
_elm_prefs_cc = find_program('elm_prefs_cc', native: true)
elm_prefs_cc_path = _elm_prefs_cc.path()
elm_prefs_cc_exe = [_elm_prefs_cc]
else
env = find_program('env', native: true)
elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()]
endif


elementary_run_src = [
'run.c'
]
Expand Down
10 changes: 9 additions & 1 deletion src/bin/eolian/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,12 @@ eolian_gen_bin = executable('eolian_gen',
eolian_gen_path = eolian_gen_bin.full_path()


eolian_gen = [eolian_gen_bin, '-S']
if meson.is_cross_build()
_eolian_gen_bin = find_program('eolian_gen', native : true)
eolian_gen_path = _eolian_gen_bin.path()
else
_eolian_gen_bin = eolian_gen_bin
eolian_gen_path = _eolian_gen_bin.full_path()
endif

eolian_gen = [_eolian_gen_bin, '-S']

0 comments on commit 79ded15

Please sign in to comment.