File: ReadMe.rtf

package info (click to toggle)
fpc 3.2.0%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, bullseye-backports
  • size: 338,552 kB
  • sloc: pascal: 3,794,737; xml: 191,997; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,664; yacc: 3,751; makefile: 2,688; lex: 2,538; javascript: 2,375; sql: 929; php: 473; cpp: 145; perl: 134; sed: 132; csh: 34; tcl: 7
file content (387 lines) | stat: -rw-r--r-- 23,469 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}
{\list\listtemplateid2\listhybrid{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{lower-alpha\}.}{\leveltext\leveltemplateid101\'02\'00.;}{\levelnumbers\'01;}\fi-360\li720\lin720 }{\listname ;}\listid2}
{\list\listtemplateid3\listhybrid{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{lower-alpha\}.}{\leveltext\leveltemplateid201\'02\'00.;}{\levelnumbers\'01;}\fi-360\li720\lin720 }{\listname ;}\listid3}
{\list\listtemplateid4\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{decimal\}.}{\leveltext\leveltemplateid301\'02\'00.;}{\levelnumbers\'01;}\fi-360\li720\lin720 }{\listname ;}\listid4}
{\list\listtemplateid5\listhybrid{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{lower-alpha\}.}{\leveltext\leveltemplateid401\'02\'00.;}{\levelnumbers\'01;}\fi-360\li720\lin720 }{\listname ;}\listid5}
{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6}
{\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid601\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid7}
{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid701\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8}
{\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid801\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9}
{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid901\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10}
{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1001\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid11}
{\list\listtemplateid12\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1101\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid12}
{\list\listtemplateid13\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1201\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid13}
{\list\listtemplateid14\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1301\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid14}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}}
\paperw11900\paperh16840\margl1440\margr1440\vieww22440\viewh13060\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\b\fs36 \cf0 \ul \ulc0 Free Pascal for iOS 2.6.0
\b0 \ulnone \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\fs24 \cf0 \
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 Table of Contents
\b0 \
\

\b 1. Introduction\
2. How to use\
3. Customising the Xcode project\ul \
\ulnone 4. Known problems\
5. More information\
6. Version history
\b0 \
\

\b \ul 1. Introduction\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b0 \cf0 \ulnone \
This package will install the Free Pascal Compiler 2.6.0 for running on Intel-based Macs to create iPhone/iPod Touch/iPad applications. After the installation package has finished installing, a script will be started using Terminal.app. This script has to finish successfully before you can compile applications for the iPhone/iPod Touch/iPad or the Simulator.\
\
The installer package itself only installs the FPC source code, after which it will launch the script. If the script cannot automatically determine where you installed the iOS SDK, it will ask you where the iOS SDK is installed on your system. Next, it will generate a Pascal version of some of the SDK's headers, and then compile and install the FPC version required to build iPhone/iPod Touch/iPad applications. Support is included for the arm6, arm7 and Simulator targets.\
\
One Xcode 3.2.4 \'97 3.2.6 template is currently included:\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls1\ilvl0\cf0 {\listtext	\'95	}
\b OpenGL ES App (FPC 2.6.0)
\b0 : sets up an OpenGL ES project, based on Apple's sample. It includes Pascal and Objective-C code. It can be compiled universally for ARMv6 and ARMv7, and also for the Simulator.\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
This template will 
\b only work with Xcode 3.2.4 \'97 3.2.6
\b0 . It does 
\b not work with Xcode 4
\b0 . You can find a number of Xcode 4 templates for FPC/iOS and related tutorials at {\field{\*\fldinst{HYPERLINK "http://web.me.com/macpgmr/ObjP/Xcode4/"}}{\fldrslt http://web.me.com/macpgmr/ObjP/Xcode4/}}, but notice that at the time of this writing they have not yet been modified to work with the FPC 2.6.0 release.\
\
Note that 
\b you need an Apple-issued certificate to run self-written applications on an iPhone/iPod Touch/iPad
\b0 , regardless of whether these applications are written using FPC or not. The only way to get such a certificate is to sign up to Apple's iPhone Developer Program ($99/year for the standard program, and $299/year for the enterprise program).\
\
A wiki page with more information about FPC for iPhone/iPod Touch development can be found at {\field{\*\fldinst{HYPERLINK "http://wiki.freepascal.org/iPhone/iPod_development"}}{\fldrslt http://wiki.freepascal.org/iPhone/iPod_development}}\
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ul 2. How to use
\b0 \ulnone \
\
See the tutorials and templates by Phil Hess at http://web.me.com/macpgmr/ObjP/Xcode4/ for a number of templates that integrate with Xcode 4.x. Note that these templates may still default to FPC 2.5.1, in which case you should modify the 
\b FPC_COMPILER_PATH
\b0  project setting in Xcode (replace 
\i 2.5.1
\i0  with 
\i 2.6.0
\i0 ).\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls2\ilvl0\cf0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ul 3. Customising the Xcode project\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b0 \cf0 \ulnone \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 Main program file
\b0 \
\
These templates are special in that they do not contain a main Pascal program file. Instead, we reuse Apple's Objective-C program startup files, and link in the Pascal code as a library. Unit initialisation code will still be run automatically as part of the program's startup, as with a regular Pascal program.\
\
Should you wish to change the name of the main program file, you can change it as follows (the same as in the previous templates):\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls3\ilvl0
\b \cf0 {\listtext	a.	}
\b0 Double click on the project icon at the top of the file browser\
\ls3\ilvl0
\b {\listtext	b.	}
\b0 Go to the 
\i Build
\i0  tab\
\ls3\ilvl0
\b {\listtext	c.
\b0 	}
\b Select the 
\i All Configurations
\i0  from the top pop-up menu\
{\listtext	d.
\b0 	}
\b Select the 
\i Customized Settings
\i0  collection from the second pop-up menu\
{\listtext	e.
\b0 	}
\b Change the FPC_MAIN_FILE setting
\b0  to the name of your main program file, including the extension.\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \
Calling Pascal procedures/functions from Objective-C\
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b0 \cf0 Since the main program files are in Objective-C, you have to call your Pascal code from there. This involves five steps (the same goes for calling the routines from C or C++):\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls4\ilvl0
\b \cf0 {\listtext	1.	}
\b0 Make sure that the unit containing your Pascal code is listed in the 
\i uses
\i0  clause of the 
\i PascalLibrary.pas
\i0  source file\
\ls4\ilvl0
\b {\listtext	2.	}
\b0 Add the procedure modifier 
\i cdecl; 
\i0 at the end of the functions/procedures that you wish to call from the Objective-C code, and add the procedure to the 
\i exports
\i0  statement of 
\i PascalLibrary.pas
\i0 \
\ls4\ilvl0
\b {\listtext	3.	}
\b0 Add a C prototype for your Pascal function to the 
\i PascalImports.h
\i0  file\
\ls4\ilvl0
\b {\listtext	4.	}
\b0 Add 
\i #include "PascalImports.h"
\i0  at the top of the Objective-C file from which you wish to call your Pascal routine\
\ls4\ilvl0
\b {\listtext	5.	}
\b0 Call your Pascal routine at the appropriate place\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b0 \cf0 You can see how this is done for the Pascal code used in the example templates.\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \
\
iPhone SDK-specific units
\b0 \

\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b0 \cf0 At this time, the only included iPhone SDK-specific unit is 
\i gles11
\i0 . It contains a Pascal translation of the OpenGL ES 1.1 headers included in the iPhone SDK. This is only possible because that header falls under an open source license from SGI, so that the iPhone SDK agreement's prohibition to distribute any derivative works does not apply to it.\
\
Please file bug reports with Apple to relax this restriction for other headers so that interfaces for other programming languages can be made and distributed, referencing Radar #6471761. The more votes that this bug report gets, the higher the chance that something will be done about this any time soon.
\b \
\
\
Command line options
\b0 \
\
The template passes some default command line switches to the compiler. You can customise these if you want:
\b \

\b0 \
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls5\ilvl0
\b \cf0 {\listtext	a.	}
\b0 Double click on the project icon at the top of the file browser\
\ls5\ilvl0
\b {\listtext	b.	}
\b0 Go to the 
\i Build
\i0  tab\
\ls5\ilvl0
\b {\listtext	c.
\b0 	}
\b Select the configuration you want to edit (
\i Debug
\i0 , 
\i Release
\i0  or 
\i All Configurations
\i0 ) from the top pop-up menu\
{\listtext	d.
\b0 	}
\b Select the 
\i Customized Settings
\i0  collection from the second pop-up menu\
{\listtext	e.
\b0 	}
\b Changes to FPC_COMMON_OPTIONS
\b0  are common for 
\i Debug
\i0  and 
\i Release
\i0  builds, and those to 
\b FPC_SPECIFIC_OPTIONS
\b0  are configuration-specific (so don't edit this one when 
\i All Configurations
\i0  is selected, or you will overwrite the options for both configurations with a single set -- this may e.g. remove debug information of the 
\i Debug
\i0  build). You can also change 
\b FPC_ARM_OPTIONS
\b0  and 
\b FPC_I386_OPTIONS
\b0  to pass parameters to respectively only the ARM/device and i386/Simulator FPC compiler binary.\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
For an overview of all possible command line switches and what they do, have a look at the 
\i User's Manual
\i0  (installed in 
\i /Developer/Documentation/Free Pascal Compiler
\i0 ), Chapter 5.\
\
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ul 4. Known problems
\b0 \ulnone \
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls6\ilvl0\cf0 {\listtext	\'95	}
\b Viewing global variables in the Xcode debugger:
\b0  the globals browser often does not work. You can view global variables instead by choosing 
\i\b Debug
\f1\i0 \uc0\u8594 
\f0\i Tools
\f1\i0 \uc0\u8594 
\f0\i Expression...
\b0  
\i0 and then typing the name of the global variable\
{\listtext	\'95	}
\b Problems with 
\i View Value As\'85
\i0  and 
\i View Memory\'85
\i0 :
\b0  Xcode assumes that the underlying debugger (gdb) is in C mode at all times. When using the aforementioned commands, it therefore sends C-expressions to the debugger, which it doesn't understand when inside Pascal code (because then it expects Pascal expressions). A tedious workaround in case you need this functionality at some point is to choose 
\i\b Debug
\f1\i0 \uc0\u8594 
\f0\i Console Log
\i0\b0 , and then type 
\i set lang c
\i0  on the gdb prompt, followed by return/enter. To switch the debugger back type 
\i set lang auto
\i0 .\
{\listtext	\'95	}
\b Problems with viewing strings and non-zero based arrays in the debugger: 
\b0 Xcode does not appear to ask the debugger to display strings and arrays, but has its own display routines for these data structures. It does not have any knowledge of Pascal strings, nor of non-zero based arrays (these do not exist in C), and will therefore display all arrays as if they were zero-based, and Pascal strings as a record (in which the nested array is displayed incorrectly because of the array problem). You can again work around this by going to the gdb console as in the previous item and typing 
\i p string_variable
\i0  resp. 
\i p array_variable
\i0 .\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ul 5. More information
\b0 \ulnone \
\
A wiki page with more information about FPC for iPhone/iPod Touch development can be found at {\field{\*\fldinst{HYPERLINK "http://wiki.freepascal.org/iPhone/iPod_development"}}{\fldrslt http://wiki.freepascal.org/iPhone/iPod_development}}\
\
For help with installing certificates and code signing issues, please check first whether you are using Xcode 3.1.2 or later, and whether everything works with the standard Apple template. If not, please see the information provided by Apple in your iPhone Developer workspace, or ask a question at {\field{\*\fldinst{HYPERLINK "https://devforums.apple.com/"}}{\fldrslt https://devforums.apple.com/}}. Otherwise, you can use one of the contacts mentioned below.\
\
For help with Mac/iOS Pascal programming (and generic Pascal programming):\
  {\field{\*\fldinst{HYPERLINK "http://www.pascal-central.com/maillist.html"}}{\fldrslt http://www.pascal-central.com/maillist.html}}\
\
For FPC-specific questions (and help with generic Pascal programming):\
  {\field{\*\fldinst{HYPERLINK "http://lists.freepascal.org/mailman/listinfo/fpc-pascal"}}{\fldrslt http://lists.freepascal.org/mailman/listinfo/fpc-pascal}}\
\
Questions or remarks regarding the templates themselves can be sent to either list.\
\
\

\b \ul 6. Version history
\b0 \
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.6.0 
\b0 (31st December 2011):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls7\ilvl0\cf0 {\listtext	\uc0\u8259 	}No changes\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \ul \ulc0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.6.0rc1 
\b0 (16th October 2011):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls8\ilvl0\cf0 {\listtext	\uc0\u8259 	}Generic support for any iOS SDK version in the installation script\
{\listtext	\uc0\u8259 	}Include both ARMv6/VFPv2 and ARMv7/VFPv3 versions of the object files\
{\listtext	\uc0\u8259 	}Support for Simulator SDK in Xcode 3.2.4 and later via the "iphonesim" target\
{\listtext	\uc0\u8259 	}Xcode template adjusted so it can build ARMv6/ARMv7 universal binaries, uses the iphonesim target when compiling for i386, and extra options to specify architecture-specific parameters to the compiler\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \ul \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.4.2 
\b0 (9th November 2010):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls9\ilvl0\cf0 {\listtext	\uc0\u8259 	}Also add hypothetical iOS 4.3 support\
{\listtext	\uc0\u8259 	}Install the project template again in the right directory (
\i /Developer/Library/Xcode/Shared/Project Templates
\i0  instead of 
\i /Library/Application Support/...
\i0 )
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
\'95 2.4.2rc1 
\b0 (2nd October 2010):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls10\ilvl0\cf0 {\listtext	\uc0\u8259 	}The MacOSAll unit is now available for iPhoneOS/iOS targets\
{\listtext	\uc0\u8259 	}Installation script supports up to iOS SDK 4.2\
{\listtext	\uc0\u8259 	}Mention that the iPhoneSimulator shipped with the 3.2 SDK and later is not yet supported with this release\ul \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \
\'95 2.4.0rc1 
\b0 (20th December 2009):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls11\ilvl0\cf0 {\listtext	\uc0\u8259 	}Some small language cleanups in this readme\ul \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.4.0rc1 
\b0 (1st November 2009):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls12\ilvl0\cf0 {\listtext	\uc0\u8259 	}Tested up to and including Xcode 3.2\
{\listtext	\uc0\u8259 	}Mention that future FPC versions will include MacOSAll for the iPhone/iPod Touch\
{\listtext	\uc0\u8259 	}Only compile/install the ARM version of the compiler (since we now require FPC 2.6.0rc1 to be installed already)\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \ul \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.3.1v2 
\b0 (17th January 2009):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls13\ilvl0\cf0 {\listtext	\uc0\u8259 	}Mention that you need a certificate from Apple to run self-written applications on an iPhone/iPod Touch\
{\listtext	\uc0\u8259 	}Installation script mentions its location whenever it aborts\
{\listtext	\uc0\u8259 	}Link to wiki page with more information\
{\listtext	\uc0\u8259 	}Xcode template now ignores FPC configuration files\
{\listtext	\uc0\u8259 	}Xcode template handles Xcode reassembling previously compiled files (e.g., in case the current SDK is switched)\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \ul \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \ulnone \'95 2.3.1v1 
\b0 (9th January 2009):\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls14\ilvl0\cf0 {\listtext	\uc0\u8259 	}Initial release\
}