|
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\windows\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 %SBS_HOME%\lib\config\gcc.xml so that the |
|
69 Standard C/C++ Library is configured as the one installed with the compiler, |
|
70 not the PDK's STLPort implementation of the Standard Library. |
|
71 |
|
72 * fix_epoc32.pl: |
|
73 ---------------- |
|
74 Patches the epoc32 tree so that it provides a valid pre-include header file to |
|
75 enable compiling of the tools code with gcc 3.4.5 |
|
76 |
|
77 * prep_env.pl: |
|
78 -------------- |
|
79 A wrapper for all the other fix_???.pl utilities. |
|
80 |
|
81 == General utilities == |
|
82 ======================= |
|
83 |
|
84 * build_raptor.pl: |
|
85 ------------------ |
|
86 Builds Raptor. *You needn't build Raptor on Windows. You can use it from your |
|
87 installed PDT 1.6* |
|
88 |
|
89 * clean_raptor.pl: |
|
90 ------------------ |
|
91 Cleans Raptor (by invoking the CLEAN target of the Raptor build). *Not needed on |
|
92 Windows if using Raptor from the PDT* |
|
93 |
|
94 * deepclean_raptor.pl: |
|
95 ---------------------- |
|
96 Deletes all files created by building Raptor (which clean_raptor.pl does |
|
97 not). *Not needed on Windows if using Raptor from the PDT* |
|
98 |
|
99 * list_targets.pl: |
|
100 ------------------ |
|
101 Lists the targets in the package, with comments on any that don't need to be |
|
102 built. The targets are listed as component paths relative to %EPOCROOT%\build. |
|
103 |
|
104 * build_target.pl TARGET: |
|
105 ------------------------- |
|
106 Build the target TARGET, where TARGET is one of the targets listed by |
|
107 list_targets.pl. |
|
108 |
|
109 * build_all.pl: |
|
110 --------------- |
|
111 Build all the targets except Raptor, with Raptor. |
|
112 |
|
113 * clean_target.pl TARGET: |
|
114 ------------------------- |
|
115 Clean the target TARGET, where TARGET is one of the targets listed by |
|
116 list_targets.pl |
|
117 |
|
118 * clean_all.pl: |
|
119 --------------- |
|
120 Build all the targets except Raptor, with Raptor. |
|
121 |
|
122 * reallyclean_target.pl TARGET: |
|
123 ------------------------ |
|
124 Really-cleans target TARGET, where TARGET is one of the targets listed by |
|
125 list_targets.pl. |
|
126 |
|
127 * reallyclean_all.pl: |
|
128 --------------- |
|
129 Really-clean all the targets except Raptor, with Raptor. |
|
130 |
|
131 * clean_build_logs.pl: |
|
132 ---------------------- |
|
133 Deletes all Raptor build logs from %EPOCROOT%\epoc32\build. |
|
134 |
|
135 * weed_backups.pl: |
|
136 ----------------- |
|
137 Deletes all files in the package dir that end with '~'. Not useful on |
|
138 Windows. |
|
139 |
|
140 * get_upstream.pl CLONEDIR: |
|
141 --------------------------- |
|
142 Clones or updates the upstream package at the baseline revision found in |
|
143 ..\baseline.txt, from http://developer.symbian.org/oss/MCL/sftools/dev/build. |
|
144 The upstream package will be cloned into the existing directory CLONEDIR if |
|
145 this does not appear to have been already done. Otherwise CLONEDIR\build will |
|
146 be updated. |
|
147 |
|
148 * diff_upstream.pl: |
|
149 ------------------- |
|
150 Diffs this package with upstream package at the baseline revision found in |
|
151 ../baseline.txt. |
|
152 Options: |
|
153 -d, --diff-file FILE: The diffs will be written to FILE. |
|
154 Default ./patch-files/diff/patch-N.patch, where N is the baseline revision. |
|
155 -b, --baseline-dir DIR: The upstream baseline will be cloned into DIR if this |
|
156 does not seem to have been done already. Otherwise DIR/build will be udated to |
|
157 the baseline revision before diffing. |
|
158 It is assumed that the command 'diff' will invoke the diff tool. diff is not |
|
159 standard equioment on Windows but a port is available: |
|
160 http://gnuwin32.sourceforge.net/packages/diffutils.htm. |
|
161 |
|
162 * patch_upstream.pl |
|
163 ------------------- |
|
164 Gets a copy of upstream package at the baseline revision in ../baseline.txt and |
|
165 applies a patch to it, by default making it the same as the revision of this |
|
166 package that had that upstream baseline. |
|
167 Options: |
|
168 -p, --patch-file FILE: Apply the patch file FILE. |
|
169 Default ./patch-files/diffs/patch-N.patch, where N is the baseline revision |
|
170 -b, --baseline-dir DIR: The upstream baseline will be cloned into DIR if this |
|
171 does not seem to have been done already. Otherwise DIR/build will be udated to |
|
172 the baseline revision before patching. |
|
173 It is assumed that the command 'patch' will invoke the patch tool. patch is not |
|
174 standard equioment on Windows but a port is available: |
|
175 http://gnuwin32.sourceforge.net/packages/patch.htm |
|
176 |
|
177 |
|
178 == Getting started == |
|
179 ===================== |
|
180 |
|
181 To start your development cycle with this package: |
|
182 |
|
183 * Run prev_env.pl |
|
184 * Run build_all.pl. This takes some time. |
|
185 * If anything has gone wrong, try fixing it. |
|
186 * Otherwise, pick something to do from the TODO file. |
|
187 |