Help with automake/autoconf
Andrew Li [EMAIL PROTECTED] wrote: I am newbie in using automake/autoconf programs. I am running into the following problem. Any help is really appreciated I initially had a working system in my machine, with autoconf version 2.13 Then when I created new source(.c) files in my tree, I read the documentation to generate new makefiles. It says to modify the Makefile.am file and then run automake. Since I did not have automake in my machine, I had to install the latest version of automake. During the process I was asked to install autoconf version 2.52 or later. So had to get version 2.52. Now I ran automake, followed by autoconf which gives me the following error: configure.in:17: error: possibly undefined macro: dnl I am doing somethin wrong. Any help is really appreciated. thanks AL Do You Yahoo!?Try FREE Yahoo! Mail - the world's greatest free email!Do You Yahoo!? Try FREE Yahoo! Mail - the world's greatest free email!
[patch] mkinstalldirs used conditionally
I sent a link to my patch a week ago, but I didn't see any reply. Is there anything wrong with this patch? Regards, Roger diff -urN automake/lib/am/data.am automake-new/lib/am/data.am --- automake/lib/am/data.am Fri Nov 9 16:25:03 2001 +++ automake-new/lib/am/data.am Fri Mar 1 23:26:36 2002 -28,7 +28,9 ?!EXEC?.PHONY install-data-am: install-%DIR%%PRIMARY% install-%DIR%%PRIMARY%: $(%DIR%_%PRIMARY%) $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + if test -n '$(%DIR%_%PRIMARY%)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \ diff -urN automake/lib/am/java.am automake-new/lib/am/java.am --- automake/lib/am/java.am Wed May 30 03:02:50 2001 +++ automake-new/lib/am/java.am Sat Mar 2 00:39:10 2002 -42,7 +42,9 ?!EXEC?.PHONY install-data-am: install-%DIR%JAVA install-%DIR%JAVA: class%DIR%.stamp $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + if test -n '$(%DIR%_JAVA)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi ## A single .java file can be compiled into multiple .class files. So ## we just install all the .class files that got built into this ## directory. This is not optimal, but will have to do for now. diff -urN automake/lib/am/libs.am automake-new/lib/am/libs.am --- automake/lib/am/libs.am Thu Jun 28 16:06:50 2001 +++ automake-new/lib/am/libs.am Fri Mar 1 23:26:36 2002 -37,7 +37,9 ?!EXEC?.PHONY install-data-am: install-%DIR%LIBRARIES install-%DIR%LIBRARIES: $(%DIR%_LIBRARIES) $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + if test -n '$(%DIR%_LIBRARIES)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_LIBRARIES)'; for p in $$list; do \ diff -urN automake/lib/am/lisp.am automake-new/lib/am/lisp.am --- automake/lib/am/lisp.am Fri Nov 9 16:25:03 2001 +++ automake-new/lib/am/lisp.am Fri Mar 1 23:26:36 2002 -44,7 +44,9 $(NORMAL_INSTALL) ## lispdir might not be defined. if test -n $(lispdir); then \ - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + if test -n '$(%DIR%_LISP)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi; \ ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_LISP)'; for p in $$list; do \ diff -urN automake/lib/am/ltlib.am automake-new/lib/am/ltlib.am --- automake/lib/am/ltlib.amMon Apr 9 10:50:33 2001 +++ automake-new/lib/am/ltlib.amFri Mar 1 23:26:36 2002 -27,7 +27,9 ?!EXEC?.PHONY install-data-am: install-%DIR%LTLIBRARIES install-%DIR%LTLIBRARIES: $(%DIR%_LTLIBRARIES) $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + if test -n '$(%DIR%_LTLIBRARIES)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_LTLIBRARIES)'; for p in $$list; do \ diff -urN automake/lib/am/mans.am automake-new/lib/am/mans.am --- automake/lib/am/mans.am Sun May 6 06:40:47 2001 +++ automake-new/lib/am/mans.am Sat Mar 2 00:43:25 2002 -31,7 +31,6 .PHONY install-man: install-man%SECTION% install-man%SECTION%: $(man%SECTION%_MANS) $(man_MANS) $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man%SECTION%dir) list='$(man%SECTION%_MANS) $(dist_man%SECTION%_MANS) $(nodist_man%SECTION%_MANS)'; \ ## Extract all items from man_MANS that should go in this section. ## This must be done dynamically to support conditionals. -42,6 +41,10 *.%SECTION%*) list=$$list $$i ;; \ esac; \ done; \ +## Make the installation directory if there are MANS to install + if test -n `echo $$list | sed -e 's/ //g'`; then \ + $(mkinstalldirs) $(DESTDIR)$(man%SECTION%dir); \ + fi; \ for i in $$list; do \ ## Find the file. if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ diff -urN automake/lib/am/progs.am automake-new/lib/am/progs.am --- automake/lib/am/progs.amSun Jul 22 22:50:18 2001 +++ automake-new/lib/am/progs.amFri Mar 1 23:26:36 2002 -28,7 +28,9 ?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS) $(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + if test -n '$(%DIR%_PROGRAMS)'; then \ + $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + fi ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_PROGRAMS)'; for p in $$list; do \ diff -urN automake/lib/am/python.am
Patches submitted in February (and Re: COPYING.LIB in --gnits mode)
Is there more interest for my February patches (COPYING.LESSER, shtool, PDF support) now that Automake 1.6 has been released and, I guess, 1.7 development has been opened? And also, re. COPYING.LESSER: yes, COPYING.LESSER is not widespread outside GNU packages, but I did receive mail from rms around 2000 asking me to switch to the Lesser GPL (version 2.1) and consequently to change the file name. Making the switch easier (by automatically distributing COPYING.LESSER) for people using automake, or hinting people at it by issuing a warning in --gnu mode (and an error in --gnits mode), might be considered good. Paolo
Autoconf 2.53 is released
The Autoconf team is extremely pleased to announce Autoconf 2.53. We hope it will address your problems, and make your life easier. Enjoy! Akim, Alexandre, Jim, Paul, Tom. ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.53.tar.gz (973 kB) ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.53.tar.bz2 (743 kB) And here are xdelta-style diffs ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.52-2.53.xdelta (215 kB) Here are the MD5 and SHA1 signatures for the compressed tar files: 42948310deb847982004a3b0d936f7bb autoconf-2.53.tar.gz c121b003f51e293c2bf5a6105c721388 autoconf-2.53.tar.bz2 a9fe8460b4ed6f279f3d3f8a73eb39b19e93dc98 autoconf-2.53.tar.gz c99aa737c0fe24c1cfcf0701e614e69f3ff07209 autoconf-2.53.tar.bz2 NEWS: ** Requirements Perl 5.005_03 or later is required: autom4te is written in Perl and is needed by autoconf. autoheader, autoreconf, ifnames, and autoscan are rewritten in Perl. ** Documentation - AC_INIT Argument requirements, output variables, defined macros. - M4sugar, M4sh, Autotest First sketch. - Double quoting macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN. - Licensing The Autoconf manual is now distributed under the terms of the GNU FDL. - Section `Hosts and Cross-Compilation' Explains the rationale for the 2.5x changes in the cross-compilation chain, and in the relationships between build, host, and target types. Emphasizes that `cross-compilation' == `--host is given'. If you are working on compilers etc., be sure to read this section. - Section `AC_LIBOBJ vs. LIBOBJS' Explains why assigning LIBOBJS directly is now an error. Details how to update the code. ** configure - $LINENO Now used instead of hard coded line numbers. This eases the comparison of `configure's, and diminishes the pressure over control version archives. Automatic replacement for shells that don't support this feature. - New output variables builddir, top_builddir, abs_srcdir, abs_top_srcdir, abs_builddir, abs_top_builddir@. ** Emacs Autoconf and Autotest modes are provided. ** Executables - autom4te New, used by the Autoconf suite to cache and speed up most processing. - --force, -f Supported by autom4te, autoconf and autoheader. - --include, -I Replaces --autoconf-dir and --localdir in autoconf, autoheader, autoupdate, and autoreconf. - autoreconf No longer passes --cygnus, --foreign, --gnits, --gnu, --include-deps: automake options are to be given via AUTOMAKE_OPTIONS. - autoreconf Runs gettextize and libtoolize when appropriate. - autoreconf --m4dir is no longer supported. - autoreconf Now runs only in the specified directories, defaulting to `.', but understands AC_CONFIG_SUBDIRS for dependent directories. Before, it used to run on all the `configure.ac' found in the current tree. Independent packages are properly updated. ** Bug fixes - The top level $prefix is propagated to the AC_CONFIG_SUBDIRS configures. - AC_TRY_RUN Under the user pressure, $? is finally available. Probably a mistake. - AC_F77_LIBRARY_LDFLAGS now supports the HP/UX f90 compiler. - Precious variables accumulation config.status could stack several copies of the precious variables assignments. - AC_PATH_PROG and family. Works properly when given a literal path. - AC_FUNC_SETPGRP Somewhere since 2.13, the result had been reversed. ** C Macros - AC_C_BIGENDIAN supports the cross-compiling case. - AC_C_BIGENDIAN accepts ACTION-IF-TRUE, ACTION-IF-FALSE, and ACTION-IF-UNKNOWN arguments. All are facultative, and the default for ACTION-IF-TRUE is to define WORDS_BIGENDIAN like AC_C_BIGENDIAN always did. - AC_C_LONG_DOUBLE now succeeds only if `long double' has more range or precision than `double'. ** Generic macros - AC_INIT It now defines the preprocessor symbols PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING, and PACKAGE_BUGREPORT. - AC_INIT Admits a fourth optional parameter: the tar name. - AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS. Provide the user with srcdir, ac_srcdir, ac_top_srcdir, ac_builddir, ac_top_builddir, ac_abs_srcdir, ac_abs_top_srcdir, ac_abs_builddir, ac_abs_top_builddir. - AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS and AC_OUTPUT. Are much less expensive when using long lists of files. - AC_PREFIX_PROGRAM Works with shell variables, and non alphanumeric names. ** Library macros - AC_FUNC_STRERROR_R now sets STRERROR_R_CHAR_P, not HAVE_WORKING_STRERROR_R, because POSIX 1003.1-200x draft 7 says strerror_r returns int, not char *. - AC_FUNC_STRTOD substitutes POW_LIB. - AC_FUNC_STRNLEN New.
Re: Autoconf 2.53 is released
Akim Demaille wrote: The Autoconf team is extremely pleased to announce Autoconf 2.53. We hope it will address your problems, and make your life easier. - Double quoting macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN. FYI: this will teach me for upgrading without thorough testing. I double quoted the program arguments like you said I should, only to find that when I upgraded I was overquoted and it trashed *my* release. In the future, I cannot recommend strongly enough that when you change interfaces like this, CHANGE THE NAME, TOO!
Re: Autoconf 2.53 is released
On Fri, Mar 08, 2002 at 05:57:52PM -0800, Bruce Korb wrote: Akim Demaille wrote: The Autoconf team is extremely pleased to announce Autoconf 2.53. We hope it will address your problems, and make your life easier. - Double quoting macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN. FYI: this will teach me for upgrading without thorough testing. I double quoted the program arguments like you said I should, only to find that when I upgraded I was overquoted and it trashed *my* release. In the future, I cannot recommend strongly enough that when you change interfaces like this, CHANGE THE NAME, TOO! There must be some confusion here. The section of the NEWS file you are quoting here refers to the documentation changes: 2.53 documents what macros are double quoting (as oppposed to the rest of Autoconf), because we cannot change the interface for backward compatibility. Thanks.