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('fcl-base');
16    P.ShortName:='fclb';
17{$ifdef ALLPACKAGES}
18    P.Directory:=ADirectory;
19{$endif ALLPACKAGES}
20    P.Version:='3.2.2';
21    P.Dependencies.Add('univint',[Darwin,iPhoneSim,ios]);
22    p.Dependencies.Add('rtl-objpas');
23
24    P.Author := '<various>';
25    P.License := 'LGPL with modification, ';
26    P.Email := '';
27    P.Description := 'Base library of Free Component Libraries (FCL), FPC''s OOP library.';
28    P.NeedLibC:= false;
29    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos];
30    if Defaults.CPU=jvm then
31      P.OSes := P.OSes - [java,android];
32
33    P.SourcePath.Add('src');
34    P.SourcePath.Add('src/$(OS)');
35    P.SourcePath.Add('src/unix',AllUnixOSes);
36    P.SourcePath.Add('src/win',AllWindowsOSes);
37    P.IncludePath.Add('src');
38    P.IncludePath.Add('src/$(OS)');
39    P.IncludePath.Add('src/unix',AllUnixOSes);
40    P.IncludePath.Add('src/win',AllWindowsOSes-[WinCE]);
41    P.IncludePath.Add('src/dummy',AllOSes);
42
43    T:=P.Targets.AddUnit('ascii85.pp');
44    T:=P.Targets.AddUnit('avl_tree.pp');
45    T:=P.Targets.AddUnit('base64.pp');
46    T:=P.Targets.AddUnit('pascodegen.pp');
47    T:=P.Targets.AddUnit('fpobserver.pp');
48      T.ResourceStrings:=true;
49    T:=P.Targets.AddUnit('blowfish.pp');
50      T.ResourceStrings:=true;
51    T:=P.Targets.AddUnit('bufstream.pp');
52      T.ResourceStrings:=true;
53    T:=P.Targets.AddUnit('cachecls.pp');
54      T.ResourceStrings:=true;
55    T:=P.Targets.AddUnit('contnrs.pp');
56      T.ResourceStrings:=true;
57    T:=P.Targets.AddUnit('singleinstance.pp');
58    T:=P.Targets.AddUnit('custapp.pp');
59      T.ResourceStrings:=true;
60    with T.Dependencies do
61      AddUnit('singleinstance');
62    T:=P.Targets.AddUnit('eventlog.pp');
63      T.ResourceStrings:=true;
64      with T.Dependencies do
65        begin
66          AddInclude('eventlog.inc');
67        end;
68    T:=P.Targets.AddUnit('fptimer.pp',AllWindowsOSes+AllUnixOSes);
69    T:=P.Targets.AddUnit('gettext.pp');
70    T:=P.Targets.AddUnit('idea.pp');
71
72    T:=P.Targets.AddUnit('inicol.pp');
73
74      T.ResourceStrings:=true;
75      with T.Dependencies do
76        begin
77          AddUnit('inifiles');
78        end;
79    T:=P.Targets.AddUnit('inifiles.pp');
80      T.ResourceStrings:=true;
81      with T.Dependencies do
82        begin
83          AddUnit('contnrs');
84        end;
85    T:=P.Targets.AddUnit('iostream.pp');
86    T:=P.Targets.AddUnit('nullstream.pp');
87      T.ResourceStrings:=true;
88    T:=P.Targets.AddUnit('maskutils.pp');
89      T.ResourceStrings:=true;
90    T:=P.Targets.AddUnit('pooledmm.pp');
91    T:=P.Targets.AddUnit('rtfpars.pp');
92      with T.Dependencies do
93        begin
94          AddInclude('rtfdata.inc');
95        end;
96    T:=P.Targets.AddUnit('rttiutils.pp');
97    T:=P.Targets.AddUnit('streamcoll.pp');
98      T.ResourceStrings:=true;
99    T:=P.Targets.AddUnit('streamex.pp');
100      T.ResourceStrings:=true;
101    T:=P.Targets.AddUnit('streamio.pp');
102      T.ResourceStrings:=true;
103    T:=P.Targets.AddUnit('fptemplate.pp');
104      T.ResourceStrings:=true;
105    T:=P.Targets.AddUnit('syncobjs.pp',AllOSes-[go32v2,nativent,atari]);
106      T.ResourceStrings:=true;
107    T:=P.Targets.AddUnit('uriparser.pp');
108    T:=P.Targets.AddUnit('wformat.pp');
109    T:=P.Targets.AddUnit('whtml.pp');
110      with T.Dependencies do
111        begin
112          AddUnit('wformat');
113        end;
114    T:=P.Targets.AddUnit('wtex.pp');
115      with T.Dependencies do
116        begin
117          AddUnit('wformat');
118        end;
119    T:=P.Targets.AddUnit('fpexprpars.pp');
120      T.ResourceStrings:=true;
121
122    T:=P.Targets.AddUnit('csvreadwrite.pp');
123    T:=P.Targets.addUnit('csvdocument.pp');
124    With T.Dependencies do
125      begin
126      AddUnit('csvreadwrite');
127      AddUnit('contnrs');
128      end;
129    T:=P.Targets.addUnit('advancedipc.pp',AllOSes-[atari]);
130      T.ResourceStrings:=true;
131    T:=P.Targets.addUnit('advancedsingleinstance.pas',AllOSes-[atari]);
132      T.ResourceStrings:=true;
133    // Additional sources
134    P.Sources.AddSrcFiles('src/win/fclel.*', P.Directory);
135    // Install windows resources
136    P.InstallFiles.Add('src/win/fclel.res',AllWindowsOSes,'$(unitinstalldir)');
137
138    // Examples
139    P.ExamplePath.Add('examples');
140      T:=P.Targets.AddExampleProgram('asiotest.pp');
141      T:=P.Targets.AddExampleProgram('b64dec.pp');
142      T:=P.Targets.AddExampleProgram('b64enc.pp');
143      T:=P.Targets.AddExampleProgram('b64.pp');
144      T:=P.Targets.AddExampleProgram('b64test2.pp');
145      T:=P.Targets.AddExampleProgram('b64test.pp');
146      T:=P.Targets.AddExampleProgram('base64decodingtestcase.pas');
147      T:=P.Targets.AddExampleProgram('cachetest.pp');
148      T:=P.Targets.AddExampleProgram('cfgtest.pp');
149      T:=P.Targets.AddExampleProgram('dbugsrv.pp');
150      T:=P.Targets.AddExampleProgram('debugtest.pp');
151      T:=P.Targets.AddExampleProgram('doecho.pp');
152      T:=P.Targets.AddExampleProgram('dparser.pp');
153      T:=P.Targets.AddExampleProgram('dsockcli.pp');
154      T:=P.Targets.AddExampleProgram('dsocksvr.pp');
155      T:=P.Targets.AddExampleProgram('fpdoc.dtd');
156      T:=P.Targets.AddExampleProgram('fstream.pp');
157      T:=P.Targets.AddExampleProgram('htdump.pp');
158      T:=P.Targets.AddExampleProgram('isockcli.pp');
159      T:=P.Targets.AddExampleProgram('isocksvr.pp');
160      T:=P.Targets.AddExampleProgram('istream.pp');
161      T:=P.Targets.AddExampleProgram('list.pp');
162      T:=P.Targets.AddExampleProgram('mstream.pp');
163      T:=P.Targets.AddExampleProgram('poolmm1.pp');
164      T:=P.Targets.AddExampleProgram('poolmm2.pp');
165      T:=P.Targets.AddExampleProgram('restest.pp');
166      T:=P.Targets.AddExampleProgram('sockcli.pp');
167      T:=P.Targets.AddExampleProgram('socksvr.pp');
168      T:=P.Targets.AddExampleProgram('sstream.pp');
169      T:=P.Targets.AddExampleProgram('stringl.pp');
170      T:=P.Targets.AddExampleProgram('tarmakerconsgzip.pas');
171      T:=P.Targets.AddExampleProgram('tarmakercons.pas');
172      T:=P.Targets.AddExampleProgram('testapp.pp');
173      T:=P.Targets.AddExampleProgram('testbf.pp');
174      T:=P.Targets.AddExampleProgram('testbs.pp');
175      T:=P.Targets.AddExampleProgram('testcgi.pp');
176      T:=P.Targets.AddExampleProgram('testcont.pp');
177      T:=P.Targets.AddExampleProgram('testez.pp');
178      T:=P.Targets.AddExampleProgram('testhres.pp');
179      T:=P.Targets.AddExampleProgram('testnres.pp');
180      T:=P.Targets.AddExampleProgram('testol.pp');
181      T:=P.Targets.AddExampleProgram('testproc.pp');
182      T:=P.Targets.AddExampleProgram('testreg.pp');
183      T:=P.Targets.AddExampleProgram('testrhre.pp');
184      T:=P.Targets.AddExampleProgram('testrnre.pp');
185      T:=P.Targets.AddExampleProgram('testrsre.pp');
186      T:=P.Targets.AddExampleProgram('testrtf.pp');
187      T:=P.Targets.AddExampleProgram('testser.pp');
188      T:=P.Targets.AddExampleProgram('testsres.pp');
189      T:=P.Targets.AddExampleProgram('testtimer.pp');
190      T:=P.Targets.AddExampleProgram('testunzip.pp');
191      T:=P.Targets.AddExampleProgram('testur.pp');
192      T:=P.Targets.AddExampleProgram('testweb.pp');
193      T:=P.Targets.AddExampleProgram('testz2.pp');
194      T:=P.Targets.AddExampleProgram('testzip.pp');
195      T:=P.Targets.AddExampleProgram('testz.pp');
196      T:=P.Targets.AddExampleProgram('threads.pp');
197      T:=P.Targets.AddExampleProgram('tidea.pp');
198      T:=P.Targets.AddExampleProgram('tstelcmd.pp');
199      T:=P.Targets.AddExampleProgram('tstelgtk.pp');
200      T:=P.Targets.AddExampleProgram('txmlreg.pp');
201      T:=P.Targets.AddExampleProgram('xmldump.pp');
202
203      // example data files.
204      // README
205      // kword.xml
206      // overview.rtf
207      // simple.xml
208      // parser.dat
209      // testcgi.html
210
211{$ifndef ALLPACKAGES}
212    Run;
213    end;
214end.
215{$endif ALLPACKAGES}
216
217