5053729b36b743bc8b9f1009974dc6358164ad59
[mono.git] / mcs / tools / linker / ChangeLog
1 2007-07-18  Jb Evain  <jbevain@novell.com>
2
3         * Mono.Linker/ResolutionException.cs:
4           Mono.Linker.Steps/MarkStep.cs:
5                 Throw a resolution exception when a metadata item
6                 can not be resolved in external assemblies.
7
8         * Mono.Linker/AssemblyResolver.cs:
9                 Use the assembly name only as a key for the
10                 assembly cache.
11
12 2007-07-05  Jb Evain  <jbevain@novell.com>
13
14         * Mono.Linker/Driver.cs
15           Mono.Linker/Pipeline.cs:
16                 Add a way to install steps in the pipeline
17                 from the outside.
18
19 2007-07-03  Jb Evain  <jbevain@novell.com>
20
21         * Mono.Linker/Driver.cs:
22                 Add support for @files
23
24         * Mono.Linker/Driver.cs:
25                 Add a way to add search directories to the resolver.
26
27 2007-06-18  Jb Evain  <jbevain@novell.com>
28
29         * Mono.Linker.Steps/MarkStep.cs:
30                 Mark generic parameter constraints.
31
32         * Mono.Linker.Steps/MarkStep.cs:
33                 Mark modifiers of modtype.
34
35 2007-06-15  Jb Evain  <jbevain@novell.com>
36
37         * Mono.Linker/Driver.cs,
38           Mono.Linker/I18nAssemblies.cs,
39           Mono.Linker.Steps/LoadI18nAssemblies.cs:
40                 Copy the i18n assemblies when running Mono.
41
42         * Mono.Linker/CustomResolver.cs => AssemblyResolver.cs,
43           Mono.Linker/Annotations.cs,
44           Mono.Linker/LinkContext.cs,
45           Mono.Linker.Steps/ResolveFromXmlStep.cs:
46                 Clean up the assembly reference system.
47                 Fixes bug where the linker have multiple
48                 time the same assembly in its cache.
49
50 2007-06-13  Jb Evain  <jbevain@novell.com>
51
52         * Mono.Linker.Steps/OutputStep.cs:
53                 Copy .config files alongs with assemblies.
54
55         * Mono.Linker.Steps/CleanStep.cs:
56                 Clean memberref that are not used anymore.
57
58 2007-06-12  Jb Evain  <jbevain@novell.com>
59
60         * Mono.Linker.Steps/AdjustVisibilityStep.cs,
61           Mono.Linker.Steps/ResolveFromApiInfoStep.cs,
62           Mono.Linker/Drivers.cs:
63                 Adjust the visibility depending on the data
64                 gathered in the api-info.
65
66         * Mono.Linker.Steps/ResolveFromApiInfoStep.cs:
67           Mono.Linker/Driver.cs:
68                 Started working on linking from api-info.
69
70 2007-06-08  Jb Evain  <jbevain@novell.com>
71
72         * Descriptors/System.Drawing.xml,
73           Mono.Linker.Steps/BlackListStep.cs:
74                 Add preserve infos for System.Drawing.
75
76         * Mono.Linker.Steps/MarkStep.cs:
77           Tests/TestsCases/Linker/Generics/*:
78                 Also walk through generic instances to
79                 mark arguments.
80
81 2007-06-07  Jb Evain  <jbevain@novell.com>
82
83         * Mono.Linker.Steps/MarkStep.cs:
84                 Mark types used in some marshal specs.
85
86         * Mono.Linker.Tests/MarkStep.cs
87           Tests/Mono.Linker.Tests/XmlLinkingTestFixture.cs
88           Tests/TestCases/Linker/ReferenceInAttributes/*:
89                 Mark fields and setters used in custom attribute
90                 instantiation. Mark also types used in custom attribute
91                 instantiation.
92
93         * profiler/Makefile,
94           profiler/link.c:
95                 Add a small profiler that outputs the xml format
96                 that the linker can resolve.
97
98                 By running an application with the profiler, one
99                 can help the linker gather data. Especially for dynamic
100                 cases like assembly loading an dynamic type resolving.
101
102 2007-06-06  Jb Evain  <jbevain@novell.com>
103
104         * Mono.Linker.Steps/MarkStep.cs:
105           Mono.Linker/CustomResolvercs:
106                 Try to find types in custom attributes to mark them.
107
108         * Mono.Linker.Steps/MarkStep.cs:
109                 Mark default constructor for serializable types.
110                 Mark the special serialization constructor as well.
111
112         * Mono.Linker/LinkContext.cs:
113           Mono.Linker.Steps/LoadReferences.cs:
114                 Use the name of the assembly as a key
115                 instead of the fullname.
116
117         * Mono.Linker/CustomResolver.cs:
118                 When a method is not found, go down
119                 the class hierarchy to find it.
120
121 2007-06-05  Jb Evain  <jbevain@novell.com>
122
123         * Tests/Mono.Linker.Tests/IntegrationTestFixture.cs:
124           Tests/TestCases/Integration/*
125           Tests/Makefile:
126                 Start the integration tests.
127
128 2007-06-04  Jb Evain  <jbevain@novell.com>
129
130         * Mono.Linker.Steps/MarkStep.cs
131                 Mark the custom attributes on the assemblies
132                 on initialize.
133
134         * Mono.Linker.Steps/ResolveFromXmlStep.cs
135           Descriptors/corlib.xml:
136                 Preserve the whole S.S.Crypto namespace.
137
138         * rename back from mink to monolinker.
139
140 2007-06-01  Jb Evain  <jbevain@novell.com>
141
142         * configure, config.make, mink.in: added
143
144         * AUTHORS, MIT.X11, man/mink.1: added
145
146 2007-05-31  Jb Evain  <jbevain@novell.com>
147
148         * README: added
149           monolinker.exe.sources: moved to mink.exe.sources
150           Makefile, Mono.Linker.csproj: emit a mink.exe
151
152         * Mono.Linker/LinkContext.cs:
153                 A resolved assembly is not always the one requested,
154                 cache the good name.
155
156         * Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
157           Mono.Linker.Steps/OutputStep.cs
158           Mono.Linker.Steps/LoadReferencesStep.cs
159           Mono.Linker.Steps/CleanStep.cs
160           Mono.Linker.Steps/ResolveFromAssemblyStep.cs
161           Mono.Linker.Steps/SweepStep.cs
162           Mono.Linker.Steps/BlacklistStep.cs
163           Mono.Linker.Steps/MarkStep.cs
164           Mono.Linker.Steps/BaseStep.cs
165           Mono.Linker.csproj
166           Mono.Linker/Driver.cs:
167                 Add a new abstract BaseStep to be extends by most
168                 of the steps.
169                 Add a new LoadReferences step to force all referenced
170                 assemblies to be resolved before the mark step.
171
172         * Mono.Linker/CustomResolver.cs
173           Mono.Linker/LinkContext.cs:
174                 Register entry assembly.
175
176 2007-05-30  Jb Evain  <jbevain@novell.com>
177
178         * Mono.Linker/MarkStep.cs:
179                 Fix regression: do not mark GenericParameters that are
180                 part of a typespec, like T[] or T*.
181
182 2007-05-28  Jb Evain  <jbevain@novell.com>
183
184         * Big refactoring. Get rid of the markers, use the annotations
185                 of Cecil instead.
186
187         * Mono.Linker/Marker.cs
188           Mono.Linker/MarkStep.cs
189           Mono.Linker/SweepStep.cs:
190                 Use annotations to mark wether or not we should
191                 sweep an item.
192
193 2007-05-23  Jb Evain  <jbevain@novell.com>
194
195         * Mono.Limker/CleanStep.cs:
196                 Stop doing hackish stupid things because
197                 Cecil suddenly handles MemberRef much better.
198
199 2007-05-19  Jb Evain  <jb@nurv.fr>
200
201         * Mono.Linker/ResolveFromXmlStep.cs
202           Mono.Linker/AssemblyMarker.cs
203           Mono.Linker/MarkStep.cs
204           Mono.Linker/ResolveFromAssemblyStep.cs:
205                 Process correctly the marker selected in the resolve phases.
206
207 2007-05-17  Jb Evain  <jb@nurv.fr>
208
209         * Mono.Linker/CleanStep.cs
210           Mono.Linker/SweepStep.cs
211           Mono.Linker/MarkStep.cs:
212                 Link only when necessary.
213
214         * Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
215           Tests/Mono.Linker.Tests/AbstractTestFixture.cs
216           Mono.Linker.csproj
217           Mono.Linker/ResolveFromXmlStep.cs
218           Mono.Linker/AssemblyMarker.cs
219           Mono.Linker/Marker.cs
220           Mono.Linker/MarkStep.cs
221           Mono.Linker/TypePreserve.cs
222           Mono.Linker/Pipeline.cs:
223                 Deal with preserve and required infos, make last test pass.
224
225         * Tests/Mono.Linker.Tests/XmlLinkingTestFixture.cs
226           Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
227           Tests/TestCases/Linker/PreserveFieldsRequired
228           Tests/TestCases/Linker/PreserveFieldsRequired/Library.cs
229           Tests/TestCases/Linker/PreserveFieldsRequired/desc.xml
230           Tests/TestCases/Linker/PreserveFieldsRequired/Makefile
231           Tests/TestCases/Linker/PreserveFieldsRequired/Library.dll:
232                 Add a new (failing for now) test case for preserve and required.
233
234 2007-05-16  Jb Evain  <jb@nurv.fr>
235
236         * Tests/Mono.Linker.Tests/AbstractTestFixture.cs
237           Mono.Linker.csproj
238           Mono.Linker/CoreAction.cs
239           Mono.Linker/Driver.cs
240           Mono.Linker/LinkContext.cs:
241                 Simplify the command line options.
242
243         * Tests/Mono.Linker.Tests/AbstractTestFixture.cs
244           Mono.Linker.csproj
245           Mono.Linker/CleanStep.cs
246           Mono.Linker/ResolveFromXmlStep.cs
247           Mono.Linker/Driver.cs
248           Mono.Linker/OutputStep.cs
249           Mono.Linker/ResolveFromAssemblyStep.cs
250           Mono.Linker/LinkContext.cs
251           Mono.Linker/BlacklistStep.cs
252           Mono.Linker/Pipeline.cs:
253                 Working on black list support.
254
255         * Descriptors/corlib.xml
256           Descriptors/system.xml
257           Descriptors/system.web.xml:
258                 First audit of the core.
259
260 2007-04-23  Jb Evain  <jb@nurv.fr>
261
262         * Mono.Linker/CleanStep.cs:
263                 Clean some special cases of MemberRef.
264
265 2007-03-19  Jb Evain  <jbevain@gmail.com>
266
267         * Fix a bug when an assembly references two
268         versions of an assembly with the same name.
269         * do some refactorings
270
271 2007-03-16  Jb Evain  <jbevain@gmail.com>
272
273         * rename linker.exe to monolinker.exe
274
275 2006-11-08  Jb Evain  <jbevain@gmail.com>
276
277         * Mono.Linker/AssemblyMarker.cs:
278                 Fix a bug in method resolution.
279         * Mono.Linker/Driver.cs:
280                 Fix a bug in assembly action processing.
281
282 2006-11-02  Jb Evain  <jbevain@gmail.com>
283
284         * check-in patches adapted from contributions by:
285                 Alex Prudkiy <prudkiy@mail.ru>
286
287 2006-08-21  Jb Evain  <jbevain@gmail.com>
288
289         * mark types used within the runtime
290
291 2006-08-20  Jb Evain  <jbevain@gmail.com>
292
293         * mark the custom attributes from the assemblies, modules and
294                 generic parameters
295
296         * mark the methods used by an event
297
298         * mark the custom attributes on the properties and the events
299                 which are used.
300
301         * preserve the fields of the value types
302
303         * clean also nested types in a proper way.
304
305         * clean events as well
306
307 2006-08-17  Jb Evain  <jbevain@gmail.com>
308
309         * provide a Makefile
310
311 2006-08-16  Jb Evain  <jbevain@gmail.com>
312
313         * work on generics assemblies linking
314
315         * use the resolver from Cecil.
316
317         * when marking a type, also mark its virtual methods
318
319 2006-08-15  Jb Evain  <jbevain@gmail.com>
320
321         * clean properties
322
323         * mark interfaces as well
324
325         * work in progress + unit tests.
326
327 2006-07-27  Jb Evain  <jbevain@gmail.com>
328
329         * begin work on the sweep step.
330
331 2006-07-20  Jb Evain  <jbevain@gmail.com>
332
333         * very first commit.
334           draft implementation of the mark phase of the linker.