# # # patch ".mtn-ignore" # from [81c942269cb9fa921e5e3353ecc2052bc468abef] # to [05e2eeeebc83f4e8113d3295a4329826f2514229] # # patch "ChangeLog" # from [8b4907da3d82fd46620e4dac390d2637f9d693fa] # to [9e16e739727fcfa26aa4462716cb1c2569ebf1ee] # # patch "configure.ac" # from [5d3a08a99f75eccbf9361d9b98b3515aa863befa] # to [c270c294eef2083466ab8daa4d9d2cf3fbd3738c] # ============================================================ --- .mtn-ignore 81c942269cb9fa921e5e3353ecc2052bc468abef +++ .mtn-ignore 05e2eeeebc83f4e8113d3295a4329826f2514229 @@ -39,3 +39,21 @@ ^po/POTFILES$ ^po/Rules-quot$ ^po/insert-header.sin$ +^aclocal\.m4$ +^m4/codeset\.m4$ +^m4/gettext\.m4$ +^m4/glibc21\.m4$ +^m4/iconv\.m4$ +^m4/intdiv0\.m4$ +^m4/inttypes-pri\.m4$ +^m4/inttypes\.m4$ +^m4/inttypes_h\.m4$ +^m4/isc-posix\.m4$ +^m4/lcmessage\.m4$ +^m4/lib-ld\.m4$ +^m4/lib-link\.m4$ +^m4/lib-prefix\.m4$ +^m4/progtest\.m4$ +^m4/stdint_h\.m4$ +^m4/uintmax_t\.m4$ +^m4/ulonglong\.m4$ ============================================================ --- ChangeLog 8b4907da3d82fd46620e4dac390d2637f9d693fa +++ ChangeLog 9e16e739727fcfa26aa4462716cb1c2569ebf1ee @@ -1,5 +1,12 @@ 2006-07-10 Zack Weinberg + * configure.ac: Add test and workaround for gcc 4.1.[01] bug + causing link to fail with a pile of multiple-definition errors. + * .mtn-ignore: Add aclocal.m4 and all the files in m4/ that + autoreconf --install likes to create. + +2006-07-10 Zack Weinberg + * po/de.po, po/fr.po, po/it.po, po/ja.po, po/pt_BR.po: Re-msgmerge'd. 2006-07-10 Richard Levitte ============================================================ --- configure.ac 5d3a08a99f75eccbf9361d9b98b3515aa863befa +++ configure.ac c270c294eef2083466ab8daa4d9d2cf3fbd3738c @@ -254,6 +254,45 @@ fi fi +# check for the obnoxious gcc 4.1.[01] template static data bug +# (see http://gcc.gnu.org/PR28016) +cv=ac_cv_prog_cxx_`echo $CXX | tr -c A-Za-z0-9_ _`_template_static_const_ok + +code=' +template struct S { static const bool B; }; +template const bool S::B = true;' + +codeA=" +$code +int foo() { return 0; }" + +codeB=" +$code +extern int foo(); +int main() { return foo(); }" + +AC_CACHE_CHECK( + [whether $CXX handles templates with static const members correctly], + $cv, + [AC_LANG_PUSH([C++]) + # Autoconf doesn't make it easy to do a test involving + # linking two files. This is the best way I know of. + AC_COMPILE_IFELSE([$codeA], + [mv conftest.$ac_objext conftestA.$ac_objext + save_LIBS="$LIBS" + LIBS=conftestA.$ac_objext + AC_LINK_IFELSE([$codeB], + [eval $cv=yes], + [eval $cv=no]) + LIBS="$save_LIBS"], + [eval $cv=no]) + AC_LANG_POP([C++])]) +if eval "test x\"\${$cv}\" = xno"; then + # ??? This is the correct workaround for g++ and gnu ld, but maybe not + # for others. (But this is a GNU-specific bug, so...) + LDFLAGS="$LDFLAGS -Wl,-z,muldefs" +fi + # check for precompiled headers option AC_ARG_ENABLE(pch, AS_HELP_STRING([--enable-pch],