This commit is contained in:
Jeremie Dimino 2018-05-09 14:37:56 +01:00 committed by Jérémie Dimino
parent 30d05eb4f1
commit bffd5407ce
3 changed files with 25 additions and 28 deletions

View File

@ -37,6 +37,9 @@ next
- Fix a crash when using an invalid alias name (#762, fixes #761,
@diml)
- Fix a crash when using c files from another directory (#758, fixes
#734, @diml)
1.0+beta20 (10/04/2018)
-----------------------

View File

@ -72,6 +72,23 @@ let relative_file sexp =
of_sexp_error sexp "relative filename expected";
fn
let c_name, cxx_name =
let make what ext sexp =
let s = string sexp in
if match s with
| "" | "." | ".." -> true
| _ -> Filename.basename s <> s then
of_sexp_errorf sexp
"%S is not a valid %s name.\n\
Hint: To use %s files from another directory, use a \
(copy_files <dir>/*.c) stanza instead."
s what what ext
else
s
in
(make "C" "c",
make "C++" "cpp")
module Scope_info = struct
module Name = struct
type t = string option
@ -706,8 +723,8 @@ module Library = struct
field "ppx_runtime_libraries" (list (located string)) ~default:[] >>= fun ppx_runtime_libraries ->
field_oslu "c_flags" >>= fun c_flags ->
field_oslu "cxx_flags" >>= fun cxx_flags ->
field "c_names" (list string) ~default:[] >>= fun c_names ->
field "cxx_names" (list string) ~default:[] >>= fun cxx_names ->
field "c_names" (list c_name) ~default:[] >>= fun c_names ->
field "cxx_names" (list cxx_name) ~default:[] >>= fun cxx_names ->
field_oslu "library_flags" >>= fun library_flags ->
field_oslu "c_library_flags" >>= fun c_library_flags ->
field "virtual_deps" (list (located string)) ~default:[] >>= fun virtual_deps ->

View File

@ -1,28 +1,5 @@
$ jbuilder build @foo
Internal error, please report upstream including the contents of _build/log.
Description:
("Build_system.get_collector called on closed directory"
(dir _build/default/src/stubs))
Backtrace:
Raised at file "src/stdune/exn.ml", line 32, characters 5-10
Called from file "src/build_system.ml", line 1503, characters 18-47
Called from file "src/gen_rules.ml", line 495, characters 4-516
Called from file "list.ml", line 82, characters 20-23
Called from file "src/gen_rules.ml", line 643, characters 8-94
Called from file "src/stdune/exn.ml", line 21, characters 8-11
Re-raised at file "src/stdune/exn.ml", line 23, characters 30-37
Called from file "src/gen_rules.ml", line 959, characters 13-72
Called from file "src/stdune/list.ml", line 13, characters 10-13
Called from file "src/gen_rules.ml", line 955, characters 4-777
Called from file "src/gen_rules.ml", line 994, characters 19-30
Called from file "src/build_system.ml", line 889, characters 6-62
Called from file "src/build_system.ml", line 865, characters 6-59
Re-raised at file "src/build_system.ml", line 876, characters 6-17
Called from file "src/build_system.ml" (inlined), line 833, characters 32-63
Called from file "src/build_system.ml", line 843, characters 4-24
Called from file "src/build_interpret.ml", line 101, characters 24-40
Called from file "src/build_interpret.ml", line 60, characters 31-43
Called from file "src/build_interpret.ml", line 60, characters 31-43
Called from file "src/build_system.ml", line 1215, characters 10-108
Called from file "src/fiber/fiber.ml", line 359, characters 6-13
File "src/dune", line 4, characters 12-19:
Error: "stubs/x" is not a valid C name.
Hint: To use C files from another directory, use a (copy_files <dir>/*.c) stanza instead.
[1]