1{$ifndef ALLPACKAGES}
2{$mode objfpc}{$H+}
3program fpmake;
4
5uses fpmkunit;
6
7Var
8  T : TTarget;
9  P : TPackage;
10begin
11  With Installer do
12    begin
13{$endif ALLPACKAGES}
14
15    P:=AddPackage('rtl');
16{$ifdef ALLPACKAGES}
17    P.Directory:='rtl';
18{$endif ALLPACKAGES}
19    P.Version:='3.2.2';
20
21    // Where to find the sources using firstmatch
22    P.SourcePath.Add('$(OS)');
23    P.SourcePath.Add('$(CPU)');
24    P.SourcePath.Add('bsd',AllBSDOSes);
25    P.SourcePath.Add('unix',AllUnixOSes);
26    P.SourcePath.Add('win',AllWindowsOSes);
27    P.SourcePath.Add('inc');
28    P.SourcePath.Add('objpas');
29
30    // Where to find the include files using firstmatch
31    P.IncludePath.Add('$(OS)/$(CPU)',AllUnixOSes);
32    P.IncludePath.Add('$(OS)');
33    P.IncludePath.Add('$(CPU)');
34    P.IncludePath.Add('bsd',AllBSDOSes);
35    P.IncludePath.Add('bsd/$(CPU)',AllBSDOSes-[Darwin]);
36    P.IncludePath.Add('unix',AllUnixOSes);
37    P.IncludePath.Add('win',AllWindowsOSes);
38    P.IncludePath.Add('inc');
39    P.IncludePath.Add('objpas');
40
41    // System unit
42    T:=P.Targets.AddUnit('system.pp');
43      With T.Dependencies do
44        begin
45          // Headers
46          AddInclude('setjumph.inc');
47          AddInclude('systemh.inc');
48          AddInclude('objpash.inc');
49          AddInclude('mathh.inc');
50          AddInclude('wstringh.inc');
51          AddInclude('dynarrh.inc');
52          AddInclude('compproc.inc');
53          AddInclude('heaph.inc');
54          AddInclude('threadh.inc');
55          AddInclude('varianth.inc');
56          AddInclude('sysosh.inc');
57          AddInclude('resh.inc');
58          AddInclude('currh.inc');
59          // Implementations
60          AddInclude('set.inc');
61          AddInclude('int64p.inc');
62          AddInclude('setjump.inc');
63          AddInclude('sysos.inc');
64          AddInclude('sysheap.inc');
65          AddInclude('sysdir.inc');
66          AddInclude('sysfile.inc');
67          AddInclude('sysres.inc');
68          AddInclude('except.inc');
69          AddInclude('threadvr.inc');
70          AddInclude('filerec.inc');
71          AddInclude('textrec.inc');
72          AddInclude('generic.inc');
73          AddInclude('genset.inc');
74          AddInclude('genmath.inc');
75          AddInclude('gencurr.inc');
76          AddInclude('sstrings.inc');
77          AddInclude('int64.inc');
78          AddInclude('astrings.inc');
79          AddInclude('wstrings.inc');
80          AddInclude('aliases.inc');
81          AddInclude('dynarr.inc');
82          AddInclude('objpas.inc');
83          AddInclude('variant.inc');
84          AddInclude('rtti.inc');
85          AddInclude('heap.inc');
86          AddInclude('thread.inc');
87          AddInclude('text.inc');
88          AddInclude('file.inc');
89          AddInclude('typefile.inc');
90          AddInclude('innr.inc');
91          AddInclude('$(CPU).inc');
92          AddInclude('fastmove.inc',[i386],AllOSes);
93          AddInclude('math.inc');
94          AddInclude('real2str.inc');
95          AddInclude('systhrd.inc',AllWindowsOSes+[Netware,Netwlibc,EMX,OS2]);
96          // Unix implementations
97          AddInclude('osdefs.inc',AllUnixOSes);
98          AddInclude('sysunixh.inc',AllUnixOSes);
99          AddInclude('system.inc',AllUnixOSes);
100          AddInclude('errno.inc',AllUnixOSes);
101          AddInclude('ostypes.inc',AllUnixOSes);
102          AddInclude('ptypes.inc',AllUnixOSes);
103          AddInclude('ctypes.inc',AllUnixOSes);
104          AddInclude('stat.inc',[Linux]);
105          AddInclude('signal.inc',AllUnixOSes);
106          AddInclude('sighnd.inc',AllUnixOSes-[Beos]);
107          AddInclude('sighndh.inc',[Linux,Solaris]);
108          AddInclude('syscallh.inc',[Linux,Beos,FreeBSD]);
109          AddInclude('syscall.inc',[Linux,Beos,FreeBSD]);
110          AddInclude('sysnr.inc',[Linux,Beos,FreeBSD]);
111          AddInclude('ossysc.inc',AllUnixOSes-[Solaris]);
112          AddInclude('osmacro.inc',AllUnixOSes);
113          // Windows implementations
114          AddInclude('winres.inc',AllWindowsOSes);
115        end;
116
117    // Compile mode units
118    T:=P.Targets.AddUnit('objpas.pp');
119      T.Dependencies.AddUnit('system');
120    T:=P.Targets.AddUnit('macpas.pp');
121      T.Dependencies.AddUnit('system');
122
123    // Unix units
124    T:=P.Targets.AddUnit('unixtype.pp',AllUnixOSes);
125      With T.Dependencies do
126        begin
127          AddUnit('system');
128        end;
129    T:=P.Targets.AddUnit('unixutil.pp',AllUnixOSes);
130      with T.Dependencies do
131        begin
132          AddInclude('textrec.inc');
133          AddInclude('filerec.inc');
134          AddUnit('system');
135        end;
136    T:=P.Targets.AddUnit('baseunix.pp',AllUnixOSes);
137      With T.Dependencies do
138        begin
139          AddUnit('unixtype');
140          AddInclude('osdefs.inc');
141          AddInclude('aliasptp.inc');
142          AddInclude('aliasctp.inc');
143          AddInclude('errno.inc');
144          AddInclude('ostypes.inc');
145          AddInclude('stat.inc',[Linux]);
146          AddInclude('signal.inc');
147          AddInclude('sighndh.inc',[Linux,Solaris]);
148          AddInclude('bunxh.inc');
149          AddInclude('bunxovlh.inc');
150          AddInclude('genfunch.inc');
151          AddInclude('genfuncs.inc');
152          AddInclude('gensigset.inc');
153          AddInclude('genfdset.inc');
154          AddInclude('syscallh.inc',[Linux,Beos,FreeBSD]);
155          AddInclude('sysnr.inc',[Linux,Beos,FreeBSD]);
156          AddInclude('bsyscall.inc',[Linux,FreeBSD]);
157          AddInclude('bunxsysc.inc',[Linux,FreeBSD]);
158          AddInclude('settimeo.inc');
159          AddInclude('osmacro.inc');
160          AddInclude('bunxovl.inc');
161          AddInclude('textrec.inc');
162          AddInclude('filerec.inc');
163        end;
164    T:=P.Targets.AddUnit('unix.pp',AllUnixOSes);
165      with T.Dependencies do
166        begin
167          AddUnit('baseunix');
168          AddUnit('unixutil');
169          AddInclude('aliasptp.inc');
170          AddInclude('aliasctp.inc');
171          AddInclude('unxconst.inc');
172          AddInclude('unxsysch.inc',[Linux,FreeBSD]);
173          AddInclude('unxsysc.inc',[Linux,FreeBSD]);
174          AddInclude('unxovlh.inc');
175          AddInclude('unxovl.inc');
176          AddInclude('syscallh.inc',[Linux,Beos,FreeBSD]);
177          AddInclude('textrec.inc');
178          AddInclude('filerec.inc');
179          AddInclude('unxfunc.inc');
180          AddInclude('timezone.inc');
181        end;
182    T:=P.Targets.AddUnit('termio.pp',AllUnixOSes);
183      with T.Dependencies do
184        begin
185          AddUnit('baseunix');
186          AddInclude('termios.inc');
187          AddInclude('termiosh.inc');
188          AddInclude('textrec.inc');
189          AddInclude('termiosproc.inc');
190        end;
191    T:=P.Targets.AddUnit('unix/errors.pp',AllUnixOSes);
192      with T.Dependencies do
193        begin
194          AddUnit('unixtype');
195          AddInclude('errnostr.inc');
196        end;
197    T:=P.Targets.AddUnit('unix/syscall.pp',[Linux,Beos,FreeBSD]);
198      with T.Dependencies do
199        begin
200          AddInclude('sysnr.inc');
201          AddInclude('syscallh.inc');
202        end;
203    T:=P.Targets.AddUnit('unix/terminfo.pp',AllUnixOSes);
204      T.Dependencies.AddUnit('baseunix',AllUnixOSes);
205    T:=P.Targets.AddUnit('unix/dl.pp',AllUnixOSes);
206      T.Dependencies.AddUnit('system');
207    T:=P.Targets.AddUnit('unix/ipc.pp',AllUnixOSes - [Android]);
208      With T.Dependencies do
209        begin
210          AddUnit('baseunix');
211          AddUnit('syscall',[Linux,Beos,FreeBSD]);
212          AddInclude('ipccall.inc',[Linux]);
213          AddInclude('ipcbsd.inc',[FreeBSD]);
214        end;
215
216    // Linux units
217    T:=P.Targets.AddUnit('si_c21g.pp',[i386],[Linux]);
218      With T.Dependencies do
219        begin
220          AddUnit('system');
221          AddInclude('si_intf.inc');
222          AddInclude('sysnr.inc');
223          AddInclude('si_c21g.inc');
224        end;
225    T:=P.Targets.AddUnit('si_c21.pp',[i386],[Linux]);
226      With T.Dependencies do
227        begin
228          AddUnit('system');
229          AddInclude('si_intf.inc');
230          AddInclude('sysnr.inc');
231          AddInclude('si_c21.inc');
232        end;
233    T:=P.Targets.AddUnit('si_c.pp',[i386,x86_64],[Linux]);
234      With T.Dependencies do
235        begin
236          AddUnit('system');
237          AddInclude('si_intf.inc');
238          AddInclude('sysnr.inc');
239          AddInclude('si_c.inc');
240        end;
241    T:=P.Targets.AddUnit('si_dll.pp',[i386],[Linux]);
242      With T.Dependencies do
243        begin
244          AddUnit('system');
245          AddInclude('si_intf.inc');
246          AddInclude('sysnr.inc');
247          AddInclude('si_dll.inc');
248        end;
249    T:=P.Targets.AddUnit('si_prc.pp',[i386,x86_64],[Linux]);
250      With T.Dependencies do
251        begin
252          AddUnit('system');
253          AddInclude('si_intf.inc');
254          AddInclude('sysnr.inc');
255          AddInclude('si_prc.inc');
256        end;
257    T:=P.Targets.AddUnit('si_uc.pp',[i386],[Linux]);
258      With T.Dependencies do
259        begin
260          AddUnit('system');
261          AddInclude('si_intf.inc');
262          AddInclude('sysnr.inc');
263          AddInclude('si_uc.inc');
264        end;
265    T:=P.Targets.AddUnit('linux.pp',[Linux]);
266      with T.Dependencies do
267        begin
268          AddUnit('baseunix');
269          AddUnit('syscall');
270        end;
271    T:=P.Targets.AddUnit('gpm.pp',[Linux]);
272      With T.Dependencies do
273        begin
274          AddUnit('termio');
275          AddUnit('sockets');
276          AddUnit('strings');
277          AddUnit('unix');
278        end;
279    T:=P.Targets.AddUnit('linuxvcs.pp',[Linux]);
280      with T.Dependencies do
281        begin
282          AddUnit('baseunix');
283          AddUnit('strings');
284        end;
285    T:=P.Targets.AddUnit('x86.pp',[i386,x86_64],[Linux]);
286      T.Dependencies.AddUnit('system');
287      T.Dependencies.AddUnit('baseunix');
288    T:=P.Targets.AddUnit('ports.pp',[i386,x86_64],[Linux]);
289      with T.Dependencies do
290        begin
291          AddUnit('objpas');
292          AddUnit('x86');
293        end;
294    T:=P.Targets.AddUnit('fpcylix.pp',[i386],[Linux]);
295      With T.Dependencies do
296        begin
297          AddUnit('cthreads');
298          AddUnit('cwstring');
299          AddUnit('dynlibs');
300        end;
301
302    // Windows units
303    T:=P.Targets.AddUnit('sysinitcyg.pp',AllWindowsOSes-[WinCE]);
304      T.Dependencies.AddUnit('system');
305    T:=P.Targets.AddUnit('sysinitgprof.pp',AllWindowsOSes-[WinCE]);
306      T.Dependencies.AddUnit('system');
307    T:=P.Targets.AddUnit('sysinitpas.pp',AllWindowsOSes-[WinCE]);
308      T.Dependencies.AddUnit('system');
309    T:=P.Targets.AddUnit('windows.pp',AllWindowsOSes);
310      T.IncludePath.Add('win/wininc');
311      with T.Dependencies do
312        begin
313          AddInclude('base.inc');
314          AddInclude('errors.inc');
315          AddInclude('defines.inc');
316          AddInclude('struct.inc');
317          AddInclude('messages.inc');
318          AddInclude('ascfun.inc');
319          AddInclude('unifun.inc');
320          AddInclude('ascdef.inc');
321          AddInclude('func.inc');
322          AddInclude('redef.inc');
323          AddInclude('base.inc');
324          AddInclude('errors.inc');
325          AddInclude('defines.inc');
326          AddInclude('struct.inc');
327          AddInclude('messages.inc');
328          AddInclude('ascfun.inc');
329          AddInclude('unifun.inc');
330          AddInclude('ascdef.inc');
331          AddInclude('func.inc');
332          AddInclude('redef.inc');
333          AddUnit('objpas');
334        end;
335    T:=P.Targets.AddUnit('winevent.pp',AllWindowsOSes);
336      with T.Dependencies do
337        begin
338          AddUnit('windows');
339        end;
340    T:=P.Targets.AddUnit('winsock2.pp',AllWindowsOSes);
341      with T.Dependencies do
342        begin
343          AddUnit('windows');
344        end;
345    T:=P.Targets.AddUnit('winsock.pp',AllWindowsOSes);
346      with T.Dependencies do
347        begin
348          AddUnit('windows');
349        end;
350    T:=P.Targets.AddUnit('winsysut.pp',AllWindowsOSes-[WinCE]);
351      with T.Dependencies do
352        begin
353          AddUnit('windows');
354          AddUnit('sysutils');
355        end;
356    T:=P.Targets.AddUnit('sharemem.pp',AllWindowsOSes);
357      with T.Dependencies do
358        begin
359          AddUnit('system');
360        end;
361    T:=P.Targets.AddUnit('signals.pp',[Win32]);
362      with T.Dependencies do
363        begin
364          AddUnit('system');
365        end;
366    T:=P.Targets.AddUnit('messages.pp',AllWindowsOSes);
367      T.IncludePath.Add('win/wininc');
368      with T.Dependencies do
369        begin
370          AddInclude('messages.inc');
371          AddUnit('windows');
372        end;
373
374    // Turbo Pascal RTL units
375    T:=P.Targets.AddUnit('strings.pp');
376      With T.Dependencies do
377        begin
378          AddUnit('system');
379          AddInclude('strings.inc');
380          AddInclude('stringss.inc');
381          AddInclude('genstr.inc');
382          AddInclude('genstrs.inc');
383          AddInclude('stringsi.inc');
384        end;
385    T:=P.Targets.AddUnit('dos.pp');
386      With T.Dependencies do
387        begin
388          AddUnit('strings');
389          AddUnit('unix',AllUnixOSes);
390          AddInclude('dosh.inc');
391          AddInclude('filerec.inc');
392          AddInclude('textrec.inc');
393          AddInclude('dos.inc');
394          AddInclude('fexpand.inc');
395        end;
396    T:=P.Targets.AddUnit('crt.pp');
397      With T.Dependencies do
398        begin
399          AddUnit('unix',AllUnixOSes);
400          AddUnit('termio',AllUnixOSes);
401          AddInclude('crth.inc');
402          AddInclude('textrec.inc');
403        end;
404    T:=P.Targets.AddUnit('objects.pp');
405      T.Dependencies.AddUnit('dos');
406    T:=P.Targets.AddUnit('printer.pp');
407      with T.Dependencies do
408        begin
409          AddInclude('printerh.inc');
410          AddInclude('printer.inc');
411          AddInclude('textrec.inc');
412          AddUnit('unix',AllUnixOSes);
413          AddUnit('strings');
414        end;
415
416    // Object Pascal RTL units
417    T:=P.Targets.AddUnit('rtlconsts.pp');
418      T.Dependencies.AddUnit('objpas');
419      T.Dependencies.AddInclude('rtlconst.inc');
420    T:=P.Targets.AddUnit('sysconst.pp');
421      T.Dependencies.AddUnit('objpas');
422    T:=P.Targets.AddUnit('sysutils.pp');
423      T.IncludePath.Add('objpas/sysutils');
424      With T.Dependencies do
425        begin
426          AddUnit('sysconst');
427          AddUnit('unix',AllUnixOSes);
428          AddUnit('errors',AllUnixOSes);
429          AddUnit('windows',AllWindowsOSes);
430          AddInclude('sysutilh.inc');
431          AddInclude('sysinth.inc');
432          AddInclude('osutilsh.inc');
433          AddInclude('datih.inc');
434          AddInclude('sysstrh.inc');
435          AddInclude('filerec.inc');
436          AddInclude('textrec.inc');
437          AddInclude('syspchh.inc');
438          AddInclude('sysansih.inc');
439          AddInclude('syswideh.inc');
440          AddInclude('sysunih.inc');
441          AddInclude('finah.inc');
442          AddInclude('filutilh.inc');
443          AddInclude('diskh.inc');
444          AddInclude('systhrdh.inc');
445          AddInclude('intfh.inc');
446          AddInclude('sysutils.inc');
447          AddInclude('fina.inc');
448          AddInclude('fexpand.inc');
449          AddInclude('varerror.inc');
450          AddInclude('sysstr.inc');
451          AddInclude('sysformt.inc');
452          AddInclude('dati.inc');
453          AddInclude('syspch.inc');
454          AddInclude('strings.inc');
455          AddInclude('genstr.inc');
456          AddInclude('stringsi.inc');
457          AddInclude('sysint.inc');
458          AddInclude('sysansi.inc');
459          AddInclude('syswide.inc');
460          AddInclude('sysuni.inc');
461          AddInclude('sysformt.inc');
462          AddInclude('sysuthrd.inc');
463          AddInclude('osutil.inc');
464          AddInclude('sysuintf.inc');
465          AddInclude('suuid.inc',AllUnixOSes);
466        end;
467    T:=P.Targets.AddUnit('types.pp');
468      With T.Dependencies do
469        begin
470          AddUnit('objpas');
471          AddUnit('windows',AllWindowsOSes);
472        end;
473    T:=P.Targets.AddUnit('typinfo.pp');
474      T.Dependencies.AddUnit('sysutils');
475    T:=P.Targets.AddUnit('classes.pp');
476      T.IncludePath.Add('objpas/classes');
477      With T.Dependencies do
478        begin
479          AddUnit('sysutils');
480          AddUnit('types');
481          AddUnit('typinfo');
482          AddUnit('unix',AllUnixOSes);
483          AddUnit('windows',AllWindowsOSes);
484          AddInclude('classesh.inc');
485          AddInclude('classes.inc');
486          AddInclude('resref.inc');
487          AddInclude('sllist.inc');
488          AddInclude('util.inc');
489          AddInclude('bits.inc');
490          AddInclude('streams.inc');
491          AddInclude('parser.inc');
492          AddInclude('collect.inc');
493          AddInclude('lists.inc');
494          AddInclude('stringl.inc');
495          AddInclude('tthread.inc');
496          AddInclude('persist.inc');
497          AddInclude('compon.inc');
498          AddInclude('action.inc');
499          AddInclude('dm.inc');
500          AddInclude('cregist.inc');
501          AddInclude('intf.inc');
502          AddInclude('filer.inc');
503          AddInclude('reader.inc');
504          AddInclude('writer.inc');
505          AddInclude('twriter.inc');
506        end;
507    T:=P.Targets.AddUnit('convutils.pp');
508      T.Dependencies.AddUnit('objpas');
509      T.Dependencies.AddInclude('convutil.inc');
510    T:=P.Targets.AddUnit('dateutils.pp');
511      With T.Dependencies do
512        begin
513          AddUnit('sysutils');
514          AddUnit('math');
515          AddUnit('types');
516          AddUnit('sysconst');
517          AddInclude('dateutil.inc');
518        end;
519    T:=P.Targets.AddUnit('stdconvs.pp');
520      T.Dependencies.AddUnit('convutils');
521    T:=P.Targets.AddUnit('strutils.pp');
522      T.Dependencies.AddUnit('sysutils');
523    T:=P.Targets.AddUnit('varutils.pp');
524      With T.Dependencies do
525        begin
526          AddUnit('sysutils');
527          AddInclude('varutilh.inc');
528          AddInclude('varerror.inc');
529          AddInclude('cvarutil.inc');
530          AddInclude('varutils.inc',AllOSes-AllWindowsOSes);
531        end;
532    T:=P.Targets.AddUnit('variants.pp');
533      With T.Dependencies do
534        begin
535          AddUnit('sysutils');
536          AddUnit('rtlconsts');
537          AddUnit('typinfo');
538        end;
539    T:=P.Targets.AddUnit('fgl.pp');
540      T.Dependencies.AddUnit('sysutils');
541      T.Dependencies.AddUnit('types');
542    T:=P.Targets.AddUnit('fmtbcd.pp');
543      T.Dependencies.AddUnit('sysutils');
544      T.Dependencies.AddUnit('variants');
545    T:=P.Targets.AddUnit('math.pp');
546      With T.Dependencies do
547        begin
548          AddUnit('sysutils');
549          AddInclude('mathu.inc');
550        end;
551
552    // CPU dependent units
553    T:=P.Targets.AddUnit('cpu.pp',[i386],AllOSes);
554      T.Dependencies.AddUnit('system');
555    T:=P.Targets.AddUnit('mmx.pp',[i386],AllOSes);
556      T.Dependencies.AddUnit('cpu');
557
558    // C Interfacing units
559    T:=P.Targets.AddUnit('ctypes.pp');
560      With T.Dependencies do
561        begin
562          AddUnit('system');
563          AddUnit('unixtype',AllUnixOSes);
564          AddInclude('aliasctp.inc',AllUnixOSes);
565        end;
566    T:=P.Targets.AddUnit('initc.pp',AllOSes-[WinCE]);
567      T.Dependencies.AddUnit('ctypes');
568    T:=P.Targets.AddUnit('cmem.pp');
569      T.Dependencies.AddUnit('system');
570    T:=P.Targets.AddUnit('cthreads.pp',AllUnixOSes);
571      With T.Dependencies do
572        begin
573          AddUnit('objpas');
574          AddUnit('initc');
575          AddUnit('unix');
576          AddUnit('dl');
577          AddInclude('pthread.inc');
578        end;
579    T:=P.Targets.AddUnit('cwstring.pp',AllUnixOSes);
580      With T.Dependencies do
581        begin
582          AddUnit('objpas');
583          AddUnit('initc');
584          AddUnit('unix');
585          AddUnit('ctypes');
586        end;
587
588    // Misc units
589    T:=P.Targets.AddUnit('fpextres.pp',[Darwin]);
590      with T.Dependencies do
591        begin
592          AddInclude('extres_multiarch.inc',[Darwin]);
593          AddInclude('extres.inc',AllOSes-[Darwin]);
594        end;
595    T:=P.Targets.AddUnit('fpintres.pp',AllUnixOSes+AllWindowsOSes);
596      with T.Dependencies do
597        begin
598          AddUnit('baseunix',AllUnixOSes);
599          AddInclude('intres.inc',AllOSes-AllWindowsOSes);
600          AddInclude('winres.inc',AllWindowsOSes);
601        end;
602    T:=P.Targets.AddUnit('charset.pp');
603      with T.Dependencies do
604        begin
605          AddUnit('objpas');
606        end;
607    T:=P.Targets.AddUnit('ucomplex.pp');
608      with T.Dependencies do
609        begin
610          AddUnit('math');
611        end;
612    T:=P.Targets.AddUnit('matrix.pp');
613      with T.Dependencies do
614        begin
615          AddUnit('system');
616          AddInclude('mvecimp.inc');
617          AddInclude('mmatimp.inc');
618        end;
619    T:=P.Targets.AddUnit('getopts.pp');
620      with T.Dependencies do
621        begin
622          AddUnit('system');
623        end;
624    T:=P.Targets.AddUnit('dynlibs.pas');
625      With T.Dependencies do
626        begin
627          AddUnit('objpas');
628          AddUnit('dl',AllUnixOSes);
629          AddInclude('dynlibs.inc');
630        end;
631
632    // Debugging units
633    T:=P.Targets.AddUnit('exeinfo.pp');
634      with T.Dependencies do
635        begin
636          AddUnit('objpas');
637          AddUnit('strings');
638        end;
639    T:=P.Targets.AddUnit('heaptrc.pp');
640      with T.Dependencies do
641        begin
642          AddUnit('system');
643        end;
644    T:=P.Targets.AddUnit('lineinfo.pp');
645      with T.Dependencies do
646        begin
647          AddUnit('exeinfo');
648        end;
649    T:=P.Targets.AddUnit('lnfodwrf.pp');
650      with T.Dependencies do
651        begin
652          AddUnit('exeinfo');
653        end;
654
655    // IO units
656    T:=P.Targets.AddUnit('mouse.pp');
657      with T.Dependencies do
658        begin
659          AddUnit('video');
660          AddUnit('gpm',[Linux]);
661          AddInclude('mouseh.inc');
662          AddInclude('mouse.inc');
663        end;
664    T:=P.Targets.AddUnit('video.pp');
665      with T.Dependencies do
666        begin
667          AddUnit('baseunix',AllUnixOSes);
668          AddUnit('termio',AllUnixOSes);
669          AddUnit('strings');
670          AddUnit('linuxvcs',[Linux]);
671          AddUnit('windows',AllWindowsOSes);
672          AddUnit('dos',AllWindowsOSes);
673          AddInclude('videoh.inc');
674          AddInclude('video.inc');
675          AddInclude('convert.inc',AllUnixOSes);
676        end;
677    T:=P.Targets.AddUnit('keyboard.pp');
678       with T.Dependencies do
679         begin
680           AddInclude('keybrdh.inc');
681           AddInclude('keyboard.inc');
682           AddInclude('keyscan.inc');
683           AddUnit('mouse');
684         end;
685    T:=P.Targets.AddUnit('sockets.pp',AllUnixOSes+AllWindowsOSes+[OS2,MorphOS,Netware,Netwlibc]);
686      with T.Dependencies do
687        begin
688          AddUnit('baseunix',AllUnixOSes);
689          AddUnit('winsock2',AllWindowsOSes);
690          AddUnit('ctypes');
691          AddInclude('socketsh.inc');
692          AddInclude('filerec.inc');
693          AddInclude('textrec.inc');
694          AddInclude('sockovl.inc');
695          AddInclude('sockets.inc');
696          AddInclude('unxsockh.inc',AllUnixOSes);
697          AddInclude('unixsock.inc',AllUnixOSes-[Solaris,Darwin]);
698          AddInclude('fpwinsockh.inc',AllWindowsOSes);
699        end;
700    T:=P.Targets.AddUnit('serial.pp',AllUnixOSes);
701      with T.Dependencies do
702        begin
703          AddUnit('objpas');
704          AddUnit('termio',AllUnixOSes);
705          AddUnit('unix',AllUnixOSes);
706        end;
707
708{$ifndef ALLPACKAGES}
709    Run;
710    end;
711end.
712{$endif ALLPACKAGES}
713