fpmake.pp 23 KB

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