1 2007-07-25 Jb Evain <jbevain@novell.com>
3 * Mono.Linker.Steps/ResolveFromAssemblyStep.cs:
4 When linking from an executable, it's possible
5 to reduce the executable as well.
7 2007-07-23 Jb Evain <jbevain@novell.com>
9 * Mono.Linker/Driver.cs
10 Mono.Linker/LinkContext.cs:
11 Allow one to specify the action to apply to an assembly
12 from the command line.
14 2007-07-22 Jb Evain <jbevain@novell.com>
16 * Mono.Linker/LinkContext.cs:
17 If no file found with -a, try to resolve it.
19 * Mono.Linker/Driver.cs
20 Mono.Linker/Pipeline.cs:
21 Adjust the visibility only once, even with multiple -i.
23 2007-07-21 Jb Evain <jbevain@novell.com>
25 * Mono.Linker.Steps/SweepStep.cs:
26 Sweep memberrefs along with the typerefs.
28 2007-07-20 Jb Evain <jbevain@novell.com>
30 * Mono.Linker.Steps/AdjustVisibilityStep.cs:
31 Don't change the visibility of the members if the type
34 2007-07-18 Jb Evain <jbevain@novell.com>
36 * Mono.Linker/ResolutionException.cs:
37 Mono.Linker.Steps/MarkStep.cs:
38 Throw a resolution exception when a metadata item
39 can not be resolved in external assemblies.
41 * Mono.Linker/AssemblyResolver.cs:
42 Use the assembly name only as a key for the
45 2007-07-05 Jb Evain <jbevain@novell.com>
47 * Mono.Linker/Driver.cs
48 Mono.Linker/Pipeline.cs:
49 Add a way to install steps in the pipeline
52 2007-07-03 Jb Evain <jbevain@novell.com>
54 * Mono.Linker/Driver.cs:
55 Add support for @files
57 * Mono.Linker/Driver.cs:
58 Add a way to add search directories to the resolver.
60 2007-06-18 Jb Evain <jbevain@novell.com>
62 * Mono.Linker.Steps/MarkStep.cs:
63 Mark generic parameter constraints.
65 * Mono.Linker.Steps/MarkStep.cs:
66 Mark modifiers of modtype.
68 2007-06-15 Jb Evain <jbevain@novell.com>
70 * Mono.Linker/Driver.cs,
71 Mono.Linker/I18nAssemblies.cs,
72 Mono.Linker.Steps/LoadI18nAssemblies.cs:
73 Copy the i18n assemblies when running Mono.
75 * Mono.Linker/CustomResolver.cs => AssemblyResolver.cs,
76 Mono.Linker/Annotations.cs,
77 Mono.Linker/LinkContext.cs,
78 Mono.Linker.Steps/ResolveFromXmlStep.cs:
79 Clean up the assembly reference system.
80 Fixes bug where the linker have multiple
81 time the same assembly in its cache.
83 2007-06-13 Jb Evain <jbevain@novell.com>
85 * Mono.Linker.Steps/OutputStep.cs:
86 Copy .config files alongs with assemblies.
88 * Mono.Linker.Steps/CleanStep.cs:
89 Clean memberref that are not used anymore.
91 2007-06-12 Jb Evain <jbevain@novell.com>
93 * Mono.Linker.Steps/AdjustVisibilityStep.cs,
94 Mono.Linker.Steps/ResolveFromApiInfoStep.cs,
95 Mono.Linker/Drivers.cs:
96 Adjust the visibility depending on the data
97 gathered in the api-info.
99 * Mono.Linker.Steps/ResolveFromApiInfoStep.cs:
100 Mono.Linker/Driver.cs:
101 Started working on linking from api-info.
103 2007-06-08 Jb Evain <jbevain@novell.com>
105 * Descriptors/System.Drawing.xml,
106 Mono.Linker.Steps/BlackListStep.cs:
107 Add preserve infos for System.Drawing.
109 * Mono.Linker.Steps/MarkStep.cs:
110 Tests/TestsCases/Linker/Generics/*:
111 Also walk through generic instances to
114 2007-06-07 Jb Evain <jbevain@novell.com>
116 * Mono.Linker.Steps/MarkStep.cs:
117 Mark types used in some marshal specs.
119 * Mono.Linker.Tests/MarkStep.cs
120 Tests/Mono.Linker.Tests/XmlLinkingTestFixture.cs
121 Tests/TestCases/Linker/ReferenceInAttributes/*:
122 Mark fields and setters used in custom attribute
123 instantiation. Mark also types used in custom attribute
128 Add a small profiler that outputs the xml format
129 that the linker can resolve.
131 By running an application with the profiler, one
132 can help the linker gather data. Especially for dynamic
133 cases like assembly loading an dynamic type resolving.
135 2007-06-06 Jb Evain <jbevain@novell.com>
137 * Mono.Linker.Steps/MarkStep.cs:
138 Mono.Linker/CustomResolvercs:
139 Try to find types in custom attributes to mark them.
141 * Mono.Linker.Steps/MarkStep.cs:
142 Mark default constructor for serializable types.
143 Mark the special serialization constructor as well.
145 * Mono.Linker/LinkContext.cs:
146 Mono.Linker.Steps/LoadReferences.cs:
147 Use the name of the assembly as a key
148 instead of the fullname.
150 * Mono.Linker/CustomResolver.cs:
151 When a method is not found, go down
152 the class hierarchy to find it.
154 2007-06-05 Jb Evain <jbevain@novell.com>
156 * Tests/Mono.Linker.Tests/IntegrationTestFixture.cs:
157 Tests/TestCases/Integration/*
159 Start the integration tests.
161 2007-06-04 Jb Evain <jbevain@novell.com>
163 * Mono.Linker.Steps/MarkStep.cs
164 Mark the custom attributes on the assemblies
167 * Mono.Linker.Steps/ResolveFromXmlStep.cs
168 Descriptors/corlib.xml:
169 Preserve the whole S.S.Crypto namespace.
171 * rename back from mink to monolinker.
173 2007-06-01 Jb Evain <jbevain@novell.com>
175 * configure, config.make, mink.in: added
177 * AUTHORS, MIT.X11, man/mink.1: added
179 2007-05-31 Jb Evain <jbevain@novell.com>
182 monolinker.exe.sources: moved to mink.exe.sources
183 Makefile, Mono.Linker.csproj: emit a mink.exe
185 * Mono.Linker/LinkContext.cs:
186 A resolved assembly is not always the one requested,
189 * Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
190 Mono.Linker.Steps/OutputStep.cs
191 Mono.Linker.Steps/LoadReferencesStep.cs
192 Mono.Linker.Steps/CleanStep.cs
193 Mono.Linker.Steps/ResolveFromAssemblyStep.cs
194 Mono.Linker.Steps/SweepStep.cs
195 Mono.Linker.Steps/BlacklistStep.cs
196 Mono.Linker.Steps/MarkStep.cs
197 Mono.Linker.Steps/BaseStep.cs
199 Mono.Linker/Driver.cs:
200 Add a new abstract BaseStep to be extends by most
202 Add a new LoadReferences step to force all referenced
203 assemblies to be resolved before the mark step.
205 * Mono.Linker/CustomResolver.cs
206 Mono.Linker/LinkContext.cs:
207 Register entry assembly.
209 2007-05-30 Jb Evain <jbevain@novell.com>
211 * Mono.Linker/MarkStep.cs:
212 Fix regression: do not mark GenericParameters that are
213 part of a typespec, like T[] or T*.
215 2007-05-28 Jb Evain <jbevain@novell.com>
217 * Big refactoring. Get rid of the markers, use the annotations
220 * Mono.Linker/Marker.cs
221 Mono.Linker/MarkStep.cs
222 Mono.Linker/SweepStep.cs:
223 Use annotations to mark wether or not we should
226 2007-05-23 Jb Evain <jbevain@novell.com>
228 * Mono.Limker/CleanStep.cs:
229 Stop doing hackish stupid things because
230 Cecil suddenly handles MemberRef much better.
232 2007-05-19 Jb Evain <jb@nurv.fr>
234 * Mono.Linker/ResolveFromXmlStep.cs
235 Mono.Linker/AssemblyMarker.cs
236 Mono.Linker/MarkStep.cs
237 Mono.Linker/ResolveFromAssemblyStep.cs:
238 Process correctly the marker selected in the resolve phases.
240 2007-05-17 Jb Evain <jb@nurv.fr>
242 * Mono.Linker/CleanStep.cs
243 Mono.Linker/SweepStep.cs
244 Mono.Linker/MarkStep.cs:
245 Link only when necessary.
247 * Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
248 Tests/Mono.Linker.Tests/AbstractTestFixture.cs
250 Mono.Linker/ResolveFromXmlStep.cs
251 Mono.Linker/AssemblyMarker.cs
252 Mono.Linker/Marker.cs
253 Mono.Linker/MarkStep.cs
254 Mono.Linker/TypePreserve.cs
255 Mono.Linker/Pipeline.cs:
256 Deal with preserve and required infos, make last test pass.
258 * Tests/Mono.Linker.Tests/XmlLinkingTestFixture.cs
259 Tests/Mono.Linker.Tests/AbstractLinkingTestFixture.cs
260 Tests/TestCases/Linker/PreserveFieldsRequired
261 Tests/TestCases/Linker/PreserveFieldsRequired/Library.cs
262 Tests/TestCases/Linker/PreserveFieldsRequired/desc.xml
263 Tests/TestCases/Linker/PreserveFieldsRequired/Makefile
264 Tests/TestCases/Linker/PreserveFieldsRequired/Library.dll:
265 Add a new (failing for now) test case for preserve and required.
267 2007-05-16 Jb Evain <jb@nurv.fr>
269 * Tests/Mono.Linker.Tests/AbstractTestFixture.cs
271 Mono.Linker/CoreAction.cs
272 Mono.Linker/Driver.cs
273 Mono.Linker/LinkContext.cs:
274 Simplify the command line options.
276 * Tests/Mono.Linker.Tests/AbstractTestFixture.cs
278 Mono.Linker/CleanStep.cs
279 Mono.Linker/ResolveFromXmlStep.cs
280 Mono.Linker/Driver.cs
281 Mono.Linker/OutputStep.cs
282 Mono.Linker/ResolveFromAssemblyStep.cs
283 Mono.Linker/LinkContext.cs
284 Mono.Linker/BlacklistStep.cs
285 Mono.Linker/Pipeline.cs:
286 Working on black list support.
288 * Descriptors/corlib.xml
289 Descriptors/system.xml
290 Descriptors/system.web.xml:
291 First audit of the core.
293 2007-04-23 Jb Evain <jb@nurv.fr>
295 * Mono.Linker/CleanStep.cs:
296 Clean some special cases of MemberRef.
298 2007-03-19 Jb Evain <jbevain@gmail.com>
300 * Fix a bug when an assembly references two
301 versions of an assembly with the same name.
302 * do some refactorings
304 2007-03-16 Jb Evain <jbevain@gmail.com>
306 * rename linker.exe to monolinker.exe
308 2006-11-08 Jb Evain <jbevain@gmail.com>
310 * Mono.Linker/AssemblyMarker.cs:
311 Fix a bug in method resolution.
312 * Mono.Linker/Driver.cs:
313 Fix a bug in assembly action processing.
315 2006-11-02 Jb Evain <jbevain@gmail.com>
317 * check-in patches adapted from contributions by:
318 Alex Prudkiy <prudkiy@mail.ru>
320 2006-08-21 Jb Evain <jbevain@gmail.com>
322 * mark types used within the runtime
324 2006-08-20 Jb Evain <jbevain@gmail.com>
326 * mark the custom attributes from the assemblies, modules and
329 * mark the methods used by an event
331 * mark the custom attributes on the properties and the events
334 * preserve the fields of the value types
336 * clean also nested types in a proper way.
338 * clean events as well
340 2006-08-17 Jb Evain <jbevain@gmail.com>
344 2006-08-16 Jb Evain <jbevain@gmail.com>
346 * work on generics assemblies linking
348 * use the resolver from Cecil.
350 * when marking a type, also mark its virtual methods
352 2006-08-15 Jb Evain <jbevain@gmail.com>
356 * mark interfaces as well
358 * work in progress + unit tests.
360 2006-07-27 Jb Evain <jbevain@gmail.com>
362 * begin work on the sweep step.
364 2006-07-20 Jb Evain <jbevain@gmail.com>
367 draft implementation of the mark phase of the linker.