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