get platform info from build script
This commit is contained in:
1 parent
d4cacfb015
commit
643cc75f67
1 file changed
+38
-2
+38
-2
@@ -1,21 +1,57 @@
|
||||
project(
|
||||
'owdtest',
|
||||
'owdt',
|
||||
'c',
|
||||
default_options : ['c_std=c17']
|
||||
)
|
||||
|
||||
eventloop_epoll = 'epoll'
|
||||
eventloop_kqueue = 'kqueue'
|
||||
|
||||
platform_info = {
|
||||
'linux': {
|
||||
'eventloop': eventloop_epoll,
|
||||
},
|
||||
'freebsd': {
|
||||
'eventloop': eventloop_kqueue,
|
||||
},
|
||||
'openbsd': {
|
||||
'eventloop': eventloop_kqueue,
|
||||
},
|
||||
'netbsd': {
|
||||
'eventloop': eventloop_kqueue,
|
||||
},
|
||||
'dragonfly': {
|
||||
'eventloop': eventloop_kqueue,
|
||||
},
|
||||
'darwin': {
|
||||
'eventloop': eventloop_kqueue,
|
||||
},
|
||||
}[target_machine.system()]
|
||||
|
||||
eventloop_info = {
|
||||
eventloop_epoll: {
|
||||
'path': 'src/eventloop_epoll.c',
|
||||
},
|
||||
eventloop_kqueue: {
|
||||
'path': 'src/eventloop_kqueue.c',
|
||||
},
|
||||
}[platform_info['eventloop']]
|
||||
|
||||
sources = [
|
||||
'src/main.c',
|
||||
'src/server.c',
|
||||
'src/client.c',
|
||||
'src/str.c',
|
||||
'src/eventloop.c',
|
||||
eventloop_info['path'],
|
||||
]
|
||||
|
||||
includes = include_directories('include')
|
||||
|
||||
args = [
|
||||
'-Wall'
|
||||
'-Wall',
|
||||
'-DOWD_PLATFORM_' + target_machine.system().to_upper(),
|
||||
'-DOWD_EVENTLOOP_' + platform_info['eventloop'].to_upper(),
|
||||
]
|
||||
|
||||
executable(
|
||||
|
||||
Reference in new issue
Block a user