diff options
Diffstat (limited to 'sntp/m4/ntp_vpathhack.m4')
-rw-r--r-- | sntp/m4/ntp_vpathhack.m4 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sntp/m4/ntp_vpathhack.m4 b/sntp/m4/ntp_vpathhack.m4 new file mode 100644 index 0000000..7099fe8 --- /dev/null +++ b/sntp/m4/ntp_vpathhack.m4 @@ -0,0 +1,43 @@ +dnl ###################################################################### +dnl NTP_VPATH_HACK +dnl +dnl Compiling ntpd doesn't require YACC or Bison unless ntp_parser.y is +dnl modified, because the output ntp_parser.[ch] are committed. This +dnl raises an issue with Automake-generated Makefiles on non-GNU make +dnl used from a build tree outside the source tree. +dnl +dnl With GNU make, ylwrap updates $srcdir/ntp_parser.[ch] directly. +dnl Under Sun or BSD make, ylwrap needs those files to be in the build +dnl tree. +dnl +dnl With VPATH_HACK enabled, ntpd/Makefile.am includes code to symlink +dnl from ntp_parser.[ch] in the build tree to the corresponding files +dnl in $srcdir, and to check for ylwrap replacing the .h with a normal +dnl file, and in that case copy the updated .h to $srcdir and restore +dnl the symlink. +dnl +dnl if we are building outside the srcdir and either +dnl force_ntp_vpath_hack is yes +dnl or +dnl we're not using GNU make +dnl then we want VPATH_HACK to be true for .am tests +dnl +AC_DEFUN([NTP_VPATH_HACK], [ +AC_MSG_CHECKING([to see if we need ylwrap VPATH hack]) +ntp_vpath_hack="no" +case "$srcdir::${force_ntp_vpath_hack-no}" in + .::*) + ;; # VPATH_HACK path is for VPATH builds only. + *::yes) + ntp_vpath_hack="yes" + ;; + *::*) + case "`${MAKE-make} -v -f /dev/null 2>/dev/null | grep 'GNU Make'`" in + '') + ntp_vpath_hack="yes" + esac +esac +AC_MSG_RESULT([$ntp_vpath_hack]) +AM_CONDITIONAL([VPATH_HACK], [test x$ntp_vpath_hack = xyes]) +]) +dnl ====================================================================== |