autoconf: 2.69 automake: 1.12.2 libtool: 2.4.2 Hello,
I was writing a C++ library and I think I hit a pretty ugly bug within automake. My library was structured like the following: - src/foo (the header file), - src/foo.cxx (the code). These files assemble a library, let's call it libfoo.la. The problem is that every time I modify src/foo.cxx and call 'make', automake first (correctly) compiles the library, and then mistakenly tries to compile and link it into a program src/foo, either effectively overwriting or removing my header file, or failing early due to missing dependency file. What's interesting, 'make' calls not following src/foo.cxx changes work correctly; just the one after modifying src/foo.cxx fails. Here are the minimal configure.ac & Makefile.am files with which I can reproduce the issue: configure.ac: AC_PREREQ([2.60]) AC_INIT([foo], [0]) AM_INIT_AUTOMAKE([1.6 foreign]) AC_PROG_CXX LT_INIT AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT Makefile.am: include_HEADERS = src/foo lib_LTLIBRARIES = libfoo.la libfoo_la_SOURCES = src/foo.cxx I've also prepared a git repository with the simple test case: git clone https://bitbucket.org/mgorny/automake-cxx-bug.git cd automake-cxx-bug autoreconf -vi ./configure --disable-static make # compiles fine touch src/foo.cxx make # fails Related Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=429972 -- Best regards, Michał Górny
signature.asc
Description: PGP signature