]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
intl: Work around LCOV relative base directory resolution
authorDaiki Ueno <ueno@gnu.org>
Wed, 3 Dec 2014 06:14:44 +0000 (15:14 +0900)
committerDaiki Ueno <ueno@gnu.org>
Wed, 3 Dec 2014 06:15:44 +0000 (15:15 +0900)
* gettext-runtime/intl/Makefile.in (plural.lo): Resolve relative
source file name given with '#line' directive, when $(srcdir) !=
$(builddir).
(mostlyclean): Remove plural.c generated in the 'plural.lo' rule.
* gettext-tools/src/plural-exp.c: Include "../intl/plural.c" instead
of "../../gettext-runtime/intl/plural.c".

gettext-runtime/intl/ChangeLog
gettext-runtime/intl/Makefile.in
gettext-tools/src/ChangeLog
gettext-tools/src/plural-exp.c

index 29c2de40bad4294adfc4d50cd85c63cf3e327bd1..d4cc23b10131e11eee689f0a181ef9b6a57fdf78 100644 (file)
@@ -1,3 +1,10 @@
+2014-12-03  Daiki Ueno  <ueno@gnu.org>
+
+       intl: Work around LCOV relative base directory resolution
+       * Makefile.in (plural.lo): Resolve relative source file name given
+       with '#line' directive, when $(srcdir) != $(builddir).
+       (mostlyclean): Remove plural.c generated in the 'plural.lo' rule.
+
 2014-10-15  Daiki Ueno  <ueno@gnu.org>
 
        * gettext 0.19.3 released.
index 2c9312629ab5d4ebe68a88684a8f6489e30bdd68..836a867704ea340262c4a02ce310c8739dcbb6aa 100644 (file)
@@ -277,8 +277,13 @@ dngettext.lo: $(srcdir)/dngettext.c
        $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/dngettext.c
 ngettext.lo: $(srcdir)/ngettext.c
        $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/ngettext.c
+# $(srcdir)/plural.c contains a relative file name of the Bison source.
+# That could mess up gcov when the C source file is referred to from a
+# different base directory.
 plural.lo: $(srcdir)/plural.c
-       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/plural.c
+       $(AM_V_GEN)test "$(srcdir)" = . || \
+         sed -e 's|^#line \([0-9]*\) "\(plural\.[cy]\)"|#line \1 "$(srcdir)/\2"|' < $(srcdir)/plural.c > plural.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) plural.c
 plural-exp.lo: $(srcdir)/plural-exp.c
        $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
 localcharset.lo: $(srcdir)/localcharset.c
@@ -616,6 +621,7 @@ mostlyclean:
        rm -f *.a *.la *.o *.obj *.lo core core.*
        rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
        rm -f -r .libs _libs
+       test "$(srcdir)" = . || rm -f plural.c
 
 clean: mostlyclean
 
index 5be4e4432372cebd497c0e0271248e3c9f7d272a..5615a0915352bd4fa66eead4f931a1b357af597a 100644 (file)
@@ -1,3 +1,9 @@
+2014-12-03  Daiki Ueno  <ueno@gnu.org>
+
+       intl: Work around LCOV relative base directory resolution
+       * plural-exp.c: Include "../intl/plural.c" instead of
+       "../../gettext-runtime/intl/plural.c".
+
 2014-12-02  Daiki Ueno  <ueno@gnu.org>
 
        c: Minor cleanup of the previous commit
index 919c69c77e0909e9952ee24a081222d2cea725c2..34bc4356509e5e3364ac0de01a2e10c1f0f5230e 100644 (file)
@@ -17,5 +17,5 @@
 
 /* Include the expression parsing code from libintl, with different function
    names.  */
-#include "../../gettext-runtime/intl/plural.c"
+#include "../intl/plural.c"
 #include "../../gettext-runtime/intl/plural-exp.c"