|
1 # Copyright (c) 2010 Symbian Foundation Ltd |
|
2 # This component and the accompanying materials are made available |
|
3 # under the terms of the License "Eclipse Public License v1.0" |
|
4 # which accompanies this distribution, and is available |
|
5 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
6 # |
|
7 # Initial Contributors: |
|
8 # Mike Kinghan, mikek@symbian.org for Symbian Foundation Ltd - initial contribution. |
|
9 |
|
10 == Contents == |
|
11 ============== |
|
12 - Intro |
|
13 - One-time utilities |
|
14 --- fix_raptor_config.pl |
|
15 --- fix_epoc32.pl |
|
16 --- prep_env.pl |
|
17 - General utilities |
|
18 --- build_raptor.pl |
|
19 --- clean_raptor.pl |
|
20 --- deepclean_raptor.pl |
|
21 --- list_targets.pl |
|
22 --- build_target.pl |
|
23 --- build_all.pl |
|
24 --- clean_target.pl |
|
25 --- clean_all.pl |
|
26 --- reallyclean_target.pl |
|
27 --- reallyclean_all.pl |
|
28 --- clean_build_logs.pl |
|
29 --- weed_backups.pl |
|
30 --- get_upstream.pl |
|
31 --- diff_upstream.pl |
|
32 - Getting started. |
|
33 |
|
34 == Intro == |
|
35 =========== |
|
36 |
|
37 Read the README file in the parent directory, and the NEWS and TODO files if you |
|
38 have not already done so. Make the preparations described in that README before |
|
39 you try to use any of the utilities in this directory. |
|
40 |
|
41 This directory contains utilities and associated resources for building this |
|
42 package on Linux. All the utilities are Perl scripts (.pl files) which will |
|
43 indicate their purpose if run with either of the options -h, --help. They are |
|
44 also documented below. |
|
45 |
|
46 Provided you placed the package directory under the directory you want to be |
|
47 EPOCROOT (as per the build/README file), there is no need to set EPOCROOT to run |
|
48 any of the scripts. They will set it. If you set EPOCROOT in the environment for |
|
49 these scripts they will respect your setting. |
|
50 |
|
51 There are two sorts of utilities: |
|
52 |
|
53 * Utilities that you need only run once, to make necessary fixes to the upstream |
|
54 Raptor configuration or to the PDK 3.0.h epoc32 tree, so that it is possible to |
|
55 build any of the targets. The one-time utilties may make use of the patch-files |
|
56 directory. Any file located at ./patch-files/linux/SOME_PATH/SOME.FILE will be |
|
57 deployed to replace the file $EPOCROOT/SOME_PATH/SOME.FILE |
|
58 |
|
59 * General utilities that you can use repeatedly for development work. |
|
60 |
|
61 You need to run these utilities from this directory. |
|
62 |
|
63 == One-time utilities == |
|
64 ======================== |
|
65 |
|
66 * fix_raptor_config.pl: |
|
67 ----------------------- |
|
68 Patches the Raptor config file |
|
69 $EPOCROOT/build/sbsv2/raptor/lib/config/gcc.xml so that: |
|
70 a) the GCC compiler is configured as gcc, not gcc_mingw. |
|
71 b) the Standard C/C++ Library is configured as the one installed with the |
|
72 compiler, not the PDK's STLPort implementation of the Standard Library. |
|
73 c) the compiler complies with the C++0x standard. |
|
74 |
|
75 * fix_epoc32.pl: |
|
76 ---------------- |
|
77 Patches the epoc32 tree: |
|
78 a) to workaround ancient bug #1399. |
|
79 b) to create a valid preinclude header for gcc 4.4 |
|
80 |
|
81 * prep_env.pl: |
|
82 -------------- |
|
83 A wrapper for all the other fix_???.pl utilities. |
|
84 |
|
85 == General utilities == |
|
86 ======================= |
|
87 |
|
88 * build_raptor.pl: |
|
89 ------------------ |
|
90 Builds Raptor |
|
91 |
|
92 * clean_raptor.pl: |
|
93 ------------------ |
|
94 Cleans Raptor (by invoking the 'clean' target of the Raptor build). |
|
95 |
|
96 * deepclean_raptor.pl: |
|
97 ---------------------- |
|
98 Deletes all files created by building Raptor (which clean_raptor.pl does |
|
99 not). |
|
100 |
|
101 * list_targets.pl: |
|
102 ------------------ |
|
103 Lists the targets in the package, with comments on any that don't need to be |
|
104 built. The targets are listed as component paths relative to $EPOCROOT/build. |
|
105 |
|
106 * build_target.pl TARGET: |
|
107 ------------------------- |
|
108 Build the target TARGET, where TARGET is one of the targets listed by |
|
109 list_targets.pl. |
|
110 |
|
111 * build_all.pl: |
|
112 --------------- |
|
113 Build all the targets except Raptor, with Raptor. |
|
114 |
|
115 * clean_target.pl TARGET: |
|
116 ------------------------- |
|
117 Clean the target TARGET, where TARGET is one of the targets listed by |
|
118 list_targets.pl |
|
119 |
|
120 * clean_all.pl: |
|
121 --------------- |
|
122 Clean all the targets except Raptor, with Raptor. |
|
123 |
|
124 * reallyclean_target.pl TARGET: |
|
125 ------------------------------- |
|
126 Really-cleans target TARGET, where TARGET is one of the targets listed by |
|
127 list_targets.pl. |
|
128 |
|
129 * reallyclean_all.pl: |
|
130 --------------- |
|
131 Really-clean all the targets except Raptor, with Raptor. |
|
132 |
|
133 * clean_build_logs.pl: |
|
134 ---------------------- |
|
135 Deletes all Raptor build logs from $EPOCROOT/epoc32/build. |
|
136 |
|
137 * weed_backups.pl: |
|
138 ----------------- |
|
139 Deletes all files in the package dir that end with '~'. |
|
140 |
|
141 * get_upstream.pl CLONEDIR: |
|
142 --------------------------- |
|
143 Clones or updates the upstream package at the baseline revision found in |
|
144 ../baseline.txt, from http://developer.symbian.org/oss/MCL/sftools/dev/build. |
|
145 The upstream package will be cloned into the existing directory CLONEDIR if |
|
146 this does not appear to have been already done. Otherwise CLONEDIR/build will |
|
147 be updated. |
|
148 |
|
149 * diff_upstream.pl: |
|
150 ------------------- |
|
151 Diffs this package with upstream package at the baseline revision found in |
|
152 ../baseline.txt. |
|
153 Options: |
|
154 -d, --diff-file FILE: The diffs will be written to FILE. |
|
155 Default ./patch-files/diff/patch-N.patch, where N is the baseline revision. |
|
156 -b, --baseline-dir DIR: The upstream baseline will be cloned into DIR if this |
|
157 does not seem to have been done already. Otherwise DIR/build will be udated to |
|
158 the baseline revision before diffing. |
|
159 It is assumed that the command 'diff' will invoke the diff tool. |
|
160 |
|
161 * patch_upstream.pl |
|
162 ------------------- |
|
163 Gets a copy of upstream package at the baseline revision in ../baseline.txt and |
|
164 applies a patch to it, by default making it the same as the revision of this |
|
165 package that had that upstream baseline. |
|
166 Options: |
|
167 -p, --patch-file FILE: Apply the patch file FILE. |
|
168 Default ./patch-files/diffs/patch-N.patch, where N is the baseline revision |
|
169 -b, --baseline-dir DIR: The upstream baseline will be cloned into DIR if this |
|
170 does not seem to have been done already. Otherwise DIR/build will be udated to |
|
171 the baseline revision before patching. |
|
172 It is assumed that the command 'patch' will invoke the patch tool. |
|
173 |
|
174 == Getting started == |
|
175 ===================== |
|
176 |
|
177 To start your development cycle with this package: |
|
178 |
|
179 * Run build_raptor.pl. This takes some time. |
|
180 * Run prev_env.pl |
|
181 * Run build_all.pl. This takes some time. |
|
182 * If anything has gone wrong, try fixing it. |
|
183 * Otherwise, pick something to do from the TODO file. |
|
184 |