Merge "Only add darwin specific rules/variables when building on mac." into main
This commit is contained in:
@@ -156,11 +156,17 @@ var (
|
||||
"args")
|
||||
|
||||
// Rule to invoke `strip` (to discard symbols and data from object files) on darwin architecture.
|
||||
darwinStrip = pctx.AndroidStaticRule("darwinStrip",
|
||||
blueprint.RuleParams{
|
||||
Command: "${config.MacStripPath} -u -r -o $out $in",
|
||||
CommandDeps: []string{"${config.MacStripPath}"},
|
||||
})
|
||||
darwinStrip = func() blueprint.Rule {
|
||||
if runtime.GOOS == "darwin" {
|
||||
return pctx.AndroidStaticRule("darwinStrip",
|
||||
blueprint.RuleParams{
|
||||
Command: "${config.MacStripPath} -u -r -o $out $in",
|
||||
CommandDeps: []string{"${config.MacStripPath}"},
|
||||
})
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}()
|
||||
|
||||
// b/132822437: objcopy uses a file descriptor per .o file when called on .a files, which runs the system out of
|
||||
// file descriptors on darwin. Limit concurrent calls to 5 on darwin.
|
||||
@@ -174,11 +180,17 @@ var (
|
||||
}
|
||||
}()
|
||||
|
||||
darwinLipo = pctx.AndroidStaticRule("darwinLipo",
|
||||
blueprint.RuleParams{
|
||||
Command: "${config.MacLipoPath} -create -output $out $in",
|
||||
CommandDeps: []string{"${config.MacLipoPath}"},
|
||||
})
|
||||
darwinLipo = func() blueprint.Rule {
|
||||
if runtime.GOOS == "darwin" {
|
||||
return pctx.AndroidStaticRule("darwinLipo",
|
||||
blueprint.RuleParams{
|
||||
Command: "${config.MacLipoPath} -create -output $out $in",
|
||||
CommandDeps: []string{"${config.MacLipoPath}"},
|
||||
})
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}()
|
||||
|
||||
_ = pctx.SourcePathVariable("archiveRepackPath", "build/soong/scripts/archive_repack.sh")
|
||||
|
||||
|
@@ -18,6 +18,7 @@ import (
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
@@ -73,31 +74,33 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
pctx.VariableFunc("macSdkRoot", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).sdkRoot
|
||||
})
|
||||
pctx.StaticVariable("macMinVersion", "10.14")
|
||||
pctx.VariableFunc("MacArPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).arPath
|
||||
})
|
||||
if runtime.GOOS == "darwin" {
|
||||
pctx.VariableFunc("macSdkRoot", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).sdkRoot
|
||||
})
|
||||
pctx.StaticVariable("macMinVersion", "10.14")
|
||||
pctx.VariableFunc("MacArPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).arPath
|
||||
})
|
||||
|
||||
pctx.VariableFunc("MacLipoPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).lipoPath
|
||||
})
|
||||
pctx.VariableFunc("MacLipoPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).lipoPath
|
||||
})
|
||||
|
||||
pctx.VariableFunc("MacStripPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).stripPath
|
||||
})
|
||||
pctx.VariableFunc("MacStripPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).stripPath
|
||||
})
|
||||
|
||||
pctx.VariableFunc("MacToolPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).toolPath
|
||||
})
|
||||
pctx.VariableFunc("MacToolPath", func(ctx android.PackageVarContext) string {
|
||||
return getMacTools(ctx).toolPath
|
||||
})
|
||||
|
||||
pctx.StaticVariable("DarwinCflags", strings.Join(darwinCflags, " "))
|
||||
pctx.StaticVariable("DarwinLdflags", strings.Join(darwinLdflags, " "))
|
||||
pctx.StaticVariable("DarwinLldflags", strings.Join(darwinLdflags, " "))
|
||||
pctx.StaticVariable("DarwinCflags", strings.Join(darwinCflags, " "))
|
||||
pctx.StaticVariable("DarwinLdflags", strings.Join(darwinLdflags, " "))
|
||||
pctx.StaticVariable("DarwinLldflags", strings.Join(darwinLdflags, " "))
|
||||
|
||||
pctx.StaticVariable("DarwinYasmFlags", "-f macho -m amd64")
|
||||
pctx.StaticVariable("DarwinYasmFlags", "-f macho -m amd64")
|
||||
}
|
||||
}
|
||||
|
||||
func MacStripPath(ctx android.PathContext) string {
|
||||
|
@@ -15,6 +15,7 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"android/soong/android"
|
||||
@@ -35,13 +36,15 @@ func init() {
|
||||
registerToolchainFactory(android.Darwin, android.Arm64, darwinArm64ToolchainFactory)
|
||||
registerToolchainFactory(android.Darwin, android.X86_64, darwinX8664ToolchainFactory)
|
||||
|
||||
pctx.StaticVariable("DarwinToolchainRustFlags", strings.Join(DarwinRustFlags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainLinkFlags", strings.Join(DarwinRustLinkFlags, " "))
|
||||
if runtime.GOOS == "darwin" {
|
||||
pctx.StaticVariable("DarwinToolchainRustFlags", strings.Join(DarwinRustFlags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainLinkFlags", strings.Join(DarwinRustLinkFlags, " "))
|
||||
|
||||
pctx.StaticVariable("DarwinToolchainArm64RustFlags", strings.Join(darwinArm64Rustflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainArm64LinkFlags", strings.Join(darwinArm64Linkflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainX8664RustFlags", strings.Join(darwinX8664Rustflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainX8664LinkFlags", strings.Join(darwinX8664Linkflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainArm64RustFlags", strings.Join(darwinArm64Rustflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainArm64LinkFlags", strings.Join(darwinArm64Linkflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainX8664RustFlags", strings.Join(darwinX8664Rustflags, " "))
|
||||
pctx.StaticVariable("DarwinToolchainX8664LinkFlags", strings.Join(darwinX8664Linkflags, " "))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user