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