// RUN: rm -rf %t.dir
// RUN: split-file %s %t.dir
// RUN: sed -e "s|DIR|%/t.dir|g" %t.dir/build/compile-commands.json.in > %t.dir/build/compile-commands.json
// RUN: sed -e "s|DIR|%/t.dir|g" %t.dir/build/vfs.yaml.in > %t.dir/build/vfs.yaml
// RUN: clang-scan-deps -compilation-database %t.dir/build/compile-commands.json \
// RUN:   -reuse-filemanager=0 -j 1 -format experimental-full \
// RUN:   -mode preprocess-dependency-directives -generate-modules-path-args > %t.db
// RUN: %deps-to-rsp %t.db --module-name=A > %t.A.cc1.rsp
// RUN: cat %t.A.cc1.rsp | sed 's:\\\\\?:/:g' | FileCheck %s

// CHECK-NOT: build/module.modulemap
// CHECK: A/module.modulemap
// CHECK-NOT: build/module.modulemap

//--- build/compile-commands.json.in

[
{
  "directory": "DIR",
  "command": "clang DIR/main.m -Imodules/A -fmodules -fmodules-cache-path=DIR/module-cache -fimplicit-modules -fimplicit-module-maps -ivfsoverlay build/vfs.yaml",
  "file": "DIR/main.m"
},
{
  "directory": "DIR",
  "command": "clang DIR/main.m -Imodules/A -fmodules -Xclang -fno-modules-share-filemanager -fmodules-cache-path=DIR/module-cache-unshared -fimplicit-modules -fimplicit-module-maps -ivfsoverlay build/vfs.yaml",
  "file": "DIR/main.m"
}
]

//--- build/module.modulemap

module A {
  umbrella header "A.h"
}

//--- modules/A/A.h

typedef int A_t;

//--- build/vfs.yaml.in

{
  "version": 0,
  "case-sensitive": "false",
  "use-external-names": true,
  "roots": [
  {
     "contents": [
     {
        "external-contents": "DIR/build/module.modulemap",
        "name": "module.modulemap",
        "type": "file"
     }],
     "name": "DIR/modules/A",
     "type": "directory"
  }
  ]
}

//--- main.m

@import A;

A_t a = 0;
