On Sunday 2013-01-13 19:59, Yann E. MORIN wrote: >> >printf "Running libtoolize...\n" >> >libtoolize --copy --force >> >printf "Running aclocal...\n" >> >aclocal -Wall --force >> >> Not again. autoreconf has existed for so long, why are people still >> hand-coding the boilerplate? > >(Note: this is my very first completely autotools-based package.) >First, I have to admit that I looked at how other packages do it, and >I mimicked what they do, rather than invent my own. Ok, sensible. Yes, a lot of other packages make bad examples :( Let's hope for them to be still alive and updated when automake 1.14 is out - it will remove and flag out some terribly old remnants. >Second, I know of autoreconf, but it does not work for 'foreign' packages >(ie. packages that do not have the NEWS and Changelog files, for example): > >[--SNIP--] >Makefile.am: required file `./NEWS' not found >Makefile.am: required file `./ChangeLog' not found >[--SNIP--] > >I do not have a need for such files in this package. So, it is a 'foreign' >package, and must be handled as such by automake. > >How does one autoreconf a 'foreign' package? Surely, just that: AM_INIT_AUTOMAKE([foreign]) >> > By default, do not build with -Wall, unless the user asks for it >> >> There normally is no excuse for not using -Wall by default, >> save for trying to compile it with msvc. > >Sorry, did you mean: "-Wall should be the default" ? Indeed. >Yes, I was thinking of building with -Wall by default once the packaging >would be a bit more stable. Now seems like a good time to add this. > >> >AC_HEADER_STDC >> >AC_HEADER_STDBOOL >> >AC_CHECK_HEADERS([ fcntl.h limits.h locale.h ]) >> >AC_CHECK_HEADERS([ stdlib.h string.h sys/time.h unistd.h ]) >> >AC_TYPE_SIZE_T >> >AC_FUNC_MALLOC >> >AC_FUNC_REALLOC >> >AC_FUNC_ALLOCA >> >AC_CHECK_FUNCS([ bzero memmove memset ]) >> >AC_CHECK_FUNCS([ strcasecmp strchr strcspn strdup strncasecmp strpbrk strrchr >> >strspn strtol ]) >> >AC_CHECK_FUNCS([ gettimeofday mkdir regcomp setlocale uname ]) >> >> All of this seems pointless because you never use the results >> (HAVE_FCNTL_H, HAVE_LIMITS_H, etc.) > >Right. This is the output of autoscan. I find that program quite useless.. >As I see it, the only action we could take is to bail out if any is missing. >Is this what you meant? You could do that, though I would simply direct users to read the compiler error message. That enhances (hopefully) both their knowledge on compiling, and reduces the walltime configure runs. If I understood right, kconfig-frontends is supposed to run on non-Linux too, and I have yet to see a modern platform that's missing any of the stdc functions like malloc and strchr. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html