OLD | NEW |
1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
2 # Distributed under the terms of the GNU General Public License v2 | 2 # Distributed under the terms of the GNU General Public License v2 |
3 | 3 |
4 # Usage: by default, downloads chromium browser from the build server. | 4 # Usage: by default, downloads chromium browser from the build server. |
5 # If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE}, | 5 # If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE}, |
6 # The build comes from the chromimum source repository (gclient sync), \ | 6 # The build comes from the chromimum source repository (gclient sync), \ |
7 # build server, locally provided source, or locally provided binary | 7 # build server, locally provided source, or locally provided binary |
8 # If you are using SERVER_SOURCE, a gclient tempalte file that is in the files | 8 # If you are using SERVER_SOURCE, a gclient tempalte file that is in the files |
9 # directory, which will be copied automatically during the build and used as | 9 # directory, which will be copied automatically during the build and used as |
10 # the .gclient for 'gclient sync' | 10 # the .gclient for 'gclient sync' |
11 # If building from LOCAL_SOURCE or LOCCAL_BINARY specifying BUILDTYPE | 11 # If building from LOCAL_SOURCE or LOCCAL_BINARY specifying BUILDTYPE |
12 # will allow you to specify "Debug" or another build type; "Release" is | 12 # will allow you to specify "Debug" or another build type; "Release" is |
13 # the default. | 13 # the default. |
14 # If getting it from the build server, setting CHROME_VERSION to the build | 14 # If getting it from the build server, setting CHROME_VERSION to the build |
15 # revision will pull that version, otherwise latest will be pulled. | 15 # revision will pull that version, otherwise latest will be pulled. |
16 | 16 |
17 # gclient is expected to be in ~/depot_tools if EGCLIENT is not set | 17 # gclient is expected to be in ~/depot_tools if EGCLIENT is not set |
18 # to gclient path. | 18 # to gclient path. |
19 | 19 |
20 EAPI="2" | 20 EAPI="2" |
21 inherit eutils multilib toolchain-funcs flag-o-matic autotest | 21 inherit eutils multilib toolchain-funcs flag-o-matic autotest |
22 | 22 |
23 DESCRIPTION="Open-source version of Google Chrome web browser" | 23 DESCRIPTION="Open-source version of Google Chrome web browser" |
24 HOMEPAGE="http://chromium.org/" | 24 HOMEPAGE="http://chromium.org/" |
25 SRC_URI="" | 25 SRC_URI="" |
26 EGCLIENT_REPO_URI="WE USE A GCLIENT TEMPLATE FILE IN THIS DIRECTORY" | |
27 | 26 |
28 if [ "$PV" = "9999" ]; then | 27 if [ "$PV" = "9999" ]; then |
29 KEYWORDS="~x86 ~arm" | 28 KEYWORDS="~x86 ~arm" |
30 else | 29 else |
31 KEYWORDS="x86 arm" | 30 KEYWORDS="x86 arm" |
32 fi | 31 fi |
33 | 32 |
34 LICENSE="BSD" | 33 LICENSE="BSD" |
35 SLOT="0" | 34 SLOT="0" |
36 IUSE="+build_tests x86 gold +chrome_remoting internal chrome_pdf" | 35 IUSE="+build_tests x86 gold +chrome_remoting internal chrome_pdf" |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 BUILD_DEFINES="$BUILD_DEFINES internal_pdf=0"; | 292 BUILD_DEFINES="$BUILD_DEFINES internal_pdf=0"; |
294 fi | 293 fi |
295 | 294 |
296 elog "Using .gclient ..." | 295 elog "Using .gclient ..." |
297 elog $(cat ${ECHROME_STORE_DIR}/.gclient) | 296 elog $(cat ${ECHROME_STORE_DIR}/.gclient) |
298 | 297 |
299 pushd "${ECHROME_STORE_DIR}" || \ | 298 pushd "${ECHROME_STORE_DIR}" || \ |
300 die "Cannot chdir to ${ECHROME_STORE_DIR}" | 299 die "Cannot chdir to ${ECHROME_STORE_DIR}" |
301 | 300 |
302 elog "Syncing google chrome sources using ${EGCLIENT}" | 301 elog "Syncing google chrome sources using ${EGCLIENT}" |
303 » » ${EGCLIENT} sync --nohooks --delete_unversioned_trees \ | 302 » » # We use --force to work around a race condition with |
| 303 » » # checking out cros.git in parallel with the main chrome tree. |
| 304 » » ${EGCLIENT} sync --jobs 8 --nohooks --delete_unversioned_trees -
-force \ |
304 || die "${EGCLIENT} sync failed" | 305 || die "${EGCLIENT} sync failed" |
305 | 306 |
306 elog "set the LOCAL_SOURCE to ${ECHROME_STORE_DIR}" | 307 elog "set the LOCAL_SOURCE to ${ECHROME_STORE_DIR}" |
307 elog "From this point onwards there is no difference between \ | 308 elog "From this point onwards there is no difference between \ |
308 SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done" | 309 SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done" |
309 export CHROME_ROOT=${ECHROME_STORE_DIR} | 310 export CHROME_ROOT=${ECHROME_STORE_DIR} |
310 | 311 |
311 set_build_defines | 312 set_build_defines |
312 ;; | 313 ;; |
313 (LOCAL_SOURCE) | 314 (LOCAL_SOURCE) |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 fi | 410 fi |
410 | 411 |
411 tc-export CXX CC AR AS RANLIB LD | 412 tc-export CXX CC AR AS RANLIB LD |
412 # HACK(zbehan): On x86, we have the option of using gold. This has to be | 413 # HACK(zbehan): On x86, we have the option of using gold. This has to be |
413 # done in a manner specific for this ebuild until gold is stabilized for | 414 # done in a manner specific for this ebuild until gold is stabilized for |
414 # the whole world. Current way is to pass a -B option to CC, CXX and LD, | 415 # the whole world. Current way is to pass a -B option to CC, CXX and LD, |
415 # which makes them use a different linker. This was suggested by raymes. | 416 # which makes them use a different linker. This was suggested by raymes. |
416 if use x86 && use gold; then | 417 if use x86 && use gold; then |
417 # List all gold binutils and pick the latest | 418 # List all gold binutils and pick the latest |
418 GOLDLOC=$( | 419 GOLDLOC=$( |
419 » echo /usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/binutils-bin/*-gold | \ | 420 » echo /usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/binutils-bin/*/*-gold |
\ |
420 tail -n 1) | 421 tail -n 1) |
421 | 422 |
422 # GOLDLOC will either be the latest gold version or string with
* | 423 # GOLDLOC will either be the latest gold version or string with
* |
423 if [ -d "${GOLDLOC}" ]; then | 424 if [ -d "${GOLDLOC}" ]; then |
424 einfo "Using gold in: ${GOLDLOC}" | 425 einfo "Using gold in: ${GOLDLOC}" |
425 | 426 |
426 export CC="${CC} -B${GOLDLOC}" | 427 export CC="${CC} -B${GOLDLOC}" |
427 export CXX="${CXX} -B${GOLDLOC}" | 428 export CXX="${CXX} -B${GOLDLOC}" |
428 export LD="${GOLDLOC}/ld" | 429 export LD="${GOLDLOC}/ld" |
429 else | 430 else |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 doexe ${CHROME_ROOT}/src/third_party/adobe/flash
/binaries/chromeos/libgcflashplayer.so | 608 doexe ${CHROME_ROOT}/src/third_party/adobe/flash
/binaries/chromeos/libgcflashplayer.so |
608 doexe ${CHROME_ROOT}/src/third_party/adobe/flash
/binaries/chromeos/plugin.vch | 609 doexe ${CHROME_ROOT}/src/third_party/adobe/flash
/binaries/chromeos/plugin.vch |
609 else | 610 else |
610 # Use Flash from www-plugins/adobe-flash package
. | 611 # Use Flash from www-plugins/adobe-flash package
. |
611 dosym /opt/netscape/plugins/libflashplayer.so \ | 612 dosym /opt/netscape/plugins/libflashplayer.so \ |
612 "${CHROME_DIR}"/plugins/libflashplayer.s
o | 613 "${CHROME_DIR}"/plugins/libflashplayer.s
o |
613 fi | 614 fi |
614 fi | 615 fi |
615 fi | 616 fi |
616 } | 617 } |
OLD | NEW |