diff options
Diffstat (limited to 'dmake/doc/release.txt')
-rw-r--r-- | dmake/doc/release.txt | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/dmake/doc/release.txt b/dmake/doc/release.txt deleted file mode 100644 index 42f2d9d61592..000000000000 --- a/dmake/doc/release.txt +++ /dev/null @@ -1,196 +0,0 @@ -This file is superseded/continued by the toplevel NEWS file. - -DMAKE Version 4.1 -================= -FINAL FREE RELEASE OF DMAKE, REPLACES VERSION 4.0 - -Nature: This distribution advances dmake to Version 4.1, patch level 0. -------- This release adds significant functionality and eliminates - bugs that were introduced with release 4.0. - - -DETAILS OF ENHANCEMENTS/TWEAKS: -=============================== - -BUG FIXES: ----------- - -1. General clean up all over to fix small incompatibilities and obvious - typos. - -2. Fixed bug in getinp.c where buffer was being erroneously overwritten, - this caused the invalidation of the return address on the stack on - DOS systems. - -3. Fixed a bug that caused the "<target> is up to date" message to be - suppressed. - -4. Fixed a bug involving the value of $@ in conjunction with dynamic - prerequisites. - -5. Relegated the warning associated with duplicate entries in prerequisite - lists to a non-essential warning. Added an option flag -Vw to display - it if you wish to check your makefile for duplicate entries. Either way - the parser ignores duplicates. - -6. Better default action on checking out RCS targets. If an RCS target has - no directory prefix of its own it is checked out into the directory - which contains the RCS subdirectory, otherwise it ends up in its directory - qualified location. - -7. Improved the speed of lookups in the directory cache; handle mixed case - file name entries on OS/2 and Win95/NT. - -8. Improved prerequisite list generation for long prerequisite lists. - -9. Rearanged startup macro files to form an architectural hierarchy. - This greatly simplifies the maintenance of the startup files. They - might even be right at some point in the future. Please let me know if - you encounter difficulties, as I don't have access to all possible - platforms, this sub-hierarchy is bound to have ommisions at this release - and hence is intended to be evolutionary over time. - -10. A build that only touches targets (-t) uses the same algorithm to decide - valid names as a normal build. - -11. Conditional macro assignments fixed, and now work for builtin macro - variables as well. - - -NEW FEATURES: -------------- - -0. Complete reorganization of Dmake STARTUP scripts. Please refer to the - installation notes for details. THIS ONE IS IMPORTANT!!! - -1. Support for long archive member names if Elf is available, plus better - support for archivers that truncate member names (see comments in - unix/arlib.c for details). - -2. Added variable MAKEVERSION which contains a string indicating the current - version of dmake. - -3. Added the .EXECUTE attribute, see man page for details. - -4. Added the .ERRREMOVE attribute, see man page for details. - -5. Added support for gmake style if/else/endif, but only if not part of - a Group recipe. - -6. Added initial build target for Coherent version 4.2 UNIX - and for Windows-NT/Windows-95 32-bit app using Borland C++ 4.0,4.5, 5.0, - and Microsoft Visual C++ 4.0. - -7. MSDOS version now supports two builtin runtime commands, noop, and echo. - -8. Added new macro $(uniq list) which returns a sorted version of the - white space separated tokens in list such that there are no repetitions. - -9. Added the function macro $(echo list) which simply returns list. - This is most useful in conjunction with the new $(foreach ...) - function macro. - -10. Added gmake style function macro - - $(foreach,var,list data) - - where var and list are expanded, and the result is the concatenation of - expanding data with var being set to each white space separated token in - list in turn. For example: - - list = a b c - all : - echo [$(foreach,i,$(list) [$i])] - - will output - - [[a] [b] [c]] - - The iterator variable is defined as a local variable to this foreach - instance. The following expression illustrates this: - - $(foreach,i,$(foreach,i,$(sort c a b) root/$i) [$i/f.h]) - - when evaluated the result is: - - [root/a/f.h] [root/b/f.h] [root/c/f.h] - - The specification of list must be a valid macro expression, such as: - - $($(assign list=a b c)) - $(sort d a b c) - $(echo a b c) - - and cannot just be the list itself. That is, the following foreach - expression: - - $(foreach,i,a b c [$i]) - - yields: - - "b c [a]" - - when evaluated. - -11. Added the macro $(and list). - -12. Added the macro $(or list). - -13. Added the macro $(not term). - -14. Added the .NOINFER attribute to the .INCLUDE directive. When specified - any prerequisite of the .INCLUDE directive which cannot be found in - the .INCLUDEDIRS search list is not automatically made. - -15. Improved the handling of internal macros for proper functioning of the *= - and *:= assignment constructs. Macros that are internally initially - defined are considered to be undefined for the purpose of *= and *:= - assignment until they are the target of an explicit assignment operation. - -16. Improved the caching of file names, and their matching on case insensitive - file systems. Two control macros help to manage the functionality: - - .DIRCACHE := yes - - Implies that the directory cache will be used. This is on by default for - systems that support the reading of directories. Setting the value of this - macro to 'no' is equivalent to supplying the '-d' command line switch. - - .DIRCACHERESPCASE := yes - - Causes dmake to respect the case of the directory entries when the cache - is enabled, thereby treating directory entries in a case sensitive manner. - Setting this to 'no' disables the matching of case. This macro has effect - only if .DIRCACHE := yes. Otherwise the facilities provided by the native - OS are used to match file names using 'stat'. - -17. Added parameterized user defined function macros. Yes it's true - you may now define your own parametized function macros. Here is - how it works. Any macro that is not a predefined function macro and - is invoked with parameters is looked up as a user defined function - macro. A new macro scope is created. The n'th argument to the - macro is then assigned to the value of the macro $n where n is 0 - for the first argument, 1 for the second argument and so on. The - argument is expanded before it is assigned. The original macro is - then expanded. For example: - - FOO = a $0 b $1 c $2 d - echo :; $(FOO x y z) - - Will produce the result string "a z b y c z d". The - expansion of $(FOO) on it's own behaves as expected and returns the - string "a b c d" (assuming that each of $0, $1, $2 - are undefined). The only restriction when specifying function - macro arguments is as before: they cannot contain spaces - themselves. - - -ACKNOWLEDGEMENTS: -================= - Thanks to all who submitted code for new features, suggestions for - improvements, and bug fixes. I have tried to make sure no gotchas - remain, if you encounter problems installing or running dmake please - let me know. As always, I am always happy to receive e-mail. - - Many have contributed suggestions and bug fixes that make this - release possible. The NET thanks you. |