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