* automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
[platform/upstream/automake.git] / NEWS
1 New in 1.7a:
2 * The NEWS file is more verbose.
3
4 * Defining programs conditionally using Automake conditionals
5   no longer leads to a combinatorial explosion.  The following
6   construct used to be troublesome when used with dozens
7   of conditions.
8
9     bin_PROGRAMS = a
10     if COND1
11       bin_PROGRAMS += a1
12     endif
13     if COND2
14       bin_PROGRAMS += a2
15     endif
16     if COND3
17       bin_PROGRAMS += a3
18     endif
19     ...
20
21   Likewise for _LDADD and _LIBADD variables.
22
23 * Automake now supports bin_PROGRAMS (or any *_PROGRAMS variable)
24   being defined in several conditions.  As in
25
26     if COND1
27       bin_PROGRAMS = a1
28     endif
29     if COND2
30       bin_PROGRAMS = a2
31     endif
32
33   Likewise for _LDADD and _LIBADD variables.
34
35 * install-sh now understands --version and --help.
36
37 * Cleanup the definitions of $(distdir) and $(top_distdir).
38   $(top_distdir) now points to the root of the distribution directory
39   created during `make dist', as it did in Automake 1.4, not to the
40   root of the build tree as it did in intervening versions.
41   Furthermore these two variables are now only defined in the top
42   level Makefile, and passed to sub-directories when running `make dist'.
43
44 * elisp sources are compiled all at once, instead of one by one.
45   This allows interdependencies and speeds up compilation.
46
47 * lisp_DATA is now allowed.  If you are using the empty ELCFILES idiom
48   to disable byte-compilation of lisp_LISP files, it is recommanded that
49   you switch to using lisp_DATA.  ELCFILES is no longer documented.
50
51 * AM_PROG_CC_STDC is now empty.  The content of this macro was
52   merged in AC_PROG_CC.  If your code uses $am_cv_prog_cc_stdc,
53   you should adjust it to use $ac_cv_prog_cc_stdc instead.
54   (This renaming should be safe, even if you have to support several,
55   versions of Automake, because AC_PROG_CC defines this variable since
56   Autoconf 2.54.)
57
58 * Texinfo rules back up and restore info files when makeinfo fails.
59
60 \f
61 New in 1.7:
62 * Autoconf 2.54 is required.
63 * `aclocal' and `automake' will no longer warn about obsolete
64   configure macros.  This is done by `autoconf -Wobsolete'.
65 * AM_CONFIG_HEADER, AM_SYS_POSIX_TERMIOS and
66   AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL are obsolete (although still
67   supported).  You should use AC_CONFIG_HEADERS, AC_SYS_POSIX_TERMIOS,
68   and AC_HEADER_TIOCGWINSZ instead.  `autoupdate' can upgrade
69   `configure.ac' for you.
70 * Support for per-program and per-library `_CPPFLAGS'.
71 * New `ctags' target (builds CTAGS files).
72 * Support for -Wmumble and -Wno-mumble, where mumble is a warning category
73   (see `automake --help' or the manual for a list of them).
74 * Honor the WARNINGS environment variable.
75 * Omit the call to depcomp when using gcc3: call the compiler directly.
76 * A new option, std-options, tests that programs support --help and --version
77   when `make installcheck' is run.  This is enabled by --gnits.
78 * Texinfo rules now support the `ps' and `pdf' targets.
79 * Info files are now created in the build directory, not the source directory.
80 * info_TEXINFOS supports files in subdirectories (this requires Texinfo 4.1
81   or greater).
82 * `make distcheck' will enforce DESTDIR support by attempting
83   a DESTDIR install.
84 * `+=' can be used in conditionals, even if the augmented variable
85   was defined for another condition.
86 * Makefile fragments (inserted with `include') are always distributed.
87 * Use Autoconf's --trace interface to inspect configure.ac and get
88   a more accurate view of it.
89 * Add support for extending aclocal's default macro search path
90   using a `dirlist' file within the aclocal directory.
91 * automake --output-dir is deprecated.
92 * The part of the distcheck target that checks whether uninstall actually
93   removes all installed files has been moved in a separate target,
94   distuninstallcheck, so it can be overridden easily.
95 * Many bug fixes.
96 \f
97 New in 1.6:
98 * Autoconf 2.52 is required.
99 * automake no longer run libtoolize.
100   This is the job of autoreconf (from GNU Autoconf).
101 * `dist' generates all the archive flavors, as did `dist-all'.
102 * `dist-gzip' generates the Gzip tar file only.
103 * Combining Automake Makefile conditionals no longer lead to a combinatorial
104   explosion.  Makefile.in's keep a reasonable size.
105 * AM_FUNC_ERROR_AT_LINE, AM_FUNC_STRTOD, AM_FUNC_OBSTACK, AM_PTRDIFF_T
106   are no longer shipped, since Autoconf 2.52 provides them (both as AM_
107   and AC_).
108 * `#line' of Lex and Yacc files are properly set.
109 * EXTRA_DIST can contain generated directories.
110 * Support for dot-less extensions in suffix rules.
111 * The part of the distcheck target that checks whether distclean actually
112   cleans all built files has been moved in a separate target, distcleancheck,
113   so it can be overridden easily.
114 * `make distcheck' will pass additional options defined in
115   $(DISTCHECK_CONFIGURE_FLAGS) to configure.
116 * Fixed CDPATH portability problems, in particular for MacOS X.
117 * Fixed handling of nobase_ targets.
118 * Fixed support of implicit rules leading to .lo objects.
119 * Fixed late inclusion of --add-missing files (e.g. depcomp) in DIST_COMMON
120 * Added uninstall-hook target
121 * `AC_INIT AM_INIT_AUTOMAKE(tarname,version)' is an obsolete construct.
122   You can now use `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' instead.
123   (Note that "pkgname" is not "tarname", see the manual for details.)
124   It is also possible to pass a list of global Automake options as
125   first argument to this new form of AM_INIT_AUTOMAKE.
126 * Compiler-based assembler is now called `CCAS'; people expected `AS'
127   to be a real assembler.
128 * AM_INIT_AUTOMAKE will set STRIP itself when it needs it.  Adding
129   AC_CHECK_TOOL([STRIP], [strip]) manually is no longer required.
130 * aclocal and automake are also installed with the version number
131   appended, and some of the install directory names have changed.
132   This lets you have multiple versions installed simultaneously.
133 * Support for parsers and lexers in subdirectories.
134 \f
135 New in 1.5:
136 * Support for `configure.ac'.
137 * Support for `else COND', `endif COND' and negated conditions `!COND'.
138 * `make dist-all' is much faster.
139 * Allows '@' AC_SUBSTs in macro names.
140 * Faster AM_INIT_AUTOMAKE (requires update of `missing' script)
141 * User-side dependency tracking.  Developers no longer need GNU make
142 * Python support
143 * Uses DIST_SUBDIRS in some situations when SUBDIRS is conditional
144 * Most files are correctly handled if they appear in subdirs
145   For instance, a _DATA file can appear in a subdir
146 * GNU tar is no longer required for `make dist'
147 * Added support for `dist_' and `nodist_' prefixes
148 * Added support for `nobase_' prefix
149 * Compiled Java support
150 * Support for per-executable and per-library compilation flags
151 * Many bug fixes
152 \f
153 New in 1.4:
154 * Added support for the Fortran 77 programming language.
155 * Re-indexed the Automake Texinfo manual.
156 * Added `AM_FOOFLAGS' variable for each compiler invocation;
157   e.g. AM_CFLAGS can be used in Makefile.am to set C compiler flags
158 * Support for latest autoconf, including support for objext
159 * Can now put `.' in SUBDIRS to control build order
160 * `include' command and `+=' support for macro assignment
161 * Dependency tracking no long susceptible to deleted header file problem
162 * Maintainer mode now a conditional.  @MAINT@ is now an anachronism.
163 * Bug fixes
164 \f
165 New in 1.3:
166 * Bug fixes
167 * Better Cygwin32 support
168 * Support for suffix rules with _SOURCES variables
169 * New options `readme-alpha' and `check-news'; Gnits mode sets these
170 * @LEXLIB@ no longer required when lex source seen
171   Lex support in `missing', and new lex macro.  Update your missing script.
172 * Built-in support for assembly
173 * aclocal gives error if `AM_' macro not found
174 * Passed YFLAGS, not YACCFLAGS, to yacc
175 * AM_PROG_CC_STDC does not have to come before AC_PROG_CPP
176 * Dependencies computed as a side effect of compilation
177 * Preliminary support for Java
178 * DESTDIR support at "make install" time
179 * Improved ansi2knr support; you must use the latest ansi2knr.c (included)
180 \f
181 New in 1.2:
182 * Bug fixes
183 * Better DejaGNU support
184 * Added no-installinfo option
185 * Added Emacs Lisp support
186 * Added --no-force option
187 * Included `aclocal' program
188 * Automake will now generate rules to regenerate aclocal.m4, if appropriate
189 * Now uses `AM_' macro names everywhere
190 * ansi2knr option can have directory prefix (eg `../lib/ansi2knr')
191   ansi2knr now works correctly on K&R sources
192 * Better C++, yacc, lex support
193 * Will compute _DEPENDENCIES variables automatically if not supplied
194 * Will interpolate $(...) and ${...} when examining contents of a variable
195 * .deps files now in build directory, not source directory; dependency
196   handling generally rewritten
197 * DATA, MANS and BUILT_SOURCES no longer included in distribution
198 * can now put config.h into a subdir
199 * Added dist-all target
200 * Support for install-info program (see texinfo 3.9)
201 * Support for "yacc -d"
202 * configure substitutions are automatically discovered and included
203   in generated Makefile.in
204 * Special --cygnus mode
205 * OMIT_DEPENDENCIES can now hold list of dependencies to be omitted
206   when making distribution.  Some dependencies are auto-ignored.
207 * Changed how libraries are specified in _LIBRARIES variable
208 * Full libtool support, from Gord Matzigkeit
209 * No longer have to explicitly touch stamp-h when using AC_CONFIG_HEADER;
210   AM_CONFIG_HEADER handles it automatically
211 * Texinfo output files no longer need .info extension
212 * Added `missing' support
213 * Cygwin32 support
214 * Conditionals in Makefile.am, from Ian Taylor
215 \f
216 New in 1.0:
217 * Bug fixes
218 * distcheck target runs install and installcheck targets
219 * Added preliminary support for DejaGNU.
220 \f
221 New in 0.33:
222 * More bug fixes
223 * More checking
224 * More libtool fixes from Gord Matzigkeit; libtool support is still
225   preliminary however
226 * Added support for jm_MAINTAINER_MODE
227 * dist-zip support
228 * New "distcheck" target
229 \f
230 New in 0.32:
231 * Many bug fixes
232 * mkinstalldirs and mdate-sh now appear in directory specified by
233   AC_CONFIG_AUX_DIR.
234 * Removed DIST_SUBDIRS, DIST_OTHER
235 * AC_ARG_PROGRAM only required when an actual program exists
236 * dist-hook target now run before distribution packaged up; idea from
237   Dieter Baron.  Other hooks exist, too.
238 * Preliminary (unfinished) support for libtool
239 * Added short option names.
240 * Better "dist" support when gluing together multiple packages
241 \f
242 New in 0.31:
243 * Bug fixes
244 * Documentation updates (many from François Pinard)
245 * strictness `normal' now renamed to `foreign'
246 * Renamed --install-missing to --add-missing
247 * Now handles AC_CONFIG_AUX_DIR
248 * Now handles TESTS macro
249 * DIST_OTHER renamed to EXTRA_DIST
250 * DIST_SUBDIRS is deprecated
251 * @ALLOCA@ and @LIBOBJS@ now work in _LDADD variables
252 * Better error messages in many cases
253 * Program names are canonicalized
254 * Added "check" prefix; from Gord Matzigkeit
255 \f
256 New in 0.30:
257 * Bug fixes
258 * configure.in scanner knows about AC_PATH_XTRA, AC_OUTPUT ":" syntax
259 * Beginnings of a test suite
260 * Automatically adds -I options for $(srcdir), ".", and path to config.h
261 * Doesn't print anything when running
262 * Beginnings of MAINT_CHARSET support
263 * Can specify version in AUTOMAKE_OPTIONS
264 * Most errors recognizable by Emacs' M-x next-error
265 * Added --verbose option
266 * All "primary" variables now obsolete; use EXTRA_PRIMARY to supply
267   configure-generated names
268 * Required macros now distributed in aclocal.m4
269 * New documentation
270 * --strictness=gnu is default
271 \f
272 New in 0.29:
273 * Many bug fixes
274 * More sophisticated configure.in scanning; now understands ALLOCA and
275   LIBOBJS directly, handles AC_CONFIG_HEADER more precisely, etc.
276 * TEXINFOS and MANS now obsolete; use info_TEXINFOS and man_MANS instead.
277 * CONFIG_HEADER variable now obsolete
278 * Can handle multiple Texinfo sources
279 * Allow hierarchies deeper than 2.  From Gord Matzigkeit.
280 * HEADERS variable no longer needed; now can put .h files directly into
281   foo_SOURCES variable.
282 * Automake automatically rebuilds files listed in AC_OUTPUT.  The
283   corresponding ".in" files are included in the distribution.
284 \f
285 New in 0.28:
286 * Added --gnu and --gnits options
287 * More standards checking
288 * Bug fixes
289 * Cleaned up 'dist' targets
290 * Added AUTOMAKE_OPTIONS variable and several options
291 * Now scans configure.in to get some information (preliminary)
292 \f
293 New in 0.27:
294 * Works with Perl 4 again
295 \f
296 New in 0.26:
297 * Added --install-missing option.
298 * Pretty-prints generated macros and rules
299 * Comments in Makefile.am are placed more intelligently in Makefile.in
300 * Generates .PHONY target
301 * Rule or macro in Makefile.am now overrides contents of Automake file
302 * Substantial cleanups from François Pinard
303 \f
304 New in 0.25:
305 * Bug fixes.
306 * Works with Perl 4 again.
307 \f
308 New in 0.24:
309 * New uniform naming scheme.
310 * --strictness option
311 * Works with Perl 5
312 * '.c' files corresponding to '.y' or '.l' files are automatically
313   distributed.
314 * Many bug fixes and cleanups
315 \f
316 New in 0.23:
317 * Allow objects to be conditionally included in libraries via lib_LIBADD.
318 \f
319 New in 0.22:
320 * Bug fixes in 'clean' code.
321 * Now generates 'installdirs' target.
322 * man page installation reworked.
323 * 'make dist' no longer re-creates all Makefile.in's.
324 \f
325 New in 0.21:
326 * Reimplemented in Perl
327 * Added --amdir option (for debugging)
328 * Texinfo support cleaned up.
329 * Automatic de-ANSI-fication cleaned up.
330 * Cleaned up 'clean' targets.
331 \f
332 New in 0.20:
333 * Automatic dependency tracking
334 * More documentation
335 * New variables DATA and PACKAGEDATA
336 * SCRIPTS installed using $(INSTALL_SCRIPT)
337 * No longer uses double-colon rules
338 * Bug fixes
339 * Changes in advance of internationalization
340
341 -----
342
343 Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
344 Free Software Foundation, Inc.
345
346 This file is part of GNU Automake.
347
348 GNU Automake is free software; you can redistribute it and/or modify
349 it under the terms of the GNU General Public License as published by
350 the Free Software Foundation; either version 2, or (at your option)
351 any later version.
352
353 GNU Automake is distributed in the hope that it will be useful,
354 but WITHOUT ANY WARRANTY; without even the implied warranty of
355 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
356 GNU General Public License for more details.
357
358 You should have received a copy of the GNU General Public License
359 along with autoconf; see the file COPYING.  If not, write to
360 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
361 Boston, MA 02111-1307, USA.