New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 675731 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

consider not having ios/build/tools/setup-gn.py

Project Member Reported by thakis@chromium.org, Dec 19 2016

Issue description

I just learned about ios/build/tools/setup-gn.py which is a tool for creating your args.gn for you, a meta-meta-buildsystem if you will. It still needs a hook for customization, so apparently it can read build settings from an ini file in several well-known locations.

This seems very layery to me.

I think another approach that other teams have used is to check in example args.gn files somewhere, but I can't find where yet. Maybe that'd work for iOS as well?

(not super important, and maybe WontFix, but having an ios-specific meta-meta-buildsystem makes it harder to contribute to ios; having some standard way across ports to solve this problem seems better. and from what i understand, our approach to that is checked-in example args.gn files.)
 

Comment 1 by thakis@chromium.org, Dec 19 2016

Components: Build
Labels: Build-Tools-GN OS-iOS
Cc: smut@chromium.org
Hm, I didn't know it had the ini file. I agree that that seems bad.

My general understanding is that it would simply create the four build directories (debug/release, device/simulator) plus generate the xcode skeleton. 

That seems both useful and something that can't easily be genericized, so I was fine with it as-is. If iOS devs want to be able to do more, I do agree that we should see if we can do so in a more GN-consistent way.
The script is required for multiple things:

1. allow to build upstream or downstream (this requires setting ~ 20 variables)
2. take a Xcode project generated by gn and modify it to allow building Debug/Release x Device/Simulator with the same project (which is not possible with Xcode project generated with gn directly as settings like target_cpu are fixed at that time)

It is a convenience script and not required. If you do not want to use it, you are free not to do it, but unless we can solve the previous two points with gn, we'll continue using it on iOS.

The following command will always work to build for iOS, targeting simulator:
$ gn gen --args='target_os="ios"' out/Default

If using gn directly does not work to build on iOS, then it is a bug and will be fixed.
Status: WontFix (was: Untriaged)
Per comment #3, my understanding is this script is required.  Marking this as WontFix, unless we think GN will support Xcode projects with multiple target_cpu's...

Sign in to add a comment