3cc97f6fab
fix some dumb gcc warnings
2019-01-28 02:53:09 +01:00
1ac481d887
generalized handling of stack freeing, remove coroutine swap
...
Swap makes no sense because coroutines are not movable.
2019-01-28 02:45:30 +01:00
6935e62d06
do not store stack allocator in the stack memory itself
...
Context calls for a page aligned stack pointer, this is problematic
on systems with 64k pages.
2019-01-28 02:13:24 +01:00
8a7a4d6914
fix includes
2018-12-02 03:38:02 +01:00
256a35697a
move directory range structural details into implementation
2018-12-02 03:24:52 +01:00
648273747a
add path equality checks
2018-05-05 21:58:23 +02:00
3bdb789b7a
predefined API for generating simple depend callbacks
2018-05-04 21:02:55 +02:00
08e8dc3f19
pass real target to dependency callbacks
2018-05-02 21:00:37 +02:00
3673438e8c
build: dynamic dependencies using dependency callbacks
2018-05-02 20:32:47 +02:00
6845f5a8d8
add a way to conditionally use rules according to predicate
2018-05-01 20:46:21 +02:00
0915a9e6b5
prepare for more elaborate build rule matching
2018-04-30 19:51:02 +02:00
11a366f469
only mutable ranges are iterable
2018-04-26 00:44:42 +02:00
e0986692ef
make body fix
2018-04-26 00:42:48 +02:00
3506facc61
move make impl bits into a source file
2018-04-24 01:24:48 +02:00
8c40f335a7
add make_task_simple that does not use coroutines
2018-04-23 22:33:37 +02:00
edd60babdd
separate make coroutines into their own header
2018-04-23 21:57:59 +02:00
846b11e4d1
allow flexible make task types via factory funcs
2018-04-23 21:23:56 +02:00
4fd81d83ef
no need to store substring within rule_inst
2018-04-23 00:09:47 +02:00
4c4c06228e
collect all deps during rlist resolution
2018-04-22 23:13:35 +02:00
568a51c489
subtask registration in make_task
2018-04-22 21:14:18 +02:00
d4037f9c1d
split out coroutine stuff into make_task
2018-04-22 21:07:22 +02:00
097722b1ed
add API to get the number of threads in a threadpool
2018-04-22 17:40:37 +02:00
230ece9fb6
relax add_depend a little
2018-04-22 17:35:15 +02:00
4b4839acb8
initial impl for ostd::build, an extensible buildsystem framework
2018-04-22 16:52:25 +02:00
493f31fabf
make coroutines immovable (moving invalidates inside pointers)
...
If you move a coroutine, all references to the coroutine from
inside of it become invalid, including e.g. yielders. Therefore,
make coroutines immovable to prevent weird bugs...
but also, make the guts of coroutine context a bit more move
friendly (like, do not change current status after context switch
and always do it outside), in case a solution is found in the
future.
2018-04-21 22:39:07 +02:00
77814ca08f
fix coroutine resume
2018-04-21 19:06:32 +02:00
bf8657e141
document the rest of path.hh
2018-04-20 02:45:18 +02:00
a85cf13c56
add status/symlink_status/file_size/hard_link_count
2018-04-20 01:22:28 +02:00
7cd42186a7
empty() should be noexcept
2018-04-19 00:09:11 +02:00
dfc95fb6eb
doc fixes
2018-04-19 00:00:23 +02:00
0bed9a9850
document paths
2018-04-18 23:57:00 +02:00
90f9285b16
path conversion operators, simplify usage
2018-04-18 18:40:45 +02:00
049ce44d3a
replace path aborts with exceptions
2018-04-18 10:58:02 +02:00
9aa03b8a9f
remove c++ std::filesystem stuff
2018-04-18 03:57:22 +02:00
307675731c
add fs APIs for creating/removing/renaming, mtime and globs
2018-04-18 03:40:03 +02:00
64a529254c
add checking file types to directory entry
2018-04-17 23:13:46 +02:00
4c0c4e8f41
directory entries are for one-time read only, remove assign/clear
2018-04-17 03:05:00 +02:00
83dc828a89
re-add directory_entry
2018-04-17 03:02:51 +02:00
77b267a34b
file_status -> file_mode, directory_entry -> file_info
2018-04-17 02:54:05 +02:00
d011daad3b
implement path cwd/home/temp/absolute/relative/canonical/existence/equivalence
2018-04-17 02:26:45 +02:00
0d0655b09e
add APIs for checking file types and permissions
2018-04-16 03:10:15 +02:00
f395562734
memory-safe dir ranges
2018-04-16 01:59:10 +02:00
ad635c8a23
add recursive directory range
2018-04-16 00:19:48 +02:00
4ef512effa
add a range to iterate a directory
2018-04-15 23:23:43 +02:00
1ade11b936
always store path format concretely as either posix or windows
2018-04-15 21:24:14 +02:00
a2fd106580
add a range to get all parents of a path + parent check fixes
2018-04-15 20:37:37 +02:00
c990134bb7
path fixes on windows
2018-04-15 19:10:58 +02:00
3d8dbcbab2
noexcept range ctor
2018-04-15 18:57:23 +02:00
16518fcc83
add a range type to iterate paths by parts
2018-04-15 18:56:25 +02:00
de04a60251
better implementation of parent/has_parent
2018-04-15 18:00:20 +02:00