Revert "Sandbox soong_build by changing to root directory"
This reverts commit 05c25ccb4adb5329add700b533416c226cdbfa96.
Reason for revert: broke absolute OUT_DIR
Bug: 146437378
Change-Id: I523ed79d40e1c1ef040212ba794a7a084abea75d
diff --git a/cc/compdb.go b/cc/compdb.go
index ea12443..dff14db 100644
--- a/cc/compdb.go
+++ b/cc/compdb.go
@@ -79,9 +79,9 @@
// Create the output file.
dir := android.PathForOutput(ctx, compdbOutputProjectsDirectory)
- os.MkdirAll(filepath.Join(android.AbsSrcDirForExistingUseCases(), dir.String()), 0777)
+ os.MkdirAll(dir.String(), 0777)
compDBFile := dir.Join(ctx, compdbFilename)
- f, err := os.Create(filepath.Join(android.AbsSrcDirForExistingUseCases(), compDBFile.String()))
+ f, err := os.Create(compDBFile.String())
if err != nil {
log.Fatalf("Could not create file %s: %s", compDBFile, err)
}
@@ -103,8 +103,8 @@
}
f.Write(dat)
- if finalLinkDir := ctx.Config().Getenv(envVariableCompdbLink); finalLinkDir != "" {
- finalLinkPath := filepath.Join(finalLinkDir, compdbFilename)
+ finalLinkPath := filepath.Join(ctx.Config().Getenv(envVariableCompdbLink), compdbFilename)
+ if finalLinkPath != "" {
os.Remove(finalLinkPath)
if err := os.Symlink(compDBFile.String(), finalLinkPath); err != nil {
log.Fatalf("Unable to symlink %s to %s: %s", compDBFile, finalLinkPath, err)
@@ -174,17 +174,18 @@
return
}
- pathToCC, err := ctx.Eval(pctx, "${config.ClangBin}")
+ rootDir := getCompdbAndroidSrcRootDirectory(ctx)
+ pathToCC, err := ctx.Eval(pctx, rootDir+"/${config.ClangBin}/")
ccPath := "/bin/false"
cxxPath := "/bin/false"
if err == nil {
- ccPath = filepath.Join(pathToCC, "clang")
- cxxPath = filepath.Join(pathToCC, "clang++")
+ ccPath = pathToCC + "clang"
+ cxxPath = pathToCC + "clang++"
}
for _, src := range srcs {
if _, ok := builds[src.String()]; !ok {
builds[src.String()] = compDbEntry{
- Directory: android.AbsSrcDirForExistingUseCases(),
+ Directory: rootDir,
Arguments: getArguments(src, ctx, ccModule, ccPath, cxxPath),
File: src.String(),
}
@@ -199,3 +200,8 @@
}
return []string{""}, err
}
+
+func getCompdbAndroidSrcRootDirectory(ctx android.SingletonContext) string {
+ srcPath, _ := filepath.Abs(android.PathForSource(ctx).String())
+ return srcPath
+}