fpmake.pp 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690
  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:='2.2.0';
  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)',[Linux]+AllBSDOSes);
  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. // Implementations
  53. AddInclude('set.inc');
  54. AddInclude('int64p.inc');
  55. AddInclude('setjump.inc');
  56. AddInclude('sysos.inc');
  57. AddInclude('sysheap.inc');
  58. AddInclude('sysdir.inc');
  59. AddInclude('sysfile.inc');
  60. AddInclude('except.inc');
  61. AddInclude('threadvr.inc');
  62. AddInclude('filerec.inc');
  63. AddInclude('textrec.inc');
  64. AddInclude('generic.inc');
  65. AddInclude('genset.inc');
  66. AddInclude('genmath.inc');
  67. AddInclude('sstrings.inc');
  68. AddInclude('int64.inc');
  69. AddInclude('astrings.inc');
  70. AddInclude('wstrings.inc');
  71. AddInclude('wustrings.inc');
  72. AddInclude('aliases.inc');
  73. AddInclude('dynarr.inc');
  74. AddInclude('objpas.inc');
  75. AddInclude('variant.inc');
  76. AddInclude('rtti.inc');
  77. AddInclude('heap.inc');
  78. AddInclude('thread.inc');
  79. AddInclude('text.inc');
  80. AddInclude('file.inc');
  81. AddInclude('typefile.inc');
  82. AddInclude('innr.inc');
  83. AddInclude('$(CPU).inc');
  84. AddInclude('fastmove.inc',[i386],AllOSes);
  85. AddInclude('strpas.inc');
  86. AddInclude('math.inc');
  87. AddInclude('real2str.inc');
  88. AddInclude('systhrd.inc',AllWindowsOSes+[Netware,Netwlibc,EMX,OS2]);
  89. // Unix implementations
  90. AddInclude('osdefs.inc',AllUnixOSes);
  91. AddInclude('sysunixh.inc',AllUnixOSes);
  92. AddInclude('elfres32.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);
  101. AddInclude('sighndh.inc',AllUnixOSes);
  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);
  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');
  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,Beos,FreeBSD]);
  149. AddInclude('bunxsysc.inc',[Linux,Beos,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');
  165. AddInclude('unxovlh.inc');
  166. AddInclude('unxovl.inc');
  167. AddInclude('syscallh.inc',[Linux,Beos,FreeBSD]);
  168. AddInclude('unxsysc.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. T.Dependencies.AddUnit('unixtype');
  185. T.Dependencies.AddInclude('errnostr.inc');
  186. T:=P.Targets.AddUnit('unix/syscall.pp',AllUnixOSes);
  187. T.Dependencies.AddInclude('sysnr.inc');
  188. T.Dependencies.AddInclude('syscallh.inc');
  189. T:=P.Targets.AddUnit('unix/terminfo.pp',AllUnixOSes);
  190. T.Dependencies.AddUnit('baseunix',AllUnixOSes);
  191. T:=P.Targets.AddUnit('unix/dl.pp',AllUnixOSes);
  192. T.Dependencies.AddUnit('system');
  193. T:=P.Targets.AddUnit('unix/ipc.pp',AllUnixOSes);
  194. With T.Dependencies do
  195. begin
  196. AddUnit('baseunix');
  197. AddUnit('syscall');
  198. AddInclude('ipccall.inc',[Linux]);
  199. AddInclude('ipcbsd.inc',[FreeBSD]);
  200. end;
  201. // Linux units
  202. T:=P.Targets.AddUnit('si_c21g.pp',[i386],[Linux]);
  203. With T.Dependencies do
  204. begin
  205. AddUnit('system');
  206. AddInclude('si_intf.inc');
  207. AddInclude('sysnr.inc');
  208. AddInclude('si_c21g.inc');
  209. end;
  210. T:=P.Targets.AddUnit('si_c21.pp',[i386],[Linux]);
  211. With T.Dependencies do
  212. begin
  213. AddUnit('system');
  214. AddInclude('si_intf.inc');
  215. AddInclude('sysnr.inc');
  216. AddInclude('si_c21.inc');
  217. end;
  218. T:=P.Targets.AddUnit('si_c.pp',[i386,x86_64],[Linux]);
  219. With T.Dependencies do
  220. begin
  221. AddUnit('system');
  222. AddInclude('si_intf.inc');
  223. AddInclude('sysnr.inc');
  224. AddInclude('si_c.inc');
  225. end;
  226. T:=P.Targets.AddUnit('si_dll.pp',[i386],[Linux]);
  227. With T.Dependencies do
  228. begin
  229. AddUnit('system');
  230. AddInclude('si_intf.inc');
  231. AddInclude('sysnr.inc');
  232. AddInclude('si_dll.inc');
  233. end;
  234. T:=P.Targets.AddUnit('si_prc.pp',[i386,x86_64],[Linux]);
  235. With T.Dependencies do
  236. begin
  237. AddUnit('system');
  238. AddInclude('si_intf.inc');
  239. AddInclude('sysnr.inc');
  240. AddInclude('si_prc.inc');
  241. end;
  242. T:=P.Targets.AddUnit('si_uc.pp',[i386],[Linux]);
  243. With T.Dependencies do
  244. begin
  245. AddUnit('system');
  246. AddInclude('si_intf.inc');
  247. AddInclude('sysnr.inc');
  248. AddInclude('si_uc.inc');
  249. end;
  250. T:=P.Targets.AddUnit('linux.pp',[Linux]);
  251. with T.Dependencies do
  252. begin
  253. AddUnit('baseunix');
  254. AddUnit('syscall');
  255. end;
  256. T:=P.Targets.AddUnit('gpm.pp',[Linux]);
  257. With T.Dependencies do
  258. begin
  259. AddUnit('termio');
  260. AddUnit('sockets');
  261. AddUnit('strings');
  262. AddUnit('unix');
  263. end;
  264. T:=P.Targets.AddUnit('linuxvcs.pp',[Linux]);
  265. with T.Dependencies do
  266. begin
  267. AddUnit('baseunix');
  268. AddUnit('strings');
  269. end;
  270. T:=P.Targets.AddUnit('x86.pp',[i386,x86_64],[Linux]);
  271. T.Dependencies.AddUnit('system');
  272. T.Dependencies.AddUnit('baseunix');
  273. T:=P.Targets.AddUnit('ports.pp',[i386,x86_64],[Linux]);
  274. with T.Dependencies do
  275. begin
  276. AddUnit('objpas');
  277. AddUnit('x86');
  278. end;
  279. T:=P.Targets.AddUnit('fpcylix.pp',[i386],[Linux]);
  280. With T.Dependencies do
  281. begin
  282. AddUnit('cthreads');
  283. AddUnit('cwstring');
  284. AddUnit('dynlibs');
  285. end;
  286. // Windows units
  287. T:=P.Targets.AddUnit('sysinitcyg.pp',AllWindowsOSes);
  288. T.Dependencies.AddUnit('system');
  289. T:=P.Targets.AddUnit('sysinitgprof.pp',AllWindowsOSes);
  290. T.Dependencies.AddUnit('system');
  291. T:=P.Targets.AddUnit('sysinitpas.pp',AllWindowsOSes);
  292. T.Dependencies.AddUnit('system');
  293. T:=P.Targets.AddUnit('windows.pp',AllWindowsOSes);
  294. T.IncludePath.Add('win/wininc');
  295. with T.Dependencies do
  296. begin
  297. AddInclude('base.inc');
  298. AddInclude('errors.inc');
  299. AddInclude('defines.inc');
  300. AddInclude('struct.inc');
  301. AddInclude('messages.inc');
  302. AddInclude('ascfun.inc');
  303. AddInclude('unifun.inc');
  304. AddInclude('ascdef.inc');
  305. AddInclude('func.inc');
  306. AddInclude('redef.inc');
  307. AddInclude('base.inc');
  308. AddInclude('errors.inc');
  309. AddInclude('defines.inc');
  310. AddInclude('struct.inc');
  311. AddInclude('messages.inc');
  312. AddInclude('ascfun.inc');
  313. AddInclude('unifun.inc');
  314. AddInclude('ascdef.inc');
  315. AddInclude('func.inc');
  316. AddInclude('redef.inc');
  317. AddUnit('objpas');
  318. end;
  319. T:=P.Targets.AddUnit('winevent.pp',AllWindowsOSes);
  320. with T.Dependencies do
  321. begin
  322. AddUnit('windows');
  323. end;
  324. T:=P.Targets.AddUnit('winsock2.pp',AllWindowsOSes);
  325. with T.Dependencies do
  326. begin
  327. AddUnit('windows');
  328. end;
  329. T:=P.Targets.AddUnit('winsock.pp',AllWindowsOSes);
  330. with T.Dependencies do
  331. begin
  332. AddUnit('windows');
  333. end;
  334. T:=P.Targets.AddUnit('winsysut.pp',AllWindowsOSes);
  335. with T.Dependencies do
  336. begin
  337. AddUnit('windows');
  338. AddUnit('sysutils');
  339. end;
  340. T:=P.Targets.AddUnit('sharemem.pp',AllWindowsOSes);
  341. with T.Dependencies do
  342. begin
  343. AddUnit('system');
  344. end;
  345. T:=P.Targets.AddUnit('signals.pp',AllWindowsOSes);
  346. with T.Dependencies do
  347. begin
  348. AddUnit('system');
  349. end;
  350. T:=P.Targets.AddUnit('messages.pp',AllWindowsOSes);
  351. T.IncludePath.Add('win/wininc');
  352. with T.Dependencies do
  353. begin
  354. AddInclude('messages.inc');
  355. AddUnit('windows');
  356. end;
  357. // Turbo Pascal RTL units
  358. T:=P.Targets.AddUnit('strings.pp');
  359. With T.Dependencies do
  360. begin
  361. AddUnit('system');
  362. AddInclude('strings.inc');
  363. AddInclude('stringss.inc');
  364. AddInclude('genstr.inc');
  365. AddInclude('genstrs.inc');
  366. AddInclude('stringsi.inc');
  367. end;
  368. T:=P.Targets.AddUnit('dos.pp');
  369. With T.Dependencies do
  370. begin
  371. AddUnit('strings');
  372. AddUnit('unix',AllUnixOSes);
  373. AddInclude('dosh.inc');
  374. AddInclude('filerec.inc');
  375. AddInclude('textrec.inc');
  376. AddInclude('dos.inc');
  377. AddInclude('fexpand.inc');
  378. end;
  379. T:=P.Targets.AddUnit('crt.pp');
  380. With T.Dependencies do
  381. begin
  382. AddUnit('unix',AllUnixOSes);
  383. AddUnit('termio',AllUnixOSes);
  384. AddInclude('crth.inc');
  385. AddInclude('textrec.inc');
  386. end;
  387. T:=P.Targets.AddUnit('objects.pp');
  388. T.Dependencies.AddUnit('dos');
  389. T:=P.Targets.AddUnit('printer.pp');
  390. with T.Dependencies do
  391. begin
  392. AddInclude('printerh.inc');
  393. AddInclude('printer.inc');
  394. AddInclude('textrec.inc');
  395. AddUnit('unix',AllUnixOSes);
  396. AddUnit('strings');
  397. end;
  398. // Object Pascal RTL units
  399. T:=P.Targets.AddUnit('rtlconsts.pp');
  400. T.Dependencies.AddUnit('objpas');
  401. T.Dependencies.AddInclude('rtlconst.inc');
  402. T:=P.Targets.AddUnit('sysconst.pp');
  403. T.Dependencies.AddUnit('objpas');
  404. T:=P.Targets.AddUnit('sysutils.pp');
  405. T.IncludePath.Add('objpas/sysutils');
  406. With T.Dependencies do
  407. begin
  408. AddUnit('sysconst');
  409. AddUnit('unix',AllUnixOSes);
  410. AddUnit('errors',AllUnixOSes);
  411. AddUnit('windows',AllWindowsOSes);
  412. AddInclude('sysutilh.inc');
  413. AddInclude('sysinth.inc');
  414. AddInclude('osutilsh.inc');
  415. AddInclude('datih.inc');
  416. AddInclude('sysstrh.inc');
  417. AddInclude('filerec.inc');
  418. AddInclude('textrec.inc');
  419. AddInclude('syspchh.inc');
  420. AddInclude('sysansih.inc');
  421. AddInclude('syswideh.inc');
  422. AddInclude('finah.inc');
  423. AddInclude('filutilh.inc');
  424. AddInclude('diskh.inc');
  425. AddInclude('systhrdh.inc');
  426. AddInclude('intfh.inc');
  427. AddInclude('sysutils.inc');
  428. AddInclude('fina.inc');
  429. AddInclude('fexpand.inc');
  430. AddInclude('varerror.inc');
  431. AddInclude('sysstr.inc');
  432. AddInclude('sysformt.inc');
  433. AddInclude('dati.inc');
  434. AddInclude('syspch.inc');
  435. AddInclude('strings.inc');
  436. AddInclude('genstr.inc');
  437. AddInclude('stringsi.inc');
  438. AddInclude('sysint.inc');
  439. AddInclude('sysansi.inc');
  440. AddInclude('syswide.inc');
  441. AddInclude('sysformt.inc');
  442. AddInclude('sysuthrd.inc');
  443. AddInclude('osutil.inc');
  444. AddInclude('sysuintf.inc');
  445. AddInclude('suuid.inc',AllUnixOSes);
  446. end;
  447. T:=P.Targets.AddUnit('types.pp');
  448. With T.Dependencies do
  449. begin
  450. AddUnit('objpas');
  451. AddUnit('windows',AllWindowsOSes);
  452. end;
  453. T:=P.Targets.AddUnit('typinfo.pp');
  454. T.Dependencies.AddUnit('sysutils');
  455. T:=P.Targets.AddUnit('classes.pp');
  456. T.IncludePath.Add('objpas/classes');
  457. With T.Dependencies do
  458. begin
  459. AddUnit('sysutils');
  460. AddUnit('types');
  461. AddUnit('typinfo');
  462. AddUnit('unix',AllUnixOSes);
  463. AddUnit('windows',AllWindowsOSes);
  464. AddInclude('classesh.inc');
  465. AddInclude('classes.inc');
  466. AddInclude('util.inc');
  467. AddInclude('bits.inc');
  468. AddInclude('streams.inc');
  469. AddInclude('parser.inc');
  470. AddInclude('collect.inc');
  471. AddInclude('lists.inc');
  472. AddInclude('stringl.inc');
  473. AddInclude('tthread.inc');
  474. AddInclude('persist.inc');
  475. AddInclude('compon.inc');
  476. AddInclude('action.inc');
  477. AddInclude('dm.inc');
  478. AddInclude('cregist.inc');
  479. AddInclude('intf.inc');
  480. AddInclude('filer.inc');
  481. AddInclude('reader.inc');
  482. AddInclude('writer.inc');
  483. AddInclude('twriter.inc');
  484. end;
  485. T:=P.Targets.AddUnit('convutils.pp');
  486. T.Dependencies.AddUnit('objpas');
  487. T.Dependencies.AddInclude('convutil.inc');
  488. T:=P.Targets.AddUnit('dateutils.pp');
  489. With T.Dependencies do
  490. begin
  491. AddUnit('sysutils');
  492. AddUnit('math');
  493. AddUnit('types');
  494. AddUnit('sysconst');
  495. AddInclude('dateutil.inc');
  496. end;
  497. T:=P.Targets.AddUnit('stdconvs.pp');
  498. T.Dependencies.AddUnit('convutils');
  499. T:=P.Targets.AddUnit('strutils.pp');
  500. T.Dependencies.AddUnit('sysutils');
  501. T:=P.Targets.AddUnit('varutils.pp');
  502. With T.Dependencies do
  503. begin
  504. AddUnit('sysutils');
  505. AddInclude('varutilh.inc');
  506. AddInclude('varerror.inc');
  507. AddInclude('cvarutil.inc');
  508. AddInclude('varutils.inc',AllOSes-AllWindowsOSes);
  509. end;
  510. T:=P.Targets.AddUnit('variants.pp');
  511. With T.Dependencies do
  512. begin
  513. AddUnit('sysutils');
  514. AddUnit('rtlconsts');
  515. AddUnit('typinfo');
  516. end;
  517. T:=P.Targets.AddUnit('fgl.pp');
  518. T.Dependencies.AddUnit('sysutils');
  519. T.Dependencies.AddUnit('types');
  520. T:=P.Targets.AddUnit('fmtbcd.pp');
  521. T.Dependencies.AddUnit('sysutils');
  522. T.Dependencies.AddUnit('variants');
  523. T:=P.Targets.AddUnit('math.pp');
  524. With T.Dependencies do
  525. begin
  526. AddUnit('sysutils');
  527. AddInclude('mathuh.inc');
  528. AddInclude('mathu.inc');
  529. end;
  530. // CPU dependent units
  531. T:=P.Targets.AddUnit('cpu.pp',[i386],AllOSes);
  532. T.Dependencies.AddUnit('system');
  533. T:=P.Targets.AddUnit('mmx.pp',[i386],AllOSes);
  534. T.Dependencies.AddUnit('cpu');
  535. // C Interfacing units
  536. T:=P.Targets.AddUnit('ctypes');
  537. With T.Dependencies do
  538. begin
  539. AddUnit('system');
  540. AddUnit('unixtype',AllUnixOSes);
  541. AddInclude('aliasctp.inc',AllUnixOSes);
  542. end;
  543. T:=P.Targets.AddUnit('initc.pp');
  544. T.Dependencies.AddUnit('ctypes');
  545. T:=P.Targets.AddUnit('cmem.pp');
  546. T.Dependencies.AddUnit('system');
  547. T:=P.Targets.AddUnit('cthreads.pp',AllUnixOSes);
  548. With T.Dependencies do
  549. begin
  550. AddUnit('objpas');
  551. AddUnit('initc');
  552. AddUnit('unix');
  553. AddUnit('dl');
  554. AddInclude('pthread.inc');
  555. end;
  556. T:=P.Targets.AddUnit('cwstring',AllUnixOSes);
  557. With T.Dependencies do
  558. begin
  559. AddUnit('objpas');
  560. AddUnit('initc');
  561. AddUnit('unix');
  562. AddUnit('ctypes');
  563. end;
  564. // Misc units
  565. T:=P.Targets.AddUnit('charset.pp');
  566. with T.Dependencies do
  567. begin
  568. AddUnit('objpas');
  569. end;
  570. T:=P.Targets.AddUnit('ucomplex.pp');
  571. with T.Dependencies do
  572. begin
  573. AddUnit('math');
  574. end;
  575. T:=P.Targets.AddUnit('matrix.pp');
  576. with T.Dependencies do
  577. begin
  578. AddUnit('system');
  579. AddInclude('mvecimp.inc');
  580. AddInclude('mmatimp.inc');
  581. end;
  582. T:=P.Targets.AddUnit('getopts.pp');
  583. with T.Dependencies do
  584. begin
  585. AddUnit('system');
  586. end;
  587. T:=P.Targets.AddUnit('dynlibs.pas');
  588. With T.Dependencies do
  589. begin
  590. AddUnit('objpas');
  591. AddUnit('dl',AllUnixOSes);
  592. AddInclude('dynlibs.inc');
  593. end;
  594. // Debugging units
  595. T:=P.Targets.AddUnit('exeinfo.pp');
  596. with T.Dependencies do
  597. begin
  598. AddUnit('objpas');
  599. AddUnit('strings');
  600. end;
  601. T:=P.Targets.AddUnit('heaptrc.pp');
  602. with T.Dependencies do
  603. begin
  604. AddUnit('system');
  605. end;
  606. T:=P.Targets.AddUnit('lineinfo.pp');
  607. with T.Dependencies do
  608. begin
  609. AddUnit('exeinfo');
  610. end;
  611. T:=P.Targets.AddUnit('lnfodwrf.pp');
  612. with T.Dependencies do
  613. begin
  614. AddUnit('exeinfo');
  615. end;
  616. // IO units
  617. T:=P.Targets.AddUnit('mouse.pp');
  618. with T.Dependencies do
  619. begin
  620. AddUnit('video');
  621. AddUnit('gpm',[Linux]);
  622. AddInclude('mouseh.inc');
  623. AddInclude('mouse.inc');
  624. end;
  625. T:=P.Targets.AddUnit('video.pp');
  626. with T.Dependencies do
  627. begin
  628. AddUnit('baseunix',AllUnixOSes);
  629. AddUnit('termio',AllUnixOSes);
  630. AddUnit('strings');
  631. AddUnit('linuxvcs',[Linux]);
  632. AddUnit('windows',AllWindowsOSes);
  633. AddUnit('dos',AllWindowsOSes);
  634. AddInclude('videoh.inc');
  635. AddInclude('video.inc');
  636. AddInclude('convert.inc',AllUnixOSes);
  637. end;
  638. T:=P.Targets.AddUnit('keyboard.pp');
  639. with T.Dependencies do
  640. begin
  641. AddInclude('keybrdh.inc');
  642. AddInclude('keyboard.inc');
  643. AddInclude('keyscan.inc');
  644. AddUnit('mouse');
  645. end;
  646. T:=P.Targets.AddUnit('sockets.pp');
  647. with T.Dependencies do
  648. begin
  649. AddUnit('baseunix',AllUnixOSes);
  650. AddUnit('winsock2',AllWindowsOSes);
  651. AddUnit('ctypes');
  652. AddInclude('socketsh.inc');
  653. AddInclude('filerec.inc');
  654. AddInclude('textrec.inc');
  655. AddInclude('sockovl.inc');
  656. AddInclude('sockets.inc');
  657. AddInclude('unxsockh.inc',AllUnixOSes);
  658. AddInclude('unixsock.inc',AllUnixOSes);
  659. AddInclude('fpwinsockh.inc',AllWindowsOSes);
  660. end;
  661. T:=P.Targets.AddUnit('serial.pp',AllUnixOSes);
  662. with T.Dependencies do
  663. begin
  664. AddUnit('objpas');
  665. AddUnit('termio',AllUnixOSes);
  666. AddUnit('unix',AllUnixOSes);
  667. end;
  668. {$ifndef ALLPACKAGES}
  669. Run;
  670. end;
  671. end.
  672. {$endif ALLPACKAGES}