On Mar 27, 2014, at 4:19 PM, Paul Moore firstname.lastname@example.org wrote:
On 27 March 2014 19:48, Donald Stufft email@example.com wrote:
I do believe a declarative build system can work for the 90% case though and should probably be the "default" option.
+1. Easy things should be easy, and hard things possible. Ultimately, I want to say "this is my project, here are the Python files. And oh, here's a couple of C files, nothing clever here, move along.
When I interface with an external library that may not be in the same place on every system, I'd expect to say a bit more, but mainly just "look in location X, but the user can override this with a command line argument”.
That’s the job of the linker, it has built in locations to look for libraries and env vars/command line flags to override that. Someone packaging a C-ext that needs a library to compile shouldn’t be specifying where to find it anyways.
Going beyond that - autodetecting library locations, languages other than C (for example Cython), detecting CPU capabilities, etc - I would expect to be able to do it if I needed to, but I would not expect the declarative framework to be catering for those cases, I'd assume I needed to write code.
----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA