diff --git a/android/Android.bp b/android/Android.bp index 96f0983e3..6ddcc14a2 100644 --- a/android/Android.bp +++ b/android/Android.bp @@ -39,7 +39,6 @@ bootstrap_go_package { "paths.go", "phony.go", "prebuilt.go", - "prebuilt_build_tool.go", "proto.go", "register.go", "rule_builder.go", diff --git a/android/defs.go b/android/defs.go index 83daa0368..45522246f 100644 --- a/android/defs.go +++ b/android/defs.go @@ -69,7 +69,7 @@ var ( // A symlink rule. Symlink = pctx.AndroidStaticRule("Symlink", blueprint.RuleParams{ - Command: "rm -f $out && ln -f -s $fromPath $out", + Command: "ln -f -s $fromPath $out", Description: "symlink $out", }, "fromPath") diff --git a/android/prebuilt_build_tool.go b/android/prebuilt_build_tool.go deleted file mode 100644 index a9f29ef69..000000000 --- a/android/prebuilt_build_tool.go +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2020 Google Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package android - -import ( - "path" - "path/filepath" -) - -func init() { - RegisterModuleType("prebuilt_build_tool", prebuiltBuildToolFactory) -} - -type prebuiltBuildToolProperties struct { - // Source file to be executed for this build tool - Src *string `android:"path,arch_variant"` - - // Extra files that should trigger rules using this tool to rebuild - Deps []string `android:"path,arch_variant"` -} - -type prebuiltBuildTool struct { - ModuleBase - prebuilt Prebuilt - - properties prebuiltBuildToolProperties - - toolPath OptionalPath -} - -func (t *prebuiltBuildTool) Name() string { - return t.prebuilt.Name(t.ModuleBase.Name()) -} - -func (t *prebuiltBuildTool) Prebuilt() *Prebuilt { - return &t.prebuilt -} - -func (t *prebuiltBuildTool) DepsMutator(ctx BottomUpMutatorContext) { - if t.properties.Src == nil { - ctx.PropertyErrorf("src", "missing prebuilt source file") - } -} - -func (t *prebuiltBuildTool) GenerateAndroidBuildActions(ctx ModuleContext) { - sourcePath := t.prebuilt.SingleSourcePath(ctx) - installedPath := PathForModuleOut(ctx, t.ModuleBase.Name()) - deps := PathsForModuleSrc(ctx, t.properties.Deps) - - relPath, err := filepath.Rel(path.Dir(installedPath.String()), sourcePath.String()) - if err != nil { - ctx.ModuleErrorf("Unabled to generate symlink between %q and %q: %s", installedPath.String(), sourcePath.String()) - } - - ctx.Build(pctx, BuildParams{ - Rule: Symlink, - Output: installedPath, - Input: sourcePath, - Implicits: deps, - Args: map[string]string{ - "fromPath": relPath, - }, - }) - - t.toolPath = OptionalPathForPath(installedPath) -} - -func (t *prebuiltBuildTool) HostToolPath() OptionalPath { - return t.toolPath -} - -var _ HostToolProvider = &prebuiltBuildTool{} - -// prebuilt_build_tool is to declare prebuilts to be used during the build, particularly for use -// in genrules with the "tools" property. -func prebuiltBuildToolFactory() Module { - module := &prebuiltBuildTool{} - module.AddProperties(&module.properties) - InitSingleSourcePrebuiltModule(module, &module.properties, "Src") - InitAndroidArchModule(module, HostSupportedNoCross, MultilibFirst) - return module -}