• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:build +full:- +full:options

2 # -*- coding: utf-8 -*-
5 # Use of this source code is governed by a BSD-style license that can be
38 """Build ChromeOS."""
44 "--chromeos_root",
49 "--clobber_chroot",
56 "--clobber_board",
63 "--rebuild",
70 "--cflags",
76 "--cxxflags",
82 "--ldflags",
88 "--board", dest="board", help="ChromeOS target board, e.g. x86-generic"
91 "--package", dest="package", help="The package needs to be built"
94 "--label",
96 help="Optional label symlink to point to build dir.",
99 "--dev",
109 "--debug",
114 'Optional. Build chrome browser with "-g -O0". '
115 "Notice, this also turns on '--dev'. "
120 "--env", dest="env", default="", help="Env to pass to build_packages."
123 "--vanilla",
130 "--vanilla_image",
136 "It also implies the --vanilla option is set."
140 options = parser.parse_args(argv[1:])
142 if options.chromeos_root is None:
143 Usage(parser, "--chromeos_root must be set")
144 options.chromeos_root = os.path.expanduser(options.chromeos_root)
145 scripts_dir = os.path.join(options.chromeos_root, "src", "scripts")
149 "--chromeos_root must be set up first. Use setup_chromeos.py",
152 if options.board is None:
153 Usage(parser, "--board must be set")
155 if options.debug:
156 options.dev = True
158 build_packages_env = options.env
159 if build_packages_env.find("EXTRA_BOARD_FLAGS=") != -1:
162 'Passing "EXTRA_BOARD_FLAGS" in "--env" is not supported. '
168 if options.rebuild:
169 build_packages_env += " EXTRA_BOARD_FLAGS=-e"
170 # EXTRA_BOARD_FLAGS=-e should clean up the object files for the chrome
173 options.chromeos_root, options.board
176 # Build with afdo_use by default.
177 # To change the default use --env="USE=-afdo_use".
179 build_packages_env, {"USE": "chrome_internal afdo_use -cros-debug"}
183 board=options.board, usepkg=options.vanilla_image, debug=options.debug
186 if options.package:
187 build_packages_command += " {0}".format(options.package)
189 build_image_command = misc.GetBuildImageCommand(options.board, options.dev)
191 if options.vanilla or options.vanilla_image:
193 options.board,
194 usepkg=options.vanilla_image,
195 force=options.clobber_board,
199 ret = cmd_executer.ChrootRunCommand(options.chromeos_root, command)
205 options.chromeos_root + "/chroot/build/" + options.board
207 or options.clobber_board
211 options.chromeos_root,
213 options.board, force=options.clobber_board
222 if options.debug:
223 # Perform 2-step build_packages to build a debug chrome browser.
225 # Firstly, build everything that chromeos-chrome depends on normally.
226 if options.rebuild:
227 # Give warning about "--rebuild" and "--debug". Under this combination,
228 # only dependencies of "chromeos-chrome" get rebuilt.
230 '--rebuild" does not correctly re-build every package when '
231 '"--debug" is enabled. '
234 # Replace EXTRA_BOARD_FLAGS=-e with "-e --onlydeps"
236 "EXTRA_BOARD_FLAGS=-e", 'EXTRA_BOARD_FLAGS="-e --onlydeps"'
239 build_packages_env += " EXTRA_BOARD_FLAGS=--onlydeps"
242 options.chromeos_root,
243 'CFLAGS="$(portageq-%s envvar CFLAGS) %s" '
244 'CXXFLAGS="$(portageq-%s envvar CXXFLAGS) %s" '
245 'LDFLAGS="$(portageq-%s envvar LDFLAGS) %s" '
248 "%s --skip_chroot_upgrade"
249 "chromeos-chrome"
251 options.board,
252 options.cflags,
253 options.board,
254 options.cxxflags,
255 options.board,
256 options.ldflags,
264 "build_packages failed while trying to build chromeos-chrome deps.",
267 # Secondly, build chromeos-chrome using debug mode.
268 # Replace '--onlydeps' with '--nodeps'.
269 if options.rebuild:
271 'EXTRA_BOARD_FLAGS="-e --onlydeps"',
272 "EXTRA_BOARD_FLAGS=--nodeps",
276 "EXTRA_BOARD_FLAGS=--onlydeps", "EXTRA_BOARD_FLAGS=--nodeps"
279 options.chromeos_root,
280 'CFLAGS="$(portageq-%s envvar CFLAGS) %s" '
281 'CXXFLAGS="$(portageq-%s envvar CXXFLAGS) %s" '
282 'LDFLAGS="$(portageq-%s envvar LDFLAGS) %s" '
285 "%s --skip_chroot_upgrade"
286 "chromeos-chrome"
288 options.board,
289 options.cflags,
290 options.board,
291 options.cxxflags,
292 options.board,
293 options.ldflags,
300 "build_packages failed while trying to build debug chromeos-chrome.",
303 # Now, we have built chromeos-chrome and all dependencies.
304 # Finally, remove '-e' from EXTRA_BOARD_FLAGS,
305 # otherwise, chromeos-chrome gets rebuilt.
307 "EXTRA_BOARD_FLAGS=--nodeps", ""
310 # Up to now, we have a debug built chromos-chrome browser.
311 # Fall through to build the rest of the world.
313 # Build packages
315 options.chromeos_root,
316 'CFLAGS="$(portageq-%s envvar CFLAGS) %s" '
317 'CXXFLAGS="$(portageq-%s envvar CXXFLAGS) %s" '
318 'LDFLAGS="$(portageq-%s envvar LDFLAGS) %s" '
321 "%s --skip_chroot_upgrade"
323 options.board,
324 options.cflags,
325 options.board,
326 options.cxxflags,
327 options.board,
328 options.ldflags,
335 if options.package:
337 # Build image
339 options.chromeos_root, build_packages_env + " " + build_image_command
345 flags_file_path = "%s/src/build/images/%s/latest/%s" % (
346 options.chromeos_root,
347 options.board,
350 with open(flags_file_path, "w", encoding="utf-8") as flags_file:
351 flags_file.write("CFLAGS=%s\n" % options.cflags)
352 flags_file.write("CXXFLAGS=%s\n" % options.cxxflags)
353 flags_file.write("LDFLAGS=%s\n" % options.ldflags)
355 if options.label:
356 image_dir_path = "%s/src/build/images/%s/latest" % (
357 options.chromeos_root,
358 options.board,
361 command = "ln -sf -T %s %s/%s" % (
364 options.label,
369 ret, "Failed to apply symlink label %s" % options.label