c3cab484b6
Add a bash-based implementation of replace_bash_vars().
...
You can choose at configure time if you want the old
c++ variable string replacement implementation or the
new one that execs bash -c 'echo blah blah'. It supports
using both EnvReal and EnvFake.
2020-04-15 00:37:49 +02:00
a1da8d1053
Allow for easy switching between fake and real env.
2020-04-15 00:32:45 +02:00
a6bf45fab9
Add new to_c_array() method to get a char** back.
2020-04-15 00:32:05 +02:00
ad7e5c8c27
Manage the case EnvReal = EnvReal.
...
Since assigning one env to the other means deleting
everything from the destination first, if dst == src then
this would mean wiping the source clean as well. This
is avoided by checking in the base class if src and
dst objects are different and, even if they are, if they
are not representing both the same global state.
2020-04-14 17:41:31 +02:00
8a7e42cd3c
Rename SysPaths to RunContext
2020-04-13 21:29:17 +02:00
8a7002f5c5
Drop the VarMap stuff, use the new EnvFake class.
2020-04-13 21:24:03 +02:00
f696e1e3a0
Migrate get() to get_implem().
2020-04-13 19:37:13 +02:00
19d3f329d3
Migrate more methods to the _implem convention.
2020-04-13 19:27:30 +02:00
a2b31dfd28
Add missing is_set() implementation.
2020-04-13 19:04:28 +02:00
01e40d297e
Allow copy-assigning one Env object to the other.
2020-04-13 19:04:15 +02:00
dfefed1516
Implement const_iterators.
...
Note that they are not available in the base class.
2020-04-13 17:17:02 +02:00
351e84b04e
Disable copy and move.
2020-04-13 16:29:24 +02:00
ac6ea57675
Add new EnvFake class.
...
It's an unordered_map wrapped into an EnvBase interface.
2020-04-13 16:29:15 +02:00
6cd903013f
Pull safe_print_error() out into a new file.
2020-04-13 16:27:42 +02:00
ff0737f567
Add a proxy class to return from operator[]
2020-04-13 14:36:41 +02:00
f462562ab7
Remove indentation
2020-04-13 14:35:46 +02:00
4cc1aa491e
Add a still incomplete EnvReal class.
...
So far it allows to read and modify environment variables.
2020-04-13 14:14:35 +02:00
f7cdcd13a2
This is prefixed with std it seems.
2020-04-12 17:44:09 +02:00
a1a7b8c5af
Don't access the global env, use my local copy instead.
2020-04-12 16:41:17 +02:00
884a816cbb
Attach GPL3 licence.
2020-04-12 15:45:55 +02:00
f58e278637
First import
...
Emulates gcc-config -l so far.
2020-04-09 02:17:32 +02:00