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