aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/compile.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-11-24 12:55:58 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-11-24 12:55:58 +0200
commit88b346394054416213d3d4e81e0a213403eb2ff7 (patch)
treeab633c53682749452a0f0503869714069df55f2b /build2/cc/compile.cxx
parent9bfd3788071d8e6f938d5b34366562fdfc300c68 (diff)
Add extra library search paths as -L options
Diffstat (limited to 'build2/cc/compile.cxx')
-rw-r--r--build2/cc/compile.cxx37
1 files changed, 16 insertions, 21 deletions
diff --git a/build2/cc/compile.cxx b/build2/cc/compile.cxx
index f3aaba5..1317fcb 100644
--- a/build2/cc/compile.cxx
+++ b/build2/cc/compile.cxx
@@ -761,9 +761,10 @@ namespace build2
// Extra system header dirs (last).
//
assert (sys_inc_dirs_extra <= sys_inc_dirs.size ());
- for (auto i (sys_inc_dirs.begin () + sys_inc_dirs_extra);
- i != sys_inc_dirs.end (); ++i)
- cs.append (i->string ());
+ hash_option_values (
+ cs, "-I",
+ sys_inc_dirs.begin () + sys_inc_dirs_extra, sys_inc_dirs.end (),
+ [] (const dir_path& d) {return d.string ();});
}
hash_options (cs, t, c_coptions);
@@ -1760,12 +1761,10 @@ namespace build2
// Extra system header dirs (last).
//
assert (sys_inc_dirs_extra <= sys_inc_dirs.size ());
- for (auto i (sys_inc_dirs.begin () + sys_inc_dirs_extra);
- i != sys_inc_dirs.end (); ++i)
- {
- args.push_back ("-I");
- args.push_back (i->string ().c_str ());
- }
+ append_option_values (
+ args, "-I",
+ sys_inc_dirs.begin () + sys_inc_dirs_extra, sys_inc_dirs.end (),
+ [] (const dir_path& d) {return d.string ().c_str ();});
if (md.symexport)
append_symexport_options (args, t);
@@ -2751,12 +2750,10 @@ namespace build2
append_options (args, t, x_poptions);
assert (sys_inc_dirs_extra <= sys_inc_dirs.size ());
- for (auto i (sys_inc_dirs.begin () + sys_inc_dirs_extra);
- i != sys_inc_dirs.end (); ++i)
- {
- args.push_back ("-I");
- args.push_back (i->string ().c_str ());
- }
+ append_option_values (
+ args, "-I",
+ sys_inc_dirs.begin () + sys_inc_dirs_extra, sys_inc_dirs.end (),
+ [] (const dir_path& d) {return d.string ().c_str ();});
if (md.symexport)
append_symexport_options (args, t);
@@ -4042,12 +4039,10 @@ namespace build2
// Extra system header dirs (last).
//
assert (sys_inc_dirs_extra <= sys_inc_dirs.size ());
- for (auto i (sys_inc_dirs.begin () + sys_inc_dirs_extra);
- i != sys_inc_dirs.end (); ++i)
- {
- args.push_back ("-I");
- args.push_back (i->string ().c_str ());
- }
+ append_option_values (
+ args, "-I",
+ sys_inc_dirs.begin () + sys_inc_dirs_extra, sys_inc_dirs.end (),
+ [] (const dir_path& d) {return d.string ().c_str ();});
if (md.symexport)
append_symexport_options (args, t);