ec286df216d2f75c779ddfd1f356748bcca9e372
[platform/framework/web/chromium-efl.git] / tizen_src / README.md
1 ## Introduction
2
3 chromium-efl is a Chromium/Blink engine port to tizen/efl platform. The port
4 implements Chromium/Blink platform APIs.
5
6 It also exposes a webview API implementation based on chromium-efl port. It is
7 supposed to be completely source and binary compatible with EFL-WebKit2.
8
9 ## Details
10
11 1. gclient pulls chromium-efl into "src/tizen_src".
12 2. The it runs 2 hooks in order to get the rest of the source:
13
14 ```
15 * generate-gclient-xwalk: .gclient-xwalk is created by running
16     src/tizen_src/scripts/xwalk/generate_gclient-xwalk.py (this is a fork
17     of the same script in xwalk repository).
18 * fetch-deps: part of the xwalk solution in .gclient, gets called from within
19     xwalk pull procedure. It actually fetches all depedencies based on .gclient-xwalk.
20 ```
21
22 ## Procedure
23
24 1. Auto-generate gclient's configuration file (.gclient):
25
26 ```
27 gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chromium-efl@beta/m42_2214_t
28 ```
29
30 2. gclient sync
31
32 ## Building
33
34 * For Desktop build
35
36     $ ./build/build_desktop.sh [-h|--help] [--skip-gyp] [--skip-ninja] [--ccache] [--debug]
37
38 * For Mobile build
39
40     $ build/build_mobile.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1']
41                             [--define '_rpmlint 1'] [--ccache] [--gbs-debug]
42
43       [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
44       [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation (default : gyp generate)
45       [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
46       [--define 'nodebug 1']                        omit creation of debug packages
47                                                     (default: build debug packages too)
48                                                     Note: To let binaries to be recreated without debug symbols,
49                                                     this should be preceded by removing build directory.
50       [--define '_rpmlint 1']                       Enabling rpmlint on tizen v3.0
51                                                     Note: By default, it is disabled.
52       [--ccache]                                    see ### Using ccache inside gbs
53       [--gbs-debug]                                 Run gbs in debug mode
54
55 * For TV build
56
57     $ build/build_tv.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1']
58                         [--define '_rpmlint 1'] [--ccache] [--gbs-debug]
59
60       [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
61       [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation  (default : gyp generate)
62       [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
63       [--define 'nodebug 1']                        omit creation of debug packages
64                                                     (default: build debug packages too)
65                                                     Note: To let binaries to be recreated without debug symbols,
66                                                     this should be preceded by removing build directory.
67       [--define '_rpmlint 1']                       Enabling rpmlint on tizen v3.0
68                                                     Note: By default, it is disabled.
69       [--ccache]                                    see ### Using ccache inside gbs
70       [--gbs-debug]                                 Run gbs in debug mode
71
72
73 * For Emulator build
74
75     $ build/build_emulator.sh mobile/tv [--clean] [--debug] [--skip-gyp] [--skip-ninja]
76                                         [--define 'nodebug 1'] [--ccache] [--gbs-debug]
77
78       [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
79       [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation  (default : gyp generate)
80       [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
81       [--define 'nodebug 1']                        omit creation of debug packages
82                                                     (default: build debug packages too)
83                                                     Note: To let binaries to be recreated without debug symbols,
84                                                     this should be preceded by removing build directory.
85       [--ccache]                                    see ### Using ccache inside gbs
86       [--gbs-debug]                                 Run gbs in debug mode
87
88 ## Using ccache inside gbs
89
90 To use ccache for faster full builds use --ccache parameter:
91 gbs build --ccache ...
92
93 Prerequisites:
94 * 10GB free space
95
96 ccache directory will be created with profile and architecture prefix e.g:
97 out.mobile.arm.ccache
98
99 ## Coding style
100
101 Internally we use the chromium coding style: http://www.chromium.org/developers/coding-style.
102 For public headers we follow efl style.
103
104 ## License
105
106 Chromium-efl's code uses the BSD license, see our `LICENSE` file.