From 841e55ddb86c1518bb17c2a5fb86bf72e6d64494 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Wed, 15 Aug 2018 23:18:01 +0300 Subject: [PATCH] Fix msvc_hack_cclibs using combinators Signed-off-by: Rudi Grinberg --- src/lib_rules.ml | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/lib_rules.ml b/src/lib_rules.ml index 1c52e6e0..965b6673 100644 --- a/src/lib_rules.ml +++ b/src/lib_rules.ml @@ -17,21 +17,14 @@ module Gen (P : Install_rules.Params) = struct | Library stuff | +-----------------------------------------------------------------+ *) - let msvc_hack_cclibs cclibs = - let f lib = - if String.is_prefix lib ~prefix:"-l" then - String.sub lib ~pos:2 ~len:(String.length lib - 2) ^ ".lib" - else - lib - in - let cclibs = List.map cclibs ~f in - let f lib = - if String.is_prefix lib ~prefix:"-l" then - String.sub lib ~pos:2 ~len:(String.length lib - 2) - else - lib - in - List.map cclibs ~f + let msvc_hack_cclibs = + List.map ~f:(fun lib -> + let lib = + match String.drop_prefix lib ~prefix:"-l" with + | None -> lib + | Some l -> l ^ ".lib" + in + Option.value ~default:lib (String.drop_prefix ~prefix:"-l" lib)) let build_lib (lib : Library.t) ~scope ~flags ~dir ~obj_dir ~mode ~top_sorted_modules ~modules =