From 88b346394054416213d3d4e81e0a213403eb2ff7 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 24 Nov 2017 12:55:58 +0200 Subject: Add extra library search paths as -L options --- build2/cc/compile.cxx | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'build2/cc/compile.cxx') 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); -- cgit v1.1