forked from enlightenment/efl
elementary: build elementary_test additionally as shared object
For our exactness testing we are dlopen() the elementary_test executable. Until glibc 2.30 this was posible with -pie, but it changed in the glibc version. They no longer allow these executables to be dlopen()'ed. As a workaround for now we are building elementary_test also as a shared object file which we load and use in the exactness testing process. The code came from Marcel Hollerbach and I only tested it and fixed up a small detail. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11284
This commit is contained in:
parent
e938a34f05
commit
78ad088dd7
|
@ -169,9 +169,11 @@ elementary_test_src = [
|
|||
|
||||
if sys_windows == false
|
||||
link_args = ['-rdynamic', '-fPIC', '-pie']
|
||||
link_args_lib = ['-rdynamic', '-fPIC']
|
||||
package_c_args = package_c_args + ['-fPIC']
|
||||
else
|
||||
link_args = []
|
||||
link_args_lib = []
|
||||
endif
|
||||
elementary_test = executable('elementary_test',
|
||||
elementary_test_src,
|
||||
|
@ -185,6 +187,18 @@ elementary_test = executable('elementary_test',
|
|||
link_args: link_args
|
||||
)
|
||||
|
||||
library('elementary_test',
|
||||
elementary_test_src,
|
||||
dependencies: [elementary] + elementary_deps + elementary_pub_deps,
|
||||
install: false,
|
||||
c_args : package_c_args + [
|
||||
'-Delementary_test_BIN_DIR="'+dir_bin+'"',
|
||||
'-Delementary_test_LIB_DIR="'+dir_lib+'"',
|
||||
'-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"'
|
||||
],
|
||||
link_args: link_args_lib
|
||||
)
|
||||
|
||||
elementary_config_src = [
|
||||
'config.c'
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue