cmd/gomobile: install common dev packages
I often forget to do this. I can't be the only one. Change-Id: Ia5dfaa6811242758f996de614f80cb42badf327b Reviewed-on: https://go-review.googlesource.com/13742 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
This commit is contained in:
parent
f9f0ffafe3
commit
128f53db6d
@ -128,6 +128,14 @@ func runInit(cmd *command) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// Install common x/mobile packages for local development.
|
||||
// These are often slow to compile (due to cgo) and easy to forget.
|
||||
for _, pkg := range commonPkgs {
|
||||
if err := installPkg(pkg, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Install standard libraries for cross compilers.
|
||||
start := time.Now()
|
||||
if err := installStd(androidArmEnv); err != nil {
|
||||
@ -152,6 +160,12 @@ func runInit(cmd *command) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
var commonPkgs = []string{
|
||||
"golang.org/x/mobile/gl",
|
||||
"golang.org/x/mobile/app",
|
||||
"golang.org/x/mobile/exp/app/debug",
|
||||
}
|
||||
|
||||
func installDarwin() error {
|
||||
if goos != "darwin" {
|
||||
return nil // Only build iOS compilers on OS X.
|
||||
@ -170,15 +184,25 @@ func installDarwin() error {
|
||||
}
|
||||
|
||||
func installStd(env []string, args ...string) error {
|
||||
tOS := getenv(env, "GOOS")
|
||||
tArch := getenv(env, "GOARCH")
|
||||
if buildV {
|
||||
fmt.Fprintf(os.Stderr, "\n# Building standard library for %s/%s.\n", tOS, tArch)
|
||||
return installPkg("std", env, args...)
|
||||
}
|
||||
|
||||
func installPkg(pkg string, env []string, args ...string) error {
|
||||
tOS, tArch, pd := getenv(env, "GOOS"), getenv(env, "GOARCH"), pkgdir(env)
|
||||
if tOS != "" && tArch != "" {
|
||||
if buildV {
|
||||
fmt.Fprintf(os.Stderr, "\n# Installing %s for %s/%s.\n", pkg, tOS, tArch)
|
||||
}
|
||||
args = append(args, "-pkgdir="+pd)
|
||||
} else {
|
||||
if buildV {
|
||||
fmt.Fprintf(os.Stderr, "\n# Installing %s.\n", pkg)
|
||||
}
|
||||
}
|
||||
|
||||
// The -p flag is to speed up darwin/arm builds.
|
||||
// Remove when golang.org/issue/10477 is resolved.
|
||||
cmd := exec.Command("go", "install", fmt.Sprintf("-p=%d", runtime.NumCPU()), "-pkgdir="+pkgdir(env))
|
||||
cmd := exec.Command("go", "install", fmt.Sprintf("-p=%d", runtime.NumCPU()))
|
||||
cmd.Args = append(cmd.Args, args...)
|
||||
if buildV {
|
||||
cmd.Args = append(cmd.Args, "-v")
|
||||
@ -189,7 +213,7 @@ func installStd(env []string, args ...string) error {
|
||||
if buildWork {
|
||||
cmd.Args = append(cmd.Args, "-work")
|
||||
}
|
||||
cmd.Args = append(cmd.Args, "std")
|
||||
cmd.Args = append(cmd.Args, pkg)
|
||||
cmd.Env = append([]string{}, env...)
|
||||
return runCmd(cmd)
|
||||
}
|
||||
|
@ -120,10 +120,13 @@ tar xfz $GOMOBILE/dl/gomobile-openal-soft-1.16.0.1.tar.gz
|
||||
mv $WORK/openal/include/AL $GOMOBILE/android-{{.NDK}}/arm/sysroot/usr/include/AL
|
||||
mkdir -p $GOMOBILE/android-{{.NDK}}/openal
|
||||
mv $WORK/openal/lib $GOMOBILE/android-{{.NDK}}/openal/lib
|
||||
go install -p={{.NumCPU}} -x golang.org/x/mobile/gl
|
||||
go install -p={{.NumCPU}} -x golang.org/x/mobile/app
|
||||
go install -p={{.NumCPU}} -x golang.org/x/mobile/exp/app/debug
|
||||
GOOS=android GOARCH=arm GOARM=7 CC=$GOMOBILE/android-{{.NDK}}/arm/bin/arm-linux-androideabi-gcc{{.EXE}} CXX=$GOMOBILE/android-{{.NDK}}/arm/bin/arm-linux-androideabi-g++ CGO_ENABLED=1 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_android_arm -x std
|
||||
{{if eq .GOOS "darwin"}}GOOS=darwin GOARCH=arm GOARM=7 CC=clang-iphoneos CXX=clang-iphoneos CGO_CFLAGS=-isysroot=iphoneos -arch armv7 CGO_LDFLAGS=-isysroot=iphoneos -arch armv7 CGO_ENABLED=1 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_darwin_arm -x std
|
||||
GOOS=darwin GOARCH=arm64 CC=clang-iphoneos CXX=clang-iphoneos CGO_CFLAGS=-isysroot=iphoneos -arch arm64 CGO_LDFLAGS=-isysroot=iphoneos -arch arm64 CGO_ENABLED=1 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_darwin_arm64 -x std
|
||||
GOOS=darwin GOARCH=amd64 CC=clang-iphonesimulator CXX=clang-iphonesimulator CGO_CFLAGS=-isysroot=iphonesimulator -mios-simulator-version-min=6.1 -arch x86_64 CGO_LDFLAGS=-isysroot=iphonesimulator -mios-simulator-version-min=6.1 -arch x86_64 CGO_ENABLED=1 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_darwin_amd64 -tags=ios -x std
|
||||
GOOS=darwin GOARCH=amd64 CC=clang-iphonesimulator CXX=clang-iphonesimulator CGO_CFLAGS=-isysroot=iphonesimulator -mios-simulator-version-min=6.1 -arch x86_64 CGO_LDFLAGS=-isysroot=iphonesimulator -mios-simulator-version-min=6.1 -arch x86_64 CGO_ENABLED=1 go install -p={{.NumCPU}} -tags=ios -pkgdir=$GOMOBILE/pkg_darwin_amd64 -x std
|
||||
{{end}}go version > $GOMOBILE/version
|
||||
rm -r -f "$WORK"
|
||||
`))
|
||||
|
Loading…
x
Reference in New Issue
Block a user