summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2020-06-18 14:35:46 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-06-18 14:36:48 +0100
commitf04316e3f0395e746b3047344d398ea281e0880e (patch)
tree4aa1a33b2dd87d47d63c8b3564561476ab69418c
parentfbd3bc626216694a1eb43bbe0462692c56b5b82e (diff)
downloadefl-f04316e3f0395e746b3047344d398ea281e0880e.tar.gz
meson: add Solaris support
Summary: Add Solaris support for meson Test Plan: test on OpenIndiana Reviewers: raster, bu5hm4n, stefan_schmidt Reviewed By: raster, stefan_schmidt Subscribers: alarcher, stefan_schmidt, bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11973
-rw-r--r--header_checks/meson.build7
-rw-r--r--meson.build9
-rw-r--r--src/bin/elementary/meson.build9
-rw-r--r--src/lib/ecore/meson.build4
-rw-r--r--src/lib/eina/meson.build4
5 files changed, 28 insertions, 5 deletions
diff --git a/header_checks/meson.build b/header_checks/meson.build
index 955c0082f2..c71fdbf216 100644
--- a/header_checks/meson.build
+++ b/header_checks/meson.build
@@ -88,7 +88,6 @@ function_checks = [
['getxattr', ['sys/types.h', 'sys/xattr.h']],
['iconv', ['iconv.h']],
['listxattr', ['sys/types.h', 'sys/xattr.h']],
- ['mallinfo', ['malloc.h']],
['malloc_info', ['malloc.h']],
['malloc_usable_size', ['malloc.h']],
['mkdirat', ['sys/stat.h']],
@@ -114,6 +113,7 @@ function_checks = [
['dlopen', ['dlfcn.h'], ['dl']],
['dlsym', ['dlfcn.h'], ['dl']],
['lround', ['math.h'], ['m']],
+ ['mallinfo', ['malloc.h'], ['malloc']],
['shm_open', ['sys/mman.h', 'sys/stat.h', 'fcntl.h'], ['rt']],
#from here on we specify arguments
['splice', ['fcntl.h'], [], '-D_GNU_SOURCE=1'],
@@ -157,6 +157,11 @@ m = cc.find_library('m')
dl = cc.find_library('dl', required: false)
rt = cc.find_library('rt', required: false)
+if sys_sun == true
+ malloc = cc.find_library('malloc', required: true)
+ socket = cc.find_library('socket', required: true)
+endif
+
thread_dep = dependency('threads')
#check for the headers
diff --git a/meson.build b/meson.build
index af9e8b031e..b2c2d7ff5d 100644
--- a/meson.build
+++ b/meson.build
@@ -48,11 +48,13 @@ windows = ['windows', 'cygwin']
bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd', 'openbsd']
linux = ['linux']
osx = ['darwin']
+sun = ['sunos']
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())
+sys_sun = sun.contains(host_machine.system())
module_files = []
evas_loader_map = []
@@ -126,6 +128,11 @@ foreach lang : ['c', 'objc', 'cpp']
endif
endforeach
+if sys_sun == true
+# for getpwuid_r()
+ add_global_arguments('-D_POSIX_PTHREAD_SEMANTICS', language: 'c')
+endif
+
config_h = configuration_data()
config_h.set_quoted('MODULE_ARCH', version_name)
config_h.set_quoted('PACKAGE', meson.project_name())
@@ -200,7 +207,7 @@ endif
config_dir = [include_directories('.')]
eolian_include_directories = []
-if sys_linux == true or sys_bsd == true
+if sys_linux == true or sys_bsd == true or sys_sun == true
sys_lib_extension = 'so'
sys_exe_extension = ''
sys_mod_extension = 'so'
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index 1bad71570c..f31ed793e3 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -167,12 +167,15 @@ elementary_test_src = [
'test.h'
]
+link_args = []
if sys_windows == false
- link_args = ['-rdynamic', '-fPIC', '-pie']
+ link_args += ['-rdynamic', '-fPIC']
package_c_args = package_c_args + ['-fPIC']
-else
- link_args = []
endif
+if sys_windows == false and sys_sun == false
+ link_args += ['-pie']
+endif
+
elementary_test = executable('elementary_test',
elementary_test_src,
dependencies: [elementary, intl] + elementary_deps + elementary_pub_deps,
diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build
index 0f72f4ba28..dfc2dece55 100644
--- a/src/lib/ecore/meson.build
+++ b/src/lib/ecore/meson.build
@@ -2,6 +2,10 @@ ecore_deps = []
ecore_pub_deps = [eina, eo, efl]
ecore_ext_deps = [intl, m, buildsystem]
+if sys_sun == true
+ ecore_deps += [malloc]
+endif
+
pub_legacy_eo_files = [
'ecore_event_message.eo',
'ecore_event_message_handler.eo',
diff --git a/src/lib/eina/meson.build b/src/lib/eina/meson.build
index 7aa1afa7ba..272c8fda82 100644
--- a/src/lib/eina/meson.build
+++ b/src/lib/eina/meson.build
@@ -7,6 +7,10 @@ if sys_windows == true
eina_pub_deps += [evil]
endif
+if sys_sun == true
+ eina_deps += [socket]
+endif
+
public_sub_headers = [
'eina_promise.h',
'eina_safety_checks.h',