**** Merged from MCS ****
[mono.git] / mcs / build / ChangeLog
1 2004-08-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * executable.make:
4         * library.make: install/clean .mdb files.
5
6 2004-07-30  Martin Baulig  <martin@ximian.com>
7
8         * executable.make (EXTRA_SOURCES): New variable to add extra
9         sources to the program.
10
11 2004-07-30  Raja R Harinath  <harinath@blr-harinath.blr.novell.com>
12
13         * executable.make (PROGRAM_config): New auto-detecting define.
14         Defined if $(PROGRAM).config exists.
15         (install-local): Install $(PROGRAM_config) if it exists.
16
17 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
18
19         * profiles/default.make, profiles/net_2_0.make, profiles/net_1_0.make:
20           Added FRAMEWORK_VERSION var.
21
22 2004-07-02  Raja R Harinath  <rharinath@novell.com>
23
24         Support for avoiding "sharing violations" while compiling core
25         libraries with an in-tree compiler.
26         * library.make (LIBRARY_USE_INTERMEDIATE_FILE): New toggle.
27         ($(the_lib)): Use it.
28
29 2004-07-02  Raja R Harinath  <rharinath@novell.com>
30
31         * rules.make (OVERRIDE_BARE_TARGETS): Remove.
32         (OVERRIDE_TARGET_ALL): New control for overriding the default all:
33         rule.  If set, 'make all' will run 'all.override' from the client
34         Makefile.
35         (all): Move commands ...
36         (all.real): ... here.  Make ordering assumptions explicit, and
37         parallel-safe.
38         (test,run-test,run-test-ondotnet,clean,install,uninstall):
39         Consolidate into ...
40         (STD_TARGETS): ... this new variable.  Make ordering assumption
41         between -recursive and -local targets explicit.
42         (%-recursive): Handle W32 GNU make that has --unix as the first
43         argument in $(MAKE).
44         * README.makefiles (Special recursion needs): Update to reflect
45         changes.
46         * library.make (all-local): Build $(the_lib_signature_stamp) when
47         NO_SIGN_ASSEMBLY is defined.
48         ($(gacutil),$(sn)): Consolidate rules.
49         (test-local,run-test-local,run-test-ondotnet-local): Likewise.
50
51 2004-07-02  Raja R Harinath  <rharinath@novell.com>
52         
53         * config-default.make (TEST_RUNTIME): Use 'mono' by default.
54         * platforms/win32.make (TEST_RUNTIME): Remove.
55         * profiles/default.make (TEST_RUNTIME): Remove.
56
57 2004-06-28  Raja R Harinath  <rharinath@novell.com>
58
59         * platforms/linux.make (RESGEN): Define using $(INTERNAL_RESGEN).
60
61 2004-06-21  Raja R Harinath  <rharinath@novell.com>
62
63         * executable.make ($(PROGRAM)): Move depend on the makefrags ...
64         (all-local): ... here.
65         * library.make ($(the_lib), $(test_lib), $(btest_lib), all-local):
66         Likewise.
67         (LIBRARY_SNK): New default define.  Allows library to be signed
68         with a key other than mono.snk.
69         ($(the_lib_signature_stamp)): New stamp file created when an
70         assembly is signed.
71         (install-local, uninstall-local, maybe-sign-lib): Set MONO_PATH.
72
73 2004-06-16  Raja R Harinath  <rharinath@novell.com>
74
75         * library.make ($(makefrag),$(test_makefrag),$(btest_makefrag)): 
76         Depend on library.make.
77         * executable.make ($(makefrag)): Depend on executable.make.
78
79 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
80
81         * library.make : Added GACDIR. Use cygpath -w on windows.
82
83 2004-06-14  Raja R Harinath  <rharinath@novell.com>
84
85         * platforms/linux.make (PLATFORM_CHANGE_SEPARATOR_CMD): Define to 'cat'.
86         (PLATFORM_TWEAK_CORLIB_SOURCES): Remove.
87         (platform-check): Avoid bash-ism.
88         * library.make: Simplify uses of $(patsubst x,y,$(foo)) to $(foo:x=y).
89         (core_sourcefile): Rename back to ...
90         (sourcefile): ... this.  Remove creation of redundant intermediate file.
91         (response): Change test for optimization, now that
92         PLATFORM_CHANGE_SEPARATOR_CMD is unconditional.  Combine with
93         platform-exclude handling.
94         (library_CLEAN_FILES): New variable to specify clean:-able files
95         close to where they're defined.
96         (test_response, btest_response): Simplify.
97         * executable.make (response): Change test for optimization.
98         (executable_CLEAN_FILES): New define.
99
100 2004-06-14  Raja R Harinath  <rharinath@novell.com>
101
102         * library.make (uninstall-local): Fix typo.
103
104 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
105
106         * library.make : HAVE_CS_TESTS fixie.
107
108 2004-06-11  Raja R Harinath  <rharinath@novell.com>
109
110         * library.make (HAVE_CS_TESTS, HAVE_VB_TESTS): Allow to be
111         overriden.  Useful if the tests sourcefile is generated.
112         (TEST_COMPILE, BTEST_COMPILE): Allow these to be customized too.
113
114         * platforms/win32.make (PLATFORM_TWEAK_CORLIB_SOURCES): Remove.
115
116         Support enough features to build mscorlib.dll.
117         * library.make (core_sourcefile): New renamed from $(sourcefile).
118         (PLATFORM_excludes): Auto-detecting define that sees if
119         $(LIBRARY).$(PLATFORM)-excludes file exists.
120         (sourcefile): New.  Possibly-built file that removes
121         PLATFORM_excluded files from core_sourcefile.
122         (test_against, test_dep): New.  Allow the test assembly to be
123         built against a different library.
124         (test_lib): Allow makefile to override the name of the test
125         assembly.
126         (LIBRARY_INSTALL_DIR): If defined, switch to using $(INSTALL_LIB)
127         rather than $(gacutil).
128         (DISTFILES, dist-local): Use core_sourcefile.
129         (clean-local): Remove sourcefile if it was generated.
130         (test_lib, btest_lib): Depend on $(test_dep).
131
132 2004-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
133
134         * library.make: fixed PLATFORM_CHANGE_SEPARATOR_CHAR on windows.
135
136 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
137
138         * library.make: Added support to fully sign assemblies when doing a
139         "make install" (thanks to Jackson :-).
140
141 2004-06-09  Raja R Harinath  <rharinath@novell.com>
142
143         Do away with stampfiles.
144         Introduce support for VB test cases.
145         * library.make (HAVE_CS_TESTS, HAVE_VB_TESTS): New auto-detecting
146         defines.
147         (stampfile, test_stampfile): Remove.
148         (clean-local): Don't mention them.
149         (test-local, run-test-local, run-test-ondotnet-local):
150         Make unconditional.
151         ($(makefrag), $(test_makefrag)): Simplify.
152         ($(btest_lib)): New.  Support for VB testcases.
153
154 2004-06-09  Raja R Harinath  <rharinath@novell.com>
155
156         Partial support for writing Visual Basic source files.
157         * rules.make (USE_MBAS_FLAGS,BASCOMPILE,INTERNAL_MBAS): New.
158         * config-default.make (MBAS_FLAGS, DEFAULT_MBAS_FLAGS): New.
159         * profiles/default.make (MBAS): New.
160
161 2004-06-09  Raja R Harinath  <rharinath@novell.com>
162
163         Do away with stampfiles.
164         * executable.make (stampfile): Remove.
165         (clean-local): Remove mention of $(stampfile).
166         (test-local, run-test-local, run-test-ondotnet-local):
167         Make unconditional.  Add dummy rule to prevent other makefiles
168         from defining rules on these.
169         ($(PROGRAM)): Depend directly on $(BUILT_SOURCES).
170         ($(makefrag)): Simplify.
171
172 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * README.makefiles : added description for run-test-ondotnet.
175
176 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
177
178         * Makefile, executable.make, library.make, rules.make :
179           Added new target "run-test-ondotnet" that works what "run-test"
180           used to be on windows (i.e. tests our libs under MS.NET).
181
182 2004-06-01  Atsushi Enomoto  <atsushi@ximian.com>
183
184         * platforms/win32.make : TEST_RUNTIME should be always mono we can't
185           test our libs against MS.NET runtime. Think about internal call).
186
187 2004-05-30  Jackson Harper  <jackson@ximian.com>
188
189         * library.make: Install to 2.0 package if building with the
190         net_2_0 profile.
191         
192 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
193
194         * library.make: reference nunti.core.dll and nunit.util.dll when
195         building tests.
196
197 2004-05-26  Raja R Harinath  <rharinath@novell.com>
198
199         * library.make (clean-local): Add $(CLEAN_FILES) too.
200
201 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
202
203         * library.make: changed case on nunit.framework.dll (lowercase)
204
205 2004-05-24  Raja R Harinath  <rharinath@novell.com>
206
207         * library.make (LIBRARY_COMPILE): New define.
208         ($(the_lib)): Use $(LIBRARY_COMPILE) to compile $(the_lib).
209
210         * executable.make (PROGRAM_INSTALL_DIR): Allow makefile to specify
211         a different directory for installation.
212         (install-local, uninstall-local): Use it.
213
214 2004-05-20  Raja R Harinath  <rharinath@novell.com>
215
216         * profiles/default.make (TEST_RUNTIME): Look in class/lib/default
217         for library to be tested.
218         * rules.make (INTERNAL_RESGEN): New Define.
219         * library.make (run-test-local): Move commands to run-test-lib.
220         Preparartion for allowing creation of addition test dll with .vb
221         testcases.
222         * executable.make (PROGRAM_COMPILE): New define.
223         ($(PROGRAM)): Use PROGRAM_COMPILE to compile PROGRAM.
224
225 2004-05-14  Jackson Harper  <jackson@ximian.com>
226
227         * library.make: Install package files. Get params in magical
228         correct order.
229         
230 2004-05-11  Jackson Harper  <jackson@ximian.com>
231
232         * platforms/linux.make:
233         * platforms/win32.make: Define a PLATFORM_PATH_SEPARATOR used for
234         separating paths in env vars. (ie MONO_PATH).
235         * profiles/net_2_0.make: Always use gmcs for building the 2.0
236         libraries. corlib is the first lib built and it will build gmcs.
237         
238 2004-05-11  Jackson Harper  <jackson@ximian.com>
239
240         * library.make: Allow assembly names to be different then their
241         .sources file names.
242         
243 2004-05-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
244
245         * library.make: build NUnit if we try to run 'make test' and the dll
246         is not found.
247
248 2004-04-29  Jackson Harper  <jackson@ximian.com>
249
250         * library.make: Fix uninstall
251         
252 2004-04-29  Martin Baulig  <martin@ximian.com>
253
254         * rules.make: Added `INTERNAL_ILASM'.
255
256 2004-04-29  Jackson Harper  <jackson@ximian.com>
257
258         * library.make: Use RUNTIME instead of PLATFORM_RUNTIME for the
259         gacutil. gacutil needs to be run on our runtime. Make dependancys
260         more sane.
261         
262 2004-04-28  Jackson Harper  <jackson@ximian.com>
263
264         * library.make: Use the proper runtime, make sure gacutil is
265         built.
266         
267 2004-04-28  Jackson Harper  <jackson@ximian.com>
268
269         * library.make: Install these bad actors to the GAC.
270         
271 2004-04-28  Raja R Harinath  <rharinath@novell.com>
272
273         * library.make (test_flags): NUnit.Framework.dll is now in
274         class/lib/$(PROFILE).
275
276 2004-04-26  Jackson Harper  <jackson@ximian.com>
277
278         * library.make:
279         * profiles/bootstrap.make:
280         * profiles/default.make: profiles are built in their ownb lib
281         directory now.
282         * profiles/net_2_0.make: new .net 2.0 profile.
283         
284 2004-04-22  Martin Baulig  <martin@ximian.com>
285
286         * profiles/net_1_2.make: Removed.
287         * profiles/martin-generics.make: Remove.
288
289 2004-04-19  Raja R Harinath  <rharinath@novell.com>
290
291         * rules.make (%-recursive): Honor 'make -k'.
292
293 2004-02-17  Martin Baulig  <martin@ximian.com>
294
295         * profiles/generics.make: Renamed to `martin-generics.make' and
296         added a comment to the file.  I'll rename this back when it's
297         ready for public use.
298
299 2003-12-17  Jackson Harper <jackson@ximian.com>
300
301         * profiles/default.make:
302         * profiles/net_1_0.make: Add ONLY_1_0 and ONLY_1_1 defines to fix
303         the build
304         
305 2003-12-08  Peter Williams  <peter@newton.cx>
306
307         * config-default.make: Don't check for / define
308         ECHO_ESCAPE: the check isn't smart enough and
309         apparently OS X's shell somehow doesn't support
310         escape characters.
311
312         * library.make: Use embedded tab instead of 
313         $(ECHO_ESCAPE). Fixes OS X build.
314         
315         * executable.make: Same.
316         
317 2003-12-05  Martin Baulig  <martin@ximian.com>
318
319         * profiles/generics.make: Define `GENERICS'.
320
321 2003-12-05  Martin Baulig  <martin@ximian.com>
322
323         * profiles/net_1_2.make: New profile; uses the .NET 1.2 API's, but
324         without generics and with mcs instead of gmcs.
325
326         * profiles/bootstrap.make: New profile; already use the newly
327         compiled mcs to compile corlib.
328
329 2003-12-04  Martin Baulig  <martin@ximian.com>
330
331         * profiles/generics.make: Use gmcs.
332
333 2003-11-12 Jackson Harper <jackson@ximian.com>
334
335         * rules.make: 
336         * platforms/linux.make: corlib name is now mscorlib.
337         
338 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
339
340         * profiles/generics.make: add the -2 flag.
341
342 2003-10-28 Jackson Harper <jackson@ximian.com>
343
344         * platforms/linux.make: Tell users to read INSTALL.txt not the
345         non-existant README.building.
346         
347 2003-10-22  Dick Porter  <dick@ximian.com>
348
349         * platforms/win32.make:
350         * platforms/linux.make:
351         * rules.make: Added RESGEN platform-specific tool.
352
353 2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
354
355         * config-default.make: the /nowarn arguments are now set on a per
356         library basis.
357
358 2003-07-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
359
360         * executable.make: install-local depends on the program too.
361
362 2003-07-25  Peter Williams <peter@newton.cx>
363
364         * rules.make (run-test): Make it depend on 'test-local'
365         then 'run-test-local' after 'run-test-recursive'. This way,
366         'make run-test' from the toplevel doesn't recurse through all
367         the directories doing a make test before we run anything.
368
369 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
370
371         * rules.make: run-test depends now on 'test'.
372
373 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
374
375         * rules.make: set corlib to PLATFORM_CORLIB if this is defined.
376
377 2003-07-22  Peter Williams  <peter@newton.cx>
378
379         * rules.make (withmcs): Add this developer utility target.
380
381 2003-07-20  Peter Williams  <peter@newton.cx>
382
383         * README.platforms: Update docs for changes below.
384
385         * platforms/win32.make (PLATFORM_CORLIB): Set this variable
386         to 'mscorlib.dll', instead of $(corlib) which everything links
387         against. *Almost* everything should link against our corlib --
388         with the exception of corlib_cmp and corlib_res.
389
390         * platforms/linux.make: Same here: corlib.dll
391
392         * rules.make: Define $(corlib) here.
393
394 2003-07-20  Peter Williams  <peter@newton.cx>
395
396         * config-default.make (TEST_RUNTIME): Use the platform runtime
397         to run tests, by default.
398
399         * profiles/default.make (TEST_RUNTIME): If our test runtime is
400         mono, use the --debug flag.
401
402         * executable.make (sourcefile): Add a basename so that we can
403         find the nunit sources and so we behave a bit more like
404         library.make
405
406         * config-default.make (TEST_HARNESS): Find nunit-console in its
407         new home.
408
409 2003-07-20  Peter Williams  <peter@newton.cx>
410
411         * library.make ($(response)): Do a "Creating ..." line here.
412
413         * executable.make ($(response)): Same.
414
415         * config-default.make: Make warning more forceful.
416
417         * rules.make: Define a useful 'PLATFORM_MONO_NATIVE' that is
418         set if the platform does not have a native runtime (ie, linux).
419         Also reorder some definitions.
420
421 2003-07-20  Peter Williams  <peter@newton.cx>
422
423         * Created. See ../ChangeLog for entries earlier than
424         this.
425