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