2
0
mirror of synced 2025-02-24 23:38:22 +00:00

11 Commits

Author SHA1 Message Date
Burcu Dogan
f1034a4131 cmd/gomobile: use the proper prefix when generating a bundle
Fixes golang/go#12960.

Change-Id: I97abdc3219e857a83908a360aa619089086795ac
Reviewed-on: https://go-review.googlesource.com/16026
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-10-19 16:14:39 +00:00
Burcu Dogan
c58aba718c cmd/gomobile: title case framework bundles
Traditionally, framework bundles have title case names such as
CoreFoundation.framework and UIKIt.framework.

gomobile bind should generate framework bundles named similarly,
following this convention.

Change-Id: Ia6082ed351ddc6fc97e0435e24e5f79c5afbaea4
Reviewed-on: https://go-review.googlesource.com/15330
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-10-02 04:47:58 +00:00
Burcu Dogan
8cf29b651f cmd/gomobile: add modulemaps to framework bundles for simpler imports
Modulemaps allow users to use the import directives without
providing the specific header file but by using a module name
in Objective-C and Swift.

  gomobile bind -target=ios golang.org/x/mobile/example/bind/hello

Add the generated framework to an Xcode project. You will be able
to import the library header and use the library by importing hello
in Swift.

  import hello
  // ...
  hello.GoHelloGreetings("burcu");

In Objective-C, you will be able to import with the module name
similarly by using the import directive below.

  #import hello

This CL also enables Go bindings to be used from Swift without an
Objective-C bridging header.

Fixes golang/go#12422

Change-Id: I7c60349caad100861d0b642ddfa873d7ada47598
Reviewed-on: https://go-review.googlesource.com/15044
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-09-28 16:36:07 +00:00
Hyang-Ah (Hana) Kim
24e7a6212f cmd/gomobile: use ARC when compiling generated objective-c files.
Gobind -lang=objc generates code that assume use of ARC.
Set -fobjc-arc to explicitly enable ARC.

Change-Id: Ib0ec7b19773c112c01ed23cb00f1ec9d64946e6b
Reviewed-on: https://go-review.googlesource.com/14544
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-09-14 20:55:34 +00:00
Hyang-Ah (Hana) Kim
ffd5bae668 cmd/gomobile: add a dummy Info.plist for happy manual codesign.
Fixes golang/go#12604.

Change-Id: I94e94c32ce42022b58097c349fcbb90edb0a2f13
Reviewed-on: https://go-review.googlesource.com/14543
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-09-14 20:44:35 +00:00
David Crawshaw
58652d815d cmd/gomobile: init darwin/arm{,64} concurrently
Drops the time for `gomobile init` on my machine from 46s to 30s.

Change-Id: Iab89f2e1d1cee4b414dc2fb1c735b4167aef9036
Reviewed-on: https://go-review.googlesource.com/12641
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-24 19:48:49 +00:00
David Crawshaw
5f9cda1c8a cmd/gomobile: build .framework for iOS bind
Tested manually, I can bind github.com/hyangah/ivy and include it
in an Xcode project.

Change-Id: I7dfa7828da7288841bc930d3e506ee97bf2ca520
Reviewed-on: https://go-review.googlesource.com/12388
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-20 20:49:37 +00:00
David Crawshaw
bebbf49ba9 cmd/gomobile: consolidate os/exec Run calls
Tested:
	go test golang.org/x/mobile/bind/java
	gomobile bind -target={ios,android} github.com/hyangah/ivy
	gobuild build -target={ios,android} golang.org/x/mobile/example/basic

	(With various takes on -x and -v.)

Change-Id: I15c8f605490381feb6fefb482110f2a1c210529d
Reviewed-on: https://go-review.googlesource.com/12411
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-20 17:45:43 +00:00
David Crawshaw
c9adc5b29d cmd/gomobile: build for iOS with -tags=ios
Fixes golang/go#11782.

Change-Id: Ifa23a3cbe0032972f7c5c122ac1689441b63334e
Reviewed-on: https://go-review.googlesource.com/12387
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-19 20:54:12 +00:00
David Crawshaw
9300366e65 cmd/gomobile: use new -pkgdir flag
The go command now has a -pkgdir flag, which specifies a directory
for all install output, including the standard library. Use it to
build the mobile compilers under $GOMOBILE, so that targets like
the iOS simulator (darwin/386) do not conflict with system targets.
The result is we no longer need GOROOT to be writable.

The iOS simulator now works with gomobile bind.

Fixes golang/go#11342.

Change-Id: I0bc6378e0cb82e3175b2a1efe355e3ce39533649
Reviewed-on: https://go-review.googlesource.com/12303
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-16 20:10:22 +00:00
David Crawshaw
ec5d8df4c0 cmd/gomobile: bind -target=ios support
First pass at bind support, simply produces .a/.h files.

In future CLs:

- Take the type defintion from seq.h and place it directly in the
  generated header, breaking the user's dependency on seq.h.

Open question for future CLs:

- Should we create a framework directory?
  If we bundle assets in the directory, can the asset package
  find them automatically?

In 1.6: support multiple archives.

Change-Id: I7c3f655e7653018333e3ce3c89807edfcf62906d
Reviewed-on: https://go-review.googlesource.com/12199
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-07-16 17:25:44 +00:00