Fix copy# for Microsoft C compiler
Microsoft CL doesn't support #n and requires the more strictly correct directive #line Signed-off-by: David Allsopp <david.allsopp@metastack.com>
This commit is contained in:
parent
7b6db8a3c2
commit
9d3c0b649c
|
@ -26,6 +26,8 @@ next
|
||||||
|
|
||||||
- Fix doc generation when several private libraries have the same name (#369)
|
- Fix doc generation when several private libraries have the same name (#369)
|
||||||
|
|
||||||
|
- Fix copy# for C/C++ with Microsoft C compiler (#353)
|
||||||
|
|
||||||
1.0+beta16 (05/11/2017)
|
1.0+beta16 (05/11/2017)
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|
|
@ -596,7 +596,13 @@ let rec exec t ~ectx ~dir ~env_extra ~stdout_to ~stderr_to =
|
||||||
Io.with_file_in (Path.to_string src) ~f:(fun ic ->
|
Io.with_file_in (Path.to_string src) ~f:(fun ic ->
|
||||||
Io.with_file_out (Path.to_string dst) ~f:(fun oc ->
|
Io.with_file_out (Path.to_string dst) ~f:(fun oc ->
|
||||||
let fn = Path.drop_build_context src in
|
let fn = Path.drop_build_context src in
|
||||||
Printf.fprintf oc "# 1 %S\n" (Path.to_string fn);
|
let directive =
|
||||||
|
if List.mem (Path.extension fn) ~set:[".c"; ".cpp"; ".h"] then
|
||||||
|
"line"
|
||||||
|
else
|
||||||
|
""
|
||||||
|
in
|
||||||
|
Printf.fprintf oc "#%s 1 %S\n" directive (Path.to_string fn);
|
||||||
Io.copy_channels ic oc));
|
Io.copy_channels ic oc));
|
||||||
return ()
|
return ()
|
||||||
| System cmd ->
|
| System cmd ->
|
||||||
|
|
|
@ -426,4 +426,6 @@ let change_extension ~ext t =
|
||||||
let t = try Filename.chop_extension t with Not_found -> t in
|
let t = try Filename.chop_extension t with Not_found -> t in
|
||||||
t ^ ext
|
t ^ ext
|
||||||
|
|
||||||
|
let extension = Filename.extension
|
||||||
|
|
||||||
let pp = Format.pp_print_string
|
let pp = Format.pp_print_string
|
||||||
|
|
|
@ -112,4 +112,6 @@ val rm_rf : t -> unit
|
||||||
(** Changes the extension of the filename (or adds an extension if there was none) *)
|
(** Changes the extension of the filename (or adds an extension if there was none) *)
|
||||||
val change_extension : ext:string -> t -> t
|
val change_extension : ext:string -> t -> t
|
||||||
|
|
||||||
|
val extension : t -> string
|
||||||
|
|
||||||
val pp : t Fmt.t
|
val pp : t Fmt.t
|
||||||
|
|
Loading…
Reference in New Issue