home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / maths / plplot / plplot_2 / cf / aclocal.m4 next >
Encoding:
M4 Source File  |  1994-09-01  |  4.5 KB  |  111 lines

  1. dnl> $Id: aclocal.m4,v 1.1 1994/09/01 18:47:21 mjl Exp $
  2. dnl> 
  3. dnl> Local autoconf extensions.  These are based on the autoconf builtin
  4. dnl> macros, and you can do what you want with them.  Side note: if you
  5. dnl> introduce all comments as done here, the m4 file is more readable and
  6. dnl> you can do emacs adaptive fills.
  7. dnl> 
  8. dnl> Maurice LeBrun
  9. dnl> IFS, University of Texas at Austin
  10. dnl> 14-Jul-1994
  11. dnl> ------------------------------------------------------------------------
  12. dnl> It's kind of nice to have an include macro.
  13. dnl> 
  14. define([AC_INCLUDE],[builtin([include],$*)])dnl
  15. dnl> ------------------------------------------------------------------------
  16. dnl> This quicky is good during development, e.g. AC_IGNORE([ ... ]) to
  17. dnl> ignore everything inside the brackets.
  18. dnl>
  19. define([AC_IGNORE],)dnl
  20. dnl> ------------------------------------------------------------------------
  21. dnl> Guess the value for the `prefix' variable by looking for the argument
  22. dnl> program along PATH and taking its parent.  Example: if the argument
  23. dnl> is `gcc' and we find /usr/local/gnu/bin/gcc, set `prefix' to
  24. dnl> /usr/local/gnu.  Unlike the builtin AC_PREFIX, this one tries to
  25. dnl> follow any symbolic links back to their terminus, and also determines
  26. dnl> if a non-standard installation is being used.  It works as follows:
  27. dnl>
  28. dnl>      prefix=`ls -l $ac_dir/$1 | awk '{print $NF}'`
  29. dnl>
  30. dnl> This stores the last space-delimited field of a long directory
  31. dnl> list of the file in quesion into "prefix".  If the file is really
  32. dnl> a softlink, this will be the actual file location, unless that
  33. dnl> points to yet another link (and if so, tough luck).
  34. dnl>
  35. dnl>    prefix=`echo $prefix | sed 's%/[^/][^/]*$%%'`
  36. dnl>
  37. dnl> This strips off the last part of the file name.  "prefix" should
  38. dnl> now hold the absolute pathname of the containing directory.
  39. dnl>
  40. dnl>    dirname=`echo $prefix | sed 's%/.*/%%'`
  41. dnl>
  42. dnl> This strips off the last "/"-delimited field and stores into
  43. dnl> "dirname".  
  44. dnl>
  45. dnl>    if test $dirname = "bin"; then
  46. dnl>        prefix=`echo $prefix | sed 's%/[^/][^/]*$%%'`
  47. dnl>    fi
  48. dnl>
  49. dnl> This tests to see if the immediate parent of the file is named "bin"
  50. dnl> as is customary.  If so, the "bin" is stripped off to get the actual
  51. dnl> prefix.  If not, the prefix is left alone, and a warning is issued.
  52. dnl>
  53. define([AC_PREFIX],
  54. [if test -z "$prefix"
  55. then
  56.   AC_CHECKING([for $1 to derive installation directory prefix])
  57.   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="$IFS:"
  58.   for ac_dir in $PATH; do
  59.     test -z "$ac_dir" && ac_dir=.
  60.     if test $ac_dir != . && test -f $ac_dir/$1; then
  61. changequote(,)dnl
  62.       # Not all systems have dirname.
  63.       prefix=`ls -l $ac_dir/$1 | awk '{print $NF}'`
  64.       prefix=`echo $prefix | sed 's%/[^/][^/]*$%%'`
  65.       dirname=`echo $prefix | sed 's%/.*/%%'`
  66.       if test $dirname = "bin"; then
  67.         prefix=`echo $prefix | sed 's%/[^/][^/]*$%%'`
  68.       else
  69.         echo ""
  70.     echo "dirname is: $dirname"
  71.         echo "Warning: Non-standard installed distribution ($1 not stored under bin)."
  72.         echo "Please completely delete old files before installation."
  73.       fi
  74. changequote([,])dnl
  75.       break
  76.     fi
  77.   done
  78.   IFS="$ac_save_ifs"
  79.   AC_VERBOSE(chose installation directory prefix ${prefix})
  80. fi
  81. ])dnl
  82. dnl> ------------------------------------------------------------------------
  83. dnl> Fixed version of AC_ISC_POSIX: /etc/conf/kconfig.d doesn't need to
  84. dnl> exist for it to be POSIX.  Furthermore, unistd.h is in /usr/include
  85. dnl> on some systems, not /usr/include/sys.  Also, the distributed version
  86. dnl> of AC_ISC_POSIX sets the value of CC (to be $CC -posix or $CC -Xp,
  87. dnl> which is a bad idea: these choices are not particularly portable and
  88. dnl> it overrides whatever the user may have set for CC.
  89. dnl>
  90. define([AC_ISC_POSIX],
  91. [AC_PROVIDE([$0])AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_CHECKING(for POSIXized ISC)
  92. if \
  93.      grep _POSIX_VERSION [/usr/include/unistd.h] >/dev/null 2>&1 ||
  94.      grep _POSIX_VERSION [/usr/include/sys/unistd.h] >/dev/null 2>&1
  95. then
  96.   echo "yup, it's POSIX"
  97.   ISC=1 # If later tests want to check for ISC.
  98.   AC_DEFINE(_POSIX_SOURCE)
  99. else
  100.  echo "nope, not POSIX"
  101. fi
  102. ])dnl
  103. dnl> ------------------------------------------------------------------------
  104. dnl> Some X11 headers require "caddr_t" even though on a POSIX.1 system
  105. dnl> this is illegal.  This macro defines it if not already typedef'ed.
  106. dnl>
  107. define(AC_CADDR_T,
  108. [AC_PROVIDE([$0])AC_CHECKING(for caddr_t in sys/types.h)
  109. AC_HEADER_EGREP(caddr_t, sys/types.h, , AC_DEFINE(caddr_t, char *))])dnl
  110. dnl
  111.