1
0

depend.m4 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # DO_DEPS
  2. # ------------------------------
  3. dnl EGG_CHECK_DEPMODE()
  4. dnl
  5. AC_DEFUN([EGG_CHECK_DEPMODE],
  6. [
  7. CCDEPMODE=gcc
  8. num=`$CXX -dumpversion | [ sed "s/^\([^.]*\).*/\1/" ]`
  9. if [[ "$num" -ge "3" ]]; then
  10. CCDEPMODE=gcc3
  11. GCC3_CFLAGS="-W -Wno-unused-parameter -Wdisabled-optimization -Wno-write-strings -Wno-format-security -Wno-format-y2k"
  12. GCC3_CXXFLAGS="-Woverloaded-virtual"
  13. GCC3DEB="-Wno-disabled-optimization -Wmissing-format-attribute -Wwrite-strings -Wformat -Wformat-security"
  14. fi
  15. AC_SUBST(CCDEPMODE)dnl
  16. AC_SUBST(GCC3_CFLAGS)dnl
  17. AC_SUBST(GCC3_CXXFLAGS)dnl
  18. AC_SUBST(GCC3DEB)dnl
  19. AC_SUBST(GCC4DEB)dnl
  20. ])
  21. AC_DEFUN([DO_DEPS],
  22. [
  23. files="src/Makefile.in"
  24. for mf in $files; do
  25. # Strip MF so we end up with the name of the file.
  26. mf=${mf%%:*}
  27. dirmf=${mf%/*}
  28. rm -f "$dirmf/.deps/includes"
  29. test -d "$dirmf/.deps" || mkdir "$dirmf/.deps"
  30. for file in `sed -n -e '
  31. /^OBJS = .*\\\\$/ {
  32. s/^OBJS = //
  33. :loop
  34. s/\\\\$//
  35. p
  36. n
  37. /\\\\$/ b loop
  38. p
  39. }
  40. /^OBJS = / s/^OBJS = //p' < "$mf"`;
  41. do
  42. dirpart="${dirmf}/${file}"
  43. dirpart="${dirpart%/*}"
  44. if [[ "${dirpart}" != "${dirmf}" ]]; then
  45. test -d "${dirpart}/.deps" || mkdir "${dirpart}/.deps"
  46. fi
  47. file="${file##*/}"
  48. suffix=${file##*.}
  49. base=${file%%.*}
  50. test -f "$dirpart/$base.cc" || test -f "$dirpart/$base.c" || continue
  51. if ! test -f "$dirpart/.deps/$base.Po"; then
  52. echo '# dummy' > "$dirpart/.deps/$base.Po"
  53. #Remove the .o file, because it needs to be recompiled for its dependancies.
  54. if test -f "$dirpart/${base}.${suffix}"; then
  55. rm -f "$dirpart/${base}.${suffix}"
  56. fi
  57. fi
  58. echo "include .${dirpart#${dirmf}}/.deps/$base.Po" >> "${dirmf}/.deps/includes"
  59. done
  60. done
  61. ])