eventcore/dub.sdl
Sönke Ludwig e28450f9f5 Implement a CFRunLoop based event loop.
This enables efficient integration of the kqueue based I/O processing with Apple OS based UI apps.

On top of that, an FSEvent based directory watcher can now be implemented to replace the inefficient generic watcher that is used on macOS right now.
2020-05-22 16:02:45 +02:00

67 lines
1.5 KiB
Plaintext

name "eventcore"
description "Pro-actor based abstraction layer over operating system asynchronous I/O facilities."
license "MIT"
copyright "Copyright © 2016-2018 Sönke Ludwig"
targetType "library"
libs "resolv" platform="linux"
libs "ws2_32" "user32" platform="windows-dmd"
dependency "taggedalgebraic" version=">=0.10.12 <0.12.0-0"
configuration "epoll" {
platforms "linux"
versions "EventcoreEpollDriver"
}
// getaddrinfo_a based DNS lookups
configuration "epoll-gaia" {
libs "anl"
versions "EventcoreUseGAIA"
platforms "linux"
versions "EventcoreEpollDriver"
}
configuration "cfrunloop" {
platforms "osx"
versions "EventcoreCFRunLoopDriver"
lflags "-framework" "CoreFoundation"
}
configuration "kqueue" {
platforms "osx" "freebsd"
versions "EventcoreKqueueDriver"
}
configuration "winapi" {
platforms "windows-x86_64" "windows-x86_mscoff" "windows-ldc" "windows-gdc"
versions "EventcoreWinAPIDriver"
}
configuration "select" {
platforms "posix" "windows-x86_64" "windows-x86_mscoff"
versions "EventcoreSelectDriver"
}
configuration "winapi-optlink" {
platforms "windows-x86-dmd"
versions "EventcoreWinAPIDriver"
sourceFiles "lib/ws2_32.lib" "lib/kernel32.lib"
}
configuration "select-optlink" {
platforms "windows-x86-dmd"
versions "EventcoreSelectDriver"
sourceFiles "lib/ws2_32.lib" "lib/kernel32.lib"
}
configuration "libasync" {
dependency "libasync" version="~>0.8.2"
versions "EventcoreLibasyncDriver"
}
configuration "generic" {
// Defines eventDriver as the generic EventDriver interface. Setup must be done manually.
}