2
0

ext2.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/sh
  2. # Copyright (C) 2002-2017 Free Software Foundation, Inc.
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. # Regression test for a bug reported by Ladislav Strojil.
  17. # Using different extensions for the same language should not
  18. # output the build rules several times.
  19. . test-init.sh
  20. cat >>configure.ac <<EOF
  21. AC_PROG_CXX
  22. EOF
  23. cat >Makefile.am <<EOF
  24. AUTOMAKE_OPTIONS = subdir-objects
  25. bin_PROGRAMS = p q r
  26. p_SOURCES = a.cc b.cpp c.cxx
  27. q_SOURCES = sub/d.cc sub/e.cpp sub/f.cxx
  28. r_SOURCES = g.cc h.cpp i.cxx
  29. r_CXXFLAGS = -DFOO
  30. EOF
  31. $ACLOCAL
  32. $AUTOMAKE
  33. grep '\.o:' Makefile.in > rules
  34. cat rules
  35. # Here is an example of bogus output. The rules are output several
  36. # times.
  37. #| .cc.o:
  38. #| d.o: sub/d.cc
  39. #| e.o: sub/e.cpp
  40. #| f.o: sub/f.cxx
  41. #| r-g.o: g.cc
  42. #| r-h.o: h.cpp
  43. #| r-i.o: i.cxx
  44. #| .cpp.o:
  45. #| d.o: sub/d.cc
  46. #| e.o: sub/e.cpp
  47. #| f.o: sub/f.cxx
  48. #| r-g.o: g.cc
  49. #| r-h.o: h.cpp
  50. #| r-i.o: i.cxx
  51. #| .cxx.o:
  52. #| #d.o: sub/d.cc
  53. #| #e.o: sub/e.cpp
  54. #| #f.o: sub/f.cxx
  55. #| #r-g.o: g.cc
  56. #| #r-h.o: h.cpp
  57. #| #r-i.o: i.cxx
  58. # Bail out if we find a duplicate.
  59. $PERL -ne 'if (exists $a{$_}) { exit (1) } else { $a{$_} = 1 }' < rules