update dev300-m57
[ooovba.git] / dmake / NEWS
blobbff5353be7bcbe57f737816b6d6db47299ab54fb
1 News file for the dmake version that is hosted on the OpenOffice.org
2 cvs. #i<number># denote issues tracked by the OpenOffice.org issue tracking
3 system, see <http://qa.openoffice.org/issue_handling/project_issues.html>.
5 Version 4.12
6 ============
8 Volker Quetschke (vq@openoffice.org)
9 #i83540# Add parallel building mode, see the MULTI PROCESSING section in
10 the dmake man page, for native W32 dmake (MSVC 6, and newer and MinGW)
11 versions.
13 Version 4.11
14 ============
16 Yuri Dario (ydario@openoffice.org)
17 #i81855, CWS os2port01# Port dmake to OS/2.
19 Volker Quetschke (vq@openoffice.org)
20 #i81252# Add a new control macro SHELLCMDQUOTE that can be used to add
21 additional characters before and after the command string if the recipe is
22 executed using a shell. This macro is used to avoid problems with quoting
23 when using cmd.exe or command.com.
25 Volker Quetschke (vq@openoffice.org)
26 #i81296, i64572# Improve dependency handling of prerequisites.
28 Volker Quetschke (vq@openoffice.org)
29 #i80687, i66751# Allow the use of .PHONY for %-targets.
31 Volker Quetschke (vq@openoffice.org)
32 #i80010, i80009# Fix handling of quoted filenames for :1 :b :d :e :f
33 and :i macro expansions.
35 Volker Quetschke (vq@openoffice.org)
36 #i78776# Add a new function macro $(normpath[,para] data) and a new macro
37 extension to normalise the given data or macro content. The normalization
38 is done element-wise (whitespace separated) on the given data. Quotes can
39 be used to normalize filenames that contain whitespace characters.
40 On cygwin the result honors the setting of .WINPATH to determine the output
41 format. If the optional parameter para is given for the function macro its
42 expanded value is used to override the .WINPATH setting for the output.
44 Version 4.10 (skipped)
45 ======================
47 This number was skipped to avoid confusion with Version 4.1, patch level 0
48 which identified itself as "Version 4.10, PL 0".
50 Version 4.9
51 ===========
53 Volker Quetschke (vq@openoffice.org)
54 #i74700#  Add a new special macro OOODMAKEMODE that is used to toggle
55 OOo build specific behavior. If OOODMAKEMODE is set (i.e. it begins with y)
56 a possible leading ./ of a path will no longer be removed during target
57 normalization.
60 Version 4.8
61 ===========
63 Volker Quetschke (vq@openoffice.org)
64 #i73499#  Add new .WINPATH attribute to generate Windows style paths (with
65 regular slashes) instead of the default cygwin style (POSIX) paths for
66 dmake's dynamic macros.
68 This attribute is specific for cygwin dmake executables and non-cygwin
69 environments ignore this attribute. This feature can be used to create DOS
70 style path parameters for native W32 programs from dynamic macros.
72 The windows style paths use regular slashes ('/') instead of the usual
73 windows backslash ('\') as directory separator to avoid quoting problems
74 (It still is a cygwin dmake feature!) and cygwin as well as native windows
75 programs should have no problems using this (c:/foo/bar) path
76 representation.
78 The affected macros are $@, $*, $>, $?, $<, $&, $^ and $(PWD), $(MAKEDIR)
79 and $(TMD).
81 Examples:
82   Content of $(PWD) without .WINPATH (default):  /cygdrive/c/temp
84   Content of $(PWD) with .WINPATH set:           c:/temp
87 Version 4.7
88 ===========
90 Volker Quetschke (vq@openoffice.org)
91 #i71422# Add @@ as a new recipe line property. This new property is a
92 stronger version of the already existing @ recipe property.  The recipe
93 line and the output (stdout and stderr) of the executed recipe are suppressed
94 and *NOT* shown on the terminal.
95 Note: Previously the second @ sign was ignored, that means that using this
96 new feature doesn't break backwards compatibility but the command output
97 is naturally not suppressed in older versions.
99 Volker Quetschke (vq@openoffice.org)
100 #i70210# Dmake now works correctly with empty dynamic prerequisites.
102 Volker Quetschke (vq@openoffice.org)
103 #i70168# Improve dmakes handling of literal $ characters in target and
104 prerequisite filenames. This was not working before and is working now
105 but the use of literal $ characters in filenames is still strongly
106 discouraged. See the man page for details.
108 Volker Quetschke (vq@openoffice.org)
109 #i69742# Normalize the pathnames of targets and prerequisites to the shortest
110 (or most natural, see below for the cygwin case) representation.
111 Now "./foo", "bar/../foo" and foo are recognized as the same file.
113 For cygwin this allows the use of target and prerequisite names with DOS
114 like pathnames with drive letters (with / and \ as possible path seperators)
115 and cygwin POSIX pathnames. As the internal format uses cygwin's natural
116 POSIX representation runtime macros will result in POSIX paths.
118 Version 4.6
119 ===========
121 Volker Quetschke (vq@openoffice.org)
122 #i67589# Implement the internal dmake commands noop and echo. These commands
123 were already existing for the native Windows version but only partially
124 documented.
126 Volker Quetschke (vq@openoffice.org)
127 #i67166# Issue a warning when a previously unset macro (i.e. assumed to be
128 empty) is used and later set to a different value.
130 Volker Quetschke (vq@openoffice.org)
131 #i66567# Issue a warning when .SUFFIXES is used. This special target had no
132 special meaning (anymore?) and was always (at least since version 4.2)
133 ignored.
135 Volker Quetschke (vq@openoffice.org)
136 #i67025# Fix a bug that was introduced in dmake 4.5 and led dmake to falsely
137 issue an error if a %-target was defined with the .SILENT attribute and dmake
138 was started with the -vr (included in -v) verbose flag.
140 Version 4.5
141 ===========
143 Volker Quetschke (vq@openoffice.org)
144 #i66385# Fix the handling of .<suffix> targets. Always treat these targets
145 as meta targets regardless of the AUGMAKE (-A) status. Previously this was
146 enabled when the AUGMAKE was *not* set to 'yes' or the -A switch was given.
148 #i66083# We now stop with an error if AUGMAKE meta targets and regular
149 targets are used in one rule definition. As the syntax of these target
150 definitions is slightly different this hints to an error in the makefile,
151 most probably a misspelled attribute or special target.
153 #i48087#, #i64869# The parsing of %-target definitions was fixed and
154 enhanced. Prior to dmake 4.5 only one %-target per target-definition worked
155 reliably, now this works well, but to help projects that still use older
156 versions a warning was added.
158 It's not very nice to issue a warning for something that works now but
159 didn't before. This was only done to aid development and will probably
160 be removed in future versions.
162 There was, and still is, that for a bug in dmake for %-targets with more
163 than one (not indirect) prerequisite only the first prerequisite is used.
164 This will be fixed in future versions but until this happens we issue a
165 warning that prerequisites are ignored.
167 #i65122# The :| rule operator was handled differently from what the man
168 page said. The man page was adapted to reflect reality. Changing dmakes
169 behavior to match the man page would have introduced a lot of compatibility
170 issues.
172 Version 4.4
173 ===========
175 2006/02/03 Volker Quetschke (vq@openoffice.org)
176 #i61170# Fix the TMD macro. Up to now the TMD macro appended a directory
177 separator if it ended in "..", but most of the time it was not set correctly
178 at all and/or without a trailing slash.
179 Note: If your application relies on TMD please check the dmake manual page
180 for its definition and fix your makefiles if needed.
182 2006/02/01 Volker Quetschke (vq@openoffice.org)
183 #i60948# Add -m option family to generate timing information for targets
184 and/or recipes.
186 2005/09/19 Volker Quetschke (vq@openoffice.org)
187 #i53148# Fix $(shell ...) macro picking up the output of earlier
188 recipe lines in parallel builds.
189 #i54766# Ensure that all previous recipe lines to a recipe
190 line containing a $(shell ...) macro have finished before executing
191 the macro in parallel builds.
193 2005/06/01 Volker Quetschke (vq@openoffice.org)
194 #i39248# Add a testsuite to test some dmake features (only for autotools
195 builds). Start the tests with "make check".
197 2005/04/21 Volker Quetschke (vq@openoffice.org)
198 #i47851# Increase the version number to 4.4-cvs and slightly rearrange the
199 output of "dmake -V".
200 Remove the hard-coded (in autotools builds) OS macro. It had the wrong value
201 to be usable with the startup/*.mk and is not mentioned in the man page.
202 Clean up configure.in and friends.
204 2005/04/20 Volker Quetschke (vq@openoffice.org)
205 #i43310# Fix percent (%) rules to recognize prerequisites that are defined
206 with the multiple target rule operator (::). 
207 This implicitly fixes the similar problem for .<suffix>.<suffix> targets.
209 2005/04/16 Volker Quetschke (vq@openoffice.org)
210 #i46987# Fix the documentation of the $(mktmp ...) function macro. This is
211 not necessarily a new feature as the macro works this way since dmake was
212 imported into the OpenOffice.org cvs but mentioning it here might help users
213 of dmake upgrading from very old versions.
215 Add the "map escape codes" $(...:m) macro expansion that allows to expand
216 escape codes in macros.  It can also be used to reproduce the former (pre
217 OpenOffice.org cvs) $(mktmp ...) behavior.
219 2005/04/10 Volker Quetschke (vq@openoffice.org)
220 #i43252# Introduce the macro ABSMAKECMD that's value for a native Windows
221 dmake executable (compiled with MS Visual C++ or MinGW) is the absolute
222 filename and NULL for other operating systems or dmake build with other
223 compilers.
224 If DMAKEROOT is not changed and only for native Windows dmake versions the
225 value of DMAKEROOT now defaults to "$(ABSMAKECMD:d)startup".
226 This allows to use the startup files from the startup directory from the
227 same location where the dmake.exe is located.
229 2005/04/08 Steve Hay (shay@openoffice.org)
230 #i43241# Fix build problems with VC++ (in non-OOo environment) and fix
231 the dmake makefiles so that dmake can rebuild itself (VC++ only).
233 2005/03/14 Volker Quetschke (vq@openoffice.org)
234 #i44959# Fix problems when a continued line is followed by an empty
235 or comment line.
237 2005/03/13 Volker Quetschke (vq@openoffice.org)
238 #i37053# Fix function macro problems with continued lines.
240 2004/11/23 Volker Quetschke (vq@openoffice.org)
241 #i37491# Predefine dmake macro containing one space (SPACECHAR).
243 2004/11/21 Volker Quetschke (vq@openoffice.org)
244 #i36027# Improve function macro parameter parsing.
246 Version 4.3
247 ===========
249 2004/10/07 Volker Quetschke (vq@openoffice.org)
250 #i34746# Fix timestamp of phony targets with prerequisites.
252 2004/07/11 Volker Quetschke (vq@openoffice.org)
253 #i31255# Add verbose recipe echoing option (-vr).
255 2004/07/06 Volker Quetschke (vq@openoffice.org)
256 #i30779# Fix to allow dmake to echo recipe lines when inference is used
257 to create files that are to be read by .INCLUDE.
259 2004/04/01 Michael Meeks (mmeeks@openoffice.org)
260 #i27319#, #i27981# Don't handle environment variables that begin with a
261 '!', they are used by Cygwin internally and confuse dmake.
263 2004/01/09 Dan Williams (fa@openoffice.org)
264 #i17992# Allows the nesting of expressions and a much more complex syntax
265 for dmake. It is now possible to nest expressions with () and any
266 combination of || and &&.
267 Example:
268 .IF (("$(OS)"=="MACOSX"&&"$(COM)"=="GCC")||"$(OS)"=="LINUX") && "$(GUIBASE)"=="unx"
270 .ENDIF
272 2003/10/19 Ken Foskey (waratah@openoffice.org)
273 #i20504# Correct processing of .LIBRARY targets.
275 2003/10/08 Chris Halls (haggai@openoffice.org)
276 #i7800# Fix tempnam security problem.
278 2003/03/08 Volker Quetschke (vq@openoffice.org)
279 #i10910# Use the build-in tempnam function for MS VC6.
281 2003/03/05 Volker Quetschke (vq@openoffice.org)
282 #i11861# Switch to newer autotools autoconf 2.5x and automake 1.5 and
283 add MinGW and MSVC to the configure buildable targets.
285 2002/10/11 Ken Foskey (waratah@openoffice.org)
286 Fix the "lost a child" problem. (Part II)
288 2002/10/04 Ken Foskey (waratah@openoffice.org)
289 Rework the configure process.
291 2002/04/10 Hans-Joachim Lankenau (hjs@openoffice.org)
292 Don't search INCLUDEDIRS if the filename to be included starts at fs-root.
294 2001/05/29 Patrick Luby (pluby@openoffice.org)
295 Added forceful exit to avoid infinite loop that sometimes occurs when
296 there is a fatal error. Lost a child problem. (Part I)
298 Version 4.2
299 ===========
300 (Note, the dmake -V output was not changed and still said
301 "Version 4.10, PL 0". This probably should have been 4.1)
303 2001/04/20 Martin Hollmichel (mh@openoffice.org)
304 First autoconfiscation of dmake.
306 2001/02/13 Hans-Joachim Lankenau (hjs@openoffice.org)
307 Fix for leaving tmpfiles when building group targets.
309 2000/09/22 Jens-Heiner Rechtien (hr@openoffice.org)
310 Initial import of dmake into OpenOffice.org cvs
312 before 2000/09/22 ?
313 Add smaller/greater arithmetic for .IF conditions.
315 1999/03/18 Hans-Joachim Lankenau (hjs@openoffice.org)
316 Implement boolean expression "or".