fpmake.pp 23 KB

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