summaryrefslogtreecommitdiff
path: root/build2/globbing
blob: a6e3bcc9432026f364cda380b2a658f90be78eaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
- Support for prerequisite globbing [feature 0.5.0]

* Need a syntax to say "all excluding these".

  {*/ -build/ -doc/}
  {*/ - build/ doc/}

* There is POSIX glob(7) API.

* Probably both * (one level) and ** (recursive).

* Probably only support wildcards in one component.

* May make sense to provide generic support in libbutl since will probably
  be used in other places (e.g., subprojects globbing).

* Maybe globbing should be an eval context function, e.g.,

  (*.cxx -foo.cxx)

  If relative is it always performed in src? BTW, if out == src then we
  may end up finding extra stuff.

* The prerequisite idea does not fit well for directories: They are out while
  we need to search in src. Also, we need to include the buildfiles.

  d = (*/ -build/)
  ./: $d
  include $d

  Another option would be to add some magic to directory handling. Sure would
  be nice to just write:

  ./: {*/ -build/}

  I think we can have a reasonable model for prerequisite search (it is target
  type-specific). Include will be harder.