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