Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 1 | <img src="https://raw.github.com/BlissRoms/platform_manifest/mm6.0/bliss-logo.png"> |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 2 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 3 | Getting Started |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 4 | --------------- |
| 5 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 6 | To get started with Android/Bliss, you'll need to get |
| 7 | familiar with [Git and Repo](http://source.android.com/source/using-repo.html). |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 8 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 9 | To initialize your local repository using the Bliss trees, use this command: |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 10 | |
Lars Greiss | 1bdc5e2 | 2013-11-27 19:49:17 +0100 | [diff] [blame] | 11 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 12 | repo init -u https://github.com/BlissRoms/platform_manifest.git -b mm6.0 |
Lars Greiss | 1bdc5e2 | 2013-11-27 19:49:17 +0100 | [diff] [blame] | 13 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 14 | Then to sync up: |
Lars Greiss | 1bdc5e2 | 2013-11-27 19:49:17 +0100 | [diff] [blame] | 15 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 16 | repo sync -j# |
Lars Greiss | 1bdc5e2 | 2013-11-27 19:49:17 +0100 | [diff] [blame] | 17 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 18 | This(j#) depends on number of cpu cores - use just "repo sync" if you are unsure. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 19 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 20 | To build for your device. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 21 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 22 | . build/envsetup.sh |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 23 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 24 | breakfast `device name here` |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 25 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 26 | brunch `device name here` |
| 27 | |
| 28 | or make it all in one line. |
| 29 | |
| 30 | . build/envsetup.sh && breakfast `device name here` && brunch *device name here* |
| 31 | |
| 32 | For more information on this Github Organization and how it is structured, |
| 33 | please [read the wiki article](http://wiki.cyanogenmod.org/w/Github_Organization) |
| 34 | |
| 35 | *** |
| 36 | |
| 37 | Using Build Script |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 38 | ------------------ |
| 39 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 40 | run command ". build.sh" and follow the command prompts. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 41 | |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 42 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 43 | GERRIT |
| 44 | ------ |
| 45 | review.blissroms.com |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 46 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 47 | If you would like to contribute to the blissrom project submit patches to: |
| 48 | `review.blissroms.com`. Then head into the project and clone it locally make changes and push back to bliss review. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 49 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 50 | HOW TO SUBMIT TO OUR GERRIT: |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 51 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 52 | First and foremost, setup your github with out Gerrit. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 53 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 54 | Clone the repo you would like to commit to from the Gerrit [Project List](http://review.blissroms.com:8081/#/admin/projects/) |
| 55 | -Select from the list and copy clone command line. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 56 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 57 | Make sure you have git review installed |
| 58 | - sudo apt-get install git-review |
| 59 | |
| 60 | Make sure you are on the correct branch----mm6.0 |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 61 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 62 | Make your change and commit it |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 63 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 64 | Now just type git review, if it does not have the remote yet it will automatically add it and just answer yes to its questions. It will push to the gerrit for you. |
Lars Greiss | fd74a6b | 2013-11-01 02:00:14 +0100 | [diff] [blame] | 65 | |
Dark Eyes | 777e3e0 | 2015-12-04 14:30:35 -0500 | [diff] [blame] | 66 | BLISS BUILD FLAGS |
| 67 | ----------------- |
| 68 | |
| 69 | These can be added to your device trees BoardConfig.mk |
| 70 | |
| 71 | `BLISS_STRICT:= true` "run strict aliasing" |
| 72 | |
| 73 | `BLISS_O3 := true` run "O3 optimizations on build" |
| 74 | |
| 75 | `BLISS_GRAPHITE := true` "run Graphite optimiations on build" |
| 76 | |
| 77 | `BLISS_KRAIT := true` "run krait optimizations on build-- CPU specific, please verify if you can use this" |
| 78 | |
| 79 | `BLISS_PIPE := true` "This flag actually has no effect on the generated code, but it makes the compilation process faster." |
| 80 | |
| 81 | `TARGET_TC_ROM := "@@"` Specify toolchain for Rom to be compiled with |
| 82 | |
| 83 | `TARGET_TC_KERNEL := "@@"` Specify toolchain for kernel to be complied with. |
| 84 | |
| 85 | @@= Toolchains are located in prebuilts/gcc/linux-x86/arm You only need to specify the end number be it 4.8-sm for 4.8 SaberMod Toolchain, this goes for both ROM and KERNEL. |
| 86 | |
| 87 | If you use TARGET_TC_ROM and/or TARGET_TC_KERNEL, please add the following to BoardConfig.mk as well |
| 88 | |
| 89 | `TARGET_GCC_VERSION_EXP := $(TARGET_TC_ROM)` |
| 90 | |
| 91 | `TARGET_KERNEL_CUSTOM_TOOLCHAIN := $(TARGET_TC_KERNEL)` |
| 92 | |
| 93 | Last but not least, add this line to end of BoardConfig.mk `-include vendor/bliss/config/sm.mk` |