Merge "(Actor) Add ability to connect to new touch signal via scripts" into devel...
[platform/core/uifw/dali-core.git] / README
1 T.O.C.
2 ======
3
4  1.   GBS Builds
5  1.1. NON-SMACK Targets
6  1.2. SMACK enabled Targets
7  1.3. DEBUG Builds
8  2.   Building for Ubuntu desktop
9  2.1. Minimum Requirements
10  2.2. Creating a DALi Environment
11  2.3. Building the Repository
12  2.4. Build target options
13  2.5. Building and executing test cases
14  3.   Building DALi as Javascript using Emscripten
15  3.1. Creating a DALi Environment for Emscripten Javascript builds
16  3.2. Building the repository as Javascript using Emscripten
17
18 1. GBS Builds
19 =============
20
21 1.1. NON-SMACK Targets
22 ----------------------
23
24  gbs build -A [TARGET_ARCH]
25
26 1.2. SMACK enabled Targets
27 --------------------------
28
29  gbs build -A [TARGET_ARCH] --define "%enable_dali_smack_rules 1"
30
31 1.3. DEBUG Builds
32 -----------------
33
34  gbs build -A [TARGET_ARCH] --define "%enable_debug 1"
35
36
37 2. Building for Ubuntu desktop
38 ==============================
39
40 2.1. Minimum Requirements
41 ------------------------
42
43  - Ubuntu 14.04
44
45 2.2. Creating a DALi Environment
46 -------------------------------
47
48 To build for desktop first ensure ALL sources are selected:
49  - Go to Ubuntu Settings and then to "Software & Updates"
50  - In the "Ubuntu Software" tab, ensure ALL software sources are ticked
51    (This is required because we install some community-maintained free & open-source software)
52
53 Then you can create a dali-env folder in your home folder with:
54
55  dali-core/build/scripts/dali_env -c
56
57 This will also download any dependencies that the dali repositories require.
58
59 You can save the environment variables to a file:
60
61  dali-env/opt/bin/dali_env -s > setenv
62
63 This process only needs to be done once.
64
65 Next source these variables:
66
67  . setenv
68
69 You will have to source these variables every time you open up a new terminal (or you can add to .bashrc if you prefer).
70
71
72 2.3. Building the Repository
73 ----------------------------
74
75 To build the repository enter the 'build/tizen' folder:
76
77  cd dali-core/build/tizen
78
79 Then run the following commands:
80
81  autoreconf --install
82  ./configure --prefix=$DESKTOP_PREFIX
83  make install -j8
84
85
86 2.4. Build target options
87 -------------------------
88
89 OpenGL ES context:
90
91 When building, the OpenGL ES version of the target should be specified.
92
93 Valid version options are 20, 30, 31
94
95 With configure:
96 Add: --enable-gles=X
97
98 With gbs:
99 Add to the gbs build line: --define "%target_gles_version X"
100
101
102 2.5. Building and executing test cases
103 --------------------------------------
104
105 See the README.md in dali-core/automated-tests.
106
107
108 3. Building DALi as Javascript using Emscripten
109 -----------------------------------------------
110
111
112 3.1. Environment for Emscripten Javascript builds
113 --------------------------------------------------
114
115 To build the Javascript version of DALi, the Emscripten SDK is required.
116 Installation of this is built in to the main dali_env script.
117
118 First create a directory for the environment:
119
120 # mkdir -p ~/dali-env-emscripten
121
122 Now run the dali_env script. This will download and build the Emscripten SDK, which may take several minutes.
123 The script may ask for your password as it will need to install any package prerequisites.
124 Note the "-e" option for Emscripten.
125
126 # cd ~/dali-env-emscripten
127 # PATH-TO-DALI-CORE/build/scripts/dali_env -c -e
128
129 Create the setenv script. A new section for Emscripten will be created at the top.
130
131 # ./dali-env/opt/bin/dali_env -s > setenv
132
133 Run the setenv script to setup environment variables.
134
135 # . ./setenv
136
137 Warning: As of 19/01/2015 with a userID > 6 digits there was a bug in llvm that caused
138 the build to fail. So I've used the incoming branches of the emscripten sdk and not latest.
139
140
141 3.2. Building the repository as Javascript using Emscripten
142 -----------------------------------------------------------
143
144 Clean the build first:
145
146 # cd ./dali-core/build/tizen
147 # git clean -dxf
148 # autoreconf --install
149
150 Use llvm's drop in replacements for configure & make:
151
152 # emconfigure ./configure --verbose --prefix=$DESKTOP_PREFIX --enable-emscripten=yes --enable-debug=yes --enable-profile=UBUNTU --enable-gles=20
153 # emmake make install -j8
154
155