open Unix;; let rec mkpath path perm = try let st = stat path in if st.st_kind <> S_DIR then raise (Unix_error (ENOTDIR, "mkpath", path)); with Unix_error (ENOENT, _, _) -> let parent = Filename.dirname path in if parent <> path then mkpath parent perm; mkdir path perm;; |