Improve coarse-grain parallelism in the build
[mono.git] / mcs / build / ChangeLog
1 2009-07-16  Raja R Harinath  <harinath@hurrynot.org>
2
3         * profiles/net_2_0_bootstrap.make (BOOTSTRAP_PROFILE): Set to
4         net_1_1_bootstrap instead of net_1_1.
5
6 2009-06-03  Zoltan Varga  <vargaz@gmail.com>
7
8         * profiles/net_4_0.make: Add preliminary net 4.0 profile.
9
10 2009-04-09  Jonathan Pryor  <jpryor@novell.com>
11
12         * executable.make, library.make: Move the include for tests.make so
13           that DISTFILES can be properly set (and thus properly distribute the
14           *_test.dll.sources file).  This allows unit tests to actually build
15           and run when building from the tarball.
16
17 2009-04-05  Jonathan Pryor  <jpryor@novell.com>
18
19         * executable.make: Support HAS_NUNIT_TEST variable; if set, will build
20           an NUnit test assembly during 'make test' and will run the tests
21           within the NUnit test assembly during 'make run-test'.
22         * library.make: Split out NUnit test rules/logic into tests.make.
23         * Makefile: Distribute tests.make.
24         * README.makefiles: Document HAS_NUNIT_TEST for executable.make,
25           documenting how to have NUnit tests for executables.
26         * tests.make: Added; NUnit test logic rules.
27
28 2009-01-08  Geoff Norton  <gnorton@novell.com>
29
30         * Makefile: Add darwin.make to the make dist target as well
31
32 2009-01-07  Geoff Norton  <gnorton@novell.com>
33
34         * library.make: Allow platform specific exclude tags from the
35         test harness suite.
36         * darwin.make: Add to the build and add a new NotOnMac test
37         category
38
39 2008-12-30  Ankit Jain  <jankit@novell.com>
40
41         * library.make (TEST_HARNESS_OUTPUT*): Fix /labels switch.
42
43 2008-12-12  Raja R Harinath  <harinath@hurrynot.org>
44
45         * rules.make (topdir): Don't use $(shell ...).
46         Reported by Jonathan Chambers.
47
48 2008-12-10  Atsushi Enomoto  <atsushi@ximian.com>
49
50         * library.make : enable FIXTURE and TESTNAME on run-test-ondotnet.
51
52 2008-11-28  Atsushi Enomoto  <atsushi@ximian.com>
53
54         * Makefile : ugh, ok another dist pain.
55
56 2008-11-28  Atsushi Enomoto  <atsushi@ximian.com>
57
58         * nunit-summary.xsl : copied from nunit resource (summary.xslt)
59         * library.make : put transformation result from TestResult-*.xml
60           into TestResult-*.log as we used to do.
61
62 2008-11-28  Marek Habersack  <mhabersack@novell.com>
63
64         * library.make (FIXTURE_ARG): /parameter:value syntax is not
65         supported in nunit 2.4
66         (TESTNAME_ARG): added support for the nunit-console -run
67         parameter, so that individual tests can be ran.
68
69 2008-11-26  Atsushi Enomoto  <atsushi@ximian.com>
70
71         * library.make : another nunit20 to kill :(
72
73 2008-11-25  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * library.make : update nunit options that break upgrade to 2.4.
76
77 2008-11-18  Raja R Harinath  <harinath@hurrynot.org>
78
79         * library.make (TEST_FILES): Notice filenames with ../ in the test
80         sources file, and handle them in a way suitable for the 'make
81         dist' handling of such files.
82
83 2008-11-12  Zoltan Varga  <vargaz@gmail.com>
84
85         * library.make: AOT the library after compilation if the AOT_IN_PROFILES
86         variable is defined and it contains the current profile.
87
88 2008-10-18  Jonathan Pryor  <jpryor@novell.com>
89
90         * rules.make (dist-default): Distribute the Documentation directory, 
91           if present.
92
93 2008-10-18  Jonathan Pryor  <jpryor@novell.com>
94
95         * rules.make (MDOC): MONO_PATH needs to include net_1_1 so monodoc.dll
96           can be found.
97
98 2008-10-17  Jonathan Pryor  <jpryor@novell.com>
99
100         * README.makefiles: Add documentation about the new doc-update target.
101
102 2008-10-18  Raja R Harinath  <harinath@hurrynot.org>
103
104         * rules.make (MDOC): Pass a proper MONO_PATH.
105
106 2008-10-17  Jonathan Pryor  <jpryor@novell.com>
107
108         * build.rules: doc-update is now a standard target; provide a $(MDOC)
109           variable to simplify running the `mdoc` updater program.
110         * executable.make: Add doc-update target support (does nothing).
111         * library.make: Add doc-update target support; runs `mdoc update` on
112           the assembly, updating the documentation within Documentation/en.
113         * Makefile: Add doc-update target support.
114
115 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
116
117         * library.make: Allow FIXTURE make variable to be passed to nunit.
118
119 2008-08-29  Raja R Harinath  <harinath@hurrynot.org>
120
121         * rules.make (do-%): Revert change below.  We need the recursion
122         to ensure ordering of %-local after %-recursive.  IOW, we
123         want to ensure strict linearity even with a 'make -j'.
124
125 2008-08-28  Zoltan Varga  <vargaz@gmail.com>
126
127         * rules.make (Q_MCS): Use 5 spaces instead of -e '\\t'.
128
129         * library.make: Make some command quiet.
130
131         * rules.make: Avoid some needless recursive make invocations.
132         
133         * rules.make: Print the profile in the quiet commands.
134
135         * rules.make: Make the build process quiet similarly to the runtime build
136         process. Use the V=1 argument to make to make it verbose again.
137
138 2008-08-04  Zoltan Varga  <vargaz@gmail.com>
139
140         * rules.make (PROFILE): If no profile is passed on the command line, make
141         net_2_0 the default.
142
143 2008-06-30  Marek Safar  <marek.safar@gmail.com>
144
145         * platforms/linux.make: Enable mcs optimizations.
146
147 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
148
149         * rules.make (PROFILE): Reapply the PROFILE=net_2_0 change. One can still
150         build 1.1 libraries using make PROFILE=default.
151
152 2008-05-27  Raja R Harinath  <harinath@hurrynot.org>
153
154         * executable.make ($(PROGRAM_config)): Depend on directory
155         creation stamp.
156
157 2008-04-09  Gert Driesen  <drieseng@users.sourceforge.net>
158
159         * library.make: hidden -bootstrap option for gacutil is no longer
160         necessary.
161
162 2008-03-24  Zoltan Varga  <vargaz@gmail.com>
163
164         * library.make (check): Add a standard check target and make it the same as
165         run-test.
166
167 2008-03-22  Zoltan Varga  <vargaz@gmail.com>
168
169         * profiles/net_3_5.make (PROFILE_MCS_FLAGS): Get rid of obsolete 
170         -langversion:linq option.
171
172 Fri Mar 14 09:31:59 CET 2008 Paolo Molaro <lupus@ximian.com>
173
174         * rules.make, library.make: move GACUTIL definition into rules.make as
175         it's used also by the tools. Add the hidden -bootstrap option.
176
177 2008-02-18  Raja R Harinath  <harinath@hurrynot.org>
178
179         * rules.make (%/.stamp): Unify all directory creation targets here.
180
181 2008-02-17  Raja R Harinath  <harinath@hurrynot.org>
182
183         * profiles/net_2_1_bootstrap.make: New.
184         * profiles/net_2_1_raw.make: New.  The untuned 2.1 profile.
185         * profiles/net_2_1.make: New.  The tuned 2.1 profile.
186         * Makefile (PROFILES): Update.
187
188 2007-12-06  Atsushi Enomoto  <atsushi@ximian.com>
189
190         * profiles/net_3_5.make : fixed net_2_0 path.
191
192 2007-12-03  Marek Safar  <marek.safar@gmail.com>
193
194         * Makefile.make: Distribute 3.5 profile
195         
196 2007-11-08  Wade Berrier  <wberrier@novell.com>
197
198         * config-default.make: add sysconfdir dir (for mconfig/config.xml)
199
200 2007-11-01  Marek Safar  <marek.safar@gmail.com>
201
202         * corcompare.make: Build corcompare into same directory.
203         
204 2007-10-27  Marek Safar  <marek.safar@gmail.com>
205
206         * profiles/net_2_0_bootstrap.make: Fixed generics compiler name.
207         
208 2007-10-27  Marek Safar  <marek.safar@gmail.com>
209
210         * rules.make: Changed gmcs location.
211         
212 2007-10-27  Marek Safar  <marek.safar@gmail.com>
213
214         * executable.make: Added KEEP_OUTPUT_FILE_COPY to avoid move and copy
215         back compiler executables.
216
217 2007-09-21  Raja R Harinath  <harinath@gmail.com>
218
219         * Makefile (PROFILES): Remove 'atomic' profiles.
220         * profiles/atomic.make, profiles/bootstrap.make: Remove.
221
222 2007-09-04  Wade Berrier  <wberrier@novell.com>
223
224         * library.make: Glob for .sources for all profiles.
225         Use tools/removecomments.sh to account for '#include' and
226         comments, which are only used in the jvm profile at this point
227
228 2007-09-01  Jb Evain  <jbevain@novell.com>
229
230         * Makefile: consider the net_2_1 profile.
231
232 2007-08-12  Marek Safar  <marek.safar@gmail.com>
233
234         * library.make: Includes new `corcompare' target.
235         
236         * corcompare.make: I got tired of hacking corcompare stuff again and
237         again.
238         
239 2007-08-11  Jb Evain  <jbevain@novell.com>
240
241         * profiles/net_2_1: allow 2.1 assemblies in the GAC.
242
243 2007-07-27  Jb Evain  <jbevain@novell.com>
244
245         * profiles/net_2_1: use smcs to compile the .net 2.1 assemblies.
246
247 2007-07-23  Raja R Harinath  <rharinath@novell.com>
248
249         * library.make (install-local) [GAC]: If LIBRARY_PACKAGE is set to
250         'none' don't install a symlink from a package directory into the gac.
251
252 2007-07-11  Jb Evain  <jbevain@novell.com>
253
254         * profiles/net_2_1.make: work on the 2_1 profile.
255
256 2007-06-12  Marek Safar  <marek.safar@gmail.com>
257
258         * rules.make: Added FRAMEWORK_VERSION_MAJOR.
259
260 2007-05-11  Raja R Harinath  <rharinath@novell.com>
261
262         * Makefile (dist-local): Remove special-case code.
263         * rules.make ($(depsdir)): New rule to create the dependencies
264         directory on demand.
265         * library.make, executable.make: Make generated files depend on
266         $(depsdir).
267         * profiles/basic.make: Likewise.
268
269         * profiles/net_2_0_bootstrap.make: Move rules for mcs.exe to
270         mcs/Makefile.
271         * library.make (the_libdir, build_libdir): New.  Create these
272         directories on demand instead of worrying about keeping the list
273         of profiles uptodate.
274         * executable.make (prog_dir): Likewise.
275
276 2007-03-17  Marek Sieradzki  <marek.sieradzki@gmail.com>
277
278         * library.make: Show correct log (TestResult-ondotnet-PROFILE...) for
279         make run-test-ondotnet.
280
281 Fri Nov 24 18:38:31 CET 2006 Paolo Molaro <lupus@ximian.com>
282
283         * library.make: added ability to pass flags to the mono runtime when
284         running the test suite.
285
286 2006-09-06  Kornél Pál  <kornelpal@gmail.com>
287
288         * TestConfiguration.cs: Moved to Npgsql.
289
290 2006-09-05  Kornél Pál  <kornelpal@hotmail.com>
291
292         * config-default.make: Use UTF-8 as the default encoding for compilers.
293
294 2006-09-04  Raja R Harinath  <rharinath@novell.com>
295
296         * library.make (TEST_HARNESS_VERBOSE): New user toggle.  If
297         defined, NUnit will print the names of the unit tests as they are
298         run.  Can be used to narrow down infloops.
299         (TEST_HARNESS_EXCLUDE): Provide a way to override the list of
300         excluded unit test categories.
301
302 2006-04-11  Raja R Harinath  <rharinath@novell.com>
303
304         * profiles/default.make (BOOTSTRAP_PROFILE): Define.
305         * profiles/net_2_0.make (BOOTSTRAP_PROFILE): Define.
306         * rules.make (INTERNAL_RESGEN): Pick from bootstrap profile.
307
308 2006-01-19  Raja R Harinath  <rharinath@novell.com>
309
310         * library.make (test_lib): Don't allow to be overridden.
311         (test_against, test_dep): Remove.
312
313 2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
314
315         * executable.make: allow installing a different .config file for
316         executables such as nunit-console.exe that should use a different one
317         depending on the profile.
318
319 2006-01-05  Raja R Harinath  <rharinath@novell.com>
320
321         * library.make (run-test-lib, run-test-ondotnet-lib): Workaround a
322         sed limitation when printing the testsuite log.
323
324 2005-12-22  Raja R Harinath  <rharinath@novell.com>
325
326         * library.make (lib_dir): Define to 'compat' if LIBRARY_COMPAT is
327         defined, 'lib' otherwise.
328         (the_lib): Use it to decide where to place the output library.
329         (LIBRARY_PACKAGE): New define.  Install development symlinks for
330         compat libraries in a different directory.
331
332 2005-12-03  Kornél Pál  <kornelpal@hotmail.com>
333
334         * config-default.make: Corrected default CODEPAGE comment to ISO-8859-1
335           (Latin 1).
336
337 2005-11-22  Vladislav Spivak <spivak@mainsoft.com>
338         * Missed dependency. 
339         <profile>.sources file is supporting #include directive
340         Usually it includes common .sources file.
341         Let's make it dependency of <profile>.sources
342
343 2005-10-03  Raja R Harinath  <rharinath@novell.com>
344
345         * profiles/basic.make (monolite_flag, use_monolite): New.  Used to
346         determine if we need to compile with 'monolite' rather than with
347         an external mcs.
348         (do-profile-check): Simplify.  Remove corlib version testing
349         scripts.  Delegate that work to the mono runtime itself.  Split
350         off 'monolite' handling into ...
351         (do-profile-check-monolite): ... this.
352
353 2005-09-27  Kornél Pál  <kornelpal@hotmail.com>
354
355         * config-default.make: Added CODEPAGE that is the default encoding used by
356           compilers.
357         * rules.make (USE_MCS_FLAGS, USE_MBAS_FLAGS): Added /codepage.
358
359 2005-09-22  Raja R Harinath  <rharinath@novell.com>
360
361         * Makefile (BUILT_FILES): New.
362         (all-local ...): Depend on them.
363         (clean-local): Relete them.
364         (common/Consts.cs): New rule.
365         (COMMON_SRCS): Don't distribute common/Consts.cs.
366
367 2005-09-12  Raja R Harinath  <rharinath@novell.com>
368
369         * profiles/basic.make (do-profile-check): Quote sed expression.
370
371 2005-09-06  Raja R Harinath  <rharinath@novell.com>
372
373         * profiles/net_1_1_bootstrap.make: Remove special-handling on Win32.
374         * profiles/default.make: Likewise.
375
376 2005-08-26  Kornél Pál  <kornelpal@hotmail.com>
377
378         * Makefile: Added Consts.cs.in. Removed MonoVersion.cs.
379
380 2005-08-23  Raja R Harinath  <rharinath@novell.com>
381
382         * profiles/basic.make (do-profile-check): Set MONO_PATH to
383         monolite directory when running disassembler.
384
385 2005-08-22  Raja R Harinath  <rharinath@novell.com>
386
387         * Makefile (DISTFILES): Move files in common/ to ...
388         (COMMON_SRCS): ... this.  Add Consts.cs, MonoVersion.cs and
389         TestConfiguration.cs.
390
391 2005-08-19  Raja R Harinath  <rharinath@novell.com>
392
393         * profiles/basic.make (do-profile-check): Add some debugging output.
394         Handle disassemblers that print corlib version in hex.
395
396 2005-07-26  Raja R Harinath  <rharinath@novell.com>
397
398         * executable.make, library.make: Use unix-style commandline options.
399         * profiles/basic.make (FRAMEWORK_VERSION): Set.
400         * profiles/net_1_1_bootstrap.make (FRAMEWORK_VERSION): Likewise.
401
402 2005-07-22  Raja R Harinath  <rharinath@novell.com>
403
404         * profiles/basic.make (do-profile-check): Make the "silent"
405         compilation check even more silent.  Refuse to use monolite if the
406         corlib version of monolite/mscorlib.dll doesn't match the corlib
407         version of the source.
408
409 2005-06-15  Raja R Harinath  <rharinath@novell.com>
410
411         * executable.make (dist-local): Copy from library.make.
412
413 2005-05-23  Raja R Harinath  <rharinath@novell.com>
414
415         * rules.make (STD_TARGETS): Make them all go through an
416         indirection.
417         (all): Indirect through do-all.
418         (all.real): Remove.
419         (do-%): New pattern fallback.  Performs the standard behaviour:
420         %-recursive, and then %-local.
421         (do-run-test): New.  Make '-k' more useful.
422         Reported by Ritvik Mayank.
423
424 2005-05-10  Raja R Harinath  <rharinath@novell.com>
425
426         * library.make (dist-fixup): Fix typo.
427
428 2005-05-06  Raja R Harinath  <rharinath@novell.com>
429
430         * library.make (LIBRARY_NEEDS_PREPROCESSING): New control.
431         (build_lib): Name of library built.  Default to $(the_lib) unless
432         preprocessing.
433         ($(build_lib)): Rename from '$(the_lib)'.
434         ($(makefrag)): Emit dependencies on $(build_lib).
435
436 2005-05-04  Zoltan Varga  <vargaz@freemail.hu>
437
438         * rules.make config-default.make: Use the install-sh script from the mono
439         directory by default.
440
441 2005-04-29  Ben Maurer  <bmaurer@ximian.com>
442
443         * profiles/basic.make: The test for mcs was broken on jails where
444         we got a warning due to /proc not being mounted. Remove hackish wc
445         usage.
446
447 2005-04-25  Raja R Harinath  <rharinath@novell.com>
448
449         * config-default.make (RUNTIME): Set to 'false'.
450         Reported by Ben Maurer.
451         * profiles/basic.make (MCS): Revert changes below.
452         * platforms/linux.make (ILDISASM): Define.
453         * platforms/win32.make (ILDIsASM): Likewise.
454
455 2005-04-23  Ben Maurer  <bmaurer@ximian.com>
456
457         * profiles/basic.make: Ensure that make dist works even if you
458         only have an old mono rpm installed. Essential for the new build
459         system.
460
461 2005-04-21  Raja R Harinath  <rharinath@novell.com>
462
463         * rules.make (INTERNAL_ILASM): Update.
464
465 2005-04-14  Raja R Harinath  <rharinath@novell.com>
466
467         * library.make (dist-local): Include all ChangeLogs in the tarball.
468
469 2005-04-08  Raja R Harinath  <rharinath@novell.com>
470
471         * profiles/basic.make (do-profile-check): Handle some possible
472         timestamp problems.  Hopefully fix #74280.
473
474 2005-03-30  Zoltan Varga  <vargaz@freemail.hu>
475
476         * rules.make (INSTALL_DATA): Pass -c to install.
477
478 2005-03-18  Raja R Harinath  <rharinath@novell.com>
479
480         * library.make (TEST_FILES, $(test_response), $(btest_response)):
481         Be more robust to empty lines in test sources file.
482
483 2005-03-14  Raja R Harinath  <rharinath@novell.com>
484
485         * executable.make (install-local): Depend on all-local even when
486         NO_INSTALL is defined.
487         * library.make: Minor cleanups to match executable.make.
488         (gacutil): Use net_1_1_bootstrap/gacutil.exe.
489         * profiles/basic.make (no-install): Remove.
490         * profiles/net_1_1_bootstrap.make (no-install): Likewise.
491
492 2005-02-22  Raja R Harinath  <rharinath@novell.com>
493
494         * library.make (BUILT_SOURCES_cmdline): Don't define if
495         BUILT_SOURCES is empty.
496
497 2005-02-21  Michal Moskal  <malekith@pld-linux.org>
498             Raja R Harinath  <rharinath@novell.com>
499
500         * config-default.make (exec_prefix, libdir): New.
501         * library.make (libdir): Remove.
502         * executable.make (PROGRAM_INSTALL_DIR): Define in terms of
503         $(libdir).
504
505 2005-02-15  Raja R Harinath  <rharinath@novell.com>
506
507         * platforms/win32.make (RESGEN): Point to in-tree version of
508         resgen.exe.  The .NET 1.1 SDK doesn't appear to come with one.
509
510 2005-02-10  Raja R Harinath  <rharinath@novell.com>
511
512         * library.make (DISTFILES): Add $(btest_sourcefile).
513
514 2005-02-02  Raja R Harinath  <rharinath@novell.com>
515
516         * library.make (run-test-lib): Use $(LOCAL_TEST_HARNESS_FLAGS).
517         (run-test-ondotnet-lib): Use $(LOCAL_TEST_HARNESS_ONDOTNET_FLAGS).
518
519 2005-02-01  Zoltan Varga  <vargaz@freemail.hu>
520
521         * library.make (run-test-lib): Exclude InetAccess tests.
522
523 2005-02-30  Sebastien Pouliot  <sebastien@ximian.com>
524
525         * library.make: Exclude CAS category from run-test-ondotnet.
526
527 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
528
529         * library.make: Exclude CAS category when running unit tests with 
530         Mono (they can be run manually using --security). Added a define
531         for WINDOWS (only on Windows) to be used for declarative security
532         attributes ONLY.
533
534 2005-01-24  Raja R Harinath  <rharinath@novell.com>
535
536         * library.make (run-test-lib, run-test-ondotnet-lib): Print out
537         the log.
538
539 2005-01-16 Nick Drochak  <ndrochak@ieee.org>
540
541         * library.make: /exclude for nunit needs a comma separated list
542
543 2005-01-14  Atsushi Enomoto  <atsushi@ximian.com>
544
545         * library.make : output TestResult-ondotnet-(profile).log instead of
546           TestResult-(profile).log for run-test-ondotnet.
547
548 2005-01-13  Raja R Harinath  <rharinath@novell.com>
549
550         * profiles/default.make (MBAS) [!PLATFORM_MONO_NATIVE]: Use
551         $(EXTERNAL_MBAS).
552         Reported by Nick Drochak.
553
554 2005-01-03  Nick Drochak  <ndrochak@ieee.org>
555
556         * library.make: Ingore tests that are not meant to be run on MS DotNet
557
558 2004-12-14  Raja R Harinath  <rharinath@novell.com>
559
560         * profiles/basic.make (do-profile-check): Rename from
561         'real-profile-check'.  Rewrite slightly to use 'make' to build the
562         sanity check.
563         (clean-profile): Remove the files.
564
565 2004-12-08  Raja R Harinath  <rharinath@novell.com>
566
567         * profiles/basic.make (real-profile-check): Update to new location
568         of secret stash of bootstrap files.
569
570 2004-12-07  Raja R Harinath  <rharinath@novell.com>
571
572         * executable.make (uninstall-local): Remove .config file too.
573         * library.make (uninstall-local): Don't error out if GACUTIL fails.
574
575 2004-12-07  Raja R Harinath  <rharinath@novell.com>
576
577         * library.make (BUILT_SOURCES_cmdline): Use
578         PLATFORM_CHANGE_SEPARATOR_CMD on BUILT_SOURCES too.
579         ($(the_lib)): Use it.
580
581 2004-12-04  Atsushi Enomoto  <atsushi@ximian.com>
582
583         * library.make,
584           profiles/default.make,
585           profiles/basic.make : use PLATFORM_PATH_SEPARATOR.
586
587 2004-12-03  Raja R Harinath  <rharinath@novell.com>
588
589         * profiles/basic.make (MCS): Run the INTERNAL_MCS.
590         (USE_BOOT_COMPILE): Remove.
591
592 2004-12-03  Raja R Harinath  <rharinath@novell.com>
593
594         * library.make (gacdir_flag): New.  Disable /gacdir flag if
595         RUNTIME_HAS_CONSISTENT_GACDIR flag is set.
596         (install-local): Use it.
597
598 2004-11-30  Raja R Harinath  <rharinath@novell.com>
599
600         * executable.make (makefrag): Make profile-specific.
601
602 2004-11-26  Martin Baulig  <martin@ximian.com>
603
604         * library.make (run-test-lib, run-test-ondotnet-lib): Added
605         `/output:TestResult-$(PROFILE).log' argument to NUnit.
606
607 2004-11-26  Raja R Harinath  <rharinath@novell.com>
608
609         * library.make ($(the_lib)): Don't complain if a .mdb file wasn't
610         created (even though it's just a warning).
611         (install-local) [LIBRARY_INSTALL_DIR]: Likewise.
612         (PACKAGE): Remove.
613         (install-local) [!LIBRARY_INSTALL_DIR]: Use $(FRAMEWORK_VERSION).
614         * executable.make ($(PROGRAM)): Likewise.
615         (install-local): Likewise.
616         (PROGRAM_INSTALL_DIR): Define Using $(FRAMEWORK_VERSION).
617
618 2004-11-26  Raja R Harinath  <rharinath@novell.com>
619
620         * profiles/basic.make (real-profile-check): Prepend ./ when
621         executing basic-profile-check.exe.  EXTERNAL_RUNTIME can be empty.
622
623 2004-11-25  Raja R Harinath  <rharinath@novell.com>
624
625         * platforms/linux.make (EXTERNAL_MCS,EXTERNAL_MBAS,EXTERNAL_RUNTIME):
626         New.
627         * platforms/win32.make: Likewise.
628         * profiles/basic.make: Use $(EXTERNAL_MCS).
629         * profiles/net_1_1_bootstrap.make: Likewise.
630         * library.make ($(the_lib)): Add support for BUILT_SOURCES.
631         (run-test-lib): Pass $(TEST_HARNESS_FLAGS) to harness.  Useful to
632         pass, say /labels, to nunit-console.
633
634 2004-11-25  Raja R Harinath  <rharinath@novell.com>
635
636         * library.make ($(gacutil)): Fix path.
637
638 2004-11-23  Raja R Harinath  <rharinath@novell.com>
639
640         * executable.make (NO_INSTALL): New option.  Disables installation.
641         * library.make (NO_INSTALL): Likewise.
642         (install-local) [!NO_INSTALL, !LIBRARY_INSTALL_DIR]: Pass both
643         /gacdir and /root options to gacutil.
644         * platforms/linux.make (platform-check): Print the BOOTSTRAP_MCS
645         command that was tried, in case of failure.     
646         * profiles/basic.make (NO_TEST, NO_INSTALL): Define.
647         * profiles/net_1_1_bootstrap.make: Likewise.
648         * profiles/net_2_0_bootstrap.make: Likewise.
649
650 2004-11-22  Raja R Harinath  <rharinath@novell.com>
651
652         * library.make (SN): New define.  Use the net_1_1_bootstrap sn.exe.
653         (SNFLAGS): New.
654         ($(the_lib)): Use them to sign assemblies as they're built.
655         (the_lib_signature_stamp): Remove.
656
657         * Makefile (DISTFILES): Distribute all the profile make-fragments.
658         (clean-local): Clean up the deps/ directory.
659
660 2004-11-19  Raja R Harinath  <rharinath@novell.com>
661
662         Orchestrate the bootstrap.
663         * rules.make (INTERNAL_MCS): Look for mcs.exe in profile-specific directory.
664         * profiles/net_1_1_bootstrap.make (BOOTSTRAP_MCS): Use mcs.exe from
665         basic profile.  
666         * profiles/default.make (BOOTSTRAP_MCS): Use mcs.exe from the
667         net_1_1_bootstrap profile.
668         * profiles/net_2_0_bootstrap.make (BOOTSTRAP_MCS): Use mcs.exe
669         from default profile.
670         (all-local, clean-local): New.  Copy mcs.exe from default profile,
671         but customize it to work with 2.0.x libraries.
672         * profiles/net_2_0.make (BOOTSTRAP_MCS): Define approprately for
673         building corlib.
674
675         * executable.make (executable_CLEAN_FILES): Clean up more files.
676         ($(PROGRAM)): Move .mdb files too.
677
678 2004-11-18  Atsushi Enomoto  <atsushi@ximian.com>
679
680         * library.make: Reverted the last fix. It broke windows build (that
681           should be fixed though).
682
683 2004-11-18  Atsushi Enomoto  <atsushi@ximian.com>
684
685         * library.make: Some minor fix for PLATFORM_PATH_SEPARATOR.
686
687 2004-11-17  Raja R Harinath  <rharinath@novell.com>
688
689         * executable.make: Improve support for building executable into a
690         different directory.
691
692 2004-11-09  Raja R Harinath  <rharinath@novell.com>
693
694         * profiles/basic.make: New.
695         * profiles/net_2_0.make (PROFILE_MCS_FLAGS): Remove '-2' flag.
696         * profiles/net_1_1_bootstrap.make (NO_SIGN_ASSEMBLY): Set.
697
698 2004-11-04  Raja R Harinath  <rharinath@novell.com>
699
700         * profiles/net_1_1_bootstrap.make: New profile.
701         * profiles/net_2_0_bootstrap.make: Use in-tree mcs for
702         bootstrapping mscorlib.dll.
703         * platforms/linux.make (platform-check): Make more robust.
704         * rules.make (%-recursive): Propagate error exit from sub-makes
705         even if invoked with 'make -k'.
706
707 2004-10-29  Raja R Harinath  <rharinath@novell.com>
708
709         * profiles/net_2_0_bootstrap.make (PROFILE_MCS_FLAGS): Remove
710         -langversion:default flag.
711
712         * rules.make (distdir): Remove.
713         (PROFILE_SUBDIRS): New.  Support profile-specific SUBDIRS.
714         (DIST_SUBDIRS): New.
715         (dist-recursive): Define distdir here.
716
717 2004-10-25  Zoltan Varga  <vargaz@freemail.hu>
718
719         * config-default.make (TEST_RUNTIME): Add TEST_MONO_PATH variable.
720
721 2004-09-27  Raja R Harinath  <rharinath@novell.com>
722
723         * library.make ($(test_nunit_dep)): Make sure NUnit is built for
724         the profile being tested.
725         (nunit-$(PROFILE).stamp): Rename from nunit.stamp.
726         * config-default.make (TEST_HARNESS): Look for 'nunit-console' in
727         profile-specific directory.
728
729 2004-09-21  Raja R Harinath  <rharinath@novell.com>
730
731         * profiles/net_2_0_bootstrap.make: New file.
732
733         * library.make (the_mdb): Fix.
734         (library_CLEAN_FILES): Add the new test results files too.
735
736 2004-09-14  Raja R Harinath  <rharinath@novell.com>
737
738         * library.make (test_lib, btest_lib): Build separate test
739         assemblies for separate profiles.
740         (dist-local): Don't copy files beginning with '../'.
741         (test_sourcefile, btest_sourcefile): Define in terms of
742         $(test_lib) or $(btest_lib) only if they're overriden.
743         (test_response, test_makefrag): Remove redundant $(PROFILE) in name.
744         (run-test-lib, run-btest-lib): Unify.  Give profile-specific name
745         for output XML file.
746         * rules.make (dist-default): Handle any of Makefile, makefile, or
747         GNUmakefile being present.
748         * profiles/net_2_0.make (TEST_RUNTIME): Don't define.
749
750 2004-08-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
751
752         * executable.make:
753         * library.make: install/clean .mdb files.
754
755 2004-07-30  Martin Baulig  <martin@ximian.com>
756
757         * executable.make (EXTRA_SOURCES): New variable to add extra
758         sources to the program.
759
760 2004-07-30  Raja R Harinath  <harinath@blr-harinath.blr.novell.com>
761
762         * executable.make (PROGRAM_config): New auto-detecting define.
763         Defined if $(PROGRAM).config exists.
764         (install-local): Install $(PROGRAM_config) if it exists.
765
766 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
767
768         * profiles/default.make, profiles/net_2_0.make, profiles/net_1_0.make:
769           Added FRAMEWORK_VERSION var.
770
771 2004-07-02  Raja R Harinath  <rharinath@novell.com>
772
773         Support for avoiding "sharing violations" while compiling core
774         libraries with an in-tree compiler.
775         * library.make (LIBRARY_USE_INTERMEDIATE_FILE): New toggle.
776         ($(the_lib)): Use it.
777
778 2004-07-02  Raja R Harinath  <rharinath@novell.com>
779
780         * rules.make (OVERRIDE_BARE_TARGETS): Remove.
781         (OVERRIDE_TARGET_ALL): New control for overriding the default all:
782         rule.  If set, 'make all' will run 'all.override' from the client
783         Makefile.
784         (all): Move commands ...
785         (all.real): ... here.  Make ordering assumptions explicit, and
786         parallel-safe.
787         (test,run-test,run-test-ondotnet,clean,install,uninstall):
788         Consolidate into ...
789         (STD_TARGETS): ... this new variable.  Make ordering assumption
790         between -recursive and -local targets explicit.
791         (%-recursive): Handle W32 GNU make that has --unix as the first
792         argument in $(MAKE).
793         * README.makefiles (Special recursion needs): Update to reflect
794         changes.
795         * library.make (all-local): Build $(the_lib_signature_stamp) when
796         NO_SIGN_ASSEMBLY is defined.
797         ($(gacutil),$(sn)): Consolidate rules.
798         (test-local,run-test-local,run-test-ondotnet-local): Likewise.
799
800 2004-07-02  Raja R Harinath  <rharinath@novell.com>
801         
802         * config-default.make (TEST_RUNTIME): Use 'mono' by default.
803         * platforms/win32.make (TEST_RUNTIME): Remove.
804         * profiles/default.make (TEST_RUNTIME): Remove.
805
806 2004-06-28  Raja R Harinath  <rharinath@novell.com>
807
808         * platforms/linux.make (RESGEN): Define using $(INTERNAL_RESGEN).
809
810 2004-06-21  Raja R Harinath  <rharinath@novell.com>
811
812         * executable.make ($(PROGRAM)): Move depend on the makefrags ...
813         (all-local): ... here.
814         * library.make ($(the_lib), $(test_lib), $(btest_lib), all-local):
815         Likewise.
816         (LIBRARY_SNK): New default define.  Allows library to be signed
817         with a key other than mono.snk.
818         ($(the_lib_signature_stamp)): New stamp file created when an
819         assembly is signed.
820         (install-local, uninstall-local, maybe-sign-lib): Set MONO_PATH.
821
822 2004-06-16  Raja R Harinath  <rharinath@novell.com>
823
824         * library.make ($(makefrag),$(test_makefrag),$(btest_makefrag)): 
825         Depend on library.make.
826         * executable.make ($(makefrag)): Depend on executable.make.
827
828 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
829
830         * library.make : Added GACDIR. Use cygpath -w on windows.
831
832 2004-06-14  Raja R Harinath  <rharinath@novell.com>
833
834         * platforms/linux.make (PLATFORM_CHANGE_SEPARATOR_CMD): Define to 'cat'.
835         (PLATFORM_TWEAK_CORLIB_SOURCES): Remove.
836         (platform-check): Avoid bash-ism.
837         * library.make: Simplify uses of $(patsubst x,y,$(foo)) to $(foo:x=y).
838         (core_sourcefile): Rename back to ...
839         (sourcefile): ... this.  Remove creation of redundant intermediate file.
840         (response): Change test for optimization, now that
841         PLATFORM_CHANGE_SEPARATOR_CMD is unconditional.  Combine with
842         platform-exclude handling.
843         (library_CLEAN_FILES): New variable to specify clean:-able files
844         close to where they're defined.
845         (test_response, btest_response): Simplify.
846         * executable.make (response): Change test for optimization.
847         (executable_CLEAN_FILES): New define.
848
849 2004-06-14  Raja R Harinath  <rharinath@novell.com>
850
851         * library.make (uninstall-local): Fix typo.
852
853 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
854
855         * library.make : HAVE_CS_TESTS fixie.
856
857 2004-06-11  Raja R Harinath  <rharinath@novell.com>
858
859         * library.make (HAVE_CS_TESTS, HAVE_VB_TESTS): Allow to be
860         overriden.  Useful if the tests sourcefile is generated.
861         (TEST_COMPILE, BTEST_COMPILE): Allow these to be customized too.
862
863         * platforms/win32.make (PLATFORM_TWEAK_CORLIB_SOURCES): Remove.
864
865         Support enough features to build mscorlib.dll.
866         * library.make (core_sourcefile): New renamed from $(sourcefile).
867         (PLATFORM_excludes): Auto-detecting define that sees if
868         $(LIBRARY).$(PLATFORM)-excludes file exists.
869         (sourcefile): New.  Possibly-built file that removes
870         PLATFORM_excluded files from core_sourcefile.
871         (test_against, test_dep): New.  Allow the test assembly to be
872         built against a different library.
873         (test_lib): Allow makefile to override the name of the test
874         assembly.
875         (LIBRARY_INSTALL_DIR): If defined, switch to using $(INSTALL_LIB)
876         rather than $(gacutil).
877         (DISTFILES, dist-local): Use core_sourcefile.
878         (clean-local): Remove sourcefile if it was generated.
879         (test_lib, btest_lib): Depend on $(test_dep).
880
881 2004-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
882
883         * library.make: fixed PLATFORM_CHANGE_SEPARATOR_CHAR on windows.
884
885 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
886
887         * library.make: Added support to fully sign assemblies when doing a
888         "make install" (thanks to Jackson :-).
889
890 2004-06-09  Raja R Harinath  <rharinath@novell.com>
891
892         Do away with stampfiles.
893         Introduce support for VB test cases.
894         * library.make (HAVE_CS_TESTS, HAVE_VB_TESTS): New auto-detecting
895         defines.
896         (stampfile, test_stampfile): Remove.
897         (clean-local): Don't mention them.
898         (test-local, run-test-local, run-test-ondotnet-local):
899         Make unconditional.
900         ($(makefrag), $(test_makefrag)): Simplify.
901         ($(btest_lib)): New.  Support for VB testcases.
902
903 2004-06-09  Raja R Harinath  <rharinath@novell.com>
904
905         Partial support for writing Visual Basic source files.
906         * rules.make (USE_MBAS_FLAGS,BASCOMPILE,INTERNAL_MBAS): New.
907         * config-default.make (MBAS_FLAGS, DEFAULT_MBAS_FLAGS): New.
908         * profiles/default.make (MBAS): New.
909
910 2004-06-09  Raja R Harinath  <rharinath@novell.com>
911
912         Do away with stampfiles.
913         * executable.make (stampfile): Remove.
914         (clean-local): Remove mention of $(stampfile).
915         (test-local, run-test-local, run-test-ondotnet-local):
916         Make unconditional.  Add dummy rule to prevent other makefiles
917         from defining rules on these.
918         ($(PROGRAM)): Depend directly on $(BUILT_SOURCES).
919         ($(makefrag)): Simplify.
920
921 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
922
923         * README.makefiles : added description for run-test-ondotnet.
924
925 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
926
927         * Makefile, executable.make, library.make, rules.make :
928           Added new target "run-test-ondotnet" that works what "run-test"
929           used to be on windows (i.e. tests our libs under MS.NET).
930
931 2004-06-01  Atsushi Enomoto  <atsushi@ximian.com>
932
933         * platforms/win32.make : TEST_RUNTIME should be always mono we can't
934           test our libs against MS.NET runtime. Think about internal call).
935
936 2004-05-30  Jackson Harper  <jackson@ximian.com>
937
938         * library.make: Install to 2.0 package if building with the
939         net_2_0 profile.
940         
941 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
942
943         * library.make: reference nunti.core.dll and nunit.util.dll when
944         building tests.
945
946 2004-05-26  Raja R Harinath  <rharinath@novell.com>
947
948         * library.make (clean-local): Add $(CLEAN_FILES) too.
949
950 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
951
952         * library.make: changed case on nunit.framework.dll (lowercase)
953
954 2004-05-24  Raja R Harinath  <rharinath@novell.com>
955
956         * library.make (LIBRARY_COMPILE): New define.
957         ($(the_lib)): Use $(LIBRARY_COMPILE) to compile $(the_lib).
958
959         * executable.make (PROGRAM_INSTALL_DIR): Allow makefile to specify
960         a different directory for installation.
961         (install-local, uninstall-local): Use it.
962
963 2004-05-20  Raja R Harinath  <rharinath@novell.com>
964
965         * profiles/default.make (TEST_RUNTIME): Look in class/lib/default
966         for library to be tested.
967         * rules.make (INTERNAL_RESGEN): New Define.
968         * library.make (run-test-local): Move commands to run-test-lib.
969         Preparartion for allowing creation of addition test dll with .vb
970         testcases.
971         * executable.make (PROGRAM_COMPILE): New define.
972         ($(PROGRAM)): Use PROGRAM_COMPILE to compile PROGRAM.
973
974 2004-05-14  Jackson Harper  <jackson@ximian.com>
975
976         * library.make: Install package files. Get params in magical
977         correct order.
978         
979 2004-05-11  Jackson Harper  <jackson@ximian.com>
980
981         * platforms/linux.make:
982         * platforms/win32.make: Define a PLATFORM_PATH_SEPARATOR used for
983         separating paths in env vars. (ie MONO_PATH).
984         * profiles/net_2_0.make: Always use gmcs for building the 2.0
985         libraries. corlib is the first lib built and it will build gmcs.
986         
987 2004-05-11  Jackson Harper  <jackson@ximian.com>
988
989         * library.make: Allow assembly names to be different then their
990         .sources file names.
991         
992 2004-05-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
993
994         * library.make: build NUnit if we try to run 'make test' and the dll
995         is not found.
996
997 2004-04-29  Jackson Harper  <jackson@ximian.com>
998
999         * library.make: Fix uninstall
1000         
1001 2004-04-29  Martin Baulig  <martin@ximian.com>
1002
1003         * rules.make: Added `INTERNAL_ILASM'.
1004
1005 2004-04-29  Jackson Harper  <jackson@ximian.com>
1006
1007         * library.make: Use RUNTIME instead of PLATFORM_RUNTIME for the
1008         gacutil. gacutil needs to be run on our runtime. Make dependancys
1009         more sane.
1010         
1011 2004-04-28  Jackson Harper  <jackson@ximian.com>
1012
1013         * library.make: Use the proper runtime, make sure gacutil is
1014         built.
1015         
1016 2004-04-28  Jackson Harper  <jackson@ximian.com>
1017
1018         * library.make: Install these bad actors to the GAC.
1019         
1020 2004-04-28  Raja R Harinath  <rharinath@novell.com>
1021
1022         * library.make (test_flags): NUnit.Framework.dll is now in
1023         class/lib/$(PROFILE).
1024
1025 2004-04-26  Jackson Harper  <jackson@ximian.com>
1026
1027         * library.make:
1028         * profiles/bootstrap.make:
1029         * profiles/default.make: profiles are built in their ownb lib
1030         directory now.
1031         * profiles/net_2_0.make: new .net 2.0 profile.
1032         
1033 2004-04-22  Martin Baulig  <martin@ximian.com>
1034
1035         * profiles/net_1_2.make: Removed.
1036         * profiles/martin-generics.make: Remove.
1037
1038 2004-04-19  Raja R Harinath  <rharinath@novell.com>
1039
1040         * rules.make (%-recursive): Honor 'make -k'.
1041
1042 2004-02-17  Martin Baulig  <martin@ximian.com>
1043
1044         * profiles/generics.make: Renamed to `martin-generics.make' and
1045         added a comment to the file.  I'll rename this back when it's
1046         ready for public use.
1047
1048 2003-12-17  Jackson Harper <jackson@ximian.com>
1049
1050         * profiles/default.make:
1051         * profiles/net_1_0.make: Add ONLY_1_0 and ONLY_1_1 defines to fix
1052         the build
1053         
1054 2003-12-08  Peter Williams  <peter@newton.cx>
1055
1056         * config-default.make: Don't check for / define
1057         ECHO_ESCAPE: the check isn't smart enough and
1058         apparently OS X's shell somehow doesn't support
1059         escape characters.
1060
1061         * library.make: Use embedded tab instead of 
1062         $(ECHO_ESCAPE). Fixes OS X build.
1063         
1064         * executable.make: Same.
1065         
1066 2003-12-05  Martin Baulig  <martin@ximian.com>
1067
1068         * profiles/generics.make: Define `GENERICS'.
1069
1070 2003-12-05  Martin Baulig  <martin@ximian.com>
1071
1072         * profiles/net_1_2.make: New profile; uses the .NET 1.2 API's, but
1073         without generics and with mcs instead of gmcs.
1074
1075         * profiles/bootstrap.make: New profile; already use the newly
1076         compiled mcs to compile corlib.
1077
1078 2003-12-04  Martin Baulig  <martin@ximian.com>
1079
1080         * profiles/generics.make: Use gmcs.
1081
1082 2003-11-12 Jackson Harper <jackson@ximian.com>
1083
1084         * rules.make: 
1085         * platforms/linux.make: corlib name is now mscorlib.
1086         
1087 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
1088
1089         * profiles/generics.make: add the -2 flag.
1090
1091 2003-10-28 Jackson Harper <jackson@ximian.com>
1092
1093         * platforms/linux.make: Tell users to read INSTALL.txt not the
1094         non-existant README.building.
1095         
1096 2003-10-22  Dick Porter  <dick@ximian.com>
1097
1098         * platforms/win32.make:
1099         * platforms/linux.make:
1100         * rules.make: Added RESGEN platform-specific tool.
1101
1102 2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1103
1104         * config-default.make: the /nowarn arguments are now set on a per
1105         library basis.
1106
1107 2003-07-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1108
1109         * executable.make: install-local depends on the program too.
1110
1111 2003-07-25  Peter Williams <peter@newton.cx>
1112
1113         * rules.make (run-test): Make it depend on 'test-local'
1114         then 'run-test-local' after 'run-test-recursive'. This way,
1115         'make run-test' from the toplevel doesn't recurse through all
1116         the directories doing a make test before we run anything.
1117
1118 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1119
1120         * rules.make: run-test depends now on 'test'.
1121
1122 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1123
1124         * rules.make: set corlib to PLATFORM_CORLIB if this is defined.
1125
1126 2003-07-22  Peter Williams  <peter@newton.cx>
1127
1128         * rules.make (withmcs): Add this developer utility target.
1129
1130 2003-07-20  Peter Williams  <peter@newton.cx>
1131
1132         * README.platforms: Update docs for changes below.
1133
1134         * platforms/win32.make (PLATFORM_CORLIB): Set this variable
1135         to 'mscorlib.dll', instead of $(corlib) which everything links
1136         against. *Almost* everything should link against our corlib --
1137         with the exception of corlib_cmp and corlib_res.
1138
1139         * platforms/linux.make: Same here: corlib.dll
1140
1141         * rules.make: Define $(corlib) here.
1142
1143 2003-07-20  Peter Williams  <peter@newton.cx>
1144
1145         * config-default.make (TEST_RUNTIME): Use the platform runtime
1146         to run tests, by default.
1147
1148         * profiles/default.make (TEST_RUNTIME): If our test runtime is
1149         mono, use the --debug flag.
1150
1151         * executable.make (sourcefile): Add a basename so that we can
1152         find the nunit sources and so we behave a bit more like
1153         library.make
1154
1155         * config-default.make (TEST_HARNESS): Find nunit-console in its
1156         new home.
1157
1158 2003-07-20  Peter Williams  <peter@newton.cx>
1159
1160         * library.make ($(response)): Do a "Creating ..." line here.
1161
1162         * executable.make ($(response)): Same.
1163
1164         * config-default.make: Make warning more forceful.
1165
1166         * rules.make: Define a useful 'PLATFORM_MONO_NATIVE' that is
1167         set if the platform does not have a native runtime (ie, linux).
1168         Also reorder some definitions.
1169
1170 2003-07-20  Peter Williams  <peter@newton.cx>
1171
1172         * Created. See ../ChangeLog for entries earlier than
1173         this.
1174