aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOllivier Robert <roberto@FreeBSD.org>2000-01-28 14:55:50 +0000
committerOllivier Robert <roberto@FreeBSD.org>2000-01-28 14:55:50 +0000
commita151a66c2a1c722d095dfdd6a06d8acd74a03253 (patch)
tree98efdf1b74d6ecb7828bb502a0350116eeb2fd3c
parentc0b746e5e8d9479f05b3749cbf1f73b8928719bd (diff)
downloadsrc-a151a66c2a1c722d095dfdd6a06d8acd74a03253.tar.gz
src-a151a66c2a1c722d095dfdd6a06d8acd74a03253.zip
Virgin import of ntpd 4.0.99b
Notes
Notes: svn path=/vendor/ntp/dist/; revision=56746
-rw-r--r--contrib/ntp/COPYRIGHT214
-rw-r--r--contrib/ntp/ChangeLog620
-rw-r--r--contrib/ntp/Makefile.in96
-rw-r--r--contrib/ntp/NEWS15
-rw-r--r--contrib/ntp/README.des1
-rw-r--r--contrib/ntp/acconfig.h103
-rw-r--r--contrib/ntp/aclocal.m4240
-rw-r--r--contrib/ntp/adjtimed/Makefile.in86
-rwxr-xr-xcontrib/ntp/build12
-rw-r--r--contrib/ntp/clockstuff/Makefile.in98
-rwxr-xr-xcontrib/ntp/config.guess18
-rw-r--r--contrib/ntp/config.h.in107
-rwxr-xr-xcontrib/ntp/config.sub11
-rwxr-xr-xcontrib/ntp/configure2204
-rw-r--r--contrib/ntp/configure.in134
-rwxr-xr-xcontrib/ntp/depcomp269
-rw-r--r--contrib/ntp/html/audio.htm153
-rw-r--r--contrib/ntp/html/build.htm24
-rw-r--r--contrib/ntp/html/copyright.htm217
-rw-r--r--contrib/ntp/html/driver30.htm82
-rw-r--r--contrib/ntp/html/driver35.htm82
-rw-r--r--contrib/ntp/html/driver36.htm839
-rw-r--r--contrib/ntp/html/driver37.htm75
-rw-r--r--contrib/ntp/html/driver6.htm431
-rw-r--r--contrib/ntp/html/driver7.htm792
-rw-r--r--contrib/ntp/html/driver8.htm26
-rw-r--r--contrib/ntp/html/hints/solaris-dosynctodr.html320
-rw-r--r--contrib/ntp/html/hints/solaris.html8
-rw-r--r--contrib/ntp/html/hints/solaris.xtra.S99ntpd1
-rw-r--r--contrib/ntp/html/hints/winnt.htm315
-rw-r--r--contrib/ntp/html/index.htm6
-rw-r--r--contrib/ntp/html/monopt.htm618
-rw-r--r--contrib/ntp/html/notes.htm27
-rw-r--r--contrib/ntp/html/ntpd.htm18
-rw-r--r--contrib/ntp/html/pps.htm25
-rw-r--r--contrib/ntp/html/qth.htm64
-rw-r--r--contrib/ntp/html/refclock.htm83
-rw-r--r--contrib/ntp/html/tickadj.htm4
-rw-r--r--contrib/ntp/include/Makefile.am2
-rw-r--r--contrib/ntp/include/Makefile.in41
-rw-r--r--contrib/ntp/include/audio.h13
-rwxr-xr-xcontrib/ntp/include/icom.h87
-rw-r--r--contrib/ntp/include/l_stdlib.h4
-rw-r--r--contrib/ntp/include/ntp.h11
-rw-r--r--contrib/ntp/include/ntp_refclock.h4
-rw-r--r--contrib/ntp/kernel/Makefile.in40
-rw-r--r--contrib/ntp/kernel/sys/Makefile.in39
-rw-r--r--contrib/ntp/libntp/Makefile.am5
-rw-r--r--contrib/ntp/libntp/Makefile.in505
-rw-r--r--contrib/ntp/libntp/audio.c154
-rw-r--r--contrib/ntp/libntp/authkeys.c2
-rw-r--r--contrib/ntp/libntp/clocktypes.c18
-rw-r--r--contrib/ntp/libntp/icom.c329
-rw-r--r--contrib/ntp/libntp/recvbuff.c18
-rw-r--r--contrib/ntp/libntp/syssignal.c10
-rw-r--r--contrib/ntp/libntp/systime.c58
-rw-r--r--contrib/ntp/libparse/Makefile.am91
-rw-r--r--contrib/ntp/libparse/Makefile.in337
-rw-r--r--contrib/ntp/libparse/clk_computime.c7
-rw-r--r--contrib/ntp/libparse/clk_dcf7000.c7
-rw-r--r--contrib/ntp/libparse/clk_hopf6021.c7
-rw-r--r--contrib/ntp/libparse/clk_meinberg.c7
-rw-r--r--contrib/ntp/libparse/clk_rawdcf.c47
-rw-r--r--contrib/ntp/libparse/clk_rcc8000.c7
-rw-r--r--contrib/ntp/libparse/clk_schmid.c7
-rw-r--r--contrib/ntp/libparse/clk_trimtaip.c7
-rw-r--r--contrib/ntp/libparse/clk_trimtsip.c7
-rw-r--r--contrib/ntp/libparse/data_mbg.c2
-rw-r--r--contrib/ntp/libparse/parse.c9
-rw-r--r--contrib/ntp/libparse/parse_conf.c7
-rw-r--r--contrib/ntp/libparse/parsesolaris.c6
-rw-r--r--contrib/ntp/libparse/parsestreams.c13
-rw-r--r--contrib/ntp/librsaref/Makefile.in122
-rwxr-xr-xcontrib/ntp/missing130
-rwxr-xr-xcontrib/ntp/mkinstalldirs20
-rw-r--r--contrib/ntp/ntpd/Makefile.am29
-rw-r--r--contrib/ntp/ntpd/Makefile.in629
-rw-r--r--contrib/ntp/ntpd/map_vme.c2
-rw-r--r--contrib/ntp/ntpd/ntp_control.c3
-rw-r--r--contrib/ntp/ntpd/ntp_intres.c2
-rw-r--r--contrib/ntp/ntpd/ntp_io.c46
-rw-r--r--contrib/ntp/ntpd/ntp_loopfilter.c31
-rw-r--r--contrib/ntp/ntpd/ntp_proto.c500
-rw-r--r--contrib/ntp/ntpd/ntp_refclock.c27
-rw-r--r--contrib/ntp/ntpd/ntpd.c71
-rw-r--r--contrib/ntp/ntpd/refclock_atom.c8
-rw-r--r--contrib/ntp/ntpd/refclock_chu.c720
-rw-r--r--contrib/ntp/ntpd/refclock_conf.c29
-rw-r--r--contrib/ntp/ntpd/refclock_fg.c350
-rw-r--r--contrib/ntp/ntpd/refclock_gpsvme.c51
-rw-r--r--contrib/ntp/ntpd/refclock_irig.c164
-rw-r--r--contrib/ntp/ntpd/refclock_jupiter.c11
-rw-r--r--contrib/ntp/ntpd/refclock_msfees.c36
-rw-r--r--contrib/ntp/ntpd/refclock_mx4200.c76
-rw-r--r--contrib/ntp/ntpd/refclock_nmea.c7
-rw-r--r--contrib/ntp/ntpd/refclock_oncore.c561
-rw-r--r--contrib/ntp/ntpd/refclock_palisade.c1
-rw-r--r--contrib/ntp/ntpd/refclock_parse.c284
-rw-r--r--contrib/ntp/ntpd/refclock_pcf.c215
-rw-r--r--contrib/ntp/ntpd/refclock_shm.c8
-rw-r--r--contrib/ntp/ntpd/refclock_wwv.c2754
-rw-r--r--contrib/ntp/ntpd/refclock_wwvb.c2
-rw-r--r--contrib/ntp/ntpdate/Makefile.in108
-rw-r--r--contrib/ntp/ntpdate/ntpdate.c104
-rw-r--r--contrib/ntp/ntpdc/Makefile.in96
-rw-r--r--contrib/ntp/ntpq/Makefile.in95
-rw-r--r--contrib/ntp/ntpq/ntpq.c2
-rw-r--r--contrib/ntp/ntpq/ntpq_ops.c20
-rw-r--r--contrib/ntp/ntptrace/Makefile.in87
-rw-r--r--contrib/ntp/ntptrace/ntptrace.c1
-rw-r--r--contrib/ntp/parseutil/Makefile.in101
-rw-r--r--contrib/ntp/scripts/Makefile.in14
-rw-r--r--contrib/ntp/scripts/README7
-rwxr-xr-xcontrib/ntp/scripts/freq_adj97
-rwxr-xr-xcontrib/ntp/scripts/ntp-status45
-rwxr-xr-xcontrib/ntp/scripts/ntpsweep301
-rwxr-xr-xcontrib/ntp/scripts/plot_summary.pl36
-rw-r--r--contrib/ntp/scripts/summary.pl74
-rw-r--r--contrib/ntp/util/Makefile.in132
119 files changed, 13310 insertions, 5245 deletions
diff --git a/contrib/ntp/COPYRIGHT b/contrib/ntp/COPYRIGHT
index 6507db7bb374..17504188d668 100644
--- a/contrib/ntp/COPYRIGHT
+++ b/contrib/ntp/COPYRIGHT
@@ -4,14 +4,15 @@ This file is automatically generated from html/copyright.htm
[INLINE] "Clone me," says Dolly sheepishly
_________________________________________________________________
-
+
The following copyright notice applies to all files collectively
called the Network Time Protocol Version 4 Distribution. Unless
specifically declared otherwise in an individual file, this notice
applies as if the text was explicitly included in the file.
+
/***********************************************************************
* *
- * Copyright (c) David L. Mills 1992-1999 *
+ * Copyright (c) David L. Mills 1992-2000 *
* *
* Permission to use, copy, modify, and distribute this software and *
* its documentation for any purpose and without fee is hereby *
@@ -24,7 +25,9 @@ This file is automatically generated from html/copyright.htm
* representations about the suitability this software for any *
* purpose. It is provided "as is" without express or implied *
* warranty. *
- **********************************************************************/
+ * *
+ ***********************************************************************
+ */
The following individuals contributed in part to the Network Time
Protocol Distribution Version 4 and are acknowledged as authors of
@@ -33,119 +36,128 @@ This file is automatically generated from html/copyright.htm
controller
2. [2]Viraj Bais <vbais@mailman1.intel.com> and [3]Clayton Kirkwood
<kirkwood@striderfm.intel.com> port to WindowsNT 3.5
- 3. [4]Karl Berry <karl@owl.HQ.ileaf.com> syslog to file option
- 4. [5]Piete Brooks <Piete.Brooks@cl.cam.ac.uk> MSF clock driver,
+ 3. [4]Michael Barone <michael,barone@lmco.com> GPSVME fixes
+ 4. [5]Karl Berry <karl@owl.HQ.ileaf.com> syslog to file option
+ 5. [6]Greg Brackley <greg.brackley@bigfoot.com> Major rework of WINNT
+ port. Clean up recvbuf and iosignal code into separate modules.
+ 6. [7]Piete Brooks <Piete.Brooks@cl.cam.ac.uk> MSF clock driver,
Trimble PARSE support
- 5. [6]Steve Clift <clift@ml.csiro.au> OMEGA clock driver
- 6. [7]Casey Crellin <casey@csc.co.za> vxWorks (Tornado) port and help
+ 7. [8]Steve Clift <clift@ml.csiro.au> OMEGA clock driver
+ 8. [9]Casey Crellin <casey@csc.co.za> vxWorks (Tornado) port and help
with target configuration
- 7. [8]Torsten Duwe <duwe@immd4.informatik.uni-erlangen.de> Linux port
- 8. [9]John A. Dundas III <dundas@salt.jpl.nasa.gov> Apple A/UX port
- 9. [10]Dennis Ferguson <dennis@mrbill.canet.ca> foundation code for
+ 9. [10]Sven Dietrich <sven_dietrich@trimble.com> Palisade reference
+ clock driver, NT adj. residuals, integrated Greg's Winnt port.
+ 10. [11]John A. Dundas III <dundas@salt.jpl.nasa.gov> Apple A/UX port
+ 11. [12]Torsten Duwe <duwe@immd4.informatik.uni-erlangen.de> Linux
+ port
+ 12. [13]Dennis Ferguson <dennis@mrbill.canet.ca> foundation code for
NTP Version 2 as specified in RFC-1119
- 10. [11]Glenn Hollinger <glenn@herald.usask.ca> GOES clock driver
- 11. [12]Mike Iglesias <iglesias@uci.edu> DEC Alpha port
- 12. [13]Jim Jagielski <jim@jagubox.gsfc.nasa.gov> A/UX port
- 13. [14]Jeff Johnson <jbj@chatham.usdesign.com> massive prototyping
+ 13. [14]Glenn Hollinger <glenn@herald.usask.ca> GOES clock driver
+ 14. [15]Mike Iglesias <iglesias@uci.edu> DEC Alpha port
+ 15. [16]Jim Jagielski <jim@jagubox.gsfc.nasa.gov> A/UX port
+ 16. [17]Jeff Johnson <jbj@chatham.usdesign.com> massive prototyping
overhaul
- 14. [15]William L. Jones <jones@hermes.chpc.utexas.edu> RS/6000 AIX
+ 17. [18]William L. Jones <jones@hermes.chpc.utexas.edu> RS/6000 AIX
modifications, HPUX modifications
- 15. [16]Dave Katz <dkatz@cisco.com> RS/6000 AIX port
- 16. [17]Craig Leres <leres@ee.lbl.gov> 4.4BSD port, ppsclock,
+ 18. [19]Hans Lambermont <Hans.Lambermont@nl.origin-it.com> or
+ [20]<H.Lambermont@chello.nl> ntpsweep
+ 19. [21]Frank Kardel [22]<Frank.Kardel@informatik.uni-erlangen.de>
+ PARSE <GENERIC> driver (14 reference clocks), STREAMS modules for
+ PARSE, support scripts, syslog cleanup
+ 20. [23]Dave Katz <dkatz@cisco.com> RS/6000 AIX port
+ 21. [24]Craig Leres <leres@ee.lbl.gov> 4.4BSD port, ppsclock,
Maganavox GPS clock driver
- 17. [18]George Lindholm <lindholm@ucs.ubc.ca> SunOS 5.1 port
- 18. [19]Louis A. Mamakos <louie@ni.umd.edu> MD5-based authentication
- 19. [20]Derek Mulcahy <derek@toybox.demon.co.uk> and [21]Damon
- Hart-Davis <d@hd.org> ARCRON MSF clock driver
- 20. [22]Lars H. Mathiesen <thorinn@diku.dk> adaptation of foundation
+ 22. [25]George Lindholm <lindholm@ucs.ubc.ca> SunOS 5.1 port
+ 23. [26]Louis A. Mamakos <louie@ni.umd.edu> MD5-based authentication
+ 24. [27]Lars H. Mathiesen <thorinn@diku.dk> adaptation of foundation
code for Version 3 as specified in RFC-1305
- 21. [23]David L. Mills <mills@udel.edu> Version 4 foundation,
- Spectractom WWVB, Austron GPS, Arbiter GPS, CHU, Heath, ATOM,
- ACTS, KSI/Odetics, IRIG clock drivers; PPS support; precision
- kernel; NTPv4 changes
- 22. [24]Wolfgang Moeller <moeller@gwdgv1.dnet.gwdg.de> VMS port
- 23. [25]Jeffrey Mogul <mogul@pa.dec.com> ntptrace utility
- 24. [26]Tom Moore <tmoore@fievel.daytonoh.ncr.com> i386 svr4 port
- 25. [27]Rainer Pruy <Rainer.Pruy@informatik.uni-erlangen.de>
+ 25. [28]David L. Mills <mills@udel.edu> Version 4 foundation: clock
+ discipline, authentication, precision kernel; clock drivers:
+ Spectracom, Austron, Arbiter, Heath, ATOM, ACTS, KSI/Odetics;
+ audio clock drivers: CHU, WWV/H, IRIG
+ 26. [29]Wolfgang Moeller <moeller@gwdgv1.dnet.gwdg.de> VMS port
+ 27. [30]Jeffrey Mogul <mogul@pa.dec.com> ntptrace utility
+ 28. [31]Tom Moore <tmoore@fievel.daytonoh.ncr.com> i386 svr4 port
+ 29. [32]Derek Mulcahy <derek@toybox.demon.co.uk> and [33]Damon
+ Hart-Davis <d@hd.org> ARCRON MSF clock driver
+ 30. [34]Rainer Pruy <Rainer.Pruy@informatik.uni-erlangen.de>
monitoring/trap scripts, statistics file handling
- 26. [28]Dirce Richards <dirce@zk3.dec.com> Digital UNIX V4.0 port
- 27. [29]Nick Sayer <mrapple@quack.kfu.com> SunOS streams modules
- 28. [30]Frank Kardel [31]<Frank.Kardel@informatik.uni-erlangen.de>
- PARSE <GENERIC> driver (14 reference clocks), STREAMS modules for
- PARSE, support scripts, syslog cleanup
- 29. [32]Ray Schnitzler <schnitz@unipress.com> Unixware1 port
- 30. [33]Michael Shields <shields@tembel.org> USNO clock driver
- 31. [34]Jeff Steinman <jss@pebbles.jpl.nasa.gov> Datum PTS clock
+ 31. [35]Dirce Richards <dirce@zk3.dec.com> Digital UNIX V4.0 port
+ 32. [36]Wilfredo Sánchez <wsanchez@apple.com> added support for
+ NetInfo
+ 33. [37]Nick Sayer <mrapple@quack.kfu.com> SunOS streams modules
+ 34. [38]Jack Sasportas <jack@innovativeinternet.com> Saved a Lot of
+ space on the stuff in the html/pic/ subdirectory
+ 35. [39]Ray Schnitzler <schnitz@unipress.com> Unixware1 port
+ 36. [40]Michael Shields <shields@tembel.org> USNO clock driver
+ 37. [41]Jeff Steinman <jss@pebbles.jpl.nasa.gov> Datum PTS clock
driver
- 32. [35]Harlan Stenn <harlan@pfcs.com> GNU automake/autoconfigure
- makeover
- 33. [36]Kenneth Stone <ken@sdd.hp.com> HP-UX port
- 34. [37]Ajit Thyagarajan <ajit@ee.udel.edu>IP multicast support
- 35. [38]Tomoaki TSURUOKA <tsuruoka@nc.fukuoka-u.ac.jp>TRAK clock
+ 38. [42]Harlan Stenn <harlan@pfcs.com> GNU automake/autoconfigure
+ makeover, various other bits (see the ChangeLog)
+ 39. [43]Kenneth Stone <ken@sdd.hp.com> HP-UX port
+ 40. [44]Ajit Thyagarajan <ajit@ee.udel.edu>IP multicast/anycast
+ support
+ 41. [45]Tomoaki TSURUOKA <tsuruoka@nc.fukuoka-u.ac.jp>TRAK clock
driver
- 36. [39]Paul A Vixie <vixie@vix.com> TrueTime GPS driver, generic
+ 42. [46]Paul A Vixie <vixie@vix.com> TrueTime GPS driver, generic
TrueTime clock driver
- 37. [40]Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> corrected and
+ 43. [47]Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> corrected and
validated HTML documents according to the HTML DTD
- 38. [41]Greg Brackley <greg.brackley@bigfoot.com> Major rework of
- WINNT port. Clean up recvbuf and iosignal code into separate
- modules.
- 39. [42]Sven Dietrich <sven_dietrich@trimble.com> Palisade reference
- clock driver, NT adj. residuals, integrated Greg's Winnt port.
- 40. [43]Wilfredo Sánchez <wsanchez@apple.com> added support for
- NetInfo
-
_________________________________________________________________
-
- [44][LINK]
+
+ [48][LINK]
- [45]David L. Mills <mills@udel.edu>
+ [49]David L. Mills <mills@udel.edu>
References
- 1. mailto: marka@syd.dms.csiro.au
- 2. mailto: vbais@mailman1.intel.co
- 3. mailto: kirkwood@striderfm.intel.com
- 4. mailto: karl@owl.HQ.ileaf.com
- 5. mailto: Piete.Brooks@cl.cam.ac.uk
- 6. mailto: clift@ml.csiro.au
- 7. mailto:casey@csc.co.za
- 8. mailto: duwe@immd4.informatik.uni-erlangen.de
- 9. mailto: dundas@salt.jpl.nasa.gov
- 10. mailto: dennis@mrbill.canet.ca
- 11. mailto: glenn@herald.usask.ca
- 12. mailto: iglesias@uci.edu
- 13. mailto: jagubox.gsfc.nasa.gov
- 14. mailto: jbj@chatham.usdesign.com
- 15. mailto: jones@hermes.chpc.utexas.edu
- 16. mailto: dkatz@cisco.com
- 17. mailto: leres@ee.lbl.gov
- 18. mailto: lindholm@ucs.ubc.ca
- 19. mailto: louie@ni.umd.edu
- 20. mailto: derek@toybox.demon.co.uk
- 21. mailto: d@hd.org
- 22. mailto: thorinn@diku.dk
- 23. mailto: mills@udel.edu
- 24. mailto: moeller@gwdgv1.dnet.gwdg.de
- 25. mailto: mogul@pa.dec.com
- 26. mailto: tmoore@fievel.daytonoh.ncr.com
- 27. mailto: Rainer.Pruy@informatik.uni-erlangen.de
- 28. mailto: dirce@zk3.dec.com
- 29. mailto: mrapple@quack.kfu.com
- 30. http://www4.informatik.uni-erlangen.de/~kardel
- 31. mailto: Frank.Kardel@informatik.uni-erlangen.de
- 32. mailto: schnitz@unipress.com
- 33. mailto: shields@tembel.org
- 34. mailto: pebbles.jpl.nasa.gov
- 35. mailto: harlan@pfcs.com
- 36. mailto: ken@sdd.hp.com
- 37. mailto: ajit@ee.udel.edu
- 38. mailto: tsuruoka@nc.fukuoka-u.ac.jp
- 39. mailto: vixie@vix.com
- 40. mailto: Ulrich.Windl@rz.uni-regensburg.de
- 41. mailto: greg.brackley@bigfoot.com
- 42. mailto: Sven_Dietrich@trimble.COM
- 43. mailto: wsanchez@apple.com
- 44. file://localhost/backroom/ntp4/html/index.htm
- 45. mailto:mills@udel.edu
+ 1. mailto:marka@syd.dms.csiro.au
+ 2. mailto:vbais@mailman1.intel.co
+ 3. mailto:kirkwood@striderfm.intel.com
+ 4. mailto:michael.barone@lmco.com
+ 5. mailto:karl@owl.HQ.ileaf.com
+ 6. mailto:greg.brackley@bigfoot.com
+ 7. mailto:Piete.Brooks@cl.cam.ac.uk
+ 8. mailto:clift@ml.csiro.au
+ 9. mailto:casey@csc.co.za
+ 10. mailto:Sven_Dietrich@trimble.COM
+ 11. mailto:dundas@salt.jpl.nasa.gov
+ 12. mailto:duwe@immd4.informatik.uni-erlangen.de
+ 13. mailto:dennis@mrbill.canet.ca
+ 14. mailto:glenn@herald.usask.ca
+ 15. mailto:iglesias@uci.edu
+ 16. mailto:jagubox.gsfc.nasa.gov
+ 17. mailto:jbj@chatham.usdesign.com
+ 18. mailto:jones@hermes.chpc.utexas.edu
+ 19. mailto:Hans.Lambermont@nl.origin-it.com
+ 20. mailto:H.Lambermont@chello.nl
+ 21. http://www4.informatik.uni-erlangen.de/~kardel
+ 22. mailto:Frank.Kardel@informatik.uni-erlangen.de
+ 23. mailto:dkatz@cisco.com
+ 24. mailto:leres@ee.lbl.gov
+ 25. mailto:lindholm@ucs.ubc.ca
+ 26. mailto:louie@ni.umd.edu
+ 27. mailto:thorinn@diku.dk
+ 28. mailto:mills@udel.edu
+ 29. mailto:moeller@gwdgv1.dnet.gwdg.de
+ 30. mailto:mogul@pa.dec.com
+ 31. mailto:tmoore@fievel.daytonoh.ncr.com
+ 32. mailto:derek@toybox.demon.co.uk
+ 33. mailto:d@hd.org
+ 34. mailto:Rainer.Pruy@informatik.uni-erlangen.de
+ 35. mailto:dirce@zk3.dec.com
+ 36. mailto:wsanchez@apple.com
+ 37. mailto:mrapple@quack.kfu.com
+ 38. mailto:jack@innovativeinternet.com
+ 39. mailto:schnitz@unipress.com
+ 40. mailto:shields@tembel.org
+ 41. mailto:pebbles.jpl.nasa.gov
+ 42. mailto:harlan@pfcs.com
+ 43. mailto:ken@sdd.hp.com
+ 44. mailto:ajit@ee.udel.edu
+ 45. mailto:tsuruoka@nc.fukuoka-u.ac.jp
+ 46. mailto:vixie@vix.com
+ 47. mailto:Ulrich.Windl@rz.uni-regensburg.de
+ 48. file://localhost/backroom/ntp4+/html/index.htm
+ 49. mailto:mills@udel.edu
diff --git a/contrib/ntp/ChangeLog b/contrib/ntp/ChangeLog
index a7abc1458223..1c498a6f014e 100644
--- a/contrib/ntp/ChangeLog
+++ b/contrib/ntp/ChangeLog
@@ -1,9 +1,627 @@
+2000-01-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99b
+
+2000-01-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_chu.c: NCHAN is used with generic ICOM.
+
+ * ntpd/refclock_wwv.c: Use new auido stuff
+ * ntpd/refclock_irig.c: Use new audio stuff
+ * ntpd/refclock_chu.c: Use new audio stuff
+ * ntpd/ntp_proto.c: Clean up
+ * ntpd/ntp_loopfilter.c (local_clock): Clean up error message
+ * include/icom.h: Number of arguments changed
+ * libntp/Makefile.am (libntp_a_SOURCES): Added audio.c
+ * libntp/audio.c: New file
+ * include/Makefile.am (noinst_HEADERS): audio.h added
+ * include/audio.h: New file
+ From: Dave Mills <mills@udel.edu>
+
+ * scripts/freq_adj: Added. FreeBSD frequency adjustment script.
+
+ * configure.in: Do a better job on my oncore_ok check for SCO.
+
+2000-01-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99a
+
+ * scripts/ntpsweep: New version
+ * html/copyright.htm: Added Hans Lambermont
+ From: Hans Lambermont <Hans.Lambermont@nl.origin-it.com>
+
+2000-01-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_start): Only dance with the
+ pps_device if it's there.
+ From: reg@dwf.com
+
+ * configure.in: ONCORE is OK if ac_cv_hdr_def_tiocdcdtimestamp=yes
+
+ * build: Just overwrite the log file each time; sometimes NFS goes
+ a little goofy.
+
+ * ntpd/refclock_fg.c: Syntax/punctuation cleanup
+
+2000-01-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/ntpsweep: New version
+ From: Hans Lambermont <Hans.Lambermont@nl.origin-it.com>
+
+ * ntpd/refclock_fg.c: New version
+ * html/driver37.htm: New version
+ From: Dmitry Smirnov <das@online.nsk.su>
+
+2000-01-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * README.des: Cleanup
+
+2000-01-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99
+
+ * html/driver36.htm: Cleanup
+ * html/monopt.htm: Ditto
+ From: Dave Mills <mills@udel.edu>
+
+ * ntpd/ntp_intres.c (ntp_intres): Put "NTP_INTRES running" at a
+ higher debug level
+
+2000-01-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: More improvements
+ From: Dave Mills <mills@udel.edu>
+
+2000-01-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Bugfixes/improvements
+ From: Dave Mills <mills@udel.edu>
+
+ * configure.in: Get the quoting right on the sys_errlist check.
+ From documentation by: Akim Demaille <akim@epita.fr>
+
+2000-01-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: <netinet/ip.h> cannot be detected...
+ * ntpd/ntp_io.h: ...but every OS has it
+ * ntpd/refclock_oncore.c: Lint removal
+ * ntpq/ntpq_ops.c: Lint removal
+ * ntpq/refclock_chu.c: chu_major() is not an audio routine (?), lint
+ * libntp/icom.c: AIX doesn't have <sys/termios.h>
+ From: Marc.Brett@westgeo.com
+
+ * ntpd/refclock_chu.c: NetBSD needs sys/ioctl.h
+ (chu_debug): NetBSED-specific debug output.
+ From: Frederick Bruckman <fb@enteract.com>
+
+2000-01-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98m
+ I skipped `l' - it looks like a `1'.
+
+ * html/driver7.htm: Doc update
+ * html/driver36.htm: Ditto
+ * html/audio.htm: Ditto
+
+ * ntpd/refclock_wwv.c: Dvae snuck another fix/change in on me.
+
+ * configure.in: 4.0.98k
+
+ * ntpd/refclock_chu.c (chu_start): Call icom_init with the speed
+ * ntpd/refclock_wwv.c (wwv_start): Ditto, plus other improvements.
+ * libntp/icom.c (icom_init): Add speed parameter
+ * include/icom.h: Update declaration
+ From: Dave Mills <mills@udel.edu>
+
+ * include/Makefile.am (noinst_HEADERS): Added icom.h
+ From: Frederick Bruckman <fb@enteract.com>
+
+2000-01-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98j
+
+ * ntpd/refclock_wwv.c (timecode): Make definition == declaration
+ (wwv_newchan): Ditto
+ (wwv_corr4): Dave fixed the declaration.
+
+ * flock-build: Add rackety to the flock - it runs SunOS 4.1.3/cc
+
+ * ntpd/refclock_wwv.c: Undo that declaration cleanup for now...
+
+ * ntpd/ntp_io.c (open_socket): TOS support
+ From: Marc.Brett@westgeo.com
+
+2000-01-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Declaration cleanup
+ * ntpd/refclock_fg.c (fg_receive): Not all sprintf's are created
+ equal...
+ From: Marc.Brett@westgeo.com
+
+ * ntpd/refclock_wwv.c: Dave Cleaned and Improved things.
+ * ntpd/ntp_loopfilter.c (local_clock): Dave fixed something.
+
+ * ntpd/refclock_wwv.c: Rename max to p_max or s_max as appropriate
+ to avoid native SunOS compiler collision.
+ (wwv_epoch): Make declaration == definition
+ (wwv_rsec): Ditto
+ (wwv_newchan): Ditto
+ (wwv_qsy): Ditto
+ (timecode): Ditto
+
+ * ntpd/refclock_oncore.c (oncore_init_shmem): Use a cast to widen
+ mmap's NIL offset.
+
+ * ntpd/refclock_chu.c (chu_rf): Make declaration == definition.
+ Rename min/max to es_min/es_max to avoid native SunOS compiler
+ collision.
+ (chu_uart): Make declaration == definition.
+
+ * libntp/icom.c (sndpkt): Make declaration and definition equivalent.
+ (doublefreq): Ditto.
+
+ * ntpd/refclock_oncore.c (MAP_FAILED): Some systems do not #define
+ this.
+
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_chu.c:
+ * libntp/icom.c:
+ * libntp/Makefile.am:
+ * include/icom.h:
+ * html/driver7.htm:
+ * html/driver36.htm:
+ Support for ICOM. The WWV/H driver, by the way, is getting truly
+ awesome. The CHU autotune function works okay as it is. I'd like
+ to find somebody else to test the audio drivers just to make sure
+ I haven't done something stupid. There is a new define ICOM
+ intended for the driver autotune function; however, I crafted the
+ thing in much the same way as the refclock_atom.c thing - it tries
+ to open /dev/icom and, if that fails, goes quietly to sleep.
+ From: Dave Mills <mills@udel.edu>
+
+2000-01-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_read_config): Patches and cleanup
+ From: Poul-Henning Kamp <phk@critter.freebsd.dk>
+ more isascii() stuff from HMS.
+
+ * ntpd/refclock_fg.c (fg_receive): Cast.
+ From: Tom Smith <smith@cag.lkg.dec.com>
+
+ * ntpd/map_vme.c (map_vme): tx.access_result indicates failure on
+ < 0, not <= 0. A fix that apparently did not get brought over
+ from the ntp3 base.
+ From: Michael Barone <michael.barone@lmco.com>
+
+ * configure.in: Move the ONCORE_SHMEM_STATUS check and definition
+ here.
+
+ * ntpd/refclock_oncore.c (oncore_init_shmem): Some systems do not
+ have MAP_HASSEMAPHORE.
+
+ * ntpd/refclock_oncore.c: Drive ONCORE_SHMEM_STATUS based on
+ HAVE_SYS_MMAN_H . If this needs finer checks, do it in
+ configure.in .
+ (oncore_read_config): Add the isascii() checks; older versions of
+ Unix don't guarantee correct behavior of is*() without it.
+
+ * ntpd/refclock_oncore.c: Add proof-of-concept support for
+ delivering receiver data stream to other processes through
+ a memory-mapped file.
+ From: Poul-Henning Kamp <phk@FreeBSD.org>
+
+2000-01-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_refclock_chu): Provide the CHU driver by
+ default, and by default prefer the AUDIO version. We used to
+ limit this to SunOS or Solaris; now we drive by the availability
+ of the audioio header file.
+ Select the IRIG and WWV audio drivers the same way.
+
+ * flock-build: build ignores the -l flag; lose it.
+ (BUILD_ARGS): added.
+ * build: Remove unused -l stuff (LOG variable).
+
+ * ntpd/ntp_refclock.c: HAVE_PPSAPI header cleanup
+ From: Reg Clemens <reg@dwf.com>
+
+2000-01-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (CLOCK_WWV): Require <sys/audioio.h> or <sun/audioio.h>
+
+1999-12-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98i
+
+ * ntpd/refclock_gpsvme.c: Fixes
+ From: Michael Barone <michael.barone@lmco.com>
+ Patch severely hacked by HMS to "make it conform". I hope I
+ didn't break anything.
+
+ * scripts/ntpsweep: Nifty utility
+ From: Hans.Lambermont@nl.origin-it.com
+
+ * ntpd/refclock_fg.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/ntp_control.c:
+ * ntpd/Makefile.am:
+ * libntp/clocktypes.c:
+ * include/ntp.h:
+ * html/refclock.htm:
+ * html/driver37.htm:
+ * configure.in:
+ * acconfig.h:
+ Forum Graphic GPS clock support
+ From: Dmitry Smirnov <das@online.nsk.su>
+
+ * configure.in: Default to compile the IRIG, CHU and WWV/H
+ drivers and compile the CHU driver for audio, not modem.
+ Requested by Dave Mills.
+
+ * html/audio.htm:
+ * html/driver36.htm:
+ * html/qth.htm:
+ Dave wrote these to go along with the changes I checked in yesterday.
+
+1999-12-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/refclock_chu.c:
+ * ntpd/ntp_refclock.c:
+ * ntpd/ntp_loopfilter.c:
+ * html/refclock.htm:
+ * html/pps.htm:
+ * html/index.htm:
+ * html/driver7.htm:
+ * html/driver6.htm:
+ * html/copyright.htm:
+
+ I indulged an old agenda to polish up some programs originally
+ written for a DSP evaluation board. The result is a really hot
+ audio driver for the NIST WWV/WWVH time/frequency station plus a
+ makeover for the CHU audio driver. Currently, they and their IRIG
+ audio driver buddy use the SunOS/Solaris audio interface, which is
+ clean and simple. I hook the line in jack to a shortwave radio and
+ these drivers (driver 7 for CHU and driver 36 for WWV) and the
+ drivers do the rest. The WWV/H driver is really hot - I am
+ currently watching the ionosphere move from the doppler that shows
+ up on the tick modulation tracked by the program. During midday
+ when the F2 layer settles down, the program closes in on a few
+ tens of microseconds of spare jitter and wander. This watch on
+ whichever 15/20 MHz signal sounds the best. At night on 5/10 MHz
+ and even 2.5 HMz where the multipath, interference and noise are
+ much worse, the driver bangs around somewhat more.
+
+ The CHU driver makeover discovered a few broken bones after all
+ these years, but its majority decoder is back in business. For
+ various reasons to icky to reveal here, its 103-modem demodulator
+ is not quite as good as the chip, but it comes close and hey,
+ 2025/2125 FSK is just not a good idea for HF radio. This driver is
+ not nearly as sophisitcated as the WWV/H driver, but here a few
+ hundred miles south of Ottawa, it does a passably good job.
+
+ I tell you this in the hopes of getting somebody interested in
+ porting the audio interface to other machines, in particular
+ Linux, FreeBSD and anything else with a sound card. When the
+ ionosphere stays cool, the WWV/H driver is as good as anything
+ else around here and with much less jitter than a serial port. The
+ only downside is all the audio drivers chew up a modest fraction
+ of cycles for the DSP routines - a few percent on the newer
+ silicon, up to half the cycles on an old Sparc IPC. Whattheheck,
+ these old machines aren't doing anything else around here except
+ serving time, and even when sucking cycles for DSP they still mind
+ the PPS microseconds.
+
+ The audio driver documentation had a makeover, too.
+ From: Dave Mills <mills@udel.edu>
+
+1999-12-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98h
+
+1999-12-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/syssignal.c: Small cleanup to Marc's patch.
+
+ * ntpd/ntp_refclock.c:
+ * ntpd/refclock_atom.c: Header cleanup
+ * html/driver30.htm: Cleanup and improvements.
+ From: Reg Clemens <reg@dwf.com>
+
+ * ntpd/ntp_refclock.c:
+ * ntpd/refclock_jupiter.c:
+ * ntpd/refclock_msfees.c:
+ * ntpd/refclock_mx4200.c:
+ Portability (Solaris) patches
+ * ntpd/refclock_mx4200.c:
+ Self-survey improvements, cleanup for, PPS re-activation
+ * libntp/syssignal.c:
+ Fix for "interrupted system call" (EINTR) failure of the PPS
+ ioctl(TIOCGPPSEV) call in Solaris. Not sure why it was
+ interrupted, but this works around the failure. Not sure if
+ the (now silent) interrupt affects the timing accuracy.
+ THERE IS A CHANCE THIS PART OF THE PATCH MAY ADVERSELY
+ AFFECT OTHER SYSTEMS!
+ * scripts/ntp-status: Added.
+ From: Marc.Brett@westgeo.com
+
+ * ntpdate/ntpdate.c: Deal with multiple addresses.
+ From: Jeffrey C Honig <jch@bsdi.com>
+
+ * ntpd/refclock_conf.c: Replaced macro SHM with CLOCK_SHM.
+ * ntpd/refclock_shm.c (shm_poll): Take clock time in UTC.
+ pp->day starts at 1, t->tm_yday starts at 0.
+ From: Jakob Stoklund Olesen <stoklund@taxidriver.dk>
+
+1999-12-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * NEWS: Updated ONCORE instructions
+ From: Kamal A Mostafa <kamal@whence.com>
+
+1999-12-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98g
+
+ * ntpd/refclock_oncore.c: Cleanup and fixes
+ From: Reg Clemens <reg@dwf.com> and Kamal A Mostafa <kamal@whence.com>
+
+1999-12-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Cleanup/checkin of the current state of affairs.
+ From: Dave Mills <mills@udel.edu>
+
+ * ntpd/refclock_oncore.c: #elif conversion. I can only hope I did
+ it right.
+
+ * ntpd/refclock_oncore.c: Various patches
+ From: Reg Clemens <reg@dwf.com> and Kamal A Mostafa <kamal@whence.com>
+
+1999-12-09 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (default_get_precision): Use the right arg type
+ to pass "sizeof freq" to sysctlbyname().
+ From: Ollivier Robert <roberto@eurocontrol.fr>
+
+ * ntpd/refclock_wwv.c: Cleanup and fixes.
+ From: Dave Mills <mills@udel.edu>
+
+1999-12-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Cleanup and fixes
+ * ntpd/refclock_conf.c: WWV declaration cleanup.
+ From: Dave Mills <mills@udel.edu>
+
+1999-12-07 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libparse/clk_rawdcf.c (cvt_rawdcf): Buglet.
+ From: Frank Kardel <kardel@acm.org>
+
+1999-12-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/Makefile.am (ntpd_SOURCES): Added refclock_wwv.c
+
+ * ntpd/refclock_wwvb.c:
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/refclock_chu.c:
+ * libntp/clocktypes.c:
+ * include/ntp.h: Dave cleaned some things up
+ Dave cleaned some things up (WWVB -> SPECTRACOM, CHU -> CHU_AUDIO,
+ WWV_AUDIO)
+
+ * acconfig.h: REFCLOCK_WWVB -> REFCLOCK_SPECTRACOM, added REFCLOCK_WWV
+ * configure.in: Deal with it.
+
+1999-12-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_refclock.c (refclock_open): More PPS cleanup
+ From: Dave Mills <mills@udel.edu>
+
+ * ntpq/ntpq.c:
+ * ntpq/ntpq_ops.c:
+ Make `ntpq -pn' independent of DNS, ad advertised.
+ From: Kamal A Mostafa <kamal@whence.com>
+
+ * ntpd/refclock_mx4200.c (mx4200_start): make missing 3rd
+ parameter a 0.
+
+1999-12-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_refclock.c (refclock_open): "flags" processing cleanup
+ (refclock_open): PPS device initialization cleanup
+ * include/ntp_refclock.h (LDISC_CHU):
+ (LDISC_PPS): Clean up comments
+ From: Dave Mills <mills@udel.edu>
+
+1999-12-03 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * libntp/mexit.c: Moved WINNT port specific file to ports/winnt/libntp
+ * ports/winnt/libntp/libntp.dsp: Fix WinNT makefile for new source loc.
+
+1999-12-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/Makefile.am (libntp_a_SOURCES): Lose mexit.c - Sven will
+ move it to the winnt port area.
+
+1999-12-03 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * libntp/systime.c: Removed adjtime hack for WINNT
+ * ports/winnt/ntpd/nt_clockstuff.c: Winnt double precision adjtime
+ * ports/winnt/inlcude/clockstuff.h: Remove no longer needed externs
+
+1999-12-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libparse/Makefile.in: Manually hacked to remove the
+ libparse_kernel.a.[co] cruft
+
+ * libparse/Makefile.am (k*.o): Generate these form the Makefile,
+ not from separate .c files
+
+ * html/tickadj.htm:
+ * html/notes.htm:
+ * html/hints/solaris.html:
+ Point to the new dosynctodr report.
+
+ * html/hints/solaris.xtra.S99ntpd:
+ Update. Should be rewritten to take advantage of the new -g
+ switch and perhaps a loop to wait until ntpd hits a reasonable
+ "state".
+
+ * html/hints/solaris-dosynctodr.html: New information
+ From: "John W. Sopko Jr." <sopko@cs.unc.edu>
+
+1999-12-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/authkeys.c (auth_moremem): Clear memory allocated for sk.
+ From: Hugo Mildenberger <hugo.mildenberger@topmail.de>
+
+1999-12-01 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * libntp/recvbuff.c: Unused functions cleanup
+ * ntpd/ntpd.c: ProcessorAffinity, IO cleanup
+ * ports/winnt/instsrv/instsrv.c: Service name changed to NTP
+
+ NT port shouldn;t hop between CPUs. Set affinity to first processor.
+ Service name was NetworkTimeProtocol. Too long. Now NTP.
+
+1999-12-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/plot_summary.pl: Improved option parsing. Fixed one
+ minor Perl compatibility error.
+ * scripts/summary.pl: Official revision for NTPv4: Parse new
+ statistic file formats correctly, provide error checking for bad
+ input files, and guard against negative arguments to sqrt()
+ because of numeric effects. Use one pattern to select valid
+ statistic files. Add selectable output directory
+ (``--output-directory'') and improved option parsing. Directory
+ with statistic files (now settable also with
+ ``--input-directory'') defaults to ``/var/log/ntp''.
+ From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+
+ * html/driver8.htm:
+ * libparse/clk_computime.c:
+ * libparse/clk_dcf7000.c:
+ * libparse/clk_hopf6021.c:
+ * libparse/clk_meinberg.c:
+ * libparse/clk_rawdcf.c:
+ * libparse/clk_rcc8000.c:
+ * libparse/clk_schmid.c:
+ * libparse/clk_trimtaip.c:
+ * libparse/clk_trimtsip.c:
+ * libparse/data_mbg.c:
+ * libparse/kclk_computime.c:
+ * libparse/kclk_dcf7000.c:
+ * libparse/kclk_hopf6021.c:
+ * libparse/kclk_meinberg.c:
+ * libparse/kclk_rawdcf.c:
+ * libparse/kclk_rcc8000.c:
+ * libparse/kclk_schmid.c:
+ * libparse/kclk_trimtaip.c:
+ * libparse/kclk_trimtsip.c:
+ * libparse/kparse.c:
+ * libparse/kparse_conf.c:
+ * libparse/parse.c:
+ * libparse/parse_conf.c:
+ * libparse/parsesolaris.c:
+ * libparse/parsestreams.c:
+ * ntpd/refclock_parse.c:
+ Mods and updates
+ From: Frank Kardel <kardel@acm.org>
+
+ * acconfig.h: PCF refclock
+ * configure.in:
+ * html/driver35.htm:
+ * html/refclock.htm:
+ * include/ntp.h:
+ * libntp/clocktypes.c:
+ * ntpd/Makefile.am:
+ * ntpd/ntp_control.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/refclock_pcf.c:
+ From: Andreas Voegele <andreas.voegele@gmx.de>
+
+ * acconfig.h: DECL_STIME_1
+
+ * configure.in (iCFLAGS): Use -std1 for alpha*-dec-osf* if we are
+ using "cc".
+ Reported by: Tom Smith <smith@cag.lkg.dec.com>
+
+1999-11-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/l_stdlib.h: DECL_SYSTIME_1 --- a long *
+ * configure.in: Use it for DEC OSF[45]
+ Reported by: Tom Smith <smith@cag.lkg.dec.com>
+
+ * ntpd/refclock_parse.c: Add missing declarations
+ * ntptrace/ntptrace.c: Ditto
+ * ntpd/ntp_proto.c: Ditto
+ * ntpd/refclock_palisade.c: Ditto
+ From: Jonathan Stone <jonathan@dsg.stanford.edu>
+
+1999-11-18 Sven Dietrich <sven_dietrich@trimble.com>
+ * Win NT port updates
+ * ntpd.dsp: makefile only builds supported refclocks
+ * config.h: cleanup, undefine unsupported clock_atom
+ * win32_io, clock_NMEA: foundation for future refclock support
+ * recvbuff, transmitbuff, IOcompletionport: streamline packet handler
+ * html/hints/winnt.htm: Added up-to-date html docs for WINNT
+
+1999-11-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/copyright.htm: Credit Jack for his work.
+
+ * html/pic/*: Save a *ton* of space on the pictures.
+ From: Jack Sasportas <jack@innovativeinternet.com>
+
+1999-11-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in : changequote for osf[45] test.
+ Reported by: Tom Smith <smith@cag.lkg.dec.com>
+
+ * ntp_update: Ignore stuff in any A.* directory.
+
+1999-11-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Clean up header checks for sys/syssgi.h and
+ sys/select.h . Originally, we did not check for sys/select.h
+ under some versions of SCO (see xntp3-5). Somewhere in ntp4 we
+ dropped the SCO check and added the check for sys/syssgi.h,
+ exclusive of checking for sys/select.h. Marc Brett can't think of
+ a reason why we should not be checking for sys/select.h, so let's
+ look for it now.
+
+1999-11-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdate/ntpdate.c: Add the ability for ntpdate to query a
+ multicast address. We use the response to the multicast address
+ to learn new servers which we then add to the peer list and query.
+ In changing this I made the list of peers a linked list.
+
+ To be complete I should detect a broadcast address and make it
+ behave the same way. But that requires a scan of the interface
+ list which is more complicated that I want to deal with...
+
+ Fix a bug, allowing ntpdate to compile if SLEWALWAYS and STEP_SLEW
+ are both defined.
+
+ From: Jeffrey C Honig <jch@bsdi.com>
+
+ * ntpd/ntp_refclock.c: sys/sio.h and SCO5_CLOCK cleanup
+ From: Kamal A Mostafa <kamal@whence.com>
+
+ * ntpd/ntp_loopfilter.c: Let -g do a "correct any" for the first
+ time adjustment.
+ From: Dave Mills <mills@udel.edu>
+
+ * configure.in: sys/sio.h needs to be checked independently.
+ Reported by: Kamal A Mostafa <kamal@whence.com>
+
1999-11-11 Harlan Stenn <stenn@whimsy.udel.edu>
* configure.in: 4.0.98f
* configure.in: DECL_PLOCK_0 and DECL_STIME_0 are for dec-osf5*, too
-
* ntpd/ntpd.c: DEC OSF cleanup (editorial comments by HMS)
From: Tom Smith <smith@cag.lkg.dec.com>
diff --git a/contrib/ntp/Makefile.in b/contrib/ntp/Makefile.in
index c8a8d7f880d3..fbb8f2fe9382 100644
--- a/contrib/ntp/Makefile.in
+++ b/contrib/ntp/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = foreign dist-tarZ #distdir=$(PACKAGE)$(VERSION)
#AUTOMAKE_OPTIONS = util/ansi2knr foreign dist-tarZ no-dependencies
@@ -141,7 +145,8 @@ CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = README ./stamp-h.in ChangeLog INSTALL Makefile.am \
Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.h.in \
-config.sub configure configure.in install-sh missing mkinstalldirs
+config.sub configure configure.in depcomp install-sh missing \
+mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -150,9 +155,9 @@ GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -253,15 +258,17 @@ tags-recursive:
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -269,12 +276,14 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LI
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
mostlyclean-tags:
@@ -288,50 +297,69 @@ maintainer-clean-tags:
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
+
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
- -rm -rf $(distdir)
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
+ chmod a-w $(distdir)
+ dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
+ && cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && test `find $$dc_install_base -type f -print | wc -l` -le 1 \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && $(MAKE) $(AM_MAKEFLAGS) distclean \
+ && rm -f $(distdir).tar.gz \
+ && test `find . -type f -print | wc -l` -eq 0
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
@banner="$(distdir).tar.gz is ready for distribution"; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
echo "$$dashes"
dist: distdir
- -chmod -R a+r $(distdir)
- $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
- -rm -rf $(distdir)
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
dist-tarZ: distdir
- -chmod -R a+r $(distdir)
- $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | compress -c > $(distdir).tar.Z
- -rm -rf $(distdir)
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+ $(AMTAR) chof - $(distdir) | compress -c > $(distdir).tar.Z
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
dist-all: distdir
- -chmod -R a+r $(distdir)
- $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
- $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | compress -c > $(distdir).tar.Z
- -rm -rf $(distdir)
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+ $(AMTAR) chof - $(distdir) | compress -c > $(distdir).tar.Z
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
distdir: $(DISTFILES)
- -rm -rf $(distdir)
+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir)
- -chmod 777 $(distdir)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -343,7 +371,6 @@ distdir: $(DISTFILES)
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
- chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
@@ -388,6 +415,7 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
diff --git a/contrib/ntp/NEWS b/contrib/ntp/NEWS
index 8fee9b0adb7d..4cafb97ea9f3 100644
--- a/contrib/ntp/NEWS
+++ b/contrib/ntp/NEWS
@@ -1,3 +1,18 @@
+* algorithmic improvements, bugfixes
+* Solaris dosynctodr info update
+* html/pic/* is *lots* smaller
+* New drivers: Forum Graphic GPS, WWV/H
+* Rewrite of the audio drivers
+* Driver updates: CHU, DCF, GPS/VME, Oncore, PCF, Ulink, WWVB, burst
+ If you use the ONCORE driver with a HARDPPS kernel module,
+ you *must* have a properly specified:
+ pps <filename> [assert/clear] [hardpps]
+ line in the /etc/ntp.conf file.
+* PARSE cleanup
+* PPS cleanup
+* ntpd, ntpq, ntpdate cleanup and fixes
+* NT port improvements
+* AIX, BSDI, DEC OSF, FreeBSD, NetBSD, Reliant, SCO, Solaris port improvements
(4.0.98)
* Solaris kernel FLL bug is fixed in 106541-07
* Bug/lint cleanup
diff --git a/contrib/ntp/README.des b/contrib/ntp/README.des
index 072d72e85950..8fa0ff855200 100644
--- a/contrib/ntp/README.des
+++ b/contrib/ntp/README.des
@@ -8,6 +8,7 @@ If you *need* DES support:
- first see if you can simply "want" DES support instead
- Get RSAREF or RSAEURO (or a reasonable facsimile thereof)
- - Unpack it in the top-level source directory of the NTP distribution
+ in a directory named rsaref2
(You should see directories like ports, rsaref2, scripts)
When you run configure, the Right Thing will happen.
diff --git a/contrib/ntp/acconfig.h b/contrib/ntp/acconfig.h
index 82051d95219e..a46ca673a0ba 100644
--- a/contrib/ntp/acconfig.h
+++ b/contrib/ntp/acconfig.h
@@ -25,6 +25,9 @@
/* Audio CHU? */
#undef AUDIO_CHU
+/* PARSE kernel PLL PPS support */
+#undef PPS_SYNC
+
/* ACTS modem service */
#undef CLOCK_ACTS
@@ -46,48 +49,33 @@
/* Datum/Bancomm bc635/VME interface */
#undef CLOCK_BANC
-/* ELV/DCF7000 clock */
-#undef CLOCK_DCF7000
-
-/* HOPF 6021 clock */
-#undef CLOCK_HOPF6021
-
-/* Meinberg clocks */
-#undef CLOCK_MEINBERG
-
-/* DCF77 raw time code */
-#undef CLOCK_RAWDCF
-
-/* RCC 8000 clock */
-#undef CLOCK_RCC8000
-
-/* Schmid DCF77 clock */
-#undef CLOCK_SCHMID
-
-/* Trimble GPS receiver/TAIP protocol */
-#undef CLOCK_TRIMTAIP
-
-/* Trimble GPS receiver/TSIP protocol */
-#undef CLOCK_TRIMTSIP
-
-/* WHARTON 400A Series protocol */
-#undef CLOCK_WHARTON_400A
-
-/* VARITEXT protocol */
-#undef CLOCK_VARITEXT
-
/* Diems Computime Radio Clock */
#undef CLOCK_COMPUTIME
+/* Chronolog K-series WWVB receiver */
+#undef CLOCK_CHRONOLOG
+
/* Datum Programmable Time System */
#undef CLOCK_DATUM
+/* ELV/DCF7000 clock */
+#undef CLOCK_DCF7000
+
+/* Dumb generic hh:mm:ss local clock */
+#undef CLOCK_DUMBCLOCK
+
+/* Forum Graphic GPS datating station driver */
+#undef CLOCK_FG
+
/* TrueTime GPS receiver/VME interface */
#undef CLOCK_GPSVME
/* Heath GC-1000 WWV/WWVH receiver */
#undef CLOCK_HEATH
+/* HOPF 6021 clock */
+#undef CLOCK_HOPF6021
+
/* HP 58503A GPS receiver */
#undef CLOCK_HPGPS
@@ -103,6 +91,9 @@
/* local clock reference */
#undef CLOCK_LOCAL
+/* Meinberg clocks */
+#undef CLOCK_MEINBERG
+
/* EES M201 MSF receiver */
#undef CLOCK_MSFEES
@@ -112,14 +103,17 @@
/* NMEA GPS receiver */
#undef CLOCK_NMEA
+/* Motorola UT Oncore GPS */
+#undef CLOCK_ONCORE
+
/* Palisade clock */
#undef CLOCK_PALISADE
/* PARSE driver interface */
#undef CLOCK_PARSE
-/* PARSE kernel PLL PPS support */
-#undef PPS_SYNC
+/* Conrad parallel port radio clock */
+#undef CLOCK_PCF
/* PCL 720 clock support */
#undef CLOCK_PPS720
@@ -130,11 +124,20 @@
/* PTB modem service */
#undef CLOCK_PTBACTS
+/* DCF77 raw time code */
+#undef CLOCK_RAWDCF
+
+/* RCC 8000 clock */
+#undef CLOCK_RCC8000
+
+/* Schmid DCF77 clock */
+#undef CLOCK_SCHMID
+
/* clock thru shared memory */
#undef CLOCK_SHM
-/* Motorola UT Oncore GPS */
-#undef CLOCK_ONCORE
+/* Spectracom 8170/Netclock/2 WWVB receiver */
+#undef CLOCK_SPECTRACOM
/* KSI/Odetics TPRO/S GPS receiver/IRIG interface */
#undef CLOCK_TPRO
@@ -142,23 +145,29 @@
/* TRAK 8810 GPS receiver */
#undef CLOCK_TRAK
+/* Trimble GPS receiver/TAIP protocol */
+#undef CLOCK_TRIMTAIP
+
+/* Trimble GPS receiver/TSIP protocol */
+#undef CLOCK_TRIMTSIP
+
/* Kinemetrics/TrueTime receivers */
#undef CLOCK_TRUETIME
+/* Ultralink M320 WWVB receiver */
+#undef CLOCK_ULINK
+
/* USNO modem service */
#undef CLOCK_USNO
-/* Spectracom 8170/Netclock/2 WWVB receiver */
-#undef CLOCK_WWVB
-
-/* Ultralink M320 WWVB receiver */
-#undef CLOCK_ULINK
+/* WHARTON 400A Series protocol */
+#undef CLOCK_WHARTON_400A
-/* Chronolog K-series WWVB receiver */
-#undef CLOCK_CHRONOLOG
+/* WWV audio driver */
+#undef CLOCK_WWV
-/* Dumb generic hh:mm:ss local clock */
-#undef CLOCK_DUMBCLOCK
+/* VARITEXT protocol */
+#undef CLOCK_VARITEXT
/* define if we need to declare int errno; */
#undef DECL_ERRNO
@@ -319,6 +328,10 @@
/* Might nlist() values require an extra level of indirection (AIX)? */
#undef NLIST_EXTRA_INDIRECTION
+/* Other needed NLIST stuff */
+#undef NLIST_STRUCT
+#undef NLIST_NAME_UNION
+
/* Should we recommend a minimum value for tickadj? */
#undef MIN_REC_TICKADJ
@@ -370,6 +383,9 @@
/* Do we need to #define _SVID3 when we #include <termios.h>? */
#undef TERMIOS_NEEDS__SVID3
+/* Do we have support for SHMEM_STATUS? */
+#undef ONCORE_SHMEM_STATUS
+
/***/
/* Which way should we declare... */
@@ -437,6 +453,7 @@
/* stime()? */
#undef DECL_STIME_0
+#undef DECL_STIME_1
/* strtol()? */
#undef DECL_STRTOL_0
diff --git a/contrib/ntp/aclocal.m4 b/contrib/ntp/aclocal.m4
index 4c96f8238645..981fd7243ead 100644
--- a/contrib/ntp/aclocal.m4
+++ b/contrib/ntp/aclocal.m4
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4
+dnl aclocal.m4 generated automatically by aclocal 1.4a
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
@@ -51,7 +51,8 @@ AC_SUBST(PACKAGE)
VERSION=[$2]
AC_SUBST(VERSION)
dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+if test "`CDPATH=: && cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
@@ -59,27 +60,24 @@ AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-dnl We check for tar when the user configures the end package.
-dnl This is sad, since we only need this for "dist". However,
-dnl there's no other good way to do it. We prefer GNU tar if
-dnl we can find it. If we can't find a tar, it doesn't really matter.
-AC_CHECK_PROGS(AMTAR, gnutar gtar tar)
-AMTARFLAGS=
-if test -n "$AMTAR"; then
- if $SHELL -c "$AMTAR --version" > /dev/null 2>&1; then
- dnl We have GNU tar.
- AMTARFLAGS=o
- fi
-fi
-AC_SUBST(AMTARFLAGS)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
+AM_MISSING_PROG(ACLOCAL, aclocal)
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake)
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG(AMTAR, tar)
+AM_MISSING_INSTALL_SH
+dnl We need awk for the "check" target. The system "awk" is bad on
+dnl some platforms.
+AC_REQUIRE([AC_PROG_AWK])
+AC_REQUIRE([AC_PROG_MAKE_SET])
+AC_REQUIRE([AM_DEP_TRACK])
+AC_REQUIRE([AM_SET_DEPDIR])
+ifdef([AC_PROVIDE_AC_PROG_CC], [AM_DEPENDENCIES(CC)], [
+ define([AC_PROG_CC], defn([AC_PROG_CC])[AM_DEPENDENCIES(CC)])])
+ifdef([AC_PROVIDE_AC_PROG_CXX], [AM_DEPENDENCIES(CXX)], [
+ define([AC_PROG_CXX], defn([AC_PROG_CXX])[AM_DEPENDENCIES(CXX)])])
+])
#
# Check to make sure that the build environment is sane.
@@ -124,21 +122,191 @@ fi
rm -f conftest*
AC_MSG_RESULT(yes)])
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
+dnl AM_MISSING_PROG(NAME, PROGRAM)
+AC_DEFUN(AM_MISSING_PROG, [
+AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+dnl Like AM_MISSING_PROG, but only looks for install-sh.
+dnl AM_MISSING_INSTALL_SH()
+AC_DEFUN(AM_MISSING_INSTALL_SH, [
+AC_REQUIRE([AM_MISSING_HAS_RUN])
+if test -z "$install_sh"; then
+ install_sh="$ac_aux_dir/install-sh"
+ test -f "$install_sh" || install_sh="$ac_aux_dir/install.sh"
+ test -f "$install_sh" || install_sh="${am_missing_run}${ac_auxdir}/install-sh"
+ dnl FIXME: an evil hack: we remove the SHELL invocation from
+ dnl install_sh because automake adds it back in. Sigh.
+ install_sh="`echo $install_sh | sed -e 's/\${SHELL}//'`"
+fi
+AC_SUBST(install_sh)])
+
+dnl AM_MISSING_HAS_RUN.
+dnl Define MISSING if not defined so far and test if it supports --run.
+dnl If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN], [
+test x"${MISSING+set}" = xset || \
+ MISSING="\${SHELL} `CDPATH=: && cd $ac_aux_dir && pwd`/missing"
+dnl Use eval to expand $SHELL
+if eval "$MISSING --run :"; then
+ am_missing_run="$MISSING --run "
else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
+ am_missing_run=
+ AC_MSG_WARN([\`missing' script is too old or missing])
fi
-AC_SUBST($1)])
+])
+
+dnl See how the compiler implements dependency checking.
+dnl Usage:
+dnl AM_DEPENDENCIES(NAME)
+dnl NAME is "CC", "CXX" or "OBJC".
+
+dnl We try a few techniques and use that to set a single cache variable.
+
+AC_DEFUN(AM_DEPENDENCIES,[
+AC_REQUIRE([AM_SET_DEPDIR])
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])
+ifelse([$1],CC,[
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_CPP])
+depcc="$CC"
+depcpp="$CPP"],[$1],CXX,[
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+depcc="$CXX"
+depcpp="$CXXCPP"],[$1],OBJC,[
+am_cv_OBJC_dependencies_compiler_type=gcc],[
+AC_REQUIRE([AC_PROG_][$1])
+depcc="$[$1]"
+depcpp=""])
+AC_MSG_CHECKING([dependency style of $depcc])
+AC_CACHE_VAL(am_cv_[$1]_dependencies_compiler_type,[
+if test -z "$AMDEP"; then
+ echo '#include "conftest.h"' > conftest.c
+ echo 'int i;' > conftest.h
+
+ am_cv_[$1]_dependencies_compiler_type=none
+ for depmode in `sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$am_depcomp"`; do
+ case "$depmode" in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ if depmode="$depmode" \
+ source=conftest.c object=conftest.o \
+ depfile=conftest.Po tmpdepfile=conftest.TPo \
+ $SHELL $am_depcomp $depcc -c conftest.c 2>/dev/null &&
+ grep conftest.h conftest.Po > /dev/null 2>&1; then
+ am_cv_[$1]_dependencies_compiler_type="$depmode"
+ break
+ fi
+ done
+
+ rm -f conftest.*
+else
+ am_cv_[$1]_dependencies_compiler_type=none
+fi
+])
+AC_MSG_RESULT($am_cv_[$1]_dependencies_compiler_type)
+[$1]DEPMODE="depmode=$am_cv_[$1]_dependencies_compiler_type"
+AC_SUBST([$1]DEPMODE)
+])
+
+dnl Choose a directory name for dependency files.
+dnl This macro is AC_REQUIREd in AM_DEPENDENCIES
+
+AC_DEFUN(AM_SET_DEPDIR,[
+if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then
+ DEPDIR=.deps
+else
+ DEPDIR=_deps
+fi
+AC_SUBST(DEPDIR)
+])
+
+AC_DEFUN(AM_DEP_TRACK,[
+AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking Speeds up one-time builds
+ --enable-dependency-tracking Do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" = xno; then
+ AMDEP="#"
+else
+ am_depcomp="$ac_aux_dir/depcomp"
+ if test ! -f "$am_depcomp"; then
+ AMDEP="#"
+ else
+ AMDEP=
+ fi
+fi
+AC_SUBST(AMDEP)
+if test -z "$AMDEP"; then
+ AMDEPBACKSLASH='\'
+else
+ AMDEPBACKSLASH=
+fi
+pushdef([subst], defn([AC_SUBST]))
+subst(AMDEPBACKSLASH)
+popdef([subst])
+])
+
+dnl Generate code to set up dependency tracking.
+dnl This macro should only be invoked once -- use via AC_REQUIRE.
+dnl Usage:
+dnl AM_OUTPUT_DEPENDENCY_COMMANDS
+
+dnl
+dnl This code is only required when automatic dependency tracking
+dnl is enabled. FIXME. This creates each `.P' file that we will
+dnl need in order to bootstrap the dependency handling code.
+AC_DEFUN(AM_OUTPUT_DEPENDENCY_COMMANDS,[
+AC_OUTPUT_COMMANDS([
+test x"$AMDEP" != x"" ||
+for mf in $CONFIG_FILES; do
+ case "$mf" in
+ Makefile) dirpart=.;;
+ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
+ *) continue;;
+ esac
+ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+ # Extract the definition of DEP_FILES from the Makefile without
+ # running `make'.
+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n -e '/^U = / s///p' < "$mf"`
+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+ # We invoke sed twice because it is the simplest approach to
+ # changing $(DEPDIR) to its actual value in the expansion.
+ for file in `sed -n -e '
+ /^DEP_FILES = .*\\\\$/ {
+ s/^DEP_FILES = //
+ :loop
+ s/\\\\$//
+ p
+ n
+ /\\\\$/ b loop
+ p
+ }
+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
+ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+], [AMDEP="$AMDEP"
+ac_aux_dir="$ac_aux_dir"])])
# serial 1
diff --git a/contrib/ntp/adjtimed/Makefile.in b/contrib/ntp/adjtimed/Makefile.in
index f90fd26996f6..f223c8e0c35c 100644
--- a/contrib/ntp/adjtimed/Makefile.in
+++ b/contrib/ntp/adjtimed/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../ansi2knr #no-dependencies
@@ -130,6 +134,8 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+DEP_FILES = @AMDEP@ $(DEPDIR)/adjtimed$U.Po
SOURCES = adjtimed.c
OBJECTS = adjtimed$U.o
@@ -137,9 +143,9 @@ all: all-redirect
.SUFFIXES:
.SUFFIXES: .c .o
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps adjtimed/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu adjtimed/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -172,9 +178,6 @@ uninstall-binPROGRAMS:
rm -f $(DESTDIR)$(bindir)/$$f; \
done
-.c.o:
- $(COMPILE) -c $<
-
mostlyclean-compile:
-rm -f *.o core *.core
@@ -199,7 +202,6 @@ clean-kr:
distclean-kr:
maintainer-clean-kr:
-adjtimed$U.o:
adjtimed: $(adjtimed_OBJECTS) $(adjtimed_DEPENDENCIES)
@rm -f adjtimed
@@ -210,23 +212,27 @@ adjtimed_.o : $(ANSI2KNR)
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -243,18 +249,32 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-adjtimed.o adjtimed.lo: adjtimed.c ../include/ntp_syslog.h \
- ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h \
- ../include/adjtime.h
+
+@AMDEP@include $(DEPDIR)/adjtimed$U.Po
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf $(DEPDIR)
+
+maintainer-clean-depend:
+
+@AMDEP@CCDEPMODE = @CCDEPMODE@
+
+.c.o:
+@AMDEP@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(COMPILE) -c -o $@ $<
info-am:
info: info-am
@@ -292,25 +312,28 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
- mostlyclean-kr mostlyclean-tags mostlyclean-generic
+ mostlyclean-kr mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-compile clean-kr clean-tags \
- clean-generic mostlyclean-am
+ clean-depend clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-compile distclean-kr \
- distclean-tags distclean-generic clean-am
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-compile maintainer-clean-kr \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
+ maintainer-clean-tags maintainer-clean-depend \
+ maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@ -321,8 +344,9 @@ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-kr distclean-kr clean-kr \
maintainer-clean-kr tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
+maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
+clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
diff --git a/contrib/ntp/build b/contrib/ntp/build
index e23865a3aaeb..8caf6413a7e5 100755
--- a/contrib/ntp/build
+++ b/contrib/ntp/build
@@ -1,13 +1,6 @@
#! /bin/sh
LOGF=make.log
-case "$1" in
- -l) LOG=1
- shift
- ;;
- *) LOG=0
- ;;
-esac
CONFIG_ARGS="$@"
@@ -52,8 +45,6 @@ BDIR="$BDIR$CCSUF"
cd $BDIR
(
-cp /dev/null $LOGF
-
[ -f config.status ] || ../configure $CONFIG_ARGS
case "$MAKE" in
@@ -62,5 +53,4 @@ case "$MAKE" in
*) $MAKE && $MAKE check
;;
esac
-) >> $LOGF 2>&1
-
+) > $LOGF 2>&1
diff --git a/contrib/ntp/clockstuff/Makefile.in b/contrib/ntp/clockstuff/Makefile.in
index 67797b8b9a68..8eea5a99e756 100644
--- a/contrib/ntp/clockstuff/Makefile.in
+++ b/contrib/ntp/clockstuff/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../ansi2knr no-dependencies
@@ -140,6 +144,9 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+DEP_FILES = @AMDEP@ $(DEPDIR)/chutest$U.Po $(DEPDIR)/clktest$U.Po \
+$(DEPDIR)/propdelay$U.Po
SOURCES = chutest.c clktest.c propdelay.c
OBJECTS = chutest$U.o clktest$U.o propdelay$U.o
@@ -147,9 +154,9 @@ all: all-redirect
.SUFFIXES:
.SUFFIXES: .c .o
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps clockstuff/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu clockstuff/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -163,9 +170,6 @@ distclean-noinstPROGRAMS:
maintainer-clean-noinstPROGRAMS:
-.c.o:
- $(COMPILE) -c $<
-
mostlyclean-compile:
-rm -f *.o core *.core
@@ -190,9 +194,6 @@ clean-kr:
distclean-kr:
maintainer-clean-kr:
-chutest$U.o:
-clktest$U.o:
-propdelay$U.o:
propdelay: $(propdelay_OBJECTS) $(propdelay_DEPENDENCIES)
@rm -f propdelay
@@ -207,23 +208,27 @@ chutest_.o clktest_.o propdelay_.o : $(ANSI2KNR)
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -240,25 +245,34 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-chutest.o chutest.lo: chutest.c ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp.h \
- ../include/ntp_unixtime.h
-clktest.o clktest.lo: clktest.c ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp.h \
- ../include/ntp_unixtime.h
-propdelay.o propdelay.lo: propdelay.c ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h
+
+@AMDEP@include $(DEPDIR)/chutest$U.Po
+@AMDEP@include $(DEPDIR)/clktest$U.Po
+@AMDEP@include $(DEPDIR)/propdelay$U.Po
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf $(DEPDIR)
+
+maintainer-clean-depend:
+
+@AMDEP@CCDEPMODE = @CCDEPMODE@
+
+.c.o:
+@AMDEP@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(COMPILE) -c -o $@ $<
info-am:
info: info-am
@@ -295,25 +309,28 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \
- mostlyclean-kr mostlyclean-tags mostlyclean-generic
+ mostlyclean-kr mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-noinstPROGRAMS clean-compile clean-kr clean-tags \
- clean-generic mostlyclean-am
+ clean-depend clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-noinstPROGRAMS distclean-compile distclean-kr \
- distclean-tags distclean-generic clean-am
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-noinstPROGRAMS \
maintainer-clean-compile maintainer-clean-kr \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
+ maintainer-clean-tags maintainer-clean-depend \
+ maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@ -324,8 +341,9 @@ clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-kr distclean-kr clean-kr \
maintainer-clean-kr tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
+maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
+clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
diff --git a/contrib/ntp/config.guess b/contrib/ntp/config.guess
index 8ccccbce0367..a28a21411e2d 100755
--- a/contrib/ntp/config.guess
+++ b/contrib/ntp/config.guess
@@ -550,7 +550,7 @@ EOF
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*T3E:*:*:*)
- echo t3e-cray-unicosmk${UNAME_RELEASE}
+ echo alpha-cray-unicosmk${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
@@ -636,14 +636,15 @@ EOF
s/ .*//
p'`
case "$ld_supported_emulations" in
+ *ia64) echo "${UNAME_MACHINE}-unknown-linux" ; exit 0 ;;
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32ppc)
+ elf32ppc | elf32ppclinux)
# Determine Lib Version
- cat >dummy.c <<EOF
+ cat >$dummy.c <<EOF
#include <features.h>
#if defined(__GLIBC__)
extern char __libc_version[];
@@ -662,14 +663,14 @@ main(argc, argv)
}
EOF
LIBC=""
- ${CC-cc} dummy.c -o dummy 2>/dev/null
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
if test "$?" = 0 ; then
- ./dummy | grep 1\.99 > /dev/null
+ ./$dummy | grep 1\.99 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
- rm -f dummy.c dummy
+ rm -f $dummy.c $dummy
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
esac
@@ -915,7 +916,7 @@ EOF
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
@@ -943,9 +944,6 @@ EOF
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
- *:"Mac OS":*:*)
- echo `uname -p`-apple-macos${UNAME_RELEASE}
- exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/contrib/ntp/config.h.in b/contrib/ntp/config.h.in
index f722c7de78eb..24fedb1c1186 100644
--- a/contrib/ntp/config.h.in
+++ b/contrib/ntp/config.h.in
@@ -83,6 +83,9 @@
/* Audio CHU? */
#undef AUDIO_CHU
+/* PARSE kernel PLL PPS support */
+#undef PPS_SYNC
+
/* ACTS modem service */
#undef CLOCK_ACTS
@@ -104,48 +107,33 @@
/* Datum/Bancomm bc635/VME interface */
#undef CLOCK_BANC
-/* ELV/DCF7000 clock */
-#undef CLOCK_DCF7000
-
-/* HOPF 6021 clock */
-#undef CLOCK_HOPF6021
-
-/* Meinberg clocks */
-#undef CLOCK_MEINBERG
-
-/* DCF77 raw time code */
-#undef CLOCK_RAWDCF
-
-/* RCC 8000 clock */
-#undef CLOCK_RCC8000
-
-/* Schmid DCF77 clock */
-#undef CLOCK_SCHMID
-
-/* Trimble GPS receiver/TAIP protocol */
-#undef CLOCK_TRIMTAIP
-
-/* Trimble GPS receiver/TSIP protocol */
-#undef CLOCK_TRIMTSIP
-
-/* WHARTON 400A Series protocol */
-#undef CLOCK_WHARTON_400A
-
-/* VARITEXT protocol */
-#undef CLOCK_VARITEXT
-
/* Diems Computime Radio Clock */
#undef CLOCK_COMPUTIME
+/* Chronolog K-series WWVB receiver */
+#undef CLOCK_CHRONOLOG
+
/* Datum Programmable Time System */
#undef CLOCK_DATUM
+/* ELV/DCF7000 clock */
+#undef CLOCK_DCF7000
+
+/* Dumb generic hh:mm:ss local clock */
+#undef CLOCK_DUMBCLOCK
+
+/* Forum Graphic GPS datating station driver */
+#undef CLOCK_FG
+
/* TrueTime GPS receiver/VME interface */
#undef CLOCK_GPSVME
/* Heath GC-1000 WWV/WWVH receiver */
#undef CLOCK_HEATH
+/* HOPF 6021 clock */
+#undef CLOCK_HOPF6021
+
/* HP 58503A GPS receiver */
#undef CLOCK_HPGPS
@@ -161,6 +149,9 @@
/* local clock reference */
#undef CLOCK_LOCAL
+/* Meinberg clocks */
+#undef CLOCK_MEINBERG
+
/* EES M201 MSF receiver */
#undef CLOCK_MSFEES
@@ -170,14 +161,17 @@
/* NMEA GPS receiver */
#undef CLOCK_NMEA
+/* Motorola UT Oncore GPS */
+#undef CLOCK_ONCORE
+
/* Palisade clock */
#undef CLOCK_PALISADE
/* PARSE driver interface */
#undef CLOCK_PARSE
-/* PARSE kernel PLL PPS support */
-#undef PPS_SYNC
+/* Conrad parallel port radio clock */
+#undef CLOCK_PCF
/* PCL 720 clock support */
#undef CLOCK_PPS720
@@ -188,11 +182,20 @@
/* PTB modem service */
#undef CLOCK_PTBACTS
+/* DCF77 raw time code */
+#undef CLOCK_RAWDCF
+
+/* RCC 8000 clock */
+#undef CLOCK_RCC8000
+
+/* Schmid DCF77 clock */
+#undef CLOCK_SCHMID
+
/* clock thru shared memory */
#undef CLOCK_SHM
-/* Motorola UT Oncore GPS */
-#undef CLOCK_ONCORE
+/* Spectracom 8170/Netclock/2 WWVB receiver */
+#undef CLOCK_SPECTRACOM
/* KSI/Odetics TPRO/S GPS receiver/IRIG interface */
#undef CLOCK_TPRO
@@ -200,23 +203,29 @@
/* TRAK 8810 GPS receiver */
#undef CLOCK_TRAK
+/* Trimble GPS receiver/TAIP protocol */
+#undef CLOCK_TRIMTAIP
+
+/* Trimble GPS receiver/TSIP protocol */
+#undef CLOCK_TRIMTSIP
+
/* Kinemetrics/TrueTime receivers */
#undef CLOCK_TRUETIME
+/* Ultralink M320 WWVB receiver */
+#undef CLOCK_ULINK
+
/* USNO modem service */
#undef CLOCK_USNO
-/* Spectracom 8170/Netclock/2 WWVB receiver */
-#undef CLOCK_WWVB
-
-/* Ultralink M320 WWVB receiver */
-#undef CLOCK_ULINK
+/* WHARTON 400A Series protocol */
+#undef CLOCK_WHARTON_400A
-/* Chronolog K-series WWVB receiver */
-#undef CLOCK_CHRONOLOG
+/* WWV audio driver */
+#undef CLOCK_WWV
-/* Dumb generic hh:mm:ss local clock */
-#undef CLOCK_DUMBCLOCK
+/* VARITEXT protocol */
+#undef CLOCK_VARITEXT
/* define if we need to declare int errno; */
#undef DECL_ERRNO
@@ -371,6 +380,10 @@
/* Might nlist() values require an extra level of indirection (AIX)? */
#undef NLIST_EXTRA_INDIRECTION
+/* Other needed NLIST stuff */
+#undef NLIST_STRUCT
+#undef NLIST_NAME_UNION
+
/* Should we recommend a minimum value for tickadj? */
#undef MIN_REC_TICKADJ
@@ -422,6 +435,9 @@
/* Do we need to #define _SVID3 when we #include <termios.h>? */
#undef TERMIOS_NEEDS__SVID3
+/* Do we have support for SHMEM_STATUS? */
+#undef ONCORE_SHMEM_STATUS
+
/* adjtime()? */
#undef DECL_ADJTIME_0
@@ -482,6 +498,7 @@
/* stime()? */
#undef DECL_STIME_0
+#undef DECL_STIME_1
/* strtol()? */
#undef DECL_STRTOL_0
@@ -702,8 +719,8 @@
/* Define if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
-/* Define if you have the <netinet/ip.h> header file. */
-#undef HAVE_NETINET_IP_H
+/* Define if you have the <netinet/in_systm.h> header file. */
+#undef HAVE_NETINET_IN_SYSTM_H
/* Define if you have the <netinfo/ni.h> header file. */
#undef HAVE_NETINFO_NI_H
diff --git a/contrib/ntp/config.sub b/contrib/ntp/config.sub
index eaa862353f38..e4944414bf64 100755
--- a/contrib/ntp/config.sub
+++ b/contrib/ntp/config.sub
@@ -162,7 +162,7 @@ esac
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
@@ -171,7 +171,7 @@ case $basic_machine in
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
- | mips64vr5000 | miprs64vr5000el \
+ | mips64vr5000 | miprs64vr5000el | mcore \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v)
basic_machine=$basic_machine-unknown
@@ -191,7 +191,8 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ # FIXME: clean up the formatting here.
+ vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
@@ -204,7 +205,7 @@ case $basic_machine in
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
- | mipstx39-* | mipstx39el-* \
+ | mipstx39-* | mipstx39el-* | mcore-* \
| f301-* | armv*-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* )
@@ -907,7 +908,7 @@ case $os in
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -macos* | -openstep* | -oskit*)
+ | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
diff --git a/contrib/ntp/configure b/contrib/ntp/configure
index e8fa8143953b..fd25f498acdf 100755
--- a/contrib/ntp/configure
+++ b/contrib/ntp/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.14.1
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -12,6 +12,9 @@ ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
ac_help="$ac_help
+ --disable-dependency-tracking Speeds up one-time builds
+ --enable-dependency-tracking Do not reject slow dependency extractors"
+ac_help="$ac_help
--enable-debugging + include debugging code"
ac_help="$ac_help
--enable-dst-minutes=60 + minutes per DST adjustment"
@@ -36,12 +39,14 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-ATOM + PPS interface"
ac_help="$ac_help
- --enable-CHU + CHU modem/decoder"
+ --enable-CHU - CHU modem/decoder"
ac_help="$ac_help
- --enable-AUDIO-CHU s - CHU audio/decoder"
+ --enable-AUDIO-CHU s CHU audio/decoder"
ac_help="$ac_help
--enable-DATUM s Datum Programmable Time System"
ac_help="$ac_help
+ --enable-FG + Forum Graphic GPS"
+ac_help="$ac_help
--enable-HEATH s Heath GC-1000 WWV/WWVH receiver"
ac_help="$ac_help
--enable-HPGPS + HP 58503A GPS receiver"
@@ -76,11 +81,15 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-DUMBCLOCK + Dumb generic hh:mm:ss local clock"
ac_help="$ac_help
+ --enable-PCF + Conrad parallel port radio clock"
+ac_help="$ac_help
+ --enable-SPECTRACOM + Spectracom 8170/Netclock/2 WWVB receiver"
+ac_help="$ac_help
--enable-TRUETIME s Kinemetrics/TrueTime receivers"
ac_help="$ac_help
- --enable-WWVB + Spectracom 8170/Netclock/2 WWVB receiver"
+ --enable-ULINK + Ultralink WWVB receiver"
ac_help="$ac_help
- --enable-ULINK + Ultralink WWVB receiver"
+ --enable-WWV + WWV Audio receiver"
ac_help="$ac_help
--enable-USNO s USNO modem service"
ac_help="$ac_help
@@ -451,7 +460,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.14.1"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
@@ -611,7 +620,7 @@ done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
- test -f "$cache_file" && . $cache_file
+ . $cache_file
else
echo "creating cache $cache_file"
> $cache_file
@@ -654,130 +663,9 @@ done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:664: checking host system type" >&5
-if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then
-
-# Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :
- else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
- fi
-
- ac_cv_host_alias=$host
- case "$ac_cv_host_alias" in
- NONE)
- case $nonopt in
- NONE)
- if ac_cv_host_alias=`$ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) ac_cv_host_alias=$nonopt ;;
- esac ;;
- esac
-
- ac_cv_host=`$ac_config_sub $ac_cv_host_alias`
- ac_cv_host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
- ac_cv_host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
- ac_cv_host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-else
- echo $ac_n "(cached) $ac_c" 1>&6
-fi
-
-echo "$ac_t""$ac_cv_host" 1>&6
-
-host=$ac_cv_host
-host_alias=$ac_cv_host_alias
-host_cpu=$ac_cv_host_cpu
-host_vendor=$ac_cv_host_vendor
-host_os=$ac_cv_host_os
-
-
-
-
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:705: checking target system type" >&5
-if test "x$ac_cv_target" = "x" || (test "x$target" != "xNONE" && test "x$target" != "x$ac_cv_target_alias"); then
-
-# Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :
- else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
- fi
-
- ac_cv_target_alias=$target
- case "$ac_cv_target_alias" in
- NONE)
- case $nonopt in
- NONE)
- ac_cv_target_alias=$host_alias ;;
-
- *) ac_cv_target_alias=$nonopt ;;
- esac ;;
- esac
-
- ac_cv_target=`$ac_config_sub $ac_cv_target_alias`
- ac_cv_target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
- ac_cv_target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
- ac_cv_target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-else
- echo $ac_n "(cached) $ac_c" 1>&6
-fi
-
-echo "$ac_t""$ac_cv_target" 1>&6
-
-target=$ac_cv_target
-target_alias=$ac_cv_target_alias
-target_cpu=$ac_cv_target_cpu
-target_vendor=$ac_cv_target_vendor
-target_os=$ac_cv_target_os
-
-
-
-
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:745: checking build system type" >&5
-if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then
-
-# Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :
- else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
- fi
-
- ac_cv_build_alias=$build
- case "$ac_cv_build_alias" in
- NONE)
- case $nonopt in
- NONE)
- ac_cv_build_alias=$host_alias ;;
-
- *) ac_cv_build_alias=$nonopt ;;
- esac ;;
- esac
-
- ac_cv_build=`$ac_config_sub $ac_cv_build_alias`
- ac_cv_build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
- ac_cv_build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
- ac_cv_build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-else
- echo $ac_n "(cached) $ac_c" 1>&6
-fi
-
-echo "$ac_t""$ac_cv_build" 1>&6
-
-build=$ac_cv_build
-build_alias=$ac_cv_build_alias
-build_cpu=$ac_cv_build_cpu
-build_vendor=$ac_cv_build_vendor
-build_os=$ac_cv_build_os
-
-
-
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
@@ -800,6 +688,69 @@ NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:699: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:720: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+ case $nonopt in
+ NONE) target_alias=$host_alias ;;
+ *) target_alias=$nonopt ;;
+ esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:738: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
@@ -823,10 +774,10 @@ EOF_SED
rm -f conftestsed
fi
test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},;$program_transform_name"
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},;$program_transform_name"
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
# sed with no file args requires a program.
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
@@ -843,9 +794,9 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:847: checking for a BSD compatible install" >&5
+echo "configure:798: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
-if eval "test \"\${ac_cv_path_install+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
@@ -863,10 +814,6 @@ else
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
- elif test $ac_prog = install &&
- grep pwplus $ac_dir/$ac_prog >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
else
ac_cv_path_install="$ac_dir/$ac_prog -c"
break 2
@@ -895,12 +842,12 @@ echo "$ac_t""$INSTALL" 1>&6
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:904: checking whether build environment is sane" >&5
+echo "configure:851: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -937,10 +884,54 @@ Check your system clock" 1>&2; exit 1; }
fi
rm -f conftest*
echo "$ac_t""yes" 1>&6
+
+test x"${MISSING+set}" = xset || \
+ MISSING="\${SHELL} `CDPATH=: && cd $ac_aux_dir && pwd`/missing"
+if eval "$MISSING --run :"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ echo "configure: warning: \`missing' script is too old or missing" 1>&2
+fi
+
+for ac_prog in mawk gawk nawk awk
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:903: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AWK="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+AWK="$ac_cv_prog_AWK"
+if test -n "$AWK"; then
+ echo "$ac_t""$AWK" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$AWK" && break
+done
+
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:942: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:933: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftestmake <<\EOF
@@ -965,12 +956,48 @@ else
fi
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval="$enable_dependency_tracking"
+ :
+fi
+
+if test "x$enable_dependency_tracking" = xno; then
+ AMDEP="#"
+else
+ am_depcomp="$ac_aux_dir/depcomp"
+ if test ! -f "$am_depcomp"; then
+ AMDEP="#"
+ else
+ AMDEP=
+ fi
+fi
+
+if test -z "$AMDEP"; then
+ AMDEPBACKSLASH='\'
+else
+ AMDEPBACKSLASH=
+fi
+
+
+
+
+
+if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then
+ DEPDIR=.deps
+else
+ DEPDIR=_deps
+fi
+
+
+
PACKAGE=ntp
-VERSION=4.0.98f
+VERSION=4.0.99b
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+if test "`CDPATH=: && cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
fi
cat >> confdefs.h <<EOF
@@ -983,116 +1010,50 @@ EOF
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:989: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
- echo "$ac_t""found" 1>&6
-else
- ACLOCAL="$missing_dir/missing aclocal"
- echo "$ac_t""missing" 1>&6
-fi
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:1002: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
- AUTOCONF=autoconf
- echo "$ac_t""found" 1>&6
-else
- AUTOCONF="$missing_dir/missing autoconf"
- echo "$ac_t""missing" 1>&6
-fi
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:1015: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
- echo "$ac_t""found" 1>&6
-else
- AUTOMAKE="$missing_dir/missing automake"
- echo "$ac_t""missing" 1>&6
-fi
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"}
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1028: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
- AUTOHEADER=autoheader
- echo "$ac_t""found" 1>&6
-else
- AUTOHEADER="$missing_dir/missing autoheader"
- echo "$ac_t""missing" 1>&6
-fi
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1041: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
- MAKEINFO=makeinfo
- echo "$ac_t""found" 1>&6
-else
- MAKEINFO="$missing_dir/missing makeinfo"
- echo "$ac_t""missing" 1>&6
-fi
-for ac_prog in gnutar gtar tar
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1058: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_AMTAR+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AMTAR"; then
- ac_cv_prog_AMTAR="$AMTAR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AMTAR="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AMTAR="$ac_cv_prog_AMTAR"
-if test -n "$AMTAR"; then
- echo "$ac_t""$AMTAR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-test -n "$AMTAR" && break
-done
-AMTARFLAGS=
-if test -n "$AMTAR"; then
- if $SHELL -c "$AMTAR --version" > /dev/null 2>&1; then
- AMTARFLAGS=o
- fi
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"}
+
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+
+if test -z "$install_sh"; then
+ install_sh="$ac_aux_dir/install-sh"
+ test -f "$install_sh" || install_sh="$ac_aux_dir/install.sh"
+ test -f "$install_sh" || install_sh="${am_missing_run}${ac_auxdir}/install-sh"
+ install_sh="`echo $install_sh | sed -e 's/\${SHELL}//'`"
fi
+
+
+
+
+
+
+
+
ac_cv_var_oncore_ok=no
iCFLAGS="$CFLAGS"
@@ -1100,8 +1061,8 @@ iCFLAGS="$CFLAGS"
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1104: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
+echo "configure:1065: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
@@ -1130,8 +1091,8 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1134: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
+echo "configure:1095: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
@@ -1177,12 +1138,12 @@ fi
if test -z "$CC"; then
case "`uname -s`" in
- *win32* | *WIN32* | *CYGWIN*)
+ *win32* | *WIN32*)
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1185: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
+echo "configure:1146: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
@@ -1212,8 +1173,8 @@ fi
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1217: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1178: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1224,12 +1185,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1228 "configure"
+#line 1189 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1254,14 +1215,14 @@ echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1259: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1220: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1264: checking whether we are using GNU C" >&5
-if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then
+echo "configure:1225: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
@@ -1269,7 +1230,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1288,8 +1249,8 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1292: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then
+echo "configure:1253: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo 'void f(){}' > conftest.c
@@ -1319,14 +1280,148 @@ else
fi
fi
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1286: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
+ CPP="${CC-cc} -E"
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 1301 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 1318 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 1335 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1341: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+ CPP="$ac_cv_prog_CPP"
+else
+ ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+
+
+
+
+
+
+depcc="$CC"
+depcpp="$CPP"
+echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6
+echo "configure:1374: checking dependency style of $depcc" >&5
+if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+if test -z "$AMDEP"; then
+ echo '#include "conftest.h"' > conftest.c
+ echo 'int i;' > conftest.h
+
+ am_cv_CC_dependencies_compiler_type=none
+ for depmode in `sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$am_depcomp"`; do
+ case "$depmode" in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ if depmode="$depmode" \
+ source=conftest.c object=conftest.o \
+ depfile=conftest.Po tmpdepfile=conftest.TPo \
+ $SHELL $am_depcomp $depcc -c conftest.c 2>/dev/null &&
+ grep conftest.h conftest.Po > /dev/null 2>&1; then
+ am_cv_CC_dependencies_compiler_type="$depmode"
+ break
+ fi
+ done
+
+ rm -f conftest.*
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+
+echo "$ac_t""$am_cv_CC_dependencies_compiler_type" 1>&6
+CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
+
+
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1324: checking how to run the C preprocessor" >&5
+echo "configure:1419: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
-if eval "test \"\${ac_cv_prog_CPP+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# This must be in double quotes, not single quotes, because CPP may get
@@ -1335,13 +1430,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1339 "configure"
+#line 1434 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1345: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1440: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1352,13 +1447,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1356 "configure"
+#line 1451 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1457: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1369,13 +1464,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1373 "configure"
+#line 1468 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1474: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1410,6 +1505,14 @@ case "$target" in
CFLAGS="$CFLAGS -Wc,+Abi-socket"
;;
esac
+ ;;
+ alpha*-dec-osf*)
+ case "$CC" in
+ cc)
+ CFLAGS="$CFLAGS -std1"
+ ;;
+ esac
+ ;;
esac
case "$host" in
@@ -1433,8 +1536,8 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1437: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_AWK+set}\" = set"; then
+echo "configure:1540: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$AWK"; then
@@ -1463,9 +1566,9 @@ test -n "$AWK" && break
done
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1467: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1570: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftestmake <<\EOF
@@ -1505,8 +1608,8 @@ case "$GCC" in
CFLAGS="$CFLAGS -Wstrict-prototypes"
echo $ac_n "checking whether ${CC-cc} -pipe works""... $ac_c" 1>&6
-echo "configure:1509: checking whether ${CC-cc} -pipe works" >&5
-if eval "test \"\${ac_cv_prog_cc_pipe+set}\" = set"; then
+echo "configure:1612: checking whether ${CC-cc} -pipe works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_pipe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo 'void f(){}' > conftest.c
@@ -1575,8 +1678,8 @@ esac
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1579: checking whether ln -s works" >&5
-if eval "test \"\${ac_cv_prog_LN_S+set}\" = set"; then
+echo "configure:1682: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftestdata
@@ -1597,13 +1700,13 @@ fi
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1601: checking whether ${CC-cc} needs -traditional" >&5
-if eval "test \"\${ac_cv_prog_gcc_traditional+set}\" = set"; then
+echo "configure:1704: checking whether ${CC-cc} needs -traditional" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 1607 "configure"
+#line 1710 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -1621,7 +1724,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 1625 "configure"
+#line 1728 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -1643,9 +1746,9 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
fi
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1647: checking for AIX" >&5
+echo "configure:1750: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 1649 "configure"
+#line 1752 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -1668,17 +1771,17 @@ rm -f conftest*
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1672: checking for minix/config.h" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:1775: checking for minix/config.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1677 "configure"
+#line 1780 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1682: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1716,7 +1819,7 @@ EOF
fi
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1720: checking for POSIXized ISC" >&5
+echo "configure:1823: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1739,8 +1842,8 @@ fi
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1743: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_prog_RANLIB+set}\" = set"; then
+echo "configure:1846: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$RANLIB"; then
@@ -1769,8 +1872,8 @@ fi
# Extract the first word of "sh", so it can be a program name with args.
set dummy sh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1773: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_path_PATH_SH+set}\" = set"; then
+echo "configure:1876: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PATH_SH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$PATH_SH" in
@@ -1820,9 +1923,9 @@ esac
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1824: checking for a BSD compatible install" >&5
+echo "configure:1927: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
-if eval "test \"\${ac_cv_path_install+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
@@ -1840,10 +1943,6 @@ else
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
- elif test $ac_prog = install &&
- grep pwplus $ac_dir/$ac_prog >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
else
ac_cv_path_install="$ac_dir/$ac_prog -c"
break 2
@@ -1872,7 +1971,7 @@ echo "$ac_t""$INSTALL" 1>&6
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
@@ -1880,22 +1979,22 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
case "$target" in
*-pc-cygwin*)
echo $ac_n "checking for main in -ladvapi32""... $ac_c" 1>&6
-echo "configure:1884: checking for main in -ladvapi32" >&5
+echo "configure:1983: checking for main in -ladvapi32" >&5
ac_lib_var=`echo advapi32'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-ladvapi32 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1892 "configure"
+#line 1991 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1925,15 +2024,15 @@ fi
;;
esac
echo $ac_n "checking for nlist in -lelf""... $ac_c" 1>&6
-echo "configure:1929: checking for nlist in -lelf" >&5
+echo "configure:2028: checking for nlist in -lelf" >&5
ac_lib_var=`echo elf'_'nlist | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lelf $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1937 "configure"
+#line 2036 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1944,7 +2043,7 @@ int main() {
nlist()
; return 0; }
EOF
-if { (eval echo configure:1948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1972,22 +2071,22 @@ else
fi
echo $ac_n "checking for main in -lkvm""... $ac_c" 1>&6
-echo "configure:1976: checking for main in -lkvm" >&5
+echo "configure:2075: checking for main in -lkvm" >&5
ac_lib_var=`echo kvm'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lkvm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1984 "configure"
+#line 2083 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2014,15 +2113,15 @@ else
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for nlist in -lld""... $ac_c" 1>&6
-echo "configure:2018: checking for nlist in -lld" >&5
+echo "configure:2117: checking for nlist in -lld" >&5
ac_lib_var=`echo ld'_'nlist | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2026 "configure"
+#line 2125 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2033,7 +2132,7 @@ int main() {
nlist()
; return 0; }
EOF
-if { (eval echo configure:2037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2061,15 +2160,15 @@ else
fi
echo $ac_n "checking for nlist in -lmld""... $ac_c" 1>&6
-echo "configure:2065: checking for nlist in -lmld" >&5
+echo "configure:2164: checking for nlist in -lmld" >&5
ac_lib_var=`echo mld'_'nlist | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lmld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2073 "configure"
+#line 2172 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2080,7 +2179,7 @@ int main() {
nlist()
; return 0; }
EOF
-if { (eval echo configure:2084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2108,12 +2207,12 @@ else
fi
echo $ac_n "checking for gethostent""... $ac_c" 1>&6
-echo "configure:2112: checking for gethostent" >&5
-if eval "test \"\${ac_cv_func_gethostent+set}\" = set"; then
+echo "configure:2211: checking for gethostent" >&5
+if eval "test \"`echo '$''{'ac_cv_func_gethostent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2117 "configure"
+#line 2216 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostent(); below. */
@@ -2122,7 +2221,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char gethostent();
-char (*f)();
int main() {
@@ -2132,12 +2230,12 @@ int main() {
#if defined (__stub_gethostent) || defined (__stub___gethostent)
choke me
#else
-f = gethostent;
+gethostent();
#endif
; return 0; }
EOF
-if { (eval echo configure:2141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostent=yes"
else
@@ -2155,15 +2253,15 @@ if eval "test \"`echo '$ac_cv_func_'gethostent`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for gethostent in -lnsl""... $ac_c" 1>&6
-echo "configure:2159: checking for gethostent in -lnsl" >&5
+echo "configure:2257: checking for gethostent in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostent | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lnsl -lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2167 "configure"
+#line 2265 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2174,7 +2272,7 @@ int main() {
gethostent()
; return 0; }
EOF
-if { (eval echo configure:2178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2204,12 +2302,12 @@ fi
fi
echo $ac_n "checking for openlog""... $ac_c" 1>&6
-echo "configure:2208: checking for openlog" >&5
-if eval "test \"\${ac_cv_func_openlog+set}\" = set"; then
+echo "configure:2306: checking for openlog" >&5
+if eval "test \"`echo '$''{'ac_cv_func_openlog'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2213 "configure"
+#line 2311 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char openlog(); below. */
@@ -2218,7 +2316,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char openlog();
-char (*f)();
int main() {
@@ -2228,12 +2325,12 @@ int main() {
#if defined (__stub_openlog) || defined (__stub___openlog)
choke me
#else
-f = openlog;
+openlog();
#endif
; return 0; }
EOF
-if { (eval echo configure:2237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_openlog=yes"
else
@@ -2251,15 +2348,15 @@ if eval "test \"`echo '$ac_cv_func_'openlog`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for openlog in -lgen""... $ac_c" 1>&6
-echo "configure:2255: checking for openlog in -lgen" >&5
+echo "configure:2352: checking for openlog in -lgen" >&5
ac_lib_var=`echo gen'_'openlog | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lgen $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2263 "configure"
+#line 2360 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2270,7 +2367,7 @@ int main() {
openlog()
; return 0; }
EOF
-if { (eval echo configure:2274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2301,15 +2398,15 @@ fi
echo $ac_n "checking for sched_setscheduler in -lrt""... $ac_c" 1>&6
-echo "configure:2305: checking for sched_setscheduler in -lrt" >&5
+echo "configure:2402: checking for sched_setscheduler in -lrt" >&5
ac_lib_var=`echo rt'_'sched_setscheduler | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lrt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2313 "configure"
+#line 2410 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2320,7 +2417,7 @@ int main() {
sched_setscheduler()
; return 0; }
EOF
-if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2346,15 +2443,15 @@ EOF
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sched_setscheduler in -lposix4""... $ac_c" 1>&6
-echo "configure:2350: checking for sched_setscheduler in -lposix4" >&5
+echo "configure:2447: checking for sched_setscheduler in -lposix4" >&5
ac_lib_var=`echo posix4'_'sched_setscheduler | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lposix4 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2358 "configure"
+#line 2455 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2365,7 +2462,7 @@ int main() {
sched_setscheduler()
; return 0; }
EOF
-if { (eval echo configure:2369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2395,12 +2492,12 @@ fi
fi
echo $ac_n "checking for setsockopt""... $ac_c" 1>&6
-echo "configure:2399: checking for setsockopt" >&5
-if eval "test \"\${ac_cv_func_setsockopt+set}\" = set"; then
+echo "configure:2496: checking for setsockopt" >&5
+if eval "test \"`echo '$''{'ac_cv_func_setsockopt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2404 "configure"
+#line 2501 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setsockopt(); below. */
@@ -2409,7 +2506,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char setsockopt();
-char (*f)();
int main() {
@@ -2419,12 +2515,12 @@ int main() {
#if defined (__stub_setsockopt) || defined (__stub___setsockopt)
choke me
#else
-f = setsockopt;
+setsockopt();
#endif
; return 0; }
EOF
-if { (eval echo configure:2428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setsockopt=yes"
else
@@ -2442,15 +2538,15 @@ if eval "test \"`echo '$ac_cv_func_'setsockopt`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for setsockopt in -lsocket""... $ac_c" 1>&6
-echo "configure:2446: checking for setsockopt in -lsocket" >&5
+echo "configure:2542: checking for setsockopt in -lsocket" >&5
ac_lib_var=`echo socket'_'setsockopt | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2454 "configure"
+#line 2550 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2461,7 +2557,7 @@ int main() {
setsockopt()
; return 0; }
EOF
-if { (eval echo configure:2465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2492,12 +2588,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2496: checking for ANSI C header files" >&5
-if eval "test \"\${ac_cv_header_stdc+set}\" = set"; then
+echo "configure:2592: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2501 "configure"
+#line 2597 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2505,7 +2601,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2605: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2522,7 +2618,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2526 "configure"
+#line 2622 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2540,7 +2636,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2544 "configure"
+#line 2640 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2561,7 +2657,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2565 "configure"
+#line 2661 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2572,7 +2668,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2599,17 +2695,17 @@ for ac_hdr in bstring.h errno.h fcntl.h memory.h netdb.h poll.h resolv.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2603: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2699: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2608 "configure"
+#line 2704 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2639,17 +2735,17 @@ for ac_hdr in sched.h sgtty.h stdlib.h string.h termio.h termios.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2643: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2739: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2648 "configure"
+#line 2744 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2679,17 +2775,17 @@ for ac_hdr in timepps.h timex.h unistd.h utmp.h utmpx.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2683: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2779: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2688 "configure"
+#line 2784 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2715,21 +2811,21 @@ else
fi
done
-for ac_hdr in arpa/nameser.h net/if.h netinet/in.h netinet/ip.h
+for ac_hdr in arpa/nameser.h net/if.h netinet/in_systm.h netinet/in.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2723: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2819: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2728 "configure"
+#line 2824 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2829: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2759,17 +2855,17 @@ for ac_hdr in netinfo/ni.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2763: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2859: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2768 "configure"
+#line 2864 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2773: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2802,17 +2898,17 @@ for ac_hdr in sun/audioio.h sys/audioio.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2806: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2902: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2811 "configure"
+#line 2907 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2842,17 +2938,17 @@ for ac_hdr in sys/clkdefs.h sys/file.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2846: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2942: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2851 "configure"
+#line 2947 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2952: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2884,17 +2980,17 @@ case "$target" in
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2888: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:2984: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2893 "configure"
+#line 2989 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2898: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2926,17 +3022,17 @@ for ac_hdr in sys/lock.h sys/mman.h sys/modem.h sys/param.h sys/ppsclock.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2930: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3026: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2935 "configure"
+#line 3031 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2940: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2966,17 +3062,17 @@ for ac_hdr in sys/ppstime.h sys/proc.h sys/resource.h sys/sched.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2970: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3066: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2975 "configure"
+#line 3071 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3008,59 +3104,17 @@ case "$target" in
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3012: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3017 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- ;;
- *sgi*)
- for ac_hdr in sys/syssgi.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3054: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3108: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3059 "configure"
+#line 3113 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3087,22 +3141,22 @@ fi
done
;;
- *)
- for ac_hdr in sys/select.h
+esac
+for ac_hdr in sys/select.h sys/sockio.h sys/stat.h sys/stream.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3096: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3150: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3101 "configure"
+#line 3155 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3128,23 +3182,21 @@ else
fi
done
- ;;
-esac
-for ac_hdr in sys/sockio.h sys/stat.h sys/stream.h sys/stropts.h
+for ac_hdr in sys/stropts.h sys/sysctl.h sys/syssgi.h sys/termios.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3138: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3190: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3143 "configure"
+#line 3195 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3170,21 +3222,21 @@ else
fi
done
-for ac_hdr in sys/sysctl.h sys/termios.h sys/time.h
+for ac_hdr in sys/time.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3178: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3230: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3183 "configure"
+#line 3235 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3211,7 +3263,7 @@ fi
done
cat > conftest.$ac_ext <<EOF
-#line 3215 "configure"
+#line 3267 "configure"
#include "confdefs.h"
#include <sys/timepps.h>
#ifdef PPS_API_VERS_1
@@ -3226,17 +3278,17 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3230: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3282: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3235 "configure"
+#line 3287 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3292: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3269,17 +3321,17 @@ for ac_hdr in sys/timers.h sys/timex.h sys/tpro.h sys/types.h sys/wait.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3273: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3325: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3278 "configure"
+#line 3330 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3306,12 +3358,12 @@ fi
done
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3310: checking whether time.h and sys/time.h may both be included" >&5
-if eval "test \"\${ac_cv_header_time+set}\" = set"; then
+echo "configure:3362: checking whether time.h and sys/time.h may both be included" >&5
+if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3315 "configure"
+#line 3367 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -3320,7 +3372,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:3324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -3346,17 +3398,17 @@ case "$target" in
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3350: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3402: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3355 "configure"
+#line 3407 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3388,17 +3440,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3392: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3444: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3397 "configure"
+#line 3449 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3429,17 +3481,17 @@ esac
ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:3433: checking for nlist.h" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3485: checking for nlist.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3438 "configure"
+#line 3490 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3460,19 +3512,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
EOF
echo $ac_n "checking for n_un in struct nlist""... $ac_c" 1>&6
-echo "configure:3464: checking for n_un in struct nlist" >&5
-if eval "test \"\${ac_cv_struct_nlist_n_un+set}\" = set"; then
+echo "configure:3516: checking for n_un in struct nlist" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_nlist_n_un'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3469 "configure"
+#line 3521 "configure"
#include "confdefs.h"
#include <nlist.h>
int main() {
struct nlist n; n.n_un.n_name = 0;
; return 0; }
EOF
-if { (eval echo configure:3476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_nlist_n_un=yes
else
@@ -3497,12 +3549,12 @@ else
fi
echo $ac_n "checking for basic volatile support""... $ac_c" 1>&6
-echo "configure:3501: checking for basic volatile support" >&5
-if eval "test \"\${ac_cv_c_volatile+set}\" = set"; then
+echo "configure:3553: checking for basic volatile support" >&5
+if eval "test \"`echo '$''{'ac_cv_c_volatile'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3506 "configure"
+#line 3558 "configure"
#include "confdefs.h"
int main() {
@@ -3510,7 +3562,7 @@ int main() {
volatile int x;
; return 0; }
EOF
-if { (eval echo configure:3514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_volatile=yes
else
@@ -3543,8 +3595,8 @@ case "$target" in
echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:3547: checking for ${CC-cc} option to accept ANSI C" >&5
-if eval "test \"\${am_cv_prog_cc_stdc+set}\" = set"; then
+echo "configure:3599: checking for ${CC-cc} option to accept ANSI C" >&5
+if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
am_cv_prog_cc_stdc=no
@@ -3560,7 +3612,7 @@ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIO
do
CC="$ac_save_CC $ac_arg"
cat > conftest.$ac_ext <<EOF
-#line 3564 "configure"
+#line 3616 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
@@ -3597,7 +3649,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
; return 0; }
EOF
-if { (eval echo configure:3601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
@@ -3623,7 +3675,7 @@ esac
echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
-echo "configure:3627: checking for function prototypes" >&5
+echo "configure:3679: checking for function prototypes" >&5
if test "$am_cv_prog_cc_stdc" != no; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -3636,12 +3688,12 @@ else
U=_ ANSI2KNR=./ansi2knr
# Ensure some checks needed by ansi2knr itself.
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3640: checking for ANSI C header files" >&5
-if eval "test \"\${ac_cv_header_stdc+set}\" = set"; then
+echo "configure:3692: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3645 "configure"
+#line 3697 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -3649,7 +3701,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3666,7 +3718,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3670 "configure"
+#line 3722 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -3684,7 +3736,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3688 "configure"
+#line 3740 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -3705,7 +3757,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 3709 "configure"
+#line 3761 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -3716,7 +3768,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:3720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -3743,17 +3795,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3747: checking for $ac_hdr" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:3799: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3752 "configure"
+#line 3804 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3809: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3784,12 +3836,12 @@ fi
;;
esac
echo $ac_n "checking if C compiler permits function prototypes""... $ac_c" 1>&6
-echo "configure:3788: checking if C compiler permits function prototypes" >&5
-if eval "test \"\${ac_cv_have_prototypes+set}\" = set"; then
+echo "configure:3840: checking if C compiler permits function prototypes" >&5
+if eval "test \"`echo '$''{'ac_cv_have_prototypes'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3793 "configure"
+#line 3845 "configure"
#include "confdefs.h"
extern int foo (short);
@@ -3799,7 +3851,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:3803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_prototypes=yes
else
@@ -3821,12 +3873,12 @@ EOF
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:3825: checking for working const" >&5
-if eval "test \"\${ac_cv_c_const+set}\" = set"; then
+echo "configure:3877: checking for working const" >&5
+if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3830 "configure"
+#line 3882 "configure"
#include "confdefs.h"
int main() {
@@ -3875,7 +3927,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:3879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3931: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -3898,14 +3950,14 @@ fi
case "$host" in
$target)
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:3902: checking whether byte ordering is bigendian" >&5
-if eval "test \"\${ac_cv_c_bigendian+set}\" = set"; then
+echo "configure:3954: checking whether byte ordering is bigendian" >&5
+if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
-#line 3909 "configure"
+#line 3961 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -3916,11 +3968,11 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:3920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
-#line 3924 "configure"
+#line 3976 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -3931,7 +3983,7 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:3935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3987: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
@@ -3951,7 +4003,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 3955 "configure"
+#line 4007 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
@@ -3964,7 +4016,7 @@ main () {
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:3968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_bigendian=no
else
@@ -4004,12 +4056,12 @@ EOF
;;
esac
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:4008: checking return type of signal handlers" >&5
-if eval "test \"\${ac_cv_type_signal+set}\" = set"; then
+echo "configure:4060: checking return type of signal handlers" >&5
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4013 "configure"
+#line 4065 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -4026,7 +4078,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:4030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -4045,12 +4097,12 @@ EOF
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:4049: checking for off_t" >&5
-if eval "test \"\${ac_cv_type_off_t+set}\" = set"; then
+echo "configure:4101: checking for off_t" >&5
+if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4054 "configure"
+#line 4106 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -4061,31 +4113,29 @@ EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
- eval "ac_cv_type_off_t=yes"
+ ac_cv_type_off_t=yes
else
rm -rf conftest*
- eval "ac_cv_type_off_t=no"
+ ac_cv_type_off_t=no
fi
rm -f conftest*
fi
-if eval "test \"`echo '$ac_cv_type_'off_t`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
- cat >> confdefs.h <<EOF
+echo "$ac_t""$ac_cv_type_off_t" 1>&6
+if test $ac_cv_type_off_t = no; then
+ cat >> confdefs.h <<\EOF
#define off_t long
EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:4084: checking for size_t" >&5
-if eval "test \"\${ac_cv_type_size_t+set}\" = set"; then
+echo "configure:4134: checking for size_t" >&5
+if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4089 "configure"
+#line 4139 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -4096,31 +4146,29 @@ EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
- eval "ac_cv_type_size_t=yes"
+ ac_cv_type_size_t=yes
else
rm -rf conftest*
- eval "ac_cv_type_size_t=no"
+ ac_cv_type_size_t=no
fi
rm -f conftest*
fi
-if eval "test \"`echo '$ac_cv_type_'size_t`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
- cat >> confdefs.h <<EOF
+echo "$ac_t""$ac_cv_type_size_t" 1>&6
+if test $ac_cv_type_size_t = no; then
+ cat >> confdefs.h <<\EOF
#define size_t unsigned
EOF
fi
echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:4119: checking for time_t" >&5
-if eval "test \"\${ac_cv_type_time_t+set}\" = set"; then
+echo "configure:4167: checking for time_t" >&5
+if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4124 "configure"
+#line 4172 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -4131,31 +4179,29 @@ EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "(^|[^a-zA-Z_0-9])time_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
- eval "ac_cv_type_time_t=yes"
+ ac_cv_type_time_t=yes
else
rm -rf conftest*
- eval "ac_cv_type_time_t=no"
+ ac_cv_type_time_t=no
fi
rm -f conftest*
fi
-if eval "test \"`echo '$ac_cv_type_'time_t`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
- cat >> confdefs.h <<EOF
+echo "$ac_t""$ac_cv_type_time_t" 1>&6
+if test $ac_cv_type_time_t = no; then
+ cat >> confdefs.h <<\EOF
#define time_t long
EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:4154: checking whether struct tm is in sys/time.h or time.h" >&5
-if eval "test \"\${ac_cv_struct_tm+set}\" = set"; then
+echo "configure:4200: checking whether struct tm is in sys/time.h or time.h" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4159 "configure"
+#line 4205 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@@ -4163,7 +4209,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:4167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4213: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@@ -4185,8 +4231,8 @@ fi
echo $ac_n "checking for a fallback value for HZ""... $ac_c" 1>&6
-echo "configure:4189: checking for a fallback value for HZ" >&5
-if eval "test \"\${ac_cv_var_default_hz+set}\" = set"; then
+echo "configure:4235: checking for a fallback value for HZ" >&5
+if eval "test \"`echo '$''{'ac_cv_var_default_hz'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_default_hz=100
@@ -4207,8 +4253,8 @@ EOF
echo $ac_n "checking if we need to override the system's value for HZ""... $ac_c" 1>&6
-echo "configure:4211: checking if we need to override the system's value for HZ" >&5
-if eval "test \"\${ac_cv_var_override_hz+set}\" = set"; then
+echo "configure:4257: checking if we need to override the system's value for HZ" >&5
+if eval "test \"`echo '$''{'ac_cv_var_override_hz'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_override_hz=no
@@ -4241,20 +4287,20 @@ esac
echo $ac_n "checking struct sigaction for sa_sigaction""... $ac_c" 1>&6
-echo "configure:4245: checking struct sigaction for sa_sigaction" >&5
-if eval "test \"\${ac_cv_struct_sigaction_has_sa_sigaction+set}\" = set"; then
+echo "configure:4291: checking struct sigaction for sa_sigaction" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_sigaction_has_sa_sigaction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4251 "configure"
+#line 4297 "configure"
#include "confdefs.h"
#include <signal.h>
int main() {
struct sigaction act; act.sa_sigaction = 0;
; return 0; }
EOF
-if { (eval echo configure:4258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4304: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_sigaction_has_sa_sigaction=yes
else
@@ -4278,12 +4324,12 @@ EOF
fi
echo $ac_n "checking for struct ppsclockev""... $ac_c" 1>&6
-echo "configure:4282: checking for struct ppsclockev" >&5
-if eval "test \"\${ac_cv_struct_ppsclockev+set}\" = set"; then
+echo "configure:4328: checking for struct ppsclockev" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_ppsclockev'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4287 "configure"
+#line 4333 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -4302,7 +4348,7 @@ extern struct ppsclockev *pce;
return pce->serial;
; return 0; }
EOF
-if { (eval echo configure:4306: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4352: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_ppsclockev=yes
else
@@ -4324,12 +4370,12 @@ EOF
fi
echo $ac_n "checking struct sockaddr for sa_len""... $ac_c" 1>&6
-echo "configure:4328: checking struct sockaddr for sa_len" >&5
-if eval "test \"\${ac_cv_struct_sockaddr_has_sa_len+set}\" = set"; then
+echo "configure:4374: checking struct sockaddr for sa_len" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_sockaddr_has_sa_len'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4333 "configure"
+#line 4379 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -4340,7 +4386,7 @@ extern struct sockaddr *ps;
return ps->sa_len;
; return 0; }
EOF
-if { (eval echo configure:4344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_sockaddr_has_sa_len=yes
else
@@ -4362,12 +4408,12 @@ EOF
fi
echo $ac_n "checking struct clockinfo for hz""... $ac_c" 1>&6
-echo "configure:4366: checking struct clockinfo for hz" >&5
-if eval "test \"\${ac_cv_struct_clockinfo_has_hz+set}\" = set"; then
+echo "configure:4412: checking struct clockinfo for hz" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_clockinfo_has_hz'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4371 "configure"
+#line 4417 "configure"
#include "confdefs.h"
#include <sys/time.h>
@@ -4377,7 +4423,7 @@ extern struct clockinfo *pc;
return pc->hz;
; return 0; }
EOF
-if { (eval echo configure:4381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4427: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_clockinfo_has_hz=yes
else
@@ -4399,12 +4445,12 @@ EOF
fi
echo $ac_n "checking struct clockinfo for tickadj""... $ac_c" 1>&6
-echo "configure:4403: checking struct clockinfo for tickadj" >&5
-if eval "test \"\${ac_cv_struct_clockinfo_has_tickadj+set}\" = set"; then
+echo "configure:4449: checking struct clockinfo for tickadj" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_clockinfo_has_tickadj'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4408 "configure"
+#line 4454 "configure"
#include "confdefs.h"
#include <sys/time.h>
@@ -4414,7 +4460,7 @@ extern struct clockinfo *pc;
return pc->tickadj;
; return 0; }
EOF
-if { (eval echo configure:4418: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_clockinfo_has_tickadj=yes
else
@@ -4436,12 +4482,12 @@ EOF
fi
echo $ac_n "checking for struct ntptimeval""... $ac_c" 1>&6
-echo "configure:4440: checking for struct ntptimeval" >&5
-if eval "test \"\${ac_cv_struct_ntptimeval+set}\" = set"; then
+echo "configure:4486: checking for struct ntptimeval" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_ntptimeval'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4445 "configure"
+#line 4491 "configure"
#include "confdefs.h"
#include <sys/time.h>
@@ -4450,7 +4496,7 @@ int main() {
struct ntptimeval n;
; return 0; }
EOF
-if { (eval echo configure:4454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_ntptimeval=yes
else
@@ -4471,12 +4517,12 @@ EOF
fi
echo $ac_n "checking struct ntptimeval for time.tv_nsec""... $ac_c" 1>&6
-echo "configure:4475: checking struct ntptimeval for time.tv_nsec" >&5
-if eval "test \"\${ac_cv_struct_ntptimeval_tv_nsec+set}\" = set"; then
+echo "configure:4521: checking struct ntptimeval for time.tv_nsec" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_ntptimeval_tv_nsec'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4480 "configure"
+#line 4526 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TIME_H
@@ -4499,7 +4545,7 @@ extern struct ntptimeval *ntv;
return ntv->time.tv_nsec;
; return 0; }
EOF
-if { (eval echo configure:4503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_ntptimeval_tv_nsec=yes
else
@@ -4521,12 +4567,12 @@ EOF
fi
echo $ac_n "checking for struct timespec in struct ntptimeval""... $ac_c" 1>&6
-echo "configure:4525: checking for struct timespec in struct ntptimeval" >&5
-if eval "test \"\${ac_cv_struct_ntptimeval_timespec+set}\" = set"; then
+echo "configure:4571: checking for struct timespec in struct ntptimeval" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_ntptimeval_timespec'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4530 "configure"
+#line 4576 "configure"
#include "confdefs.h"
#include <sys/time.h>
#include <sys/timex.h>
@@ -4534,7 +4580,7 @@ int main() {
struct ntptimeval n; n.time.tv_nsec = 0;
; return 0; }
EOF
-if { (eval echo configure:4538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_ntptimeval_timespec=yes
else
@@ -4555,21 +4601,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:4559: checking for inline" >&5
-if eval "test \"\${ac_cv_c_inline+set}\" = set"; then
+echo "configure:4605: checking for inline" >&5
+if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 4566 "configure"
+#line 4612 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:4573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -4595,14 +4641,14 @@ EOF
esac
echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6
-echo "configure:4599: checking whether char is unsigned" >&5
-if eval "test \"\${ac_cv_c_char_unsigned+set}\" = set"; then
+echo "configure:4645: checking whether char is unsigned" >&5
+if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$GCC" = yes; then
# GCC predefines this symbol on systems where it applies.
cat > conftest.$ac_ext <<EOF
-#line 4606 "configure"
+#line 4652 "configure"
#include "confdefs.h"
#ifdef __CHAR_UNSIGNED__
yes
@@ -4624,7 +4670,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 4628 "configure"
+#line 4674 "configure"
#include "confdefs.h"
/* volatile prevents gcc2 from optimizing the test away on sparcs. */
#if !defined(__STDC__) || __STDC__ != 1
@@ -4634,7 +4680,7 @@ main() {
volatile char c = 255; exit(c < 0);
}
EOF
-if { (eval echo configure:4638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_char_unsigned=yes
else
@@ -4659,15 +4705,15 @@ fi
case "$host" in
$target)
echo $ac_n "checking size of signed char""... $ac_c" 1>&6
-echo "configure:4663: checking size of signed char" >&5
-if eval "test \"\${ac_cv_sizeof_signed_char+set}\" = set"; then
+echo "configure:4709: checking size of signed char" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_signed_char'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 4671 "configure"
+#line 4717 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4678,7 +4724,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_signed_char=`cat conftestval`
else
@@ -4701,15 +4747,15 @@ EOF
*) case "$target" in
*-*-vxworks*)
echo $ac_n "checking size of signed char""... $ac_c" 1>&6
-echo "configure:4705: checking size of signed char" >&5
-if eval "test \"\${ac_cv_sizeof_signed_char+set}\" = set"; then
+echo "configure:4751: checking size of signed char" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_signed_char'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_sizeof_signed_char=1
else
cat > conftest.$ac_ext <<EOF
-#line 4713 "configure"
+#line 4759 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4720,7 +4766,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_signed_char=`cat conftestval`
else
@@ -4749,15 +4795,15 @@ esac
case "$host" in
$target)
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4753: checking size of int" >&5
-if eval "test \"\${ac_cv_sizeof_int+set}\" = set"; then
+echo "configure:4799: checking size of int" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 4761 "configure"
+#line 4807 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4768,7 +4814,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_int=`cat conftestval`
else
@@ -4791,15 +4837,15 @@ EOF
*) case "$target" in
*-*-vxworks*)
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4795: checking size of int" >&5
-if eval "test \"\${ac_cv_sizeof_int+set}\" = set"; then
+echo "configure:4841: checking size of int" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_sizeof_int=4
else
cat > conftest.$ac_ext <<EOF
-#line 4803 "configure"
+#line 4849 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4810,7 +4856,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_int=`cat conftestval`
else
@@ -4839,15 +4885,15 @@ esac
case "$host" in
$target)
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4843: checking size of long" >&5
-if eval "test \"\${ac_cv_sizeof_long+set}\" = set"; then
+echo "configure:4889: checking size of long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 4851 "configure"
+#line 4897 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4858,7 +4904,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_long=`cat conftestval`
else
@@ -4881,15 +4927,15 @@ EOF
*) case "$target" in
*-*-vxworks*)
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4885: checking size of long" >&5
-if eval "test \"\${ac_cv_sizeof_long+set}\" = set"; then
+echo "configure:4931: checking size of long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_sizeof_long=4
else
cat > conftest.$ac_ext <<EOF
-#line 4893 "configure"
+#line 4939 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -4900,7 +4946,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:4904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_long=`cat conftestval`
else
@@ -4927,12 +4973,12 @@ EOF
esac
echo $ac_n "checking for s_char""... $ac_c" 1>&6
-echo "configure:4931: checking for s_char" >&5
-if eval "test \"\${ac_cv_type_s_char+set}\" = set"; then
+echo "configure:4977: checking for s_char" >&5
+if eval "test \"`echo '$''{'ac_cv_type_s_char'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4936 "configure"
+#line 4982 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -4943,19 +4989,17 @@ EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "(^|[^a-zA-Z_0-9])s_char[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
- eval "ac_cv_type_s_char=yes"
+ ac_cv_type_s_char=yes
else
rm -rf conftest*
- eval "ac_cv_type_s_char=no"
+ ac_cv_type_s_char=no
fi
rm -f conftest*
fi
-if eval "test \"`echo '$ac_cv_type_'s_char`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
- cat >> confdefs.h <<EOF
+echo "$ac_t""$ac_cv_type_s_char" 1>&6
+if test $ac_cv_type_s_char = no; then
+ cat >> confdefs.h <<\EOF
#define s_char signed char
EOF
@@ -4992,12 +5036,12 @@ EOF
;;
esac
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:4996: checking for uid_t in sys/types.h" >&5
-if eval "test \"\${ac_cv_type_uid_t+set}\" = set"; then
+echo "configure:5040: checking for uid_t in sys/types.h" >&5
+if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5001 "configure"
+#line 5045 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
@@ -5031,12 +5075,12 @@ case "$target" in
for ac_func in __adjtimex __ntp_gettime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5035: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5079: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5040 "configure"
+#line 5084 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5045,7 +5089,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5055,12 +5098,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5097,12 +5140,12 @@ case "$target" in
*) for ac_func in clock_settime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5101: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5144: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5106 "configure"
+#line 5149 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5111,7 +5154,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5121,12 +5163,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5155,12 +5197,12 @@ esac
for ac_func in daemon getbootfile getdtablesize getrusage
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5159: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5201: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5164 "configure"
+#line 5206 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5169,7 +5211,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5179,12 +5220,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5211,12 +5252,12 @@ done
for ac_func in gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5215: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5256: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5220 "configure"
+#line 5261 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5225,7 +5266,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5235,12 +5275,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5270,12 +5310,12 @@ case "$target" in
*) for ac_func in getuid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5274: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5314: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5279 "configure"
+#line 5319 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5284,7 +5324,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5294,12 +5333,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5328,12 +5367,12 @@ esac
for ac_func in K_open kvm_open memcpy memmove memset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5332: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5371: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5337 "configure"
+#line 5376 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5342,7 +5381,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5352,12 +5390,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5388,12 +5426,12 @@ case "$target" in
*) for ac_func in mkstemp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5392: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5430: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5397 "configure"
+#line 5435 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5402,7 +5440,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5412,12 +5449,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5446,12 +5483,12 @@ esac
for ac_func in mktime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5450: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5487: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5455 "configure"
+#line 5492 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5460,7 +5497,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5470,12 +5506,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5517,12 +5553,12 @@ case "$target" in
for ac_func in memlk
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5521: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5557: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5526 "configure"
+#line 5562 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5531,7 +5567,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5541,12 +5576,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5573,12 +5608,12 @@ done
for ac_func in mlockall
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5577: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5612: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5582 "configure"
+#line 5617 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5587,7 +5622,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5597,12 +5631,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5630,12 +5664,12 @@ done
*) for ac_func in mlockall
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5634: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5668: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5639 "configure"
+#line 5673 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5644,7 +5678,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5654,12 +5687,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5688,12 +5721,12 @@ esac
for ac_func in nice nlist
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5692: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5725: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5697 "configure"
+#line 5730 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5702,7 +5735,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5712,12 +5744,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5748,12 +5780,12 @@ case "$target" in
*) for ac_func in ntp_adjtime ntp_gettime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5752: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5784: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5757 "configure"
+#line 5789 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5762,7 +5794,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5772,12 +5803,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5806,12 +5837,12 @@ esac
for ac_func in plock pututline pututxline rtprio
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5810: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5841: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5815 "configure"
+#line 5846 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5820,7 +5851,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5830,12 +5860,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5862,12 +5892,12 @@ done
for ac_func in random srandom mrand48 srand48
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5866: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5896: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5871 "configure"
+#line 5901 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5876,7 +5906,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5886,12 +5915,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5925,12 +5954,12 @@ case "$target" in
*) for ac_func in sched_setscheduler
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5929: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:5958: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5934 "configure"
+#line 5963 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5939,7 +5968,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -5949,12 +5977,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:5958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5983,12 +6011,12 @@ esac
for ac_func in setlinebuf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5987: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6015: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5992 "configure"
+#line 6020 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5997,7 +6025,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6007,12 +6034,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6039,12 +6066,12 @@ done
for ac_func in setpgid setpriority setsid settimeofday setvbuf sigaction
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6043: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6070: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6048 "configure"
+#line 6075 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6053,7 +6080,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6063,12 +6089,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6095,12 +6121,12 @@ done
for ac_func in sigvec sigset sigsuspend stime strchr sysconf sysctl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6099: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6125: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6104 "configure"
+#line 6130 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6109,7 +6135,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6119,12 +6144,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6151,12 +6176,12 @@ done
for ac_func in strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6155: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6180: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6160 "configure"
+#line 6185 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6165,7 +6190,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6175,12 +6199,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6219,12 +6243,12 @@ case "$target" in
*) for ac_func in timer_create timer_settime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6223: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6247: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6228 "configure"
+#line 6252 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6233,7 +6257,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6243,12 +6266,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6281,12 +6304,12 @@ case "$target" in
*) for ac_func in umask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6285: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6308: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6290 "configure"
+#line 6313 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6295,7 +6318,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6305,12 +6327,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6339,12 +6361,12 @@ esac
for ac_func in uname updwtmp updwtmpx vsprintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6343: checking for $ac_func" >&5
-if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
+echo "configure:6365: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6348 "configure"
+#line 6370 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6353,7 +6375,6 @@ else
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
int main() {
@@ -6363,12 +6384,12 @@ int main() {
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
; return 0; }
EOF
-if { (eval echo configure:6372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6394,12 +6415,12 @@ done
echo $ac_n "checking number of arguments to gettimeofday()""... $ac_c" 1>&6
-echo "configure:6398: checking number of arguments to gettimeofday()" >&5
-if eval "test \"\${ac_cv_func_Xettimeofday_nargs+set}\" = set"; then
+echo "configure:6419: checking number of arguments to gettimeofday()" >&5
+if eval "test \"`echo '$''{'ac_cv_func_Xettimeofday_nargs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6403 "configure"
+#line 6424 "configure"
#include "confdefs.h"
#include <sys/time.h>
int main() {
@@ -6409,7 +6430,7 @@ settimeofday((struct timeval*)0,(struct timezone*)0);
; return 0; }
EOF
-if { (eval echo configure:6413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_func_Xettimeofday_nargs=2
else
@@ -6431,12 +6452,12 @@ EOF
fi
echo $ac_n "checking number of arguments taken by setpgrp()""... $ac_c" 1>&6
-echo "configure:6435: checking number of arguments taken by setpgrp()" >&5
-if eval "test \"\${ac_cv_func_setpgrp_nargs+set}\" = set"; then
+echo "configure:6456: checking number of arguments taken by setpgrp()" >&5
+if eval "test \"`echo '$''{'ac_cv_func_setpgrp_nargs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6440 "configure"
+#line 6461 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
@@ -6450,7 +6471,7 @@ int main() {
setpgrp(0,0);
; return 0; }
EOF
-if { (eval echo configure:6454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6475: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_func_setpgrp_nargs=2
else
@@ -6475,12 +6496,12 @@ save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -I$srcdir/include"
echo $ac_n "checking argument pointer type of qsort()'s compare function and base""... $ac_c" 1>&6
-echo "configure:6479: checking argument pointer type of qsort()'s compare function and base" >&5
-if eval "test \"\${ac_cv_func_qsort_argtype+set}\" = set"; then
+echo "configure:6500: checking argument pointer type of qsort()'s compare function and base" >&5
+if eval "test \"`echo '$''{'ac_cv_func_qsort_argtype'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6484 "configure"
+#line 6505 "configure"
#include "confdefs.h"
#include "l_stdlib.h"
@@ -6503,7 +6524,7 @@ qsort(base, 2, sizeof(char *), sortfunc);
; return 0; }
EOF
-if { (eval echo configure:6507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_func_qsort_argtype=void
else
@@ -6529,12 +6550,12 @@ esac
CFLAGS=$save_CFLAGS
echo $ac_n "checking if we need to declare 'errno'""... $ac_c" 1>&6
-echo "configure:6533: checking if we need to declare 'errno'" >&5
-if eval "test \"\${ac_cv_decl_errno+set}\" = set"; then
+echo "configure:6554: checking if we need to declare 'errno'" >&5
+if eval "test \"`echo '$''{'ac_cv_decl_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6538 "configure"
+#line 6559 "configure"
#include "confdefs.h"
#ifdef HAVE_ERRNO_H
#include <errno.h>
@@ -6543,7 +6564,7 @@ int main() {
errno = 0;
; return 0; }
EOF
-if { (eval echo configure:6547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_errno=no
else
@@ -6564,12 +6585,12 @@ EOF
esac
echo $ac_n "checking if we may declare 'h_errno'""... $ac_c" 1>&6
-echo "configure:6568: checking if we may declare 'h_errno'" >&5
-if eval "test \"\${ac_cv_decl_h_errno+set}\" = set"; then
+echo "configure:6589: checking if we may declare 'h_errno'" >&5
+if eval "test \"`echo '$''{'ac_cv_decl_h_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6573 "configure"
+#line 6594 "configure"
#include "confdefs.h"
#include <sys/types.h>
#ifdef HAVE_NETINET_IN_H
@@ -6588,7 +6609,7 @@ int main() {
extern int h_errno;
; return 0; }
EOF
-if { (eval echo configure:6592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_h_errno=yes
else
@@ -6608,13 +6629,13 @@ EOF
;;
esac
-echo $ac_n "checking if declaring 'char *sys_errlist' is ok""... $ac_c" 1>&6
-echo "configure:6613: checking if declaring 'char *sys_errlist' is ok" >&5
-if eval "test \"\${ac_cv_decl_sys_errlist+set}\" = set"; then
+echo $ac_n "checking if declaring 'char *sys_errlist[]' is ok""... $ac_c" 1>&6
+echo "configure:6634: checking if declaring 'char *sys_errlist[]' is ok" >&5
+if eval "test \"`echo '$''{'ac_cv_decl_sys_errlist'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6618 "configure"
+#line 6639 "configure"
#include "confdefs.h"
#include <stdio.h>
#ifdef HAVE_ERRNO_H
@@ -6625,7 +6646,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:6629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_sys_errlist=yes
else
@@ -6646,12 +6667,12 @@ EOF
esac
echo $ac_n "checking if declaring 'syscall()' is ok""... $ac_c" 1>&6
-echo "configure:6650: checking if declaring 'syscall()' is ok" >&5
-if eval "test \"\${ac_cv_decl_syscall+set}\" = set"; then
+echo "configure:6671: checking if declaring 'syscall()' is ok" >&5
+if eval "test \"`echo '$''{'ac_cv_decl_syscall'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6655 "configure"
+#line 6676 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
@@ -6670,7 +6691,7 @@ int main() {
extern int syscall P((int, ...));
; return 0; }
EOF
-if { (eval echo configure:6674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_syscall=yes
else
@@ -6691,13 +6712,13 @@ EOF
esac
case "$target" in
- *-*-osf45*)
+ *-*-osf[45]*)
cat >> confdefs.h <<\EOF
#define DECL_PLOCK_0 1
EOF
cat >> confdefs.h <<\EOF
-#define DECL_STIME_0 1
+#define DECL_STIME_1 1
EOF
;;
@@ -6957,8 +6978,8 @@ EOF
esac
echo $ac_n "checking if we should use a streams device for ifconfig""... $ac_c" 1>&6
-echo "configure:6961: checking if we should use a streams device for ifconfig" >&5
-if eval "test \"\${ac_cv_var_use_streams_device_for_ifconfig+set}\" = set"; then
+echo "configure:6982: checking if we should use a streams device for ifconfig" >&5
+if eval "test \"`echo '$''{'ac_cv_var_use_streams_device_for_ifconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_use_streams_device_for_ifconfig=no
@@ -6967,8 +6988,8 @@ fi
echo "$ac_t""$ac_cv_var_use_streams_device_for_ifconfig" 1>&6
echo $ac_n "checking if we need extra room for SO_RCVBUF""... $ac_c" 1>&6
-echo "configure:6971: checking if we need extra room for SO_RCVBUF" >&5
-if eval "test \"\${ac_cv_var_rcvbuf_slop+set}\" = set"; then
+echo "configure:6992: checking if we need extra room for SO_RCVBUF" >&5
+if eval "test \"`echo '$''{'ac_cv_var_rcvbuf_slop'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -6989,8 +7010,8 @@ EOF
esac
echo $ac_n "checking if we will open the broadcast socket""... $ac_c" 1>&6
-echo "configure:6993: checking if we will open the broadcast socket" >&5
-if eval "test \"\${ac_cv_var_open_bcast_socket+set}\" = set"; then
+echo "configure:7014: checking if we will open the broadcast socket" >&5
+if eval "test \"`echo '$''{'ac_cv_var_open_bcast_socket'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=yes
@@ -7014,8 +7035,8 @@ EOF
esac
echo $ac_n "checking if we want the HPUX version of FindConfig()""... $ac_c" 1>&6
-echo "configure:7018: checking if we want the HPUX version of FindConfig()" >&5
-if eval "test \"\${ac_cv_var_hpux_findconfig+set}\" = set"; then
+echo "configure:7039: checking if we want the HPUX version of FindConfig()" >&5
+if eval "test \"`echo '$''{'ac_cv_var_hpux_findconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7036,8 +7057,8 @@ EOF
esac
echo $ac_n "checking if process groups are set with -pid""... $ac_c" 1>&6
-echo "configure:7040: checking if process groups are set with -pid" >&5
-if eval "test \"\${ac_cv_arg_setpgrp_negpid+set}\" = set"; then
+echo "configure:7061: checking if process groups are set with -pid" >&5
+if eval "test \"`echo '$''{'ac_cv_arg_setpgrp_negpid'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -7072,8 +7093,8 @@ EOF
esac
echo $ac_n "checking if we need a ctty for F_SETOWN""... $ac_c" 1>&6
-echo "configure:7076: checking if we need a ctty for F_SETOWN" >&5
-if eval "test \"\${ac_cv_func_ctty_for_f_setown+set}\" = set"; then
+echo "configure:7097: checking if we need a ctty for F_SETOWN" >&5
+if eval "test \"`echo '$''{'ac_cv_func_ctty_for_f_setown'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -7105,7 +7126,7 @@ esac
ntp_warning='GRONK'
echo $ac_n "checking if we'll use clock_settime or settimeofday or stime""... $ac_c" 1>&6
-echo "configure:7109: checking if we'll use clock_settime or settimeofday or stime" >&5
+echo "configure:7130: checking if we'll use clock_settime or settimeofday or stime" >&5
case "$ac_cv_func_clock_settime$ac_cv_func_settimeofday$ac_cv_func_stime" in
yes*)
ntp_warning=''
@@ -7134,8 +7155,8 @@ case "$ntp_warning" in
esac
echo $ac_n "checking if we have a losing syscall()""... $ac_c" 1>&6
-echo "configure:7138: checking if we have a losing syscall()" >&5
-if eval "test \"\${ac_cv_var_syscall_bug+set}\" = set"; then
+echo "configure:7159: checking if we have a losing syscall()" >&5
+if eval "test \"`echo '$''{'ac_cv_var_syscall_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -7157,8 +7178,8 @@ EOF
esac
echo $ac_n "checking for Streams/TLI""... $ac_c" 1>&6
-echo "configure:7161: checking for Streams/TLI" >&5
-if eval "test \"\${ac_cv_var_streams_tli+set}\" = set"; then
+echo "configure:7182: checking for Streams/TLI" >&5
+if eval "test \"`echo '$''{'ac_cv_var_streams_tli'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$ac_cv_header_sys_stropts_h" in
@@ -7186,12 +7207,12 @@ EOF
esac
echo $ac_n "checking for SIGIO""... $ac_c" 1>&6
-echo "configure:7190: checking for SIGIO" >&5
-if eval "test \"\${ac_cv_hdr_def_sigio+set}\" = set"; then
+echo "configure:7211: checking for SIGIO" >&5
+if eval "test \"`echo '$''{'ac_cv_hdr_def_sigio'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7195 "configure"
+#line 7216 "configure"
#include "confdefs.h"
#include <signal.h>
#ifdef SIGIO
@@ -7214,8 +7235,8 @@ fi
echo "$ac_t""$ac_cv_hdr_def_sigio" 1>&6
echo $ac_n "checking if we want to use signalled IO""... $ac_c" 1>&6
-echo "configure:7218: checking if we want to use signalled IO" >&5
-if eval "test \"\${ac_cv_var_signalled_io+set}\" = set"; then
+echo "configure:7239: checking if we want to use signalled IO" >&5
+if eval "test \"`echo '$''{'ac_cv_var_signalled_io'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7265,12 +7286,12 @@ EOF
esac
echo $ac_n "checking for SIGPOLL""... $ac_c" 1>&6
-echo "configure:7269: checking for SIGPOLL" >&5
-if eval "test \"\${ac_cv_hdr_def_sigpoll+set}\" = set"; then
+echo "configure:7290: checking for SIGPOLL" >&5
+if eval "test \"`echo '$''{'ac_cv_hdr_def_sigpoll'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7274 "configure"
+#line 7295 "configure"
#include "confdefs.h"
#include <signal.h>
#ifdef SIGPOLL
@@ -7293,12 +7314,12 @@ fi
echo "$ac_t""$ac_cv_hdr_def_sigpoll" 1>&6
echo $ac_n "checking for SIGSYS""... $ac_c" 1>&6
-echo "configure:7297: checking for SIGSYS" >&5
-if eval "test \"\${ac_cv_hdr_def_sigsys+set}\" = set"; then
+echo "configure:7318: checking for SIGSYS" >&5
+if eval "test \"`echo '$''{'ac_cv_hdr_def_sigsys'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7302 "configure"
+#line 7323 "configure"
#include "confdefs.h"
#include <signal.h>
#ifdef SIGSYS
@@ -7321,8 +7342,8 @@ fi
echo "$ac_t""$ac_cv_hdr_def_sigsys" 1>&6
echo $ac_n "checking if we can use SIGPOLL for UDP I/O""... $ac_c" 1>&6
-echo "configure:7325: checking if we can use SIGPOLL for UDP I/O" >&5
-if eval "test \"\${ac_cv_var_use_udp_sigpoll+set}\" = set"; then
+echo "configure:7346: checking if we can use SIGPOLL for UDP I/O" >&5
+if eval "test \"`echo '$''{'ac_cv_var_use_udp_sigpoll'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7376,8 +7397,8 @@ EOF
esac
echo $ac_n "checking if we can use SIGPOLL for TTY I/O""... $ac_c" 1>&6
-echo "configure:7380: checking if we can use SIGPOLL for TTY I/O" >&5
-if eval "test \"\${ac_cv_var_use_tty_sigpoll+set}\" = set"; then
+echo "configure:7401: checking if we can use SIGPOLL for TTY I/O" >&5
+if eval "test \"`echo '$''{'ac_cv_var_use_tty_sigpoll'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7433,12 +7454,12 @@ esac
case "$ac_cv_header_sys_sio_h" in
yes)
echo $ac_n "checking sys/sio.h for TIOCDCDTIMESTAMP""... $ac_c" 1>&6
-echo "configure:7437: checking sys/sio.h for TIOCDCDTIMESTAMP" >&5
-if eval "test \"\${ac_cv_hdr_def_tiocdcdtimestamp+set}\" = set"; then
+echo "configure:7458: checking sys/sio.h for TIOCDCDTIMESTAMP" >&5
+if eval "test \"`echo '$''{'ac_cv_hdr_def_tiocdcdtimestamp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7442 "configure"
+#line 7463 "configure"
#include "confdefs.h"
#include <sys/sio.h>
#ifdef TIOCDCDTIMESTAMP
@@ -7462,9 +7483,15 @@ echo "$ac_t""$ac_cv_hdr_def_tiocdcdtimestamp" 1>&6
;;
esac
+case "$ac_cv_hdr_def_tiocdcdtimestamp" in
+ yes)
+ ac_cv_var_oncore_ok=yes
+ ;;
+esac
+
echo $ac_n "checking if nlist() values might require extra indirection""... $ac_c" 1>&6
-echo "configure:7467: checking if nlist() values might require extra indirection" >&5
-if eval "test \"\${ac_cv_var_nlist_extra_indirection+set}\" = set"; then
+echo "configure:7494: checking if nlist() values might require extra indirection" >&5
+if eval "test \"`echo '$''{'ac_cv_var_nlist_extra_indirection'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7485,8 +7512,8 @@ EOF
esac
echo $ac_n "checking for a minimum recommended value of tickadj""... $ac_c" 1>&6
-echo "configure:7489: checking for a minimum recommended value of tickadj" >&5
-if eval "test \"\${ac_cv_var_min_rec_tickadj+set}\" = set"; then
+echo "configure:7516: checking for a minimum recommended value of tickadj" >&5
+if eval "test \"`echo '$''{'ac_cv_var_min_rec_tickadj'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7508,8 +7535,8 @@ EOF
esac
echo $ac_n "checking if the TTY code permits PARENB and IGNPAR""... $ac_c" 1>&6
-echo "configure:7512: checking if the TTY code permits PARENB and IGNPAR" >&5
-if eval "test \"\${ac_cv_var_no_parenb_ignpar+set}\" = set"; then
+echo "configure:7539: checking if the TTY code permits PARENB and IGNPAR" >&5
+if eval "test \"`echo '$''{'ac_cv_var_no_parenb_ignpar'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7533,7 +7560,7 @@ EOF
esac
echo $ac_n "checking if we're including debugging code""... $ac_c" 1>&6
-echo "configure:7537: checking if we're including debugging code" >&5
+echo "configure:7564: checking if we're including debugging code" >&5
# Check whether --enable-debugging or --disable-debugging was given.
if test "${enable_debugging+set}" = set; then
enableval="$enable_debugging"
@@ -7551,7 +7578,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking for a the number of minutes in a DST adjustment""... $ac_c" 1>&6
-echo "configure:7555: checking for a the number of minutes in a DST adjustment" >&5
+echo "configure:7582: checking for a the number of minutes in a DST adjustment" >&5
# Check whether --enable-dst_minutes or --disable-dst_minutes was given.
if test "${enable_dst_minutes+set}" = set; then
enableval="$enable_dst_minutes"
@@ -7567,8 +7594,8 @@ EOF
echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we have the tty_clk line discipline/streams module""... $ac_c" 1>&6
-echo "configure:7571: checking if we have the tty_clk line discipline/streams module" >&5
-if eval "test \"\${ac_cv_var_tty_clk+set}\" = set"; then
+echo "configure:7598: checking if we have the tty_clk line discipline/streams module" >&5
+if eval "test \"`echo '$''{'ac_cv_var_tty_clk'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$ac_cv_header_sys_clkdefs_h$ac_cv_hdr_def_tiocdcdtimestamp" in
@@ -7585,8 +7612,8 @@ EOF
esac
echo $ac_n "checking for the ppsclock streams module""... $ac_c" 1>&6
-echo "configure:7589: checking for the ppsclock streams module" >&5
-if eval "test \"\${ac_cv_var_ppsclock+set}\" = set"; then
+echo "configure:7616: checking for the ppsclock streams module" >&5
+if eval "test \"`echo '$''{'ac_cv_var_ppsclock'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_ppsclock=$ac_cv_struct_ppsclockev
@@ -7601,15 +7628,15 @@ EOF
esac
echo $ac_n "checking for kernel multicast support""... $ac_c" 1>&6
-echo "configure:7605: checking for kernel multicast support" >&5
-if eval "test \"\${ac_cv_var_mcast+set}\" = set"; then
+echo "configure:7632: checking for kernel multicast support" >&5
+if eval "test \"`echo '$''{'ac_cv_var_mcast'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_mcast=no
case "$target" in
i386-sequent-sysv4) ;;
*) cat > conftest.$ac_ext <<EOF
-#line 7613 "configure"
+#line 7640 "configure"
#include "confdefs.h"
#include <netinet/in.h>
#ifdef IP_ADD_MEMBERSHIP
@@ -7636,8 +7663,8 @@ EOF
esac
echo $ac_n "checking availability of ntp_{adj,get}time()""... $ac_c" 1>&6
-echo "configure:7640: checking availability of ntp_{adj,get}time()" >&5
-if eval "test \"\${ac_cv_var_ntp_syscalls+set}\" = set"; then
+echo "configure:7667: checking availability of ntp_{adj,get}time()" >&5
+if eval "test \"`echo '$''{'ac_cv_var_ntp_syscalls'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_var_ntp_syscalls=no
@@ -7650,7 +7677,7 @@ else
ac_cv_var_ntp_syscalls=libc
;;
*) cat > conftest.$ac_ext <<EOF
-#line 7654 "configure"
+#line 7681 "configure"
#include "confdefs.h"
#include <sys/syscall.h>
#if defined(SYS_ntp_gettime) && defined(SYS_ntp_adjtime)
@@ -7690,12 +7717,12 @@ EOF
esac
echo $ac_n "checking if sys/timex.h has STA_FLL""... $ac_c" 1>&6
-echo "configure:7694: checking if sys/timex.h has STA_FLL" >&5
-if eval "test \"\${ac_cv_var_sta_fll+set}\" = set"; then
+echo "configure:7721: checking if sys/timex.h has STA_FLL" >&5
+if eval "test \"`echo '$''{'ac_cv_var_sta_fll'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7699 "configure"
+#line 7726 "configure"
#include "confdefs.h"
#include <sys/timex.h>
#ifdef STA_FLL
@@ -7718,8 +7745,8 @@ fi
echo "$ac_t""$ac_cv_var_sta_fll" 1>&6
echo $ac_n "checking if we have kernel PLL support""... $ac_c" 1>&6
-echo "configure:7722: checking if we have kernel PLL support" >&5
-if eval "test \"\${ac_cv_var_kernel_pll+set}\" = set"; then
+echo "configure:7749: checking if we have kernel PLL support" >&5
+if eval "test \"`echo '$''{'ac_cv_var_kernel_pll'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$ac_cv_header_sys_timex_h$ac_cv_struct_ntptimeval$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in
@@ -7742,8 +7769,8 @@ EOF
esac
echo $ac_n "checking if SIOCGIFCONF returns buffer size in the buffer""... $ac_c" 1>&6
-echo "configure:7746: checking if SIOCGIFCONF returns buffer size in the buffer" >&5
-if eval "test \"\${ac_cv_var_size_returned_in_buffer+set}\" = set"; then
+echo "configure:7773: checking if SIOCGIFCONF returns buffer size in the buffer" >&5
+if eval "test \"`echo '$''{'ac_cv_var_size_returned_in_buffer'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -7771,8 +7798,8 @@ esac
echo $ac_n "checking if we want to use MD5 authentication""... $ac_c" 1>&6
-echo "configure:7775: checking if we want to use MD5 authentication" >&5
-if eval "test \"\${ac_cv_var_use_md5+set}\" = set"; then
+echo "configure:7802: checking if we want to use MD5 authentication" >&5
+if eval "test \"`echo '$''{'ac_cv_var_use_md5'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-md5 or --disable-md5 was given.
@@ -7796,10 +7823,10 @@ esac
# Check for ioctls TIOCGPPSEV
echo $ac_n "checking ioctl TIOCGPPSEV""... $ac_c" 1>&6
-echo "configure:7800: checking ioctl TIOCGPPSEV" >&5
+echo "configure:7827: checking ioctl TIOCGPPSEV" >&5
if test "$ac_cv_header_termios_h" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 7803 "configure"
+#line 7830 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef TIOCGPPSEV
@@ -7820,7 +7847,6 @@ rm -f conftest*
else
ntp_ok=no
fi
-
if test "$ntp_ok" = "yes"; then
cat >> confdefs.h <<\EOF
#define HAVE_TIOCGPPSEV 1
@@ -7832,10 +7858,10 @@ echo "$ac_t""$ntp_ok" 1>&6
# Check for ioctls TIOCSPPS
echo $ac_n "checking ioctl TIOCSPPS""... $ac_c" 1>&6
-echo "configure:7836: checking ioctl TIOCSPPS" >&5
+echo "configure:7862: checking ioctl TIOCSPPS" >&5
if test "$ac_cv_header_termios_h" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 7839 "configure"
+#line 7865 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef TIOCSPPS
@@ -7867,10 +7893,10 @@ echo "$ac_t""$ntp_ok" 1>&6
# Check for ioctls CIOGETEV
echo $ac_n "checking ioctl CIOGETEV""... $ac_c" 1>&6
-echo "configure:7871: checking ioctl CIOGETEV" >&5
+echo "configure:7897: checking ioctl CIOGETEV" >&5
if test "$ac_cv_header_sys_ppsclock_h" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 7874 "configure"
+#line 7900 "configure"
#include "confdefs.h"
#include <sys/ppsclock.h>
#ifdef CIOGETEV
@@ -7891,7 +7917,6 @@ rm -f conftest*
else
ntp_ok=no
fi
-
if test "$ntp_ok" = "yes"; then
ac_cv_var_oncore_ok=yes
cat >> confdefs.h <<\EOF
@@ -7922,17 +7947,17 @@ esac
# Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG
ac_safe=`echo "linux/serial.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/serial.h""... $ac_c" 1>&6
-echo "configure:7926: checking for linux/serial.h" >&5
-if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
+echo "configure:7951: checking for linux/serial.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7931 "configure"
+#line 7956 "configure"
#include "confdefs.h"
#include <linux/serial.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -7954,11 +7979,11 @@ else
fi
echo $ac_n "checking ioctl TIOCGSERIAL""... $ac_c" 1>&6
-echo "configure:7958: checking ioctl TIOCGSERIAL" >&5
+echo "configure:7983: checking ioctl TIOCGSERIAL" >&5
case "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in
yesyes)
cat > conftest.$ac_ext <<EOF
-#line 7962 "configure"
+#line 7987 "configure"
#include "confdefs.h"
#include <sys/time.h>
typedef int u_int;
@@ -7991,7 +8016,6 @@ rm -f conftest*
ntp_ok=no
;;
esac
-
if test "$ntp_ok" = "yes"; then
cat >> confdefs.h <<\EOF
#define HAVE_TIO_SERIAL_STUFF 1
@@ -8000,12 +8024,27 @@ EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
+# Check for SHMEM_STATUS support
+echo $ac_n "checking SHMEM_STATUS support""... $ac_c" 1>&6
+echo "configure:8030: checking SHMEM_STATUS support" >&5
+case "$ac_cv_header_sys_mman_h" in
+ yes) ntp_ok=yes ;;
+ *) ntp_ok=no ;;
+esac
+if test "$ntp_ok" = "yes"; then
+ cat >> confdefs.h <<\EOF
+#define ONCORE_SHMEM_STATUS 1
+EOF
+
+fi
+echo "$ac_t""$ntp_ok" 1>&6
+
ntp_refclock=no
# HPUX only, and by explicit request
echo $ac_n "checking Datum/Bancomm bc635/VME interface""... $ac_c" 1>&6
-echo "configure:8009: checking Datum/Bancomm bc635/VME interface" >&5
+echo "configure:8048: checking Datum/Bancomm bc635/VME interface" >&5
# Check whether --enable-BANCOMM or --disable-BANCOMM was given.
if test "${enable_BANCOMM+set}" = set; then
enableval="$enable_BANCOMM"
@@ -8029,7 +8068,7 @@ esac
#HPUX only, and only by explicit request
echo $ac_n "checking TrueTime GPS receiver/VME interface""... $ac_c" 1>&6
-echo "configure:8033: checking TrueTime GPS receiver/VME interface" >&5
+echo "configure:8072: checking TrueTime GPS receiver/VME interface" >&5
# Check whether --enable-GPSVME or --disable-GPSVME was given.
if test "${enable_GPSVME+set}" = set; then
enableval="$enable_GPSVME"
@@ -8052,7 +8091,7 @@ case "$ntp_ok$target" in
esac
echo $ac_n "checking for PCL720 clock support""... $ac_c" 1>&6
-echo "configure:8056: checking for PCL720 clock support" >&5
+echo "configure:8095: checking for PCL720 clock support" >&5
case "$ac_cv_header_machine_inline_h$ac_cv_header_sys_pcl720_h$ac_cv_header_sys_i8253_h" in
yesyesyes)
cat >> confdefs.h <<\EOF
@@ -8068,7 +8107,7 @@ esac
echo "$ac_t""$ans" 1>&6
echo $ac_n "checking for SHM clock attached thru shared memory""... $ac_c" 1>&6
-echo "configure:8072: checking for SHM clock attached thru shared memory" >&5
+echo "configure:8111: checking for SHM clock attached thru shared memory" >&5
# Check whether --enable-SHM or --disable-SHM was given.
if test "${enable_SHM+set}" = set; then
enableval="$enable_SHM"
@@ -8087,7 +8126,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking for default inclusion of all suitable non-PARSE clocks""... $ac_c" 1>&6
-echo "configure:8091: checking for default inclusion of all suitable non-PARSE clocks" >&5
+echo "configure:8130: checking for default inclusion of all suitable non-PARSE clocks" >&5
# Check whether --enable-all-clocks or --disable-all-clocks was given.
if test "${enable_all_clocks+set}" = set; then
enableval="$enable_all_clocks"
@@ -8099,7 +8138,7 @@ fi
echo "$ac_t""$ntp_eac" 1>&6
echo $ac_n "checking if we have support for PARSE clocks""... $ac_c" 1>&6
-echo "configure:8103: checking if we have support for PARSE clocks" >&5
+echo "configure:8142: checking if we have support for PARSE clocks" >&5
case "$ac_cv_header_termio_h$ac_cv_header_termios_h" in
*yes*)
ntp_canparse=yes
@@ -8109,16 +8148,24 @@ case "$ac_cv_header_termio_h$ac_cv_header_termios_h" in
esac
echo "$ac_t""$ntp_canparse" 1>&6
+echo $ac_n "checking if we have support for audio clocks""... $ac_c" 1>&6
+echo "configure:8153: checking if we have support for audio clocks" >&5
+case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
+ *yes*) ntp_canaudio=yes ;;
+ *) ntp_canaudio=no ;;
+esac
+echo "$ac_t""$ntp_canaudio" 1>&6
+
# Requires modem control
echo $ac_n "checking ACTS modem service""... $ac_c" 1>&6
-echo "configure:8115: checking ACTS modem service" >&5
+echo "configure:8162: checking ACTS modem service" >&5
# Check whether --enable-ACTS or --disable-ACTS was given.
if test "${enable_ACTS+set}" = set; then
enableval="$enable_ACTS"
ntp_ok=$enableval
else
cat > conftest.$ac_ext <<EOF
-#line 8122 "configure"
+#line 8169 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef HAVE_SYS_IOCTL_H
@@ -8151,7 +8198,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Arbiter 1088A/B GPS receiver""... $ac_c" 1>&6
-echo "configure:8155: checking Arbiter 1088A/B GPS receiver" >&5
+echo "configure:8202: checking Arbiter 1088A/B GPS receiver" >&5
# Check whether --enable-ARBITER or --disable-ARBITER was given.
if test "${enable_ARBITER+set}" = set; then
enableval="$enable_ARBITER"
@@ -8170,7 +8217,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Arcron MSF receiver""... $ac_c" 1>&6
-echo "configure:8174: checking Arcron MSF receiver" >&5
+echo "configure:8221: checking Arcron MSF receiver" >&5
# Check whether --enable-ARCRON_MSF or --disable-ARCRON_MSF was given.
if test "${enable_ARCRON_MSF+set}" = set; then
enableval="$enable_ARCRON_MSF"
@@ -8189,7 +8236,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Austron 2200A/2201A GPS receiver""... $ac_c" 1>&6
-echo "configure:8193: checking Austron 2200A/2201A GPS receiver" >&5
+echo "configure:8240: checking Austron 2200A/2201A GPS receiver" >&5
# Check whether --enable-AS2201 or --disable-AS2201 was given.
if test "${enable_AS2201+set}" = set; then
enableval="$enable_AS2201"
@@ -8208,7 +8255,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking PPS interface""... $ac_c" 1>&6
-echo "configure:8212: checking PPS interface" >&5
+echo "configure:8259: checking PPS interface" >&5
# Check whether --enable-ATOM or --disable-ATOM was given.
if test "${enable_ATOM+set}" = set; then
enableval="$enable_ATOM"
@@ -8227,7 +8274,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking CHU modem/decoder""... $ac_c" 1>&6
-echo "configure:8231: checking CHU modem/decoder" >&5
+echo "configure:8278: checking CHU modem/decoder" >&5
# Check whether --enable-CHU or --disable-CHU was given.
if test "${enable_CHU+set}" = set; then
enableval="$enable_CHU"
@@ -8247,13 +8294,16 @@ echo "$ac_t""$ntp_ok" 1>&6
ac_refclock_chu=$ntp_ok
echo $ac_n "checking CHU audio/decoder""... $ac_c" 1>&6
-echo "configure:8251: checking CHU audio/decoder" >&5
+echo "configure:8298: checking CHU audio/decoder" >&5
# Check whether --enable-AUDIO-CHU or --disable-AUDIO-CHU was given.
if test "${enable_AUDIO_CHU+set}" = set; then
enableval="$enable_AUDIO_CHU"
ntp_ok=$enableval
else
- ntp_ok=no
+ case "$ntp_eac$ac_refclock_chu$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
+esac
fi
if test "$ntp_ok" = "yes"; then
@@ -8263,15 +8313,14 @@ EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
-case "$ntp_ok$ac_refclock_chu$target" in
- yesyes*-*-sunos*) ;;
- yesyes*-*-solaris*) ;;
- yes*) echo "configure: warning: *** But the expected answer is...no ***" 1>&2 ;;
+# We used to check for sunos/solaris target...
+case "$ntp_ok$ac_refclock_chu$ntp_canaudio" in
+ yes*no*) echo "configure: warning: *** But the expected answer is...no ***" 1>&2 ;;
esac
# Not under HP-UX
echo $ac_n "checking Datum Programmable Time System""... $ac_c" 1>&6
-echo "configure:8275: checking Datum Programmable Time System" >&5
+echo "configure:8324: checking Datum Programmable Time System" >&5
# Check whether --enable-DATUM or --disable-DATUM was given.
if test "${enable_DATUM+set}" = set; then
enableval="$enable_DATUM"
@@ -8295,16 +8344,35 @@ EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
+echo $ac_n "checking Forum Graphic GPS""... $ac_c" 1>&6
+echo "configure:8349: checking Forum Graphic GPS" >&5
+# Check whether --enable-FG or --disable-FG was given.
+if test "${enable_FG+set}" = set; then
+ enableval="$enable_FG"
+ ntp_ok=$enableval
+else
+ ntp_ok=$ntp_eac
+fi
+
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ cat >> confdefs.h <<\EOF
+#define CLOCK_FG 1
+EOF
+
+fi
+echo "$ac_t""$ntp_ok" 1>&6
+
# Requires modem control
echo $ac_n "checking Heath GC-1000 WWV/WWVH receiver""... $ac_c" 1>&6
-echo "configure:8301: checking Heath GC-1000 WWV/WWVH receiver" >&5
+echo "configure:8369: checking Heath GC-1000 WWV/WWVH receiver" >&5
# Check whether --enable-HEATH or --disable-HEATH was given.
if test "${enable_HEATH+set}" = set; then
enableval="$enable_HEATH"
ntp_ok=$enableval
else
cat > conftest.$ac_ext <<EOF
-#line 8308 "configure"
+#line 8376 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef HAVE_SYS_IOCTL_H
@@ -8337,7 +8405,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking HP 58503A GPS receiver""... $ac_c" 1>&6
-echo "configure:8341: checking HP 58503A GPS receiver" >&5
+echo "configure:8409: checking HP 58503A GPS receiver" >&5
# Check whether --enable-HPGPS or --disable-HPGPS was given.
if test "${enable_HPGPS+set}" = set; then
enableval="$enable_HPGPS"
@@ -8356,18 +8424,15 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Sun IRIG audio decoder""... $ac_c" 1>&6
-echo "configure:8360: checking Sun IRIG audio decoder" >&5
+echo "configure:8428: checking Sun IRIG audio decoder" >&5
# Check whether --enable-IRIG or --disable-IRIG was given.
if test "${enable_IRIG+set}" = set; then
enableval="$enable_IRIG"
ntp_ok=$enableval
else
- case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
- *yes*)
- ntp_ok=$ntp_eac
- ;;
- *) ntp_ok=no
- ;;
+ case "$ntp_eac$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
esac
fi
@@ -8379,12 +8444,12 @@ EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
-case "$ntp_ok$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
- yesnono) echo "configure: warning: *** But the expected answer is... no ***" 1>&2 ;;
+case "$ntp_ok$ntp_canaudio" in
+ yesno) echo "configure: warning: *** But the expected answer is... no ***" 1>&2 ;;
esac
echo $ac_n "checking Leitch CSD 5300 Master Clock System Driver""... $ac_c" 1>&6
-echo "configure:8388: checking Leitch CSD 5300 Master Clock System Driver" >&5
+echo "configure:8453: checking Leitch CSD 5300 Master Clock System Driver" >&5
# Check whether --enable-LEITCH or --disable-LEITCH was given.
if test "${enable_LEITCH+set}" = set; then
enableval="$enable_LEITCH"
@@ -8403,7 +8468,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking local clock reference""... $ac_c" 1>&6
-echo "configure:8407: checking local clock reference" >&5
+echo "configure:8472: checking local clock reference" >&5
# Check whether --enable-LOCAL-CLOCK or --disable-LOCAL-CLOCK was given.
if test "${enable_LOCAL_CLOCK+set}" = set; then
enableval="$enable_LOCAL_CLOCK"
@@ -8422,7 +8487,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking EES M201 MSF receiver""... $ac_c" 1>&6
-echo "configure:8426: checking EES M201 MSF receiver" >&5
+echo "configure:8491: checking EES M201 MSF receiver" >&5
# Check whether --enable-MSFEES or --disable-MSFEES was given.
if test "${enable_MSFEES+set}" = set; then
enableval="$enable_MSFEES"
@@ -8442,7 +8507,7 @@ echo "$ac_t""$ntp_ok" 1>&6
# Not Ultrix
echo $ac_n "checking Magnavox MX4200 GPS receiver""... $ac_c" 1>&6
-echo "configure:8446: checking Magnavox MX4200 GPS receiver" >&5
+echo "configure:8511: checking Magnavox MX4200 GPS receiver" >&5
# Check whether --enable-MX4200 or --disable-MX4200 was given.
if test "${enable_MX4200+set}" = set; then
enableval="$enable_MX4200"
@@ -8469,7 +8534,7 @@ case "$ntp_ok$target" in
esac
echo $ac_n "checking NMEA GPS receiver""... $ac_c" 1>&6
-echo "configure:8473: checking NMEA GPS receiver" >&5
+echo "configure:8538: checking NMEA GPS receiver" >&5
# Check whether --enable-NMEA or --disable-NMEA was given.
if test "${enable_NMEA+set}" = set; then
enableval="$enable_NMEA"
@@ -8488,7 +8553,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking for ONCORE Motorola VP/UT Oncore GPS""... $ac_c" 1>&6
-echo "configure:8492: checking for ONCORE Motorola VP/UT Oncore GPS" >&5
+echo "configure:8557: checking for ONCORE Motorola VP/UT Oncore GPS" >&5
# Check whether --enable-ONCORE or --disable-ONCORE was given.
if test "${enable_ONCORE+set}" = set; then
enableval="$enable_ONCORE"
@@ -8510,7 +8575,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking for Palisade clock""... $ac_c" 1>&6
-echo "configure:8514: checking for Palisade clock" >&5
+echo "configure:8579: checking for Palisade clock" >&5
# Check whether --enable-PALISADE or --disable-PALISADE was given.
if test "${enable_PALISADE+set}" = set; then
enableval="$enable_PALISADE"
@@ -8536,7 +8601,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking PST/Traconex 1020 WWV/WWVH receiver""... $ac_c" 1>&6
-echo "configure:8540: checking PST/Traconex 1020 WWV/WWVH receiver" >&5
+echo "configure:8605: checking PST/Traconex 1020 WWV/WWVH receiver" >&5
# Check whether --enable-PST or --disable-PST was given.
if test "${enable_PST+set}" = set; then
enableval="$enable_PST"
@@ -8556,7 +8621,7 @@ echo "$ac_t""$ntp_ok" 1>&6
# Not Ultrix
echo $ac_n "checking Rockwell Jupiter GPS receiver""... $ac_c" 1>&6
-echo "configure:8560: checking Rockwell Jupiter GPS receiver" >&5
+echo "configure:8625: checking Rockwell Jupiter GPS receiver" >&5
# Check whether --enable-JUPITER or --disable-JUPITER was given.
if test "${enable_JUPITER+set}" = set; then
enableval="$enable_JUPITER"
@@ -8584,14 +8649,14 @@ esac
# Requires modem control
echo $ac_n "checking PTB modem service""... $ac_c" 1>&6
-echo "configure:8588: checking PTB modem service" >&5
+echo "configure:8653: checking PTB modem service" >&5
# Check whether --enable-PTBACTS or --disable-PTBACTS was given.
if test "${enable_PTBACTS+set}" = set; then
enableval="$enable_PTBACTS"
ntp_ok=$enableval
else
cat > conftest.$ac_ext <<EOF
-#line 8595 "configure"
+#line 8660 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef HAVE_SYS_IOCTL_H
@@ -8624,7 +8689,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking KSI/Odetics TPRO/S GPS receiver/IRIG interface""... $ac_c" 1>&6
-echo "configure:8628: checking KSI/Odetics TPRO/S GPS receiver/IRIG interface" >&5
+echo "configure:8693: checking KSI/Odetics TPRO/S GPS receiver/IRIG interface" >&5
# Check whether --enable-TPRO or --disable-TPRO was given.
if test "${enable_TPRO+set}" = set; then
enableval="$enable_TPRO"
@@ -8652,7 +8717,7 @@ case "$ntp_ok$ac_cv_header_sys_tpro" in
esac
echo $ac_n "checking TRAK 8810 GPS receiver""... $ac_c" 1>&6
-echo "configure:8656: checking TRAK 8810 GPS receiver" >&5
+echo "configure:8721: checking TRAK 8810 GPS receiver" >&5
# Check whether --enable-TRAK or --disable-TRAK was given.
if test "${enable_TRAK+set}" = set; then
enableval="$enable_TRAK"
@@ -8671,7 +8736,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Chrono-log K-series WWVB receiver""... $ac_c" 1>&6
-echo "configure:8675: checking Chrono-log K-series WWVB receiver" >&5
+echo "configure:8740: checking Chrono-log K-series WWVB receiver" >&5
# Check whether --enable-CHRONOLOG or --disable-CHRONOLOG was given.
if test "${enable_CHRONOLOG+set}" = set; then
enableval="$enable_CHRONOLOG"
@@ -8690,7 +8755,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking Dumb generic hh:mm:ss local clock""... $ac_c" 1>&6
-echo "configure:8694: checking Dumb generic hh:mm:ss local clock" >&5
+echo "configure:8759: checking Dumb generic hh:mm:ss local clock" >&5
# Check whether --enable-DUMBCLOCK or --disable-DUMBCLOCK was given.
if test "${enable_DUMBCLOCK+set}" = set; then
enableval="$enable_DUMBCLOCK"
@@ -8708,9 +8773,47 @@ EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
+echo $ac_n "checking Conrad parallel port radio clock""... $ac_c" 1>&6
+echo "configure:8778: checking Conrad parallel port radio clock" >&5
+# Check whether --enable-PCF or --disable-PCF was given.
+if test "${enable_PCF+set}" = set; then
+ enableval="$enable_PCF"
+ ntp_ok=$enableval
+else
+ ntp_ok=$ntp_eac
+fi
+
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ cat >> confdefs.h <<\EOF
+#define CLOCK_PCF 1
+EOF
+
+fi
+echo "$ac_t""$ntp_ok" 1>&6
+
+echo $ac_n "checking Spectracom 8170/Netclock/2 WWVB receiver""... $ac_c" 1>&6
+echo "configure:8797: checking Spectracom 8170/Netclock/2 WWVB receiver" >&5
+# Check whether --enable-SPECTRACOM or --disable-SPECTRACOM was given.
+if test "${enable_SPECTRACOM+set}" = set; then
+ enableval="$enable_SPECTRACOM"
+ ntp_ok=$enableval
+else
+ ntp_ok=$ntp_eac
+fi
+
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ cat >> confdefs.h <<\EOF
+#define CLOCK_SPECTRACOM 1
+EOF
+
+fi
+echo "$ac_t""$ntp_ok" 1>&6
+
# Not on a vax-dec-bsd
echo $ac_n "checking Kinemetrics/TrueTime receivers""... $ac_c" 1>&6
-echo "configure:8714: checking Kinemetrics/TrueTime receivers" >&5
+echo "configure:8817: checking Kinemetrics/TrueTime receivers" >&5
# Check whether --enable-TRUETIME or --disable-TRUETIME was given.
if test "${enable_TRUETIME+set}" = set; then
enableval="$enable_TRUETIME"
@@ -8738,11 +8841,11 @@ case "$ntp_ok$target" in
yesvax-dec-bsd) echo "configure: warning: *** But the expected answer is... no ***" 1>&2 ;;
esac
-echo $ac_n "checking Spectracom 8170/Netclock/2 WWVB receiver""... $ac_c" 1>&6
-echo "configure:8743: checking Spectracom 8170/Netclock/2 WWVB receiver" >&5
-# Check whether --enable-WWVB or --disable-WWVB was given.
-if test "${enable_WWVB+set}" = set; then
- enableval="$enable_WWVB"
+echo $ac_n "checking Ultralink M320 WWVB receiver""... $ac_c" 1>&6
+echo "configure:8846: checking Ultralink M320 WWVB receiver" >&5
+# Check whether --enable-ULINK or --disable-ULINK was given.
+if test "${enable_ULINK+set}" = set; then
+ enableval="$enable_ULINK"
ntp_ok=$enableval
else
ntp_ok=$ntp_eac
@@ -8751,41 +8854,47 @@ fi
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
cat >> confdefs.h <<\EOF
-#define CLOCK_WWVB 1
+#define CLOCK_ULINK 1
EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
-echo $ac_n "checking Ultralink M320 WWVB receiver""... $ac_c" 1>&6
-echo "configure:8762: checking Ultralink M320 WWVB receiver" >&5
-# Check whether --enable-ULINK or --disable-ULINK was given.
-if test "${enable_ULINK+set}" = set; then
- enableval="$enable_ULINK"
+echo $ac_n "checking WWV receiver""... $ac_c" 1>&6
+echo "configure:8865: checking WWV receiver" >&5
+# Check whether --enable-WWV or --disable-WWV was given.
+if test "${enable_WWV+set}" = set; then
+ enableval="$enable_WWV"
ntp_ok=$enableval
else
- ntp_ok=$ntp_eac
+ case "$ntp_eac$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
+ esac
fi
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
cat >> confdefs.h <<\EOF
-#define CLOCK_ULINK 1
+#define CLOCK_WWV 1
EOF
fi
echo "$ac_t""$ntp_ok" 1>&6
+case "$ntp_ok$ntp_canaudio" in
+ yesno) echo "configure: warning: *** But the expected answer is... no ***" 1>&2 ;;
+esac
# Requires modem control
echo $ac_n "checking USNO modem service""... $ac_c" 1>&6
-echo "configure:8782: checking USNO modem service" >&5
+echo "configure:8891: checking USNO modem service" >&5
# Check whether --enable-USNO or --disable-USNO was given.
if test "${enable_USNO+set}" = set; then
enableval="$enable_USNO"
ntp_ok=$enableval
else
cat > conftest.$ac_ext <<EOF
-#line 8789 "configure"
+#line 8898 "configure"
#include "confdefs.h"
#include <termios.h>
#ifdef HAVE_SYS_IOCTL_H
@@ -8818,7 +8927,7 @@ fi
echo "$ac_t""$ntp_ok" 1>&6
echo $ac_n "checking for default inclusion of all suitable PARSE clocks""... $ac_c" 1>&6
-echo "configure:8822: checking for default inclusion of all suitable PARSE clocks" >&5
+echo "configure:8931: checking for default inclusion of all suitable PARSE clocks" >&5
# Check whether --enable-parse-clocks or --disable-parse-clocks was given.
if test "${enable_parse_clocks+set}" = set; then
enableval="$enable_parse_clocks"
@@ -8848,7 +8957,7 @@ ntp_parseutil=no
ntp_rawdcf=no
echo $ac_n "checking Diem Computime Radio Clock""... $ac_c" 1>&6
-echo "configure:8852: checking Diem Computime Radio Clock" >&5
+echo "configure:8961: checking Diem Computime Radio Clock" >&5
# Check whether --enable-COMPUTIME or --disable-COMPUTIME was given.
if test "${enable_COMPUTIME+set}" = set; then
enableval="$enable_COMPUTIME"
@@ -8873,7 +8982,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking ELV/DCF7000 clock""... $ac_c" 1>&6
-echo "configure:8877: checking ELV/DCF7000 clock" >&5
+echo "configure:8986: checking ELV/DCF7000 clock" >&5
# Check whether --enable-DCF7000 or --disable-DCF7000 was given.
if test "${enable_DCF7000+set}" = set; then
enableval="$enable_DCF7000"
@@ -8898,7 +9007,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking HOPF 6021 clock""... $ac_c" 1>&6
-echo "configure:8902: checking HOPF 6021 clock" >&5
+echo "configure:9011: checking HOPF 6021 clock" >&5
# Check whether --enable-HOPF6021 or --disable-HOPF6021 was given.
if test "${enable_HOPF6021+set}" = set; then
enableval="$enable_HOPF6021"
@@ -8923,7 +9032,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking Meinberg clocks""... $ac_c" 1>&6
-echo "configure:8927: checking Meinberg clocks" >&5
+echo "configure:9036: checking Meinberg clocks" >&5
# Check whether --enable-MEINBERG or --disable-MEINBERG was given.
if test "${enable_MEINBERG+set}" = set; then
enableval="$enable_MEINBERG"
@@ -8948,7 +9057,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking DCF77 raw time code""... $ac_c" 1>&6
-echo "configure:8952: checking DCF77 raw time code" >&5
+echo "configure:9061: checking DCF77 raw time code" >&5
# Check whether --enable-RAWDCF or --disable-RAWDCF was given.
if test "${enable_RAWDCF+set}" = set; then
enableval="$enable_RAWDCF"
@@ -8977,8 +9086,8 @@ esac
case "$ntp_rawdcf" in
yes)
echo $ac_n "checking if we must enable parity for RAWDCF""... $ac_c" 1>&6
-echo "configure:8981: checking if we must enable parity for RAWDCF" >&5
-if eval "test \"\${ac_cv_var_rawdcf_parity+set}\" = set"; then
+echo "configure:9090: checking if we must enable parity for RAWDCF" >&5
+if eval "test \"`echo '$''{'ac_cv_var_rawdcf_parity'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=no
@@ -9005,7 +9114,7 @@ EOF
esac
echo $ac_n "checking RCC 8000 clock""... $ac_c" 1>&6
-echo "configure:9009: checking RCC 8000 clock" >&5
+echo "configure:9118: checking RCC 8000 clock" >&5
# Check whether --enable-RCC8000 or --disable-RCC8000 was given.
if test "${enable_RCC8000+set}" = set; then
enableval="$enable_RCC8000"
@@ -9030,7 +9139,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking Schmid DCF77 clock""... $ac_c" 1>&6
-echo "configure:9034: checking Schmid DCF77 clock" >&5
+echo "configure:9143: checking Schmid DCF77 clock" >&5
# Check whether --enable-SCHMID or --disable-SCHMID was given.
if test "${enable_SCHMID+set}" = set; then
enableval="$enable_SCHMID"
@@ -9055,7 +9164,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking Trimble GPS receiver/TAIP protocol""... $ac_c" 1>&6
-echo "configure:9059: checking Trimble GPS receiver/TAIP protocol" >&5
+echo "configure:9168: checking Trimble GPS receiver/TAIP protocol" >&5
# Check whether --enable-TRIMTAIP or --disable-TRIMTAIP was given.
if test "${enable_TRIMTAIP+set}" = set; then
enableval="$enable_TRIMTAIP"
@@ -9080,7 +9189,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking Trimble GPS receiver/TSIP protocol""... $ac_c" 1>&6
-echo "configure:9084: checking Trimble GPS receiver/TSIP protocol" >&5
+echo "configure:9193: checking Trimble GPS receiver/TSIP protocol" >&5
# Check whether --enable-TRIMTSIP or --disable-TRIMTSIP was given.
if test "${enable_TRIMTSIP+set}" = set; then
enableval="$enable_TRIMTSIP"
@@ -9105,7 +9214,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking WHARTON 400A Series clock""... $ac_c" 1>&6
-echo "configure:9109: checking WHARTON 400A Series clock" >&5
+echo "configure:9218: checking WHARTON 400A Series clock" >&5
# Check whether --enable-WHARTON or --disable-WHARTON was given.
if test "${enable_WHARTON+set}" = set; then
enableval="$enable_WHARTON"
@@ -9130,7 +9239,7 @@ case "$ntp_ok$ntp_canparse" in
esac
echo $ac_n "checking VARITEXT clock""... $ac_c" 1>&6
-echo "configure:9134: checking VARITEXT clock" >&5
+echo "configure:9243: checking VARITEXT clock" >&5
# Check whether --enable-VARITEXT or --disable-VARITEXT was given.
if test "${enable_VARITEXT+set}" = set; then
enableval="$enable_VARITEXT"
@@ -9158,7 +9267,7 @@ esac
echo $ac_n "checking if we need to make and use the parse libraries""... $ac_c" 1>&6
-echo "configure:9162: checking if we need to make and use the parse libraries" >&5
+echo "configure:9271: checking if we need to make and use the parse libraries" >&5
ans=no
case "$ntp_libparse" in
yes)
@@ -9186,7 +9295,7 @@ echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we need to make and use the RSAREF library""... $ac_c" 1>&6
-echo "configure:9190: checking if we need to make and use the RSAREF library" >&5
+echo "configure:9299: checking if we need to make and use the RSAREF library" >&5
ans=no
if test -f $srcdir/rsaref2/source/rsa.c
then
@@ -9204,7 +9313,7 @@ echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we can make dcf parse utilities""... $ac_c" 1>&6
-echo "configure:9208: checking if we can make dcf parse utilities" >&5
+echo "configure:9317: checking if we can make dcf parse utilities" >&5
ans=no
if test "$ntp_parseutil" = "yes"; then
case "$target" in
@@ -9219,7 +9328,7 @@ echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we can build kernel streams modules for parse""... $ac_c" 1>&6
-echo "configure:9223: checking if we can build kernel streams modules for parse" >&5
+echo "configure:9332: checking if we can build kernel streams modules for parse" >&5
ans=no
case "$ntp_parseutil$ac_cv_header_sys_stropts_h" in
yesyes)
@@ -9246,7 +9355,7 @@ esac
echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we need basic refclock support""... $ac_c" 1>&6
-echo "configure:9250: checking if we need basic refclock support" >&5
+echo "configure:9359: checking if we need basic refclock support" >&5
if test "$ntp_refclock" = "yes"; then
cat >> confdefs.h <<\EOF
#define REFCLOCK 1
@@ -9258,7 +9367,7 @@ echo "$ac_t""$ntp_refclock" 1>&6
echo $ac_n "checking if we want HP-UX adjtimed support""... $ac_c" 1>&6
-echo "configure:9262: checking if we want HP-UX adjtimed support" >&5
+echo "configure:9371: checking if we want HP-UX adjtimed support" >&5
case "$target" in
*-*-hpux[56789]*)
ans=yes
@@ -9276,8 +9385,8 @@ fi
echo "$ac_t""$ans" 1>&6
echo $ac_n "checking if we can read kmem""... $ac_c" 1>&6
-echo "configure:9280: checking if we can read kmem" >&5
-if eval "test \"\${ac_cv_var_can_kmem+set}\" = set"; then
+echo "configure:9389: checking if we can read kmem" >&5
+if eval "test \"`echo '$''{'ac_cv_var_can_kmem'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-kmem or --disable-kmem was given.
@@ -9329,8 +9438,8 @@ EOF
esac
echo $ac_n "checking if adjtime is accurate""... $ac_c" 1>&6
-echo "configure:9333: checking if adjtime is accurate" >&5
-if eval "test \"\${ac_cv_var_adjtime_is_accurate+set}\" = set"; then
+echo "configure:9442: checking if adjtime is accurate" >&5
+if eval "test \"`echo '$''{'ac_cv_var_adjtime_is_accurate'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-accurate-adjtime or --disable-accurate-adjtime was given.
@@ -9381,8 +9490,8 @@ EOF
esac
echo $ac_n "checking the name of 'tick' in the kernel""... $ac_c" 1>&6
-echo "configure:9385: checking the name of 'tick' in the kernel" >&5
-if eval "test \"\${ac_cv_var_nlist_tick+set}\" = set"; then
+echo "configure:9494: checking the name of 'tick' in the kernel" >&5
+if eval "test \"`echo '$''{'ac_cv_var_nlist_tick'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=_tick
@@ -9425,8 +9534,8 @@ EOF
esac
#
echo $ac_n "checking for the units of 'tick'""... $ac_c" 1>&6
-echo "configure:9429: checking for the units of 'tick'" >&5
-if eval "test \"\${ac_cv_var_tick_nano+set}\" = set"; then
+echo "configure:9538: checking for the units of 'tick'" >&5
+if eval "test \"`echo '$''{'ac_cv_var_tick_nano'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=usec
@@ -9449,8 +9558,8 @@ EOF
esac
#
echo $ac_n "checking the name of 'tickadj' in the kernel""... $ac_c" 1>&6
-echo "configure:9453: checking the name of 'tickadj' in the kernel" >&5
-if eval "test \"\${ac_cv_var_nlist_tickadj+set}\" = set"; then
+echo "configure:9562: checking the name of 'tickadj' in the kernel" >&5
+if eval "test \"`echo '$''{'ac_cv_var_nlist_tickadj'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=_tickadj
@@ -9502,8 +9611,8 @@ EOF
esac
#
echo $ac_n "checking for the units of 'tickadj'""... $ac_c" 1>&6
-echo "configure:9506: checking for the units of 'tickadj'" >&5
-if eval "test \"\${ac_cv_var_tickadj_nano+set}\" = set"; then
+echo "configure:9615: checking for the units of 'tickadj'" >&5
+if eval "test \"`echo '$''{'ac_cv_var_tickadj_nano'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ans=usec
@@ -9526,8 +9635,8 @@ EOF
esac
#
echo $ac_n "checking half-heartedly for 'dosynctodr' in the kernel""... $ac_c" 1>&6
-echo "configure:9530: checking half-heartedly for 'dosynctodr' in the kernel" >&5
-if eval "test \"\${ac_cv_var_nlist_dosynctodr+set}\" = set"; then
+echo "configure:9639: checking half-heartedly for 'dosynctodr' in the kernel" >&5
+if eval "test \"`echo '$''{'ac_cv_var_nlist_dosynctodr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -9579,8 +9688,8 @@ EOF
esac
#
echo $ac_n "checking half-heartedly for 'noprintf' in the kernel""... $ac_c" 1>&6
-echo "configure:9583: checking half-heartedly for 'noprintf' in the kernel" >&5
-if eval "test \"\${ac_cv_var_nlist_noprintf+set}\" = set"; then
+echo "configure:9692: checking half-heartedly for 'noprintf' in the kernel" >&5
+if eval "test \"`echo '$''{'ac_cv_var_nlist_noprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -9629,8 +9738,8 @@ esac
echo $ac_n "checking for a default value for 'tick'""... $ac_c" 1>&6
-echo "configure:9633: checking for a default value for 'tick'" >&5
-if eval "test \"\${ac_cv_var_tick+set}\" = set"; then
+echo "configure:9742: checking for a default value for 'tick'" >&5
+if eval "test \"`echo '$''{'ac_cv_var_tick'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-tick or --disable-tick was given.
@@ -9673,8 +9782,8 @@ EOF
esac
echo $ac_n "checking for a default value for 'tickadj'""... $ac_c" 1>&6
-echo "configure:9677: checking for a default value for 'tickadj'" >&5
-if eval "test \"\${ac_cv_var_tickadj+set}\" = set"; then
+echo "configure:9786: checking for a default value for 'tickadj'" >&5
+if eval "test \"`echo '$''{'ac_cv_var_tickadj'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-tickadj or --disable-tickadj was given.
@@ -9806,8 +9915,8 @@ esac
echo $ac_n "checking if we want and can make the tickadj utility""... $ac_c" 1>&6
-echo "configure:9810: checking if we want and can make the tickadj utility" >&5
-if eval "test \"\${ac_cv_make_tickadj+set}\" = set"; then
+echo "configure:9919: checking if we want and can make the tickadj utility" >&5
+if eval "test \"`echo '$''{'ac_cv_make_tickadj'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_make_tickadj=yes
@@ -9822,8 +9931,8 @@ esac
echo $ac_n "checking if we want and can make the ntptime utility""... $ac_c" 1>&6
-echo "configure:9826: checking if we want and can make the ntptime utility" >&5
-if eval "test \"\${ac_cv_make_ntptime+set}\" = set"; then
+echo "configure:9935: checking if we want and can make the ntptime utility" >&5
+if eval "test \"`echo '$''{'ac_cv_make_ntptime'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$target" in
@@ -9848,8 +9957,8 @@ case "$ac_cv_make_ntptime" in
esac
echo $ac_n "checking if we want UDP wildcard delivery""... $ac_c" 1>&6
-echo "configure:9852: checking if we want UDP wildcard delivery" >&5
-if eval "test \"\${ac_cv_var_udp_wildcard_delivery+set}\" = set"; then
+echo "configure:9961: checking if we want UDP wildcard delivery" >&5
+if eval "test \"`echo '$''{'ac_cv_var_udp_wildcard_delivery'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-udp-wildcard or --disable-udp-wildcard was given.
@@ -9927,8 +10036,8 @@ case "$host" in
esac
echo $ac_n "checking if we should always slew the time""... $ac_c" 1>&6
-echo "configure:9931: checking if we should always slew the time" >&5
-if eval "test \"\${ac_cv_var_slew_always+set}\" = set"; then
+echo "configure:10040: checking if we should always slew the time" >&5
+if eval "test \"`echo '$''{'ac_cv_var_slew_always'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-slew-always or --disable-slew-always was given.
@@ -9967,8 +10076,8 @@ EOF
esac
echo $ac_n "checking if we should step and slew the time""... $ac_c" 1>&6
-echo "configure:9971: checking if we should step and slew the time" >&5
-if eval "test \"\${ac_cv_var_step_slew+set}\" = set"; then
+echo "configure:10080: checking if we should step and slew the time" >&5
+if eval "test \"`echo '$''{'ac_cv_var_step_slew'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-step-slew or --disable-step-slew was given.
@@ -10010,8 +10119,8 @@ EOF
esac
echo $ac_n "checking if ntpdate should step the time""... $ac_c" 1>&6
-echo "configure:10014: checking if ntpdate should step the time" >&5
-if eval "test \"\${ac_cv_var_ntpdate_step+set}\" = set"; then
+echo "configure:10123: checking if ntpdate should step the time" >&5
+if eval "test \"`echo '$''{'ac_cv_var_ntpdate_step'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-ntpdate-step or --disable-ntpdate-step was given.
@@ -10041,8 +10150,8 @@ EOF
esac
echo $ac_n "checking if we should sync TODR clock every hour""... $ac_c" 1>&6
-echo "configure:10045: checking if we should sync TODR clock every hour" >&5
-if eval "test \"\${ac_cv_var_sync_todr+set}\" = set"; then
+echo "configure:10154: checking if we should sync TODR clock every hour" >&5
+if eval "test \"`echo '$''{'ac_cv_var_sync_todr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-hourly-todr-sync or --disable-hourly-todr-sync was given.
@@ -10074,8 +10183,8 @@ EOF
esac
echo $ac_n "checking if we should avoid kernel FLL bug""... $ac_c" 1>&6
-echo "configure:10078: checking if we should avoid kernel FLL bug" >&5
-if eval "test \"\${ac_cv_var_kernel_fll_bug+set}\" = set"; then
+echo "configure:10187: checking if we should avoid kernel FLL bug" >&5
+if eval "test \"`echo '$''{'ac_cv_var_kernel_fll_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Check whether --enable-kernel-fll-bug or --disable-kernel-fll-bug was given.
@@ -10218,7 +10327,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.14.1"
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -10291,11 +10400,15 @@ s%@AUTOMAKE@%$AUTOMAKE%g
s%@AUTOHEADER@%$AUTOHEADER%g
s%@MAKEINFO@%$MAKEINFO%g
s%@AMTAR@%$AMTAR%g
-s%@AMTARFLAGS@%$AMTARFLAGS%g
+s%@install_sh@%$install_sh%g
+s%@AWK@%$AWK%g
s%@SET_MAKE@%$SET_MAKE%g
+s%@AMDEP@%$AMDEP%g
+s%@AMDEPBACKSLASH@%$AMDEPBACKSLASH%g
+s%@DEPDIR@%$DEPDIR%g
s%@CC@%$CC%g
s%@CPP@%$CPP%g
-s%@AWK@%$AWK%g
+s%@CCDEPMODE@%$CCDEPMODE%g
s%@LN_S@%$LN_S%g
s%@RANLIB@%$RANLIB%g
s%@PATH_SH@%$PATH_SH%g
@@ -10532,15 +10645,56 @@ fi; done
EOF
cat >> $CONFIG_STATUS <<EOF
+AMDEP="$AMDEP"
+ac_aux_dir="$ac_aux_dir"
EOF
cat >> $CONFIG_STATUS <<\EOF
test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+
+test x"$AMDEP" != x"" ||
+for mf in $CONFIG_FILES; do
+ case "$mf" in
+ Makefile) dirpart=.;;
+ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
+ *) continue;;
+ esac
+ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+ # Extract the definition of DEP_FILES from the Makefile without
+ # running `make'.
+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n -e '/^U = / s///p' < "$mf"`
+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+ # We invoke sed twice because it is the simplest approach to
+ # changing $(DEPDIR) to its actual value in the expansion.
+ for file in `sed -n -e '
+ /^DEP_FILES = .*\\\\$/ {
+ s/^DEP_FILES = //
+ :loop
+ s/\\\\$//
+ p
+ n
+ /\\\\$/ b loop
+ p
+ }
+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
+ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+
chmod +x scripts/ntpver scripts/mkver
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
#test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
diff --git a/contrib/ntp/configure.in b/contrib/ntp/configure.in
index 2facc50efafd..c8cf3da26034 100644
--- a/contrib/ntp/configure.in
+++ b/contrib/ntp/configure.in
@@ -5,7 +5,7 @@ AC_CANONICAL_SYSTEM
AC_DEFINE_UNQUOTED(STR_SYSTEM, "$target")
AM_CONFIG_HEADER(config.h)
AC_ARG_PROGRAM
-AM_INIT_AUTOMAKE(ntp, 4.0.98f)
+AM_INIT_AUTOMAKE(ntp, 4.0.99b)
AC_PREREQ(2.13)
ac_cv_var_oncore_ok=no
@@ -27,6 +27,14 @@ case "$target" in
CFLAGS="$CFLAGS -Wc,+Abi-socket"
;;
esac
+ ;;
+ alpha*-dec-osf*)
+ case "$CC" in
+ cc)
+ CFLAGS="$CFLAGS -std1"
+ ;;
+ esac
+ ;;
esac
case "$host" in
@@ -181,7 +189,7 @@ AC_HEADER_STDC
AC_CHECK_HEADERS(bstring.h errno.h fcntl.h memory.h netdb.h poll.h resolv.h)
AC_CHECK_HEADERS(sched.h sgtty.h stdlib.h string.h termio.h termios.h)
AC_CHECK_HEADERS(timepps.h timex.h unistd.h utmp.h utmpx.h)
-AC_CHECK_HEADERS(arpa/nameser.h net/if.h netinet/in.h netinet/ip.h)
+AC_CHECK_HEADERS(arpa/nameser.h net/if.h netinet/in_systm.h netinet/in.h)
AC_CHECK_HEADERS(netinfo/ni.h, [AC_DEFINE(HAVE_NETINFO)])
AC_CHECK_HEADERS(sun/audioio.h sys/audioio.h)
dnl AC_CHECK_HEADERS(sys/chudefs.h)
@@ -197,15 +205,10 @@ case "$target" in
*-*-sco*)
AC_CHECK_HEADERS(sys/sio.h)
;;
- *sgi*)
- AC_CHECK_HEADERS(sys/syssgi.h)
- ;;
- *)
- AC_CHECK_HEADERS(sys/select.h)
- ;;
esac
-AC_CHECK_HEADERS(sys/sockio.h sys/stat.h sys/stream.h sys/stropts.h)
-AC_CHECK_HEADERS(sys/sysctl.h sys/termios.h sys/time.h)
+AC_CHECK_HEADERS(sys/select.h sys/sockio.h sys/stat.h sys/stream.h)
+AC_CHECK_HEADERS(sys/stropts.h sys/sysctl.h sys/syssgi.h sys/termios.h)
+AC_CHECK_HEADERS(sys/time.h)
AC_EGREP_CPP(yes,
[#include <sys/timepps.h>
#ifdef PPS_API_VERS_1
@@ -726,7 +729,7 @@ esac
dnl See if char *sys_errlist[] is OK.
dnl If you get the quoting right on the next line, you tried something I didn't.
-AC_CACHE_CHECK(if declaring 'char *sys_errlist[]' is ok, ac_cv_decl_sys_errlist,
+AC_CACHE_CHECK([[if declaring 'char *sys_errlist[]' is ok]], ac_cv_decl_sys_errlist,
[AC_TRY_COMPILE([#include <stdio.h>
#ifdef HAVE_ERRNO_H
#include <errno.h>
@@ -760,9 +763,11 @@ case "$ac_cv_decl_syscall" in
esac
case "$target" in
+changequote(<<, >>)dnl
*-*-osf[45]*)
+changequote([, ])dnl
AC_DEFINE(DECL_PLOCK_0)
- AC_DEFINE(DECL_STIME_0)
+ AC_DEFINE(DECL_STIME_1)
;;
*-*-riscos4*)
AC_DEFINE(DECL_ADJTIME_0)
@@ -1171,6 +1176,12 @@ case "$ac_cv_header_sys_sio_h" in
;;
esac
+case "$ac_cv_hdr_def_tiocdcdtimestamp" in
+ yes)
+ ac_cv_var_oncore_ok=yes
+ ;;
+esac
+
AC_CACHE_CHECK(if nlist() values might require extra indirection,
ac_cv_var_nlist_extra_indirection,
[ans=no
@@ -1359,7 +1370,6 @@ if test "$ac_cv_header_termios_h" = "yes"; then
else
ntp_ok=no
fi
-
if test "$ntp_ok" = "yes"; then
AC_DEFINE(HAVE_TIOCGPPSEV)
ac_cv_var_oncore_ok=yes
@@ -1396,7 +1406,6 @@ if test "$ac_cv_header_sys_ppsclock_h" = "yes"; then
else
ntp_ok=no
fi
-
if test "$ntp_ok" = "yes"; then
ac_cv_var_oncore_ok=yes
AC_DEFINE(HAVE_CIOGETEV)
@@ -1444,12 +1453,22 @@ typedef int u_int;
ntp_ok=no
;;
esac
-
if test "$ntp_ok" = "yes"; then
AC_DEFINE(HAVE_TIO_SERIAL_STUFF)
fi
AC_MSG_RESULT($ntp_ok)
+# Check for SHMEM_STATUS support
+AC_MSG_CHECKING(SHMEM_STATUS support)
+case "$ac_cv_header_sys_mman_h" in
+ yes) ntp_ok=yes ;;
+ *) ntp_ok=no ;;
+esac
+if test "$ntp_ok" = "yes"; then
+ AC_DEFINE(ONCORE_SHMEM_STATUS)
+fi
+AC_MSG_RESULT($ntp_ok)
+
dnl dnl These are for OPT_PROGRAMS in authstuff/
dnl AC_SUBST(AUTHCERT)
dnl AC_SUBST(AUTHSPEED)
@@ -1529,6 +1548,13 @@ case "$ac_cv_header_termio_h$ac_cv_header_termios_h" in
esac
AC_MSG_RESULT($ntp_canparse)
+AC_MSG_CHECKING([if we have support for audio clocks])
+case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
+ *yes*) ntp_canaudio=yes ;;
+ *) ntp_canaudio=no ;;
+esac
+AC_MSG_RESULT($ntp_canaudio)
+
# Requires modem control
AC_MSG_CHECKING(ACTS modem service)
AC_ARG_ENABLE(ACTS, [ --enable-ACTS + ACTS modem service],
@@ -1585,7 +1611,7 @@ fi
AC_MSG_RESULT($ntp_ok)
AC_MSG_CHECKING(CHU modem/decoder)
-AC_ARG_ENABLE(CHU, [ --enable-CHU + CHU modem/decoder],
+AC_ARG_ENABLE(CHU, [ --enable-CHU - CHU modem/decoder],
[ntp_ok=$enableval], [ntp_ok=$ntp_eac])
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
@@ -1595,16 +1621,19 @@ AC_MSG_RESULT($ntp_ok)
ac_refclock_chu=$ntp_ok
AC_MSG_CHECKING(CHU audio/decoder)
-AC_ARG_ENABLE(AUDIO-CHU, [ --enable-AUDIO-CHU s - CHU audio/decoder],
- [ntp_ok=$enableval], [ntp_ok=no])
+AC_ARG_ENABLE(AUDIO-CHU, [ --enable-AUDIO-CHU s CHU audio/decoder],
+ [ntp_ok=$enableval],
+ [case "$ntp_eac$ac_refclock_chu$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
+esac])
if test "$ntp_ok" = "yes"; then
AC_DEFINE(AUDIO_CHU)
fi
AC_MSG_RESULT($ntp_ok)
-case "$ntp_ok$ac_refclock_chu$target" in
- yesyes*-*-sunos*) ;;
- yesyes*-*-solaris*) ;;
- yes*) AC_WARN(*** But the expected answer is...no ***) ;;
+# We used to check for sunos/solaris target...
+case "$ntp_ok$ac_refclock_chu$ntp_canaudio" in
+ yes*no*) AC_WARN(*** But the expected answer is...no ***) ;;
esac
# Not under HP-UX
@@ -1624,6 +1653,15 @@ if test "$ntp_ok" = "yes"; then
fi
AC_MSG_RESULT($ntp_ok)
+AC_MSG_CHECKING(Forum Graphic GPS)
+AC_ARG_ENABLE(FG, [ --enable-FG + Forum Graphic GPS],
+ [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ AC_DEFINE(CLOCK_FG)
+fi
+AC_MSG_RESULT($ntp_ok)
+
# Requires modem control
AC_MSG_CHECKING(Heath GC-1000 WWV/WWVH receiver)
AC_ARG_ENABLE(HEATH, [ --enable-HEATH s Heath GC-1000 WWV/WWVH receiver],
@@ -1655,20 +1693,17 @@ AC_MSG_RESULT($ntp_ok)
AC_MSG_CHECKING(Sun IRIG audio decoder)
AC_ARG_ENABLE(IRIG, [ --enable-IRIG s Sun IRIG audio decoder],
[ntp_ok=$enableval],
- [case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
- *yes*)
- ntp_ok=$ntp_eac
- ;;
- *) ntp_ok=no
- ;;
+ [case "$ntp_eac$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
esac])
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
AC_DEFINE(CLOCK_IRIG)
fi
AC_MSG_RESULT($ntp_ok)
-case "$ntp_ok$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in
- yesnono) AC_WARN(*** But the expected answer is... no ***) ;;
+case "$ntp_ok$ntp_canaudio" in
+ yesno) AC_WARN(*** But the expected answer is... no ***) ;;
esac
AC_MSG_CHECKING(Leitch CSD 5300 Master Clock System Driver)
@@ -1848,6 +1883,24 @@ if test "$ntp_ok" = "yes"; then
fi
AC_MSG_RESULT($ntp_ok)
+AC_MSG_CHECKING(Conrad parallel port radio clock)
+AC_ARG_ENABLE(PCF, [ --enable-PCF + Conrad parallel port radio clock],
+ [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ AC_DEFINE(CLOCK_PCF)
+fi
+AC_MSG_RESULT($ntp_ok)
+
+AC_MSG_CHECKING(Spectracom 8170/Netclock/2 WWVB receiver)
+AC_ARG_ENABLE(SPECTRACOM, [ --enable-SPECTRACOM + Spectracom 8170/Netclock/2 WWVB receiver],
+ [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
+if test "$ntp_ok" = "yes"; then
+ ntp_refclock=yes
+ AC_DEFINE(CLOCK_SPECTRACOM)
+fi
+AC_MSG_RESULT($ntp_ok)
+
# Not on a vax-dec-bsd
AC_MSG_CHECKING(Kinemetrics/TrueTime receivers)
AC_ARG_ENABLE(TRUETIME, [ --enable-TRUETIME s Kinemetrics/TrueTime receivers],
@@ -1869,23 +1922,30 @@ case "$ntp_ok$target" in
yesvax-dec-bsd) AC_WARN(*** But the expected answer is... no ***) ;;
esac
-AC_MSG_CHECKING(Spectracom 8170/Netclock/2 WWVB receiver)
-AC_ARG_ENABLE(WWVB, [ --enable-WWVB + Spectracom 8170/Netclock/2 WWVB receiver],
+AC_MSG_CHECKING(Ultralink M320 WWVB receiver)
+AC_ARG_ENABLE(ULINK, [ --enable-ULINK + Ultralink WWVB receiver],
[ntp_ok=$enableval], [ntp_ok=$ntp_eac])
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
- AC_DEFINE(CLOCK_WWVB)
+ AC_DEFINE(CLOCK_ULINK)
fi
AC_MSG_RESULT($ntp_ok)
-AC_MSG_CHECKING(Ultralink M320 WWVB receiver)
-AC_ARG_ENABLE(ULINK, [ --enable-ULINK + Ultralink WWVB receiver],
- [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
+AC_MSG_CHECKING(WWV receiver)
+AC_ARG_ENABLE(WWV, [ --enable-WWV + WWV Audio receiver],
+ [ntp_ok=$enableval],
+ [case "$ntp_eac$ntp_canaudio" in
+ *no*) ntp_ok=no ;;
+ *) ntp_ok=yes ;;
+ esac])
if test "$ntp_ok" = "yes"; then
ntp_refclock=yes
- AC_DEFINE(CLOCK_ULINK)
+ AC_DEFINE(CLOCK_WWV)
fi
AC_MSG_RESULT($ntp_ok)
+case "$ntp_ok$ntp_canaudio" in
+ yesno) AC_WARN(*** But the expected answer is... no ***) ;;
+esac
# Requires modem control
AC_MSG_CHECKING(USNO modem service)
diff --git a/contrib/ntp/depcomp b/contrib/ntp/depcomp
new file mode 100755
index 000000000000..790609673880
--- /dev/null
+++ b/contrib/ntp/depcomp
@@ -0,0 +1,269 @@
+#! /bin/sh
+
+# depcomp - compile a program generating dependencies as side-effects
+# Copyright (C) 1999 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+# `libtool' can also be set to `yes' or `no'.
+
+depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ if "$@" -Wp,"$gccflag$tmpdepfile"; then :
+ else
+ stat=$?
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+dashmd)
+ # The Java front end to gcc doesn't run cpp, so we can't use the -Wp
+ # trick. Instead we must use -M and then rename the resulting .d
+ # file. This is also the case for older versions of gcc, which
+ # don't implement -Wp.
+ if "$@" -MD; then :
+ else
+ stat=$?
+ rm -f FIXME
+ exit $stat
+ fi
+ FIXME: rewrite the file
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wc,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ stat=$?
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the proprocessed file to stdout, regardless of -o,
+ # because we must use -o when running libtool.
+ test -z "$dashmflag" && dashmflag=-M
+ ( IFS=" "
+ case " $* " in
+ *" --mode=compile "*) # this is libtool, let us make it quiet
+ for arg
+ do # cycle over the arguments
+ case "$arg" in
+ "--mode=compile")
+ # insert --quiet before "--mode=compile"
+ set fnord "$@" --quiet
+ shift # fnord
+ ;;
+ esac
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # "$arg"
+ done
+ ;;
+ esac
+ "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ ) &
+ proc=$!
+ "$@"
+ stat=$?
+ wait "$proc"
+ if test "$stat" != 0; then exit $stat; fi
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ # X makedepend
+ (
+ shift
+ cleared=no
+ for arg in "$@"; do
+ case $cleared in no)
+ set ""; shift
+ cleared=yes
+ esac
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift;;
+ -*)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift;;
+ esac
+ done
+ obj_suffix="`echo $object | sed 's/^.*\././'`"
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ ) &
+ proc=$!
+ "$@"
+ stat=$?
+ wait "$proc"
+ if test "$stat" != 0; then exit $stat; fi
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tail +3 "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the proprocessed file to stdout, regardless of -o,
+ # because we must use -o when running libtool.
+ ( IFS=" "
+ case " $* " in
+ *" --mode=compile "*)
+ for arg
+ do # cycle over the arguments
+ case "$arg" in
+ "--mode=compile")
+ # insert --quiet before "--mode=compile"
+ set fnord "$@" --quiet
+ shift # fnord
+ ;;
+ esac
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # "$arg"
+ done
+ ;;
+ esac
+ "$@" -E |
+ sed -n '/^# [0-9][0-9]* "\([^"]*\)"/ s::'"$object"'\: \1:p' > "$tmpdepfile"
+ ) &
+ proc=$!
+ "$@"
+ stat=$?
+ wait "$proc"
+ if test "$stat" != 0; then exit $stat; fi
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed < "$tmpdepfile" -e 's/^[^:]*: //' -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/contrib/ntp/html/audio.htm b/contrib/ntp/html/audio.htm
new file mode 100644
index 000000000000..5df5570e482c
--- /dev/null
+++ b/contrib/ntp/html/audio.htm
@@ -0,0 +1,153 @@
+<html><head><title>
+Reference Clock Audio Drivers
+</title></head><body><h3>
+Reference Clock Audio Drivers
+</h3><hr>
+
+<p>There are some applications in which the computer time can be
+disciplined to an audio signal, rather than a serial timecode and
+communications port or special purpose bus peripheral. This is useful in
+such cases where the audio signal is sent over a telephone circuit, for
+example, or received directly from a shortwave receiver. In such cases
+the audio signal can be connected via an ordinary sound card or
+baseboard audio codec. The suite of NTP reference clock drivers
+currently includes three drivers suitable for these applications. They
+include a driver for the Inter Range Instrumentation Group (IRIG)
+signals produced by most radio clocks and timing devices, another for
+the Canadian time/frequency radio station CHU and a third for the NIST
+time/frequency radio stations WWV and WWVH. The radio drivers are
+designed to work with ordinary inexpensive shortwave radios and may be
+one of the least expensive ways to build a good primary time server.
+
+<p>All three drivers make ample use of sophisticated digital signal
+processing algorithms designed to efficiently extract timing signals
+from noise and interference. The radio station drivers in particular
+implement optimum linear demodulation and decoding techniques, including
+maximum likelihood and soft-decision methods. The documentation page for
+each driver contains an in-depth discussion on the algorithms and
+performance expectations. In some cases the algorithms are further
+analyzed, modelled and evaluated in a technical report.
+
+<p>Currently, the audio drivers are compatible with Sun operating
+systems, including Solaris and SunOS, and the native audio codec
+interface supported by these systems. In fact, the interface is quite
+generic and support for other systems, in particular the various Unix
+generics, should not be difficult. Volunteers are solicited.
+
+<p>The audio drivers include a number of common features designed to
+groom input signals, suppress spikes and normalize signal levels. An
+automatic gain control (AGC) feature provides protection against
+overdriven or underdriven input signals. It is designed to maintain
+adequate demodulator signal amplitude while avoiding occasional noise
+spikes. In order to assure reliable operation, the signal level must be
+in the range where the audio gain control is effective. In general, this
+means the input signal level must be such as to cause the AGC to set the
+gain somewhere in the middle of the range from 0 to 255, as indicated in
+the timecode displayed by the <tt>ntpq</tt> program.
+
+<p>The drivers operate by disciplining a logical clock based on the
+codec sample clock to the audio signal as received. This is done by
+stuffing or slipping samples as required to maintain exact frequency to
+the order of 0.1 PPM. In order for the driver to reliably lock on the
+audio signal, the sample clock frequency tolerance must be less than 250
+PPM (.025 percent) for the IRIG driver and half that for the radio
+drivers. The largest error observed so far is about 60 PPM, but it is
+possible some sound cards or codecs may exceed that value.
+
+<p>The drivers include provisions to select the input port and to
+monitor the input signal. The <tt>fudge flag 2</tt> selects the
+microphone port if set to zero or the line-in port if set to one. It
+does not seem useful to specify the compact disc player port. The
+<tt>fudge flag 3</tt> enables the input signal monitor using the
+previously selected output port and output gain. Both of these flags can
+be set in the configuration file or remotely using the <tt>ntpdc</tt>
+utility program.
+
+<H4>Shortwave Radio Drivers</H4>
+
+<p>The WWV/H and CHU audio drivers require an external shortwave radio
+with the radio output - speaker or headphone jack - connected to either
+the microphone or line-in port on the computer. There is some degree of
+art in setting up the radio and antenna and getting the setup to work.
+While the drivers are highly sophisticated and efficient in extracting
+timing signals from noise and interference, it always helps to have as
+clear a signal as possible.
+
+<p>The most important factor affecting the radio signal is the antenna.
+It need not be long - even 15 feet is enough if it is located outside of
+a metal frame building, preferably on the roof, and away from metallic
+objects. An ordinary CB whip mounted on a PVC pipe and wooden X-frame on
+the roof should work well with most portable radios, as they are
+optimized for small antennas.
+
+<p>The radio need not be located near the computer; in fact, it
+generally works better if the radio is outside the near field of
+computers and other electromagnetic noisemakers. It can be in the
+elevator penthouse connected by house wiring, which can also be used to
+power the radio. A couple of center-tapped audio transformers will
+minimize noise pickup and provide phantom power to the radio with return
+via the AC neutral wire.
+
+<p>The WWV/H and CHU transmitters operate on several frequencies
+simultaneously, so that in most parts of North America at least one
+frequency supports propagation to the receiver location at any given
+hour. While both drivers support the ICOM CI-V radio interface and can tune the radio automatically, computer-tunable radios are expensive and probably not cost effective compared to a GPS receiver. So, the radio frequency must usually be fixed and chosen by compromise.
+
+<p>Shortwave (3-30 MHz) radio propagation phenomena are well known to
+shortwave enthusiasts. The phenomena generally obey the following rules:
+
+<ul>
+
+<p><li>The optimum frequency is higher in daytime than nighttime, stays
+high longer on summer days and low longer on winter nights.
+
+<p><li>Transitions between daytime and nightime conditions generally
+occur somewhat after sunrise and sunset at the midpoint of the path from
+transmitter to receiver.
+
+<p><li>Ambient noise (static) on the lower frequencies follows the
+thunderstorm season, so is higher on summer afternoons and evenings.
+
+<p><li>The lower frequency bands are best for shorter distances, while
+the higher bands are best for longer distances.
+
+<p><li>The optimum frequencies are higher at the peak of the 11-year
+sunspot cycle and lower at the trough. The current sunspot cycle should
+peak in the first couple of years beginning the century.
+
+</ul>
+
+The best way to choose a frequency is to listen at various times over
+the day and determine the best highest (daytime) and lowest (nighttime)
+frequencies. Then, assuming one is available, choose the highest
+frequency between these frequencies. This strategy assumes that the high
+frequency is more problematic than the low, that the low frequency
+probably comes with severe multipath and static, and insures that
+probably twice a day the chosen frequency will work. For instance, on
+the east coast the best compromise CHU frequency is probably 7335 kHz
+and the best WWV frequency is probably 15 MHz.
+
+<h4>Debugging Aids</h4>
+
+<p>The audio drivers include extensive debugging support to help hook up
+the audio signals and monitor the driver operations. The documentation
+page for each driver describes the various messages that can be produced
+either in real-time or written to the <tt>clockstats</tt> file for
+later analysis. Of particular help in verifying signal connections and
+compatibility is a provision to monitor the signal via headphones or
+speaker.
+
+
+<p>The drivers write a synthesized timecode to the <tt>clockstats</tt>
+file each time the clock is set or verified and at other times if verbose monitoring is enabled. The format includes several fixed-length fields defining the Gregorian time to the millisecond, together with additional variable-length fields specific to each driver. The data include the intervals since the clock was last set or verified, the audio gain and various state variables and counters specific to each driver.
+
+<H4>Additional Information</H4>
+
+<A HREF="refclock.htm">Reference Clock Drivers</A>
+<br><A HREF="driver7.htm">Radio CHU Audio Demodulator/Decoder</A>
+<br><A HREF="driver36.htm">Radio WWV/H Audio Demodulator/Decoder</A>
+<br><A HREF="driver6.htm">IRIG Audio Decoder</A>
+
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/build.htm b/contrib/ntp/html/build.htm
index c321bf35a8c6..44b0391b6fcd 100644
--- a/contrib/ntp/html/build.htm
+++ b/contrib/ntp/html/build.htm
@@ -177,28 +177,8 @@ function.</DD>
</DL>
<H4>Building and Installing under Windows NT</H4>
-
-Under Windows NT, you will need <TT>Visual C++ 5.0</TT> or above,
-<TT>InstallShield</TT> SDK, <TT>Perl5</TT> and some version of the
-archiving program <TT>ZIP</TT>. Note that the version of
-<TT>InstallShield</TT> that comes with VC++5.0 is not useable here,
-since it does not include the command line tools.
-
-<P>See the <TT>./scripts/wininstall/readme.nt</TT> file for directions
-to compile the sources, build the libraries and link the executables.
-Initiate the build by running either <TT>bldrel.bat</TT> or
-<TT>blddbg.bat</TT> to compile all of the source and create an
-<TT>InstallShield</TT> based graphical installation package.
-
-<P>To install the executables, make sure that you are logged in as a
-system account, or one with administrator privileges such as the
-"administrator" account. As part of the build an <TT>InstallShield</TT>
-based graphical installer was created. Run
-<TT>\ntp\scripts\wininstall\intel\disk1\setup.exe</TT> to begin the
-installation. This installer will prompt for basic defaults,
-copy the binaries, install the service, and start it up. The other
-option is to run <TT>\ntp\scripts\wininstall\distrib\install.bat</TT>
-which will do the basic installation from the command line.
+See <tt><a href="hints/winnt.htm">hints/winnt.htm</a> </tt>for directions
+to compile the sources and install the executables.
<hr><a href=index.htm><img align=left
src=pic/home.gif></a><address><a href="mailto:mills@udel.edu"> David L.
diff --git a/contrib/ntp/html/copyright.htm b/contrib/ntp/html/copyright.htm
index d5d8243d94a5..527b5d035df3 100644
--- a/contrib/ntp/html/copyright.htm
+++ b/contrib/ntp/html/copyright.htm
@@ -1,123 +1,202 @@
-<HTML><HEAD><TITLE>
+<html><head><title>
Copyright Notice
-</TITLE></HEAD><BODY><H3>
+</title></head><body><h3>
Copyright Notice
-</H3>
+</h3>
<IMG align=left HEIGHT=264 WIDTH=206 SRC=pic/sheepb.jpg >"Clone
me," says Dolly sheepishly
<br clear=left><hr>
-<P>The following copyright notice applies to all files collectively called the Network Time Protocol Version 4 Distribution. Unless specifically declared otherwise in an individual file, this notice applies as if the text was explicitly included in the file.
+<P>The following copyright notice applies to all files collectively
+called the Network Time Protocol Version 4 Distribution. Unless
+specifically declared otherwise in an individual file, this notice
+applies as if the text was explicitly included in the file.
<br>
-<PRE>/***********************************************************************
-&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* Copyright (c) David L. Mills 1992-1999&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* Permission to use, copy, modify, and distribute this software and&nbsp;&nbsp; *
-&nbsp;* its documentation for any purpose and without fee is hereby&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* granted, provided that the above copyright notice appears in all&nbsp;&nbsp;&nbsp; *
-&nbsp;* copies and that both the copyright notice and this permission&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* notice appear in supporting documentation, and that the name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* University of Delaware not be used in advertising or publicity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* pertaining to distribution of the software without specific,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* written prior permission. The University of Delaware makes no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* representations about the suitability this software for any&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* purpose. It is provided "as is" without express or implied&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;* warranty.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
-&nbsp;**********************************************************************/</PRE>
-
-The following individuals contributed in part to the Network Time Protocol Distribution Version 4 and are acknowledged as authors of this work.
+<PRE>
+/***********************************************************************
+ * *
+ * Copyright (c) David L. Mills 1992-2000 *
+ * *
+ * Permission to use, copy, modify, and distribute this software and *
+ * its documentation for any purpose and without fee is hereby *
+ * granted, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission *
+ * notice appear in supporting documentation, and that the name *
+ * University of Delaware not be used in advertising or publicity *
+ * pertaining to distribution of the software without specific, *
+ * written prior permission. The University of Delaware makes no *
+ * representations about the suitability this software for any *
+ * purpose. It is provided "as is" without express or implied *
+ * warranty. *
+ * *
+ ***********************************************************************
+ */
+</PRE>
+
+The following individuals contributed in part to the Network Time
+Protocol Distribution Version 4 and are acknowledged as authors of this
+work.
<OL>
-<LI><A HREF="mailto: marka@syd.dms.csiro.au">Mark Andrews &lt;marka@syd.dms.csiro.au&gt;</a> Leitch atomic clock controller</LI>
+<LI><A HREF="mailto: marka@syd.dms.csiro.au">Mark Andrews
+&lt;marka@syd.dms.csiro.au&gt;</a> Leitch atomic clock controller</LI>
-<LI><A HREF="mailto: vbais@mailman1.intel.co">Viraj Bais &lt;vbais@mailman1.intel.com&gt;</a> and <A HREF="mailto: kirkwood@striderfm.intel.com">Clayton Kirkwood &lt;kirkwood@striderfm.intel.com&gt;</a> port to WindowsNT 3.5</LI>
+<LI><A HREF="mailto: vbais@mailman1.intel.co">Viraj Bais
+&lt;vbais@mailman1.intel.com&gt;</a> and <A HREF="mailto:
+kirkwood@striderfm.intel.com">Clayton Kirkwood
+&lt;kirkwood@striderfm.intel.com&gt;</a> port to WindowsNT 3.5</LI>
-<LI><A HREF="mailto: karl@owl.HQ.ileaf.com">Karl Berry &lt;karl@owl.HQ.ileaf.com&gt;</a> syslog to file option</LI>
+<LI><A HREF="mailto: michael.barone@lmco.com">Michael Barone
+&lt;michael,barone@lmco.com&gt;</a> GPSVME fixes</LI>
-<LI><A HREF="mailto: Piete.Brooks@cl.cam.ac.uk">Piete Brooks &lt;Piete.Brooks@cl.cam.ac.uk&gt;</a> MSF clock driver, Trimble PARSE support</LI>
+<LI><A HREF="mailto: karl@owl.HQ.ileaf.com">Karl Berry
+&lt;karl@owl.HQ.ileaf.com&gt;</a> syslog to file option</LI>
-<LI><A HREF="mailto: clift@ml.csiro.au">Steve Clift &lt;clift@ml.csiro.au&gt;</a> OMEGA clock driver</LI>
+<LI><A HREF="mailto: greg.brackley@bigfoot.com">Greg Brackley
+&lt;greg.brackley@bigfoot.com&gt;</a> Major rework of WINNT port. Clean
+up recvbuf and iosignal code into separate modules.</LI>
-<LI><A HREF="mailto:casey@csc.co.za">Casey Crellin &lt;casey@csc.co.za&gt;</a> vxWorks (Tornado) port and help with target configuration</LI>
+<LI><A HREF="mailto: Piete.Brooks@cl.cam.ac.uk">Piete Brooks
+&lt;Piete.Brooks@cl.cam.ac.uk&gt;</a> MSF clock driver, Trimble PARSE
+support</LI>
-<LI><A HREF="mailto: duwe@immd4.informatik.uni-erlangen.de">Torsten Duwe &lt;duwe@immd4.informatik.uni-erlangen.de&gt;</a> Linux port</LI>
+<LI><A HREF="mailto: clift@ml.csiro.au">Steve Clift
+&lt;clift@ml.csiro.au&gt;</a> OMEGA clock driver</LI>
-<LI><A HREF="mailto: dundas@salt.jpl.nasa.gov">John A. Dundas III &lt;dundas@salt.jpl.nasa.gov&gt;</a> Apple A/UX port</LI>
+<LI><A HREF="mailto:casey@csc.co.za">Casey Crellin
+&lt;casey@csc.co.za&gt;</a> vxWorks (Tornado) port and help with target
+configuration</LI>
-<LI><A HREF="mailto: dennis@mrbill.canet.ca">Dennis Ferguson &lt;dennis@mrbill.canet.ca&gt;</a> foundation code for NTP Version 2 as specified in RFC-1119</LI>
+<LI><A HREF="mailto: Sven_Dietrich@trimble.COM">Sven Dietrich
+&lt;sven_dietrich@trimble.com&gt;</a> Palisade reference clock driver,
+NT adj. residuals, integrated Greg's Winnt port.</LI>
-<LI><A HREF="mailto: glenn@herald.usask.ca">Glenn Hollinger &lt;glenn@herald.usask.ca&gt;</a> GOES clock driver</LI>
+<LI><A HREF="mailto: dundas@salt.jpl.nasa.gov">John A. Dundas III
+&lt;dundas@salt.jpl.nasa.gov&gt;</a> Apple A/UX port</LI>
-<LI><A HREF="mailto: iglesias@uci.edu">Mike Iglesias &lt;iglesias@uci.edu&gt;</a> DEC Alpha port</LI>
+<LI><A HREF="mailto: duwe@immd4.informatik.uni-erlangen.de">Torsten Duwe
+&lt;duwe@immd4.informatik.uni-erlangen.de&gt;</a> Linux port</LI>
-<LI><A HREF="mailto: jagubox.gsfc.nasa.gov">Jim Jagielski &lt;jim@jagubox.gsfc.nasa.gov&gt;</a> A/UX port</LI>
+<LI><A HREF="mailto: dennis@mrbill.canet.ca">Dennis Ferguson
+&lt;dennis@mrbill.canet.ca&gt;</a> foundation code for NTP Version 2 as
+specified in RFC-1119</LI>
-<LI><A HREF="mailto: jbj@chatham.usdesign.com">Jeff Johnson &lt;jbj@chatham.usdesign.com&gt;</a> massive prototyping overhaul</LI>
+<LI><A HREF="mailto: glenn@herald.usask.ca">Glenn Hollinger
+&lt;glenn@herald.usask.ca&gt;</a> GOES clock driver</LI>
-<LI><A HREF="mailto: jones@hermes.chpc.utexas.edu">William L. Jones &lt;jones@hermes.chpc.utexas.edu&gt;</a> RS/6000 AIX modifications, HPUX modifications</LI>
+<LI><A HREF="mailto: iglesias@uci.edu">Mike Iglesias
+&lt;iglesias@uci.edu&gt;</a> DEC Alpha port</LI>
-<LI><A HREF="mailto: dkatz@cisco.com">Dave Katz &lt;dkatz@cisco.com&gt;</a> RS/6000 AIX port</LI>
+<LI><A HREF="mailto: jagubox.gsfc.nasa.gov">Jim Jagielski
+&lt;jim@jagubox.gsfc.nasa.gov&gt;</a> A/UX port</LI>
-<LI><A HREF="mailto: leres@ee.lbl.gov">Craig Leres &lt;leres@ee.lbl.gov&gt;</a> 4.4BSD port, ppsclock, Maganavox GPS clock driver</LI>
+<LI><A HREF="mailto: jbj@chatham.usdesign.com">Jeff Johnson
+&lt;jbj@chatham.usdesign.com&gt;</a> massive prototyping overhaul</LI>
-<LI><A HREF="mailto: lindholm@ucs.ubc.ca">George Lindholm &lt;lindholm@ucs.ubc.ca&gt;</a> SunOS 5.1 port</LI>
+<LI><A HREF="mailto: jones@hermes.chpc.utexas.edu">William L. Jones
+&lt;jones@hermes.chpc.utexas.edu&gt;</a> RS/6000 AIX modifications, HPUX
+modifications</LI>
-<LI>
-<A HREF="mailto: louie@ni.umd.edu">Louis A. Mamakos &lt;louie@ni.umd.edu&gt;</a>
-MD5-based authentication</LI>
+<LI><A HREF="mailto:Hans.Lambermont@nl.origin-it.com">Hans Lambermont
+&lt;Hans.Lambermont@nl.origin-it.com&gt;</A> or <A
+HREF="mailto:H.Lambermont@chello.nl">&lt;H.Lambermont@chello.nl&gt;</A>
+ntpsweep</LI>
-<LI><A HREF="mailto: derek@toybox.demon.co.uk">Derek Mulcahy &lt;derek@toybox.demon.co.uk&gt;</a> and <A HREF="mailto: d@hd.org">Damon Hart-Davis &lt;d@hd.org&gt;</a> ARCRON MSF clock driver</LI>
+<LI><A HREF="http://www4.informatik.uni-erlangen.de/~kardel">Frank
+Kardel</A> <A HREF="mailto: Frank.Kardel@informatik.uni-erlangen.de">
+&lt;Frank.Kardel@informatik.uni-erlangen.de&gt;</a> PARSE
+&lt;GENERIC&gt; driver (14 reference clocks), STREAMS modules for PARSE,
+support scripts, syslog cleanup</LI>
-<LI><A HREF="mailto: thorinn@diku.dk">Lars H. Mathiesen &lt;thorinn@diku.dk&gt;</a> adaptation of foundation code for Version 3 as specified in RFC-1305</LI>
+<LI><A HREF="mailto: dkatz@cisco.com">Dave Katz
+&lt;dkatz@cisco.com&gt;</a> RS/6000 AIX port</LI>
-<LI><A HREF="mailto: mills@udel.edu">David L. Mills &lt;mills@udel.edu&gt;</a> Version 4 foundation, Spectractom WWVB, Austron GPS, Arbiter GPS, CHU, Heath, ATOM, ACTS, KSI/Odetics, IRIG clock drivers; PPS support; precision kernel; NTPv4 changes</LI>
+<LI><A HREF="mailto: leres@ee.lbl.gov">Craig Leres
+&lt;leres@ee.lbl.gov&gt;</a> 4.4BSD port, ppsclock, Maganavox GPS clock
+driver</LI>
-<LI><A HREF="mailto: moeller@gwdgv1.dnet.gwdg.de">Wolfgang Moeller &lt;moeller@gwdgv1.dnet.gwdg.de&gt;</a> VMS port</LI>
+<LI><A HREF="mailto: lindholm@ucs.ubc.ca">George Lindholm
+&lt;lindholm@ucs.ubc.ca&gt;</a> SunOS 5.1 port</LI>
-<LI><A HREF="mailto: mogul@pa.dec.com">Jeffrey Mogul &lt;mogul@pa.dec.com&gt;</a> ntptrace utility</LI>
+<LI><A HREF="mailto: louie@ni.umd.edu">Louis A. Mamakos
+&lt;louie@ni.umd.edu&gt;</a> MD5-based authentication</LI>
-<LI><A HREF="mailto: tmoore@fievel.daytonoh.ncr.com">Tom Moore &lt;tmoore@fievel.daytonoh.ncr.com&gt;</a> i386 svr4 port</LI>
+<LI><A HREF="mailto: thorinn@diku.dk">Lars H. Mathiesen
+&lt;thorinn@diku.dk&gt;</a> adaptation of foundation code for Version 3
+as specified in RFC-1305</LI>
-<LI><A HREF="mailto: Rainer.Pruy@informatik.uni-erlangen.de">Rainer Pruy &lt;Rainer.Pruy@informatik.uni-erlangen.de&gt;</a> monitoring/trap scripts, statistics file handling</LI>
+<LI><A HREF="mailto: mills@udel.edu">David L. Mills
+&lt;mills@udel.edu&gt;</a> Version 4 foundation: clock discipline,
+authentication, precision kernel; clock drivers: Spectracom, Austron,
+Arbiter, Heath, ATOM, ACTS, KSI/Odetics; audio clock drivers: CHU,
+WWV/H, IRIG</LI>
-<LI><A HREF="mailto: dirce@zk3.dec.com">Dirce Richards &lt;dirce@zk3.dec.com&gt;</a> Digital UNIX V4.0 port</LI>
+<LI><A HREF="mailto: moeller@gwdgv1.dnet.gwdg.de">Wolfgang Moeller
+&lt;moeller@gwdgv1.dnet.gwdg.de&gt;</a> VMS port</LI>
-<LI><A HREF="mailto: mrapple@quack.kfu.com">Nick Sayer &lt;mrapple@quack.kfu.com&gt;</a> SunOS streams modules</LI>
+<LI><A HREF="mailto: mogul@pa.dec.com">Jeffrey Mogul
+&lt;mogul@pa.dec.com&gt;</a> ntptrace utility</LI>
-<LI><A HREF="http://www4.informatik.uni-erlangen.de/~kardel">Frank Kardel</A> <A HREF="mailto:
-Frank.Kardel@informatik.uni-erlangen.de">
-&lt;Frank.Kardel@informatik.uni-erlangen.de&gt;</a>
-PARSE &lt;GENERIC> driver (14 reference clocks), STREAMS modules for PARSE, support scripts, syslog cleanup</LI>
+<LI><A HREF="mailto: tmoore@fievel.daytonoh.ncr.com">Tom Moore
+&lt;tmoore@fievel.daytonoh.ncr.com&gt;</a> i386 svr4 port</LI>
-<LI><A HREF="mailto: schnitz@unipress.com">Ray Schnitzler &lt;schnitz@unipress.com&gt;</a> Unixware1 port</LI>
+<LI><A HREF="mailto: derek@toybox.demon.co.uk">Derek Mulcahy
+&lt;derek@toybox.demon.co.uk&gt;</a> and <A HREF="mailto:
+d@hd.org">Damon Hart-Davis &lt;d@hd.org&gt;</a> ARCRON MSF clock
+driver</LI>
-<LI><A HREF="mailto: shields@tembel.org">Michael Shields &lt;shields@tembel.org&gt;</a> USNO clock driver</LI>
+<LI><A HREF="mailto: Rainer.Pruy@informatik.uni-erlangen.de">Rainer Pruy
+&lt;Rainer.Pruy@informatik.uni-erlangen.de&gt;</a> monitoring/trap
+scripts, statistics file handling</LI>
-<LI><A HREF="mailto: pebbles.jpl.nasa.gov">Jeff Steinman &lt;jss@pebbles.jpl.nasa.gov&gt;</a> Datum PTS clock driver</LI>
+<LI><A HREF="mailto: dirce@zk3.dec.com">Dirce Richards
+&lt;dirce@zk3.dec.com&gt;</a> Digital UNIX V4.0 port</LI>
-<LI><A HREF="mailto: harlan@pfcs.com">Harlan Stenn &lt;harlan@pfcs.com&gt;</a> GNU automake/autoconfigure makeover</LI>
+<LI><A HREF="mailto: wsanchez@apple.com">Wilfredo S&aacute;nchez
+&lt;wsanchez@apple.com&gt;</A> added support for NetInfo</LI>
-<LI><A HREF="mailto: ken@sdd.hp.com">Kenneth Stone &lt;ken@sdd.hp.com&gt;</a> HP-UX port</LI>
+<LI><A HREF="mailto: mrapple@quack.kfu.com">Nick Sayer
+&lt;mrapple@quack.kfu.com&gt;</a> SunOS streams modules</LI>
-<LI><A HREF="mailto: ajit@ee.udel.edu">Ajit Thyagarajan &lt;ajit@ee.udel.edu&gt;</a>IP multicast support</LI>
+<LI><A HREF="mailto: jack@innovativeinternet.com">Jack Sasportas
+&lt;jack@innovativeinternet.com&gt;</A> Saved a Lot of space on the
+stuff in the html/pic/ subdirectory</LI>
-<LI><A HREF="mailto: tsuruoka@nc.fukuoka-u.ac.jp">Tomoaki TSURUOKA &lt;tsuruoka@nc.fukuoka-u.ac.jp&gt;</a>TRAK clock driver</LI>
+<LI><A HREF="mailto: schnitz@unipress.com">Ray Schnitzler
+&lt;schnitz@unipress.com&gt;</a> Unixware1 port</LI>
-<LI><A HREF="mailto: vixie@vix.com">Paul A Vixie &lt;vixie@vix.com&gt;</a> TrueTime GPS driver, generic TrueTime clock driver</LI>
+<LI><A HREF="mailto: shields@tembel.org">Michael Shields
+&lt;shields@tembel.org&gt;</a> USNO clock driver</LI>
-<LI><A HREF="mailto: Ulrich.Windl@rz.uni-regensburg.de">Ulrich Windl &lt;Ulrich.Windl@rz.uni-regensburg.de&gt;</a> corrected and validated HTML documents according to the HTML DTD</LI>
+<LI><A HREF="mailto: pebbles.jpl.nasa.gov">Jeff Steinman
+&lt;jss@pebbles.jpl.nasa.gov&gt;</a> Datum PTS clock driver</LI>
-<LI><A HREF="mailto: greg.brackley@bigfoot.com">Greg Brackley &lt;greg.brackley@bigfoot.com&gt;</a> Major rework of WINNT port. Clean up recvbuf and iosignal code into separate modules.</LI>
+<LI><A HREF="mailto: harlan@pfcs.com">Harlan Stenn
+&lt;harlan@pfcs.com&gt;</a> GNU automake/autoconfigure makeover, various
+other bits (see the ChangeLog)</LI>
-<LI><A HREF="mailto: Sven_Dietrich@trimble.COM">Sven Dietrich &lt;sven_dietrich@trimble.com&gt;</a> Palisade reference clock driver, NT adj. residuals, integrated Greg's Winnt port.</LI>
+<LI><A HREF="mailto: ken@sdd.hp.com">Kenneth Stone
+&lt;ken@sdd.hp.com&gt;</a> HP-UX port</LI>
+
+<LI><A HREF="mailto: ajit@ee.udel.edu">Ajit Thyagarajan
+&lt;ajit@ee.udel.edu&gt;</a>IP multicast/anycast support</LI>
+
+<LI><A HREF="mailto: tsuruoka@nc.fukuoka-u.ac.jp">Tomoaki TSURUOKA
+&lt;tsuruoka@nc.fukuoka-u.ac.jp&gt;</a>TRAK clock driver</LI>
+
+<LI><A HREF="mailto: vixie@vix.com">Paul A Vixie
+&lt;vixie@vix.com&gt;</a> TrueTime GPS driver, generic TrueTime clock
+driver</LI>
+
+<LI><A HREF="mailto: Ulrich.Windl@rz.uni-regensburg.de">Ulrich Windl
+&lt;Ulrich.Windl@rz.uni-regensburg.de&gt;</a> corrected and validated
+HTML documents according to the HTML DTD</LI>
-<LI><A HREF="mailto: wsanchez@apple.com">Wilfredo S&aacute;nchez &lt;wsanchez@apple.com&gt;</A> added support for NetInfo</LI>
</OL>
-<hr><a href=index.htm><img align=left src=pic/home.gif&gt;</a><address><a
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
-</address&gt;</a></body></html>
+</address></a></body></html>
diff --git a/contrib/ntp/html/driver30.htm b/contrib/ntp/html/driver30.htm
index 8d547b180c43..fab604b8a318 100644
--- a/contrib/ntp/html/driver30.htm
+++ b/contrib/ntp/html/driver30.htm
@@ -17,24 +17,32 @@ Motorola Oncore GPS receiver</H3>
<H4>
Synopsis</H4>
-Address: 127.127.30.0
-<BR>Reference ID: <TT>GPS</TT>
-<BR>Driver ID: ONCORE
-<BR>Serial Port: <TT>/dev/cuaa0</TT>; 9600 baud, 8-bits, no parity
-<BR>PPS Port: <TT>/dev/xpps0</TT>; <TT>PPS_CAPTUREASSERT</TT>
-required, <TT>PPS_OFFSETASSERT</TT> supported.
+Address: 127.127.30.0<BR>
+Reference ID: <TT>GPS</TT><BR>
+Driver ID: ONCORE<BR>
+Serial Port: <TT>/dev/oncore.serial.0</TT>; &nbsp;9600 baud, 8-bits,
+no parity.<BR>
+PPS Port: <TT>/dev/oncore.pps.0</TT>;&nbsp; <TT>PPS_CAPTUREASSERT</TT>
+required,&nbsp; <TT>PPS_OFFSETASSERT</TT> supported.
<H4>
Description</H4>
This driver supports various models of the <A
HREF="http://www.mot.com/AECS/PNSB/products">Motorola Oncore GPS
-receivers</A>. as long as they support the <I>Motorola Binary
+receivers</A> as long as they support the <I>Motorola Binary
Protocol</I>.
-<P>The two most interesting version of the Oncore are the "UT+"&nbsp;
-and the "Remote" which is a prepackaged "UT+".&nbsp; The evaluation kit
+<P>The three most interesting versions of the Oncore are the "VP",&nbsp;
+the "UT+",&nbsp;
+and the "Remote" which is a prepackaged "UT+".&nbsp;
+The "VP" is no longer available.
+
+<P>The evaluation kit
can also be recommended, it interfaces to a PC straightaway, using the
-parallel port for PPS input (supported under FreeBSD), and packs the
+serial (DCD) or parallel port for PPS input and packs the
receiver in a nice and sturdy box.
+Two less expensive interface kits are available from
+<A HREF="http://www.tapr.org">TAPR </A>.
+
<BR>&nbsp;
<CENTER><TABLE NOSAVE >
<TR NOSAVE>
@@ -61,18 +69,22 @@ WIDTH=210></TD>
</TR>
</TABLE></CENTER>
-<P>The driver requires a standard <TT>PPS</TT> interface for the pulse-
-per-second output from the receiver.&nbsp; The serial data stream alone
+<P>The driver requires a standard <TT>PPS</TT> interface for the
+pulse-per-second output from the receiver.&nbsp; The serial data stream alone
does not provide precision time stamps (0-50msec variance, according to
the manual), whereas the PPS output is precise down to 50 nsec (1 sigma)
-for the UT models. <P>The driver will use the "position hold" mode if
-available, with either the receivers built-in site-survey or a similar
-algorithm implemented in this driver.
+for the VP/UT models.
+
+<P>The driver will use the "position hold" mode with
+user provided coordinates,
+the receivers built-in site-survey,
+or a similar algorithm implemented in this driver.
<H4>
Monitor Data</H4>
The driver is quite chatty on stdout if ntpd is run with
debugging.&nbsp;
A manual will be required though.
+Additional information is written to the clockstats file, if configured.
<H4>
Fudge Factors</H4>
@@ -114,7 +126,7 @@ Not used by this driver.</DD>
<TT>flag2 0 | 1</TT></DT>
<DD>
-Assume GPS receiver is on a mobile platform if set.</DD>
+Not used by this driver.</DD>
<DT>
<TT>flag3 0 | 1</TT></DT>
@@ -128,26 +140,40 @@ Not used by this driver.</DD>
<DD>
Not used by this driver.</DD>
</DL>
-<B>Additional Information</B><B></B>
-<P>The driver has been developed under FreeBSD, and may still be pretty
-FreeBSD centric.&nbsp; Patches are most welcome.
-<P><B>Performance</B><B></B>
-<P>Really good.&nbsp; With the UT+, the generated PPS pulse is
-referenced
+<B>Additional Information</B>
+<P>The driver has been tested on FreeBSD, Linux and SunOS.
+
+<P>There is a driver specific configuration file <TT>/etc/ntp.oncore</TT>
+that contains information on the startup mode, the location of the GPS
+receiver, an offset of the PPS signal from zero, and the cable delay.
+The offset shifts the PPS signal to avoid interrupt pileups `on' the second,
+and adjust the timestamp accordingly.
+See the driver source for information on this file.
+The default with no file is: no delay, no offset, and a site survey is done
+to get the location of the gps receiver.
+
+<P>The <TT>/etc/ntp.conf</TT> file will need a line of the form<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<TT> pps /dev/oncore.pps.0 [ assert/clear ] hardpps</TT><BR>
+if you want the oncore driver to control the kernel PLL.
+For more information, see the <A HREF=clockopt.htm>Reference Clock
+Options</A> page.
+
+<P><B>Performance</B>
+<P>Really good.&nbsp; With the VP/UT+, the generated PPS pulse is referenced
to UTC(GPS)&nbsp;with better than 50 nsec (1 sigma) accuracy.&nbsp; The
limiting factor will be the timebase of the computer and the precision
with which you can timestamp the rising flank of the
PPS&nbsp;signal.&nbsp;
Using FreeBSD,&nbsp; a FPGA&nbsp;based Timecounter/PPS&nbsp;interface
-and
-an ovenized quartz oscillator, that performance has been reproduced.
-&nbsp;For
-more details on this aspect:&nbsp; <A
+and an ovenized quartz oscillator, that performance has been reproduced.
+&nbsp;For more details on this aspect:&nbsp; <A
HREF="http://phk.freebsd.dk/rover.html">Sub-Microsecond
timekeeping under FreeBSD</A>
<HR>
<ADDRESS>
-Poul-Henning Kamp (phk@FreeBSD.org)</ADDRESS>
-
+Poul-Henning Kamp (phk@FreeBSD.org),
+Reg Clemens (reg@dwf.com)
+</ADDRESS>
</BODY>
</HTML>
diff --git a/contrib/ntp/html/driver35.htm b/contrib/ntp/html/driver35.htm
new file mode 100644
index 000000000000..d3b77e0e201a
--- /dev/null
+++ b/contrib/ntp/html/driver35.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>Conrad parallel port radio clock</title>
+</head>
+<body>
+
+<h3>Conrad parallel port radio clock</h3>
+<hr>
+
+<h4>Synopsis</h4>
+
+<p>Address: 127.127.35.<i>u</i><br>
+Reference ID: <tt>PCF</tt><br>
+Driver ID: <tt>PCF</tt><br>
+Parallel Port: <tt>/dev/pcfclock<i>u</i></tt>
+</p>
+
+<h4>Description</h4>
+
+<p>This driver supports the parallel port radio clocks sold by <a
+href="http://www.conrad-electronic.com/">Conrad Electronic</a> under
+order numbers 967602 and 642002. The battery-powered radio clock is
+put between a parallel port and your printer. It receives the legal
+German time, which is either CET or CEST, from the DCF77 transmitter
+and uses it to set internal quartz clock. The DCF77 transmitter is
+located near to Frankfurt/Main and covers a radius of more than 1500
+kilometers.
+
+<p>The driver requires that the pcfclock device driver be installed.
+A device driver for Linux&nbsp;2.2 is available at
+<a href="http://home.pages.de/~voegele/pcf.html">the pcfclock driver
+page</a>.
+</p>
+
+<p>The driver uses C library functions to convert the received
+timecode to UTC and therefore requires that the local timezone be
+CET/CEST. If your server is not located in Central Europe, you have
+to set the environment variable TZ to CET before <tt>ntpd</tt> is
+started.</p>
+
+<h4>Monitor Data</h4>
+
+<p>Each timecode is written to the <tt>clockstats</tt> file in the format
+<tt>YYYY MM DD HH MI SS</tt>.</p>
+
+<h4>Fudge Factors</h4>
+
+<dl>
+<dt><tt>time1 <i>time</i></tt></dt>
+<dd>Specifies the time offset calibration factor, in seconds and fraction,
+with default 0.0.</dd>
+
+<dt><tt>time2 <i>time</i></tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>stratum <i>number</i></tt></dt>
+<dd>Specifies the driver stratum, in decimal from 0 to 15, with default 0.
+</dd>
+
+<dt><tt>refid <i>string</i></tt></dt>
+<dd>Specifies the driver reference identifier, an ASCII string from one to
+four characters, with default <tt>PCF</tt>.</dd>
+
+<dt><tt>flag1 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag2 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag3 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag4 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+</dl>
+
+<hr>
+<address>Andreas Voegele (andreas.voegele@gmx.de)</address>
+
+</body>
+</html>
diff --git a/contrib/ntp/html/driver36.htm b/contrib/ntp/html/driver36.htm
new file mode 100644
index 000000000000..6f70dcc7ea9c
--- /dev/null
+++ b/contrib/ntp/html/driver36.htm
@@ -0,0 +1,839 @@
+<html><head><title>
+Radio WWV/H Audio Demodulator/Decoder
+</title></head><body><h3>
+Radio WWV/H Audio Demodulator/Decoder
+</h3><hr>
+
+<h4>Synopsis</h4>
+
+Address: 127.127.36.<I>u</I>
+<br>Reference ID: <tt>WWV</tt> or <tt>WWVH</tt>
+<br>Driver ID: <tt>WWV_AUDIO</tt>
+<br>Autotune Port: <tt>/dev/icom</tt>; 9600 baud, 8-bits, no parity
+<br>Audio Device: <tt>/dev/audio</tt> and <tt>/dev/audioctl</tt>
+
+<h4>Description</h4>
+
+This driver synchronizes the computer time using data encoded in
+shortwave radio transmissions from NIST time/frequency stations WWV in
+Ft. Collins, CO, and WWVH in Kauai, HI. Transmissions are made
+continuously on 2.5, 5, 10, 15 and 20 MHz. An ordinary shortwave
+receiver can be tuned manually to one of these frequencies or, in the
+case of ICOM receivers, the receiver can be tuned automatically by the
+driver as propagation conditions change throughout the day and night.
+The performance of this driver when tracking one of the stations is
+ordinarily better than 1 ms in time with frequency drift less than 0.5
+PPM when not tracking either station.
+
+<p>The demodulation and decoding algorithms used by this driver are
+based on a machine language program developed for the TAPR DSP93 DSP
+unit, which uses the TI 320C25 DSP chip. The analysis, design and
+performance of the program running on this unit is described in: Mills,
+D.L. A precision radio clock for WWV transmissions. Electrical
+Engineering Report 97-8-1, University of Delaware, August 1997, 25 pp.
+Available from <a href=http://www.eecis.udel.edu/~mills/reports.htm>
+www.eecis.udel.edu/~mills/reports.htm</a>. For use in this driver, the
+original program was rebuilt in the C language and adapted to the NTP
+driver interface. The algorithms have been modified somewhat to improve
+performance under weak signal conditions and to provide an automatic
+station identification feature.
+
+<p>This driver incorporates several features in common with other audio
+drivers such as described in the <a href=driver7.htm>Radio CHU Audio
+Demodulator/Decoder</a> and the <a href=driver6.htm>IRIG Audio
+Decoder</a> pages. They include automatic gain control (AGC), selectable
+audio codec port and signal monitoring capabilities. For a discussion of
+these common features, as well as a guide to hookup, debugging and
+monitoring, see the <a href=audio.htm>Reference Clock Audio Drivers</a>
+page.
+
+<p>The WWV signal format is described in NIST Special Publication 432
+(Revised 1990). It consists of three elements, a 5-ms, 1000-Hz pulse,
+which occurs at the beginning of each second, a 800-ms, 1000-Hz pulse,
+which occurs at the beginning of each minute, and a pulse-width
+modulated 100-Hz subcarrier for the data bits, one bit per second. The
+WWVH format is identical, except that the 1000-Hz pulses are sent at
+1200 Hz. Each minute encodes nine BCD digits for the time of century
+plus seven bits for the daylight savings time (DST) indicator, leap
+warning indicator and DUT1 correction.
+
+<h4>Program Architecture</h4>
+
+<p>As in the original program, the clock discipline is modelled as a
+Markov process, with probabilistic state transitions corresponding to a
+conventional clock and the probabilities of received decimal digits. The
+result is a performance level which results in very high accuracy and
+reliability, even under conditions when the minute beep of the signal,
+normally its most prominent feature, can barely be detected by ear with
+a shortwave receiver.
+
+<p>The analog audio signal from the shortwave radio is sampled at 8000
+Hz and converted to digital representation. The 1000/1200-Hz pulses and
+100-Hz subcarrier are first separated using two IIR filters, a 600-Hz
+bandpass filter centered on 1100 Hz and a 150-Hz lowpass filter. The
+minute sync pulse is extracted using a 800-ms synchronous matched filter
+and pulse grooming logic which discriminates between WWV and WWVH
+signals and noise. The second sync pulse is extracted using a 5-ms FIR
+matched filter and 8000-stage comb filter.
+
+<p>The phase of the 100-Hz subcarrier relative to the second sync pulse
+is fixed at the transmitter; however, the audio highpass filter in most
+radios affects the phase response at 100 Hz in unpredictable ways. The
+driver adjusts for each radio using two 170-ms synchronous matched
+filters. The I (in-phase) filter is used to demodulate the subcarrier
+envelope, while the Q (quadrature-phase) filter is used in a tracking
+loop to discipline the codec sample clock and thus the demodulator
+phase.
+
+<p>The data bit probabilities are determined from the subcarrier
+envelope using a threshold-corrected slicer. The averaged envelope
+amplitude 30 ms from the beginning of the second establishes the minimum
+(noise floor) value, while the amplitude 200 ms from the beginning
+establishes the maximum (signal peak) value. The slice level is midway
+between these two values. The negative-going envelope transition at the
+slice level establishes the length of the data pulse, which in turn
+establish probabilities for binary zero (P0) or binary one (P1). The
+values are established by linear interpolation between the pulse lengths
+for P0 (300 ms) and P1 (500 ms) so that the sum is equal to one. If the
+driver has not synchronized to the minute pulse, or if the data bit
+amplitude, signal/noise ratio (SNR) or length are below thresholds, the
+bit is considered invalid and all three probabilities are set to zero.
+
+<p>The difference between the P1 and P0 probabilities, or likelihood,
+for each data bit is exponentially averaged in a set of 60 accumulators,
+one for each second, to determine the semi-static miscellaneous bits,
+such as DST indicator, leap second warning and DUT1 correction. In this
+design, an average value larger than a positive threshold is interpreted
+as a hit on one and a value smaller than a negative threshold as a hit
+on zero. Values between the two thresholds, which can occur due to
+signal fades or loss of signal, are interpreted as a miss, and result in
+no change of indication.
+
+<p>The BCD digit in each digit position of the timecode is represented
+as four data bits, all of which must be valid for the digit itself to be
+considered valid. If so, the bits are correlated with the bits
+corresponding to each of the valid decimal digits in this position. If
+the digit is invalid, the correlated value for all digits in this
+position is assumed zero. In either case, the values for all digits are
+exponentially averaged in a likelihood vector associated with this
+position. The digit associated with the maximum over all of the averaged
+values then becomes the maximum likelihood selection for this position
+and the ratio of the maximum over the next lower value becomes the
+likelihood ratio.
+
+<p>The decoding matrix contains nine row vectors, one for each digit
+position. Each row vector includes the maximum likelihood digit,
+likelihood vector and other related data. The maximum likelihood digit
+for each of the nine digit positions becomes the maximum likelihood time
+of the century. A built-in transition function implements a conventional
+clock with decimal digits that count the minutes, hours, days and years,
+as corrected for leap seconds and leap years. The counting operation
+also rotates the likelihood vector corresponding to each digit as it
+advances. Thus, once the clock is set, each clock digit should
+correspond to the maximum likelihood digit as transmitted.
+
+<p>Each row of the decoding matrix also includes a compare counter and
+the difference (modulo the radix) between the current clock digit and
+most recently determined maximum likelihood digit. If a digit likelihood
+exceeds the decision level and the difference is constant for a number
+of successive minutes in any row, the maximum likelihood digit replaces
+the clock digit in that row. When this condition is true for all rows
+and the second epoch has been reliably determined, the clock is set (or
+verified if it has already been set) and delivers correct time to the
+integral second. The fraction within the second is derived from the
+logical master clock, which runs at 8000 Hz and drives all system timing
+functions.
+
+<p>The logical master clock is derived from the audio codec clock. Its
+frequency is disciplined by a frequency-lock loop (FLL) which operates
+independently of the data recovery functions. At averaging intervals
+determined by the measured jitter, the frequency error is calculated as
+the difference between the most recent and the current second epoch
+divided by the interval. The sample clock frequency is then corrected by
+this amount using an exponential average. When first started, the
+frequency averaging interval is eight seconds, in order to compensate
+for intrinsic codec clock frequency offsets up to 125 PPM. Under most
+conditions, the averaging interval doubles in stages from the initial
+value to over 1000 seconds, which results in an ultimate frequency
+precision of 0.125 PPM, or about 11 ms/day.
+
+<p>It is important that the logical clock frequency is stable and
+accurately determined, since in most applications the shortwave radio
+will be tuned to a fixed frequency where WWV or WWVH signals are not
+available throughout the day. In addition, in some parts of the US,
+especially on the west coast, signals from either or both WWV and WWVH
+may be available at different times or even at the same time. Since the
+propagation times from either station are almost always different, each
+station must be reliably identified before attempting to set the clock.
+
+<p>Station identification uses the 800-ms minute pulse transmitted by
+each station. In the acquisition phase the entire minute is searched
+using both the WWV and WWVH using matched filters and a pulse gate
+discriminator similar to that found in radar acquisition and tracking
+receivers. The peak amplitude found determines a range gate and window
+where the next pulse is expected to be found. The minute is scanned
+again to verify the peak is indeed in the window and with acceptable
+amplitude, SNR and jitter. At this point the receiver begins to track
+the second sync pulse and operate as above until the clock is set.
+
+<p>Once the minute is synchronized, the range gate is fixed and only
+energy within the window is considered for the minute sync pulse. A
+compare counter increments by one if the minute pulse has acceptable
+amplitude, SNR and jitter and decrements otherwise. This is used as a
+quality indicator and reported in the timecode and also for the autotune
+function described below.
+
+<h4>Performance</h4>
+
+<p>It is the intent of the design that the accuracy and stability of the
+indicated time be limited only by the characteristics of the propagation
+medium. Conventional wisdom is that synchronization via the HF medium is
+good only to a millisecond under the best propagation conditions. The
+performance of the NTP daemon disciplined by the driver is clearly
+better than this, even under marginal conditions. Ordinarily, with
+marginal to good signals and a frequency averaging interval of 1024 s,
+the frequency is stabilized within 0.1 PPM and the time within 125 <font
+face=Symbol>m</font>s. The frequency stability characteristic is highly
+important, since the clock may have to free-run for several hours before
+reacquiring the WWV/H signal.
+
+<p>The expected accuracy over a typical day was determined using the
+DSP93 and an oscilloscope and cesium oscillator calibrated with a GPS
+receiver. With marginal signals and allowing 15 minutes for initial
+synchronization and frequency compensation, the time accuracy determined
+from the WWV/H second sync pulse was reliably within 125 <font
+face=Symbol>m</font>s. In the particular DSP-93 used for program
+development, the uncorrected CPU clock frequency offset was
+45.8&plusmn;0.1 PPM. Over the first hour after initial synchronization,
+the clock frequency drifted about 1 PPM as the frequency averaging
+interval increased to the maximum 1024 s. Once reaching the maximum, the
+frequency wandered over the day up to 1 PPM, but it is not clear whether
+this is due to the stability of the DSP-93 clock oscillator or the
+changing height of the ionosphere. Once the frequency had stabilized and
+after loss of the WWV/H signal, the frequency drift was less than 0.5
+PPM, which is equivalent to 1.8 ms/h or 43 ms/d. This resulted in a step
+phase correction up to several milliseconds when the signal returned.
+
+<p>The measured propagation delay from the WWV transmitter at Boulder,
+CO, to the receiver at Newark, DE, is 23.5&plusmn;0.1 ms. This is
+measured to the peak of the pulse after the second sync comb filter and
+includes components due to the ionospheric propagation delay, nominally
+8.9 ms, communications receiver delay and program delay. The propagation
+delay can be expected to change about 0.2 ms over the day, as the result
+of changing ionosphere height. The DSP93 program delay was measured at
+5.5 ms, most of which is due to the 400-Hz bandpass filter and 5-ms
+matched filter. Similar delays can be expected of this driver.
+
+<h4>Program Operation</h4>
+
+The driver begins operation immediately upon startup. It first searches
+for one or both of the stations WWV and WWVH and attempts to acquire
+minute sync. This may take some fits and starts, as the driver expects
+to see three consecutive minutes with good signals and low jitter. If
+the autotune function is active, the driver will rotate over all five
+frequencies and both WWV and WWVH stations until three good minutes are
+found.
+
+<p>The driver then acquires second sync, which can take up to several
+minutes, depending on signal quality. At the same time the driver
+accumulates likelihood values for each of the nine digits of the clock,
+plus the seven miscellaneous bits included in the WWV/H transmission
+format. The minute units digit is decoded first and, when five
+repetitions have compared correctly, the remaining eight digits are
+decoded. When five repetitions of all nine digits have decoded
+correctly, which normally takes 15 minutes with good signals and up to
+an hour when buried in noise, and the second sync alarm has not been
+raised for two minutes, the clock is set (or verified) and is selectable
+to discipline the system clock.
+
+<p>As long as the clock is set or verified, the system clock offsets are
+provided once each second to the reference clock interface, where they
+are saved in a buffer. At the end of each minute, the buffer samples are
+groomed by the median filter and trimmed-mean averaging functions. Using
+these functions, the system clock can in principle be disciplined to a
+much finer resolution than the 125-<font face=Symbol>m</font>s sample
+interval would suggest, although the ultimate accuracy is probably
+limited by propagation delay variations as the ionspheric height varies
+throughout the day and night.
+
+<p>As long as signals are available, the clock frequency is disciplined
+for use during times when the signals are unavailable. The algorithm
+refines the frequency offset using increasingly longer averaging
+intervals to 1024 s, where the precision is about 0.1 PPM. With good
+signals, it takes well over two hours to reach this degree of precision;
+however, it can take many more hours than this in case of marginal
+signals. Once reaching the limit, the algorithm will follow frequency
+variations due to temperature fluctuations and ionospheric height
+variations.
+
+<p>It may happen as the hours progress around the clock that WWV and
+WWVH signals may appear alone, together or not at all. When the driver
+is first started, the NTP reference identifier appears as <tt>NONE</tt>.
+When the driver has acquired one or both stations and mitigated which
+one is best, it sets the station identifier in the timecode as described
+below. In addition, the NTP reference identifier is set to the station
+callsign. If the propagation delays has been properly set with the
+<tt>fudge time1</tt> (WWV) and <tt>fudge time2</tt> (WWVH) commands in
+the configuration file, handover from one station to the other will be
+seamless.
+
+<p>Once the clock has been set for the first time, it will appear
+reachable and selectable to discipline the system clock, even if the
+broadcast signal fades to obscurity. A consequence of this design is
+that, once the clock is set, the time and frequency are disciplined only
+by the second sync pulse and the clock digits themselves are driven by
+the clock state machine and ordinarily never changed. However, as long
+as the clock is set correctly, it will continue to read correctly after
+a period of signal loss, as long as it does not drift more than 500 ms
+from the correct time. Assuming the clock frequency can be disciplined
+within 1 PPM, the clock could coast without signals for some 5.8 days
+without exceeding that limit. If for some reason this did happen, the
+clock would be in the wrong second and would never resynchronize. To
+protect against this most unlikely situation, if after four days with no
+signals, the clock is considered unset and resumes the synchronization
+procedure from the beginning.
+
+<p>To work well, the driver needs a communications receiver with good
+audio response at 100 Hz. Most shortwave and communications receivers
+roll off the audio response below 250 Hz, so this can be a problem,
+especially with receivers using DSP technology, since DSP filters can
+have very fast rolloff outside the passband. Some DSP transceivers, in
+particular the ICOM 775, have a programmable low frequency cutoff which
+can be set as low as 80 Hz. However, this particular radio has a strong
+low frequency buzz at about 10 Hz which appears in the audio output and
+can affect data recovery under marginal conditions. Although not tested,
+it would seem very likely that a cheap shortwave receiver could function
+just as well as an expensive communications receiver.
+
+<h4>Autotune</h4>
+
+<p>The driver includes provisions to automatically tune the radio in
+response to changing radio propagation conditions throughout the day and
+night. The radio interface is compatible with the ICOM CI-V standard,
+which is a bidirectional serial bus operating at TTL levels. The bus can
+be connected to a serial port using a level converter such as the CT-17.
+The serial port speed is presently compiled in the program, but can be
+changed in the driver source file.
+
+<p>Each ICOM radio is assigned a unique 8-bit ID select code, usually
+expressed in hex format. To activate the CI-V interface, the
+<tt>mode</tt> keyword of the <tt>server</tt> configuration command
+specifies a nonzero select code in decimal format. A table of ID select
+codes for the known ICOM radios is given below. A missing <tt>mode</tt>
+keyword or a zero argument leaves the interface disabled. The driver
+will attempt to open the device <tt>/dev/icom</tt> and, if successful
+will activate the autotune function and tune the radio to each operating
+frequency in turn while attempting to acquire minute sync from either
+WWV or WWVH. However, the driver is liberal in what it assumes of the
+configuration. If the <tt>/dev/icom</tt> link is not present or the open
+fails or the CI-V bus or radio is inoperative, the driver quietly gives
+up with no harm done.
+
+<p>Once acquiring minute sync, the driver operates as described above to
+set the clock. However, during seconds 59, 0 and 1 of each minute it
+tunes the radio to one of the five broadcast frequencies to measure the
+sync pulse and data pulse amplitudes and SNR and update the compare
+counter. Each of the five frequencies are probed in a five-minute
+rotation to build a database of current propagation conditions for all
+signals that can be heard at the time. At the end of each rotation, a
+mitigation procedure scans the database and retunes the radio to the
+best frequency and station found. For this to work well, the radio
+should be set for a fast AGC recovery time. This is most important while
+tracking a strong signal, which is normally the case, and then probing
+another frequency, which may have much weaker signals.
+
+<p>Reception conditions for each frequency and station are evaluated
+according to a metric which considers the minute sync pulse amplitude,
+SNR and jitter, as well as, the data pulse amplitude and SNR. The minute
+pulse is evaluated at second 0, while the data pulses are evaluated at
+seconds 59 and 1. The results are summarized in a scoreboard of three
+bits
+
+<dl>
+
+<p><dt><tt>0x0001</tt>
+<dd>Jitter exceeded. The difference in epoches between the last minute
+sync pulse and the current one exceeds 50 ms (400 samples).</dd>
+
+<dt><tt>0x0002</tt>
+<dd>Minute pulse error. For the minute sync pulse in second 0, either
+the amplitude or SNR is below threshold (2000 and 20 dB,
+respectively).</dd>
+
+<dt><tt>0x0004</tt>
+<dd>Minute pulse error. For both of the data pulses in seocnds 59 and 1,
+either the amplitude or SNR is below threshold (1000 and 10 dB,
+respectively).</dd>
+
+</dl>
+
+<p>If none of the scoreboard bits are set, the compare counter is
+increased by one to a maximum of six. If any bits are set, the counter
+is decreased by one to a minimum of zero. At the end of each minute, the
+frequency and station with the maximum compare count is chosen, with
+ties going to the highest frequency.
+
+<h4>Diagnostics</h4>
+
+<p>The autotune process produces diagnostic information along with the
+timecode. This is very useful for evaluating the performance of the
+algorithm, as well as radio propagation conditions in general. The
+message is produced once each minute for each frequency in turn after
+minute sync has been acquired.
+
+<p><tt>wwv5 port agc wwv wwvh</tt>
+
+<p>where <tt>port</tt> and <tt>agc</tt> are the audio port and gain,
+respectively, for this frequency and <tt>wwv</tt> and <tt>wwvh</tt> are
+two sets of fields, one each for WWV and WWVH. Each of the two fields
+has the format
+
+<p><tt>ident score comp sync/snr/jitr</tt>
+
+<p>where <tt>ident</tt>encodes the station (<tt>C</tt> for WWV,
+<tt>H</tt> for WWVH) and frequency (2, 5, 10, 15 and 20), <tt>score</tt>
+is the scoreboard described above, <tt>comp</tt> is the compare counter,
+<tt>sync</tt> is the minute sync pulse amplitude, <tt>snr</tt> the SNR
+of the pulse and <tt>jitr</tt> is the sample difference between the
+current epoch and the last epoch. An example is:
+
+<p><tt>wwv5 2 111 C20 0100 6 8348/30.0/-3 H20 0203 0 22/-12.4/8846</tt>
+
+<p>Here the radio is tuned to 20 MHz and the line-in port AGC is
+currently 111 at that frequency. The message contains a report for WWV
+(<tt>C20</tt>) and WWVH (<tt>H20</tt>). The WWV report scoreboard is
+0100 and the compare count is 6, which suggests very good reception
+conditions, and the minute sync amplitude and SNR are well above
+thresholds (2000 and 20 dB, respectively). Probably the most sensitive
+indicator of reception quality is the jitter, -3 samples, which is well
+below threshold (50 ms or 400 samples). While the message shows solid
+reception conditions from WWV, this is not the case for WWVH. Both the
+minute sync amplitude and SNR are below thresholds and the jitter is
+above threshold.
+
+<p>A sequence of five messages, one for each minute, might appear as
+follows:
+
+<p><pre>wwv5 2 95 C2 0107 0 164/7.2/8100 H2 0207 0 80/-5.5/7754
+wwv5 2 99 C5 0104 0 3995/21.8/395 H5 0207 0 27/-9.3/18826
+wwv5 2 239 C10 0105 0 9994/30.0/2663 H10 0207 0 54/-16.1/-529
+wwv5 2 155 C15 0103 3 3300/17.8/-1962 H15 0203 0 236/17.0/4873
+wwv5 2 111 C20 0100 6 8348/30.0/-3 H20 0203 0 22/-12.4/8846</pre>
+
+<p>Clearly, the only frequencies that are available are 15 MHz and 20
+MHz and propagation may be failing for 15 MHz. However, minute sync
+pulses are being heard on 5 and 10 MHz, even though the data pulses are
+not. This is typical of late afternoon when the maximum usable frequency
+(MUF) is falling and the ionospheric loss at the lower frequencies is
+beginning to decrease.
+
+<h4>Debugging Aids</h4>
+
+<p>The most convenient way to track the driver status is using the
+<tt>ntpq</tt> program and the <tt>clockvar</tt> command. This displays
+the last determined timecode and related status and error counters, even
+when the driver is not discipline the system clock. If the debugging
+trace feature (<tt>-d</tt> on the <tt>ntpd</tt> command line)is enabled,
+the driver produces detailed status messages as it operates. If the
+<tt>fudge flag 4</tt> is set, these messages are written to the
+<tt>clockstats</tt> file. All messages produced by this driver have the
+prefix <tt>chu</tt> for convenient filtering with the Unix <tt>grep</tt>
+command.
+
+<p>In the following descriptions the units of amplitude, phase,
+probability and likelihood are normalized to the range 0-6000 for
+convenience. In addition, the signal/noise ratio (SNR) and likelihood
+ratio are measured in decibels and the words with bit fields are in
+hex. Most messages begin with a leader in the following format:
+
+<p><tt>wwvn ss stat sigl</tt>
+
+<p>where <tt>wwvn</tt> is the message code, <tt>ss</tt> the second of
+minute, <tt>stat</tt> the driver status word and <tt>sigl</tt> the
+second sync pulse amplitude. A full explanation of the status bits is
+contained in the driver source listing; however, the following are the
+most useful for debugging.
+
+<dl>
+
+<p><dt><tt>0x0001</tt>
+<dd>Minute sync. Set when the decoder has identified a station and
+acquired the minute sync pulse.</dd>
+<p><dt><tt>0x0002</tt>
+<dd>Second sync. Set when the decoder has acquired the second sync pulse
+and within 125 <font face=Symbol>m</font>s of the correct phase.</dd>
+
+<p><dt><tt>0x0004</tt>
+<dd>Minute unit sync. Set when the decoder has reliably determined the
+unit digit of the minute.</dd>
+
+<p><dt><tt>0x0008</tt>
+<dd>Clock set. Set when the decoder has reliably determined all nine
+digits of the timecode and is selectable to discipline the system
+clock.</dd>
+
+</dl>
+
+<p>With debugging enabled the driver produces messages in the following
+formats:
+
+<p>Format <tt>wwv8</tt> messages are produced once per minute by the WWV
+and WWVH station processes before minute sync has been acquired. They
+show the progress of identifying and tracking the minute pulse of each
+station.
+
+<p><tt>wwv8 port agc ident comp ampl snr epoch jitr offs</tt>
+
+<p>where <tt>port</tt> and <tt>agc</tt> are the audio port and gain,
+respectively. The <tt>ident</tt>encodes the station (<tt>C</tt> for WWV,
+<tt>H</tt> for WWVH) and frequency (2, 5, 10, 15 and 20). For the
+encoded frequency, <tt>comp</tt> is the compare counter, <tt>ampl</tt>
+the pulse amplitude, <tt>snr</tt> the SNR, <tt>epoch</tt> the sample
+number of the minute pulse in the minute, <tt>jitr</tt> the change since
+the last <tt>epoch</tt> and <tt>offs</tt> the minute pulse offset
+relative to the second pulse. An example is:
+
+<p><tt> wwv8 2 127 C15 2 9247 30.0 18843 -1 1</tt>
+<br><tt>wwv8 2 127 H15 0 134 -2.9 19016 193 174</tt>
+
+<p>Here the radio is tuned to 15 MHz and the line-in port AGC is
+currently 127 at that frequency. The driver has not yet acquired minute
+sync, WWV has been heard for at least two minutes, and WWVH is in the
+noise. The WWV minute pulse amplitude and SNR are well above the
+threshold (2000 and 6 dB, respectively) and the minute epoch has been
+determined -1 sample relative to the last one and 1 sample relative to
+the second sync pulse. The compare counter has incrmented to two; when
+it gets to three, minute sync has been acquired.
+
+<p>Format <tt>wwv3</tt> messages are produced after minute sync has been
+acquired and until the seconds unit digit is determined. They show the
+results of decoding each bit of the transmitted timecode.
+
+<p><tt>wwv3 ss stat sigl ampl phas snr prob like</tt>
+
+<p>where <tt>ss</tt>, <tt>stat</tt> and <tt>sigl</tt> are as above,
+<tt>ampl</tt> is the subcarrier amplitude, <tt>phas</tt> the subcarrier
+phase, <tt>snr</tt> the subcarrier SNR, <tt>prob</tt> the bit
+probability and <tt>like</tt> the bit likelihood. An example is:
+
+<p><tt>wwv3 28 0123 4122 4286 0 24.8 -5545 -1735</tt>
+
+<p>Here the driver has acquired minute and second sync, but has not yet
+determined the seconds unit digit. However, it has just decoded bit 28
+of the minute. The results show the second sync pulse amplitude well
+over the threshold (500), subcarrier amplitude well above the threshold
+(1000), good subcarrier tracking phase and SNR well above the threshold
+(10 dB). The bit is almost certainly a zero and the likelihood of a zero
+in this second is very high.
+<p>Format <tt>wwv4</tt> messages are produced for each of the nine BCD
+timecode digits until the clock has been set or verified. They show the
+results of decoding each digit of the transmitted timecode.
+<p><tt>wwv4 ss stat sigl radx ckdig mldig diff cnt like snr</tt>
+
+<p>where <tt>ss</tt>, <tt>stat</tt> and <tt>sigl</tt> are as above,
+<tt>radx</tt> is the digit radix (3, 4, 6, 10), <tt>ckdig</tt> the
+current clock digit, <tt>mldig</tt> the maximum likelihood digit,
+<tt>diff</tt> the difference between these two digits modulo the radix,
+<tt>cnt</tt> the compare counter, <tt>like</tt> the digit likelihood and
+<tt>snr</tt> the likelihood ratio. An example is:
+
+<p><tt>wwv4 8 010f 5772 10 9 9 0 6 4615 6.1</tt>
+
+<p>Here the driver has previousl set or verified the clock. It has just
+decoded the digit preceding second 8 of the minute. The digit radix is
+10, the current clock and maximum likelihood digits are both 9, the
+likelihood is well above the threshold (1000) and the likelihood
+function well above threshold (3.0 dB). Short of a hugely unlikely
+probability conspiracy, the clock digit is most certainly a 9.
+
+<p>Format <tt>wwv2</tt> messages are produced at each master oscillator
+frequency update, which starts at 8 s, but eventually climbs to 1024 s.
+They show the progress of the algorithm as it refines the frequency
+measurement to a precision of 0.1 PPM.
+
+<p><tt>wwv2 ss stat sigl avint avcnt avinc jitr delt freq</tt>
+
+<p>where <tt>ss</tt>, <tt>stat</tt> and <tt>sigl</tt> are as above,
+<tt>avint</tt> is the averaging interval, <tt>avcnt</tt> the averaging
+interval counter, <tt>avinc</tt> the interval increment, <tt>jitr</tt>
+the sample change between the beginning and end of the interval,
+<tt>delt</tt> the computed frequency change and <tt>freq</tt> the
+current frequency (PPM). An example is:
+
+<p><tt>wwv2 22 030f 5795 256 256 4 0 0.0 66.7</tt>
+
+<p>Here the driver has acquired minute and second sync and set the
+clock. The averaging interval has increased to 256 s on the way to 1024
+s, has stayed at that interval for 4 averaging intervals, has measured
+no change in frequency and the current frequency is 66.7 PPM.
+
+<p>If the CI-V interface for ICOM radios is active, a debug level
+greater than 1 will produce a trace of the CI-V command and response
+messages. Interpretation of these messages requires knowledge of the
+CI-V protocol, which is beyond the scope of this document.
+
+<h4>Monitor Data</h4>
+
+When enabled by the <tt>filegen</tt> facility, every received timecode
+is written to the <tt>clockstats</tt> file in the following format:
+
+<pre>
+ sq yy ddd hh:mm:ss.fff ld du lset agc stn rfrq errs freq cons
+
+ s sync indicator
+ q quality character
+ yyyy Gregorian year
+ ddd day of year
+ hh hour of day
+ mm minute of hour
+ fff millisecond of second
+ l leap second warning
+ d DST state
+ dut DUT sign and magnitude
+ lset minutes since last set
+ agc audio gain
+ ident station identifier and frequency
+ comp minute sync compare counter
+ errs bit error counter
+ freq frequency offset
+ avgt averaging time
+</pre>
+
+The fields beginning with <tt>year</tt> and extending through
+<tt>dut</tt> are decoded from the received data and are in fixed-length
+format. The <tt>agc</tt> and <tt>lset</tt> fields, as well as the
+following driver-dependent fields, are in variable-length format.
+
+<dl>
+
+<dt><tt>s</tt>
+<dd>The sync indicator is initially <tt>?</tt> before the clock is set,
+but turns to space when all nine digits of the timecode are correctly
+set.</dd>
+
+<dt><tt>q</tt>
+<dd>The quality character is a four-bit hexadecimal code showing which
+alarms have been raised. Each bit is associated with a specific alarm
+condition according to the following:
+<dl>
+
+<dt><tt>0x8</tt>
+<dd>Sync alarm. The decoder may not be in correct second or minute phase
+relative to the transmitter.</dd>
+
+<dt><tt>0x4</tt>
+<dd>Error alarm. More than 30 data bit errors occurred in the last
+minute.</dd>
+
+<dt><tt>0x2</tt>
+<dd>Symbol alarm. The probability of correct decoding for a digit or
+miscellaneous bit has fallen below the threshold.</dd>
+
+<dt><tt>0x1</tt>
+<dd>Decoding alarm. A maximum likelihood digit fails to agree with the
+current associated clock digit.</dd>
+
+</dl>
+
+It is important to note that one or more of the above alarms does not
+necessarily indicate a clock error, but only that the decoder has
+detected a condition that may in future result in an error.
+
+<dt><tt>yyyy ddd hh:mm:ss.fff</tt></tt>
+<dd>The timecode format itself is self explanatory. Since the driver
+latches the on-time epoch directly from the second sync pulse, the
+fraction <tt>fff</tt>is always zero. Although the transmitted timecode
+includes only the year of century, the Gregorian year is augmented 2000
+if the indicated year is less than 72 and 1900 otherwise.</dd>
+
+<dt><tt>l</tt>
+<dd>The leap second warning is normally space, but changes to <tt>L</tt>
+if a leap second is to occur at the end of the month of June or
+December.</dd>
+
+<dt><tt>d</tt>
+<dd>The DST state is <tt>S</tt> or <tt>D</tt> when standard time or
+daylight time is in effect, respectively. The state is <tt>I</tt> or
+<tt>O</tt> when daylight time is about to go into effect or out of
+effect, respectively.</dd>
+<dt><tt>dut</tt>
+<dd>The DUT sign and magnitude shows the current UT1 offset relative to
+the displayed UTC time, in deciseconds.</dd>
+
+<dt><tt>lset</tt>
+<dd>Before the clock is set, the interval since last set is the number
+of minutes since the driver was started; after the clock is set, this
+is number of minutes since the time was last verified relative to the
+broadcast signal.</dd>
+
+<dt><tt>agc</tt>
+<dd>The audio gain shows the current codec gain setting in the range 0
+to 255. Ordinarily, the receiver audio gain control or IRIG level
+control should be set for a value midway in this range.
+
+<dt><tt>ident</tt>
+<dd>The station identifier shows the station, <tt>C</tt> for WWV or
+<tt>H</tt> for WWVH, and frequency being tracked. If neither station is
+heard on any frequency, the station identifier shows <tt>X</tt>.</dd>
+
+<dt><tt>comp</tt>
+<dd>The minute sync compare counter is useful to determine the quality
+of the minute sync signal and can range from 0 (no signal) to 5
+(best).</dd>
+
+<dt><tt>errs</tt>
+<dd>The bit error counter is useful to determine the quality of the data
+signal received in the most recent minute. It is normal to drop a couple
+of data bits under good signal conditions and increasing numbers as
+conditions worsen. While the decoder performs moderately well even with
+half the bits are in error in any minute, usually by that point the sync
+signals are lost and the decoder reverts to free-run anyway.</dd>
+
+<dt><tt>freq</tt>
+<dd>The frequency offset is the current estimate of the codec frequency
+offset to within 0.1 PPM. This may wander a bit over the day due to
+local temperature fluctuations and propagation conditions.</dd>
+
+<dt><tt>avgt</tt>
+<dd>The averaging time is the interval between frequency updates in
+powers of two to a maximum of 1024 s. Attainment of the maximum
+indicates the driver is operating at the best possible resolution in
+time and frequency.</dd>
+
+</dl>
+
+<p>An example timecode is:
+
+<p><tt> 0 2000 006 22:36:00.000 S +3 1 115 C20 6 5 66.4 1024</tt>
+
+<p>Here the clock has been set and no alarms are raised. The year, day
+and time are displayed along with no leap warning, standard time and DUT
++0.3 s. The clock was set on the last minute, the AGC is safely in the
+middle ot the range 0-255, and the receiver is tracking WWV on 20 MHz.
+Excellent reeiving conditions prevail, as indicated by the compare count
+6 and 5 bit errors during the last minute. The current frequency is 66.4
+PPM and the averaging interval is 1024 s, indicating the maximum
+precision available.
+
+<h4>Modes</h4>
+
+<p>The <tt>mode</tt> keyword of the <tt>server</tt> configuration
+command specifies the ICOM ID select code. A missing or zero argument
+disables the CI-V interface. Following are the ID select codes for the
+known radios.
+<p><table cols=6 width=100%>
+
+<tr>
+<td>Radio</td>
+<td>Hex</td>
+<td>Decimal</td>
+<td>Radio</td>
+<td>Hex</td>
+<td>Decimal</td>
+</tr>
+
+<tr>
+<td>IC725</td>
+<td>0x28</td>
+<td>40</td>
+<td>IC781</td>
+<td>0x26</td>
+<td>38</td>
+</tr>
+
+<tr>
+<td>IC726</td>
+<td>0x30</td>
+<td>48</td>
+<td>R7000</td>
+<td>0x08</td>
+<td>8</td>
+</tr>
+
+<tr>
+<td>IC735</td>
+<td>0x04</td>
+<td>4</td>
+<td>R71</td>
+<td>0x1A</td>
+<td>26</td>
+</tr>
+<tr>
+<td>IC751</td>
+<td>0x1c</td>
+<td>28</td>
+<td>R7100</td>
+<td>0x34</td>
+<td>52</td>
+</tr>
+<tr>
+<td>IC761</td>
+<td>0x1e</td>
+<td>30</td>
+<td>R72</td>
+<td>0x32</td>
+<td>50</td>
+</tr>
+
+<tr>
+<td>IC765</td>
+<td>0x2c</td>
+<td>44</td>
+<td>R8500</td>
+<td>0x4a</td>
+<td>74</td>
+</tr>
+
+<tr>
+<td>IC775</td>
+<td>0x46</td>
+<td>68</td>
+<td>R9000</td>
+<td>0x2a</td>
+<td>42</td>
+</tr>
+
+</table>
+
+<h4>Fudge Factors</h4>
+
+<dl>
+
+<dt><tt>time1 <I>time</I></tt></dt>
+<dd>Specifies the propagation delay for WWV (40:40:49.0N 105:02:27.0W),
+in seconds and fraction, with default 0.0.dd>
+
+<dt><tt>time2 <I>time</I></tt></dt>
+<dd>Specifies the propagation delay for WWVH (21:59:26.0N 159:46:00.0W),
+in seconds and fraction, with default 0.0.
+</dd>
+
+<dt><tt>stratum <I>number</I></tt></dt>
+<dd>Specifies the driver stratum, in decimal from 0 to 15, with default
+0.</dd>
+
+<dt><tt>refid <I>string</I></tt></dt>
+<dd>Ordinarily, this field specifies the driver reference identifier;
+however, the driver sets the reference identifier automatically as
+described above.
+<dt><tt>flag1 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag2 0 | 1</tt></dt>
+<dd>Specifies the microphone port if set to zero or the line-in port if
+set to one. It does not seem useful to specify the compact disc player
+port.</dd>
+<dt><tt>flag3 0 | 1</tt></dt>
+<dd>Enables audio monitoring of the input signal. For this purpose, the
+speaker volume must be set before the driver is started.</dd>
+
+<dt><tt>flag4 0 | 1</tt></dt>
+<dd>Enable verbose <tt>clockstats</tt> recording if set.</dd>
+</dl>
+<h4>Additional Information</h4>
+
+<A HREF="refclock.htm">Reference Clock Drivers</A>
+<br><A HREF="audio.htm">Reference Clock Audio Drivers</A>
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/driver37.htm b/contrib/ntp/html/driver37.htm
new file mode 100644
index 000000000000..6f6c8b36973b
--- /dev/null
+++ b/contrib/ntp/html/driver37.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>Forum Graphic GPS Dating station</title>
+</head>
+<body>
+
+<h3>Forum Graphic GPS Dating station</h3>
+<hr>
+
+<h4>Synopsis</h4>
+
+<p>Address: 127.127.37.<i>u</i><br>
+Reference ID: <tt>GPS</tt><br>
+Driver ID: <tt>GPS</tt><br>
+Parallel Port: <tt>/dev/fgclock<i>u</i></tt>
+</p>
+
+<h4>Description</h4>
+
+<p>This driver supports the Forum Graphic GPS Dating station sold by <a
+href="http://www.emr.fr/gpsclock.htm">EMR company</a>.
+
+<p>Unfortunately sometime FG GPS start continues reporting of the same
+date. The only way to fix this problem is GPS power cycling and ntpd
+restart after GPS power-up.
+</P>
+After Jan,10 2000 my FG GPS unit start send a wrong answer after 10:00am
+till 11:00am. It repeat hour value in result string twice. I wroite a small
+code to avoid such problem. Unfortunately I have no second FG GPS unit
+to evaluate this problem. Please let me know if your GPS has no problems
+after Y2K.
+<p>
+
+<h4>Monitor Data</h4>
+
+<p>Each timecode is written to the <tt>clockstats</tt> file in the format
+<tt>YYYY YD HH MI SS</tt>.</p>
+
+<h4>Fudge Factors</h4>
+
+<dl>
+<dt><tt>time1 <i>time</i></tt></dt>
+<dd>Specifies the time offset calibration factor, in seconds and fraction,
+with default 0.0.</dd>
+
+<dt><tt>time2 <i>time</i></tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>stratum <i>number</i></tt></dt>
+<dd>Specifies the driver stratum, in decimal from 0 to 15, with default 0.
+</dd>
+
+<dt><tt>refid <i>string</i></tt></dt>
+<dd>Specifies the driver reference identifier, an ASCII string from one to
+four characters, with default <tt>FG</tt>.</dd>
+
+<dt><tt>flag1 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag2 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag3 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag4 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+</dl>
+
+<hr>
+<address>Dmitry Smirnov (das@amt.ru)</address>
+
+</body>
+</html>
diff --git a/contrib/ntp/html/driver6.htm b/contrib/ntp/html/driver6.htm
index a728a542adf2..9fac9789c7de 100644
--- a/contrib/ntp/html/driver6.htm
+++ b/contrib/ntp/html/driver6.htm
@@ -1,253 +1,242 @@
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
- <TITLE>IRIG Audio Decoder II for Sun SPARCstation
-</TITLE>
-</HEAD>
-<BODY>
-
-<H3>
-IRIG Audio Decoder</H3>
-
-<HR>
-<H4>
-Synopsis</H4>
+<html><head><title>
+IRIG Audio Decoder
+</title></head><body><h3>
+IRIG Audio Decoder
+</h3><hr>
+
+<H4>Synopsis</H4>
+
Address: 127.127.6.<I>u</I>
<BR>Reference ID: <TT>IRIG</TT>
<BR>Driver ID: <TT>IRIG_AUDIO</TT>
<BR>Audio Device: <TT>/dev/audio</TT> and <TT>/dev/audioctl</TT>
<P>Note: This driver supersedes an older one of the same name, address
-and ID which required replacing the original kernel audio driver with another
-which works only on older Sun SPARCstation systems. The new driver described
-here uses the stock kernel audio driver and works in SunOS 4.1.3 and Solaris
-2.6 versions and probably all versions in between. The new driver requires
-no modification of the operating system. While it is generic and likely
-portable to other systems, it is somewhat slower than the original, since
-the extensive signal conditioning, filtering and decoding is done in user
-space, not kernel space.
-<H4>
-Description</H4>
-This driver supports the Inter-Range Instrumentation Group (IRIG) standard
-time distribution signal using the audio codec native to the Sun SPARCstation.
-This signal is generated by several radio clocks, including those made
-by Arbiter, Austron, Bancomm, Odetics, Spectracom and TrueTime, among others,
-although it is often an add-on option. The signal is connected via an optional
-attenuator box and cable to either the microphone or line-in ports on a
-Sun SPARCstation <TT>/dev/audio</TT> audio codec device. The driver receives,
-demodulates and decodes the IRIG-B and IRIG-E signal formats using internal
-filters designed to reduce the effects of noise and interfering signals.
-
-<P>The IRIG signal format uses an amplitude-modulated carrier with pulse-width
-modulated data bits. For IRIG-B, the carrier frequency is 1000 Hz and bit
-rate 100 b/s; for IRIG-E, the carrier frequenchy is 100 Hz and bit rate
-10 b/s. While IRIG-B provides the best accuracy, generally within a few
-tens of microseconds relative to IRIG time, it can also generate a significant
-load on the processor with older workstations. Generally, the accuracy
-with IRIG-E is about ten times worse than IRIG-B, but the processor load
-is ten times less.
+and ID which required replacing the original kernel audio driver with
+another which works only on older Sun SPARCstation systems. The new
+driver described here uses the stock kernel audio driver and works in
+SunOS 4.1.3 and Solaris 2.6 versions and probably all versions in
+between. The new driver requires no modification of the operating
+system. While it is generic and likely portable to other systems, it is
+somewhat slower than the original, since the extensive signal
+conditioning, filtering and decoding is done in user space, not kernel
+space.
+
+<H4>Description</H4>
+
+This driver supports the Inter-Range Instrumentation Group (IRIG)
+standard time distribution signal using the audio codec native to some
+workstations. This signal is generated by several radio clocks,
+including those made by Arbiter, Austron, Bancomm, Odetics, Spectracom
+and TrueTime, among others, although it is often an add-on option. The
+signal is connected via an optional attenuator box and cable to either
+the microphone or line-in port. The driver receives, demodulates and
+decodes the IRIG-B and IRIG-E signal formats using internal filters
+designed to reduce the effects of noise and interference.
+
+<p>This driver incorporates several features in common with other audio
+drivers such as described in the <a href=driver7.htm>Radio CHU Audio
+Demodulator/Decoder</a> and the <a href=driver36.htm>Radio WWV/H Audio
+Demodulator/Decoder</a> pages. They include automatic gain control
+(AGC), selectable audio codec port and signal monitoring capabilities.
+For a discussion of these common features, as well as a guide to hookup,
+debugging and monitoring, see the <a href=audio.htm>Reference Clock
+Audio Drivers</a> page.
+
+<P>The IRIG signal format uses an amplitude-modulated carrier with
+pulse-width modulated data bits. For IRIG-B, the carrier frequency is
+1000 Hz and bit rate 100 b/s; for IRIG-E, the carrier frequenchy is 100
+Hz and bit rate 10 b/s. While IRIG-B provides the best accuracy,
+generally within a few tens of microseconds relative to IRIG time, it
+can also generate a significant load on the processor with older
+workstations. Generally, the accuracy with IRIG-E is about ten times
+worse than IRIG-B, but the processor load is ten times less.
<P>The program processes 8000-Hz mu-law companded samples using separate
signal filters for IRIG-B and IRIG-E, a comb filter, envelope detector
-and automatic threshold corrector. Cycle crossings relative to the corrected
-slice level determine the width of each pulse and its value - zero, one
-or position identifier. The data encode 20 BCD digits which determine the
-second, minute, hour and day of the year and sometimes the year and synchronization
-condition. The comb filter exponentially averages the corresponding samples
-of successive baud intervals in order to reliably identify the reference
-carrier cycle. A type-II phase-lock loop (PLL) performs additional integration
-and interpolation to accurately determine the zero crossing of that cycle,
-which determines the reference timestamp. A pulse-width discriminator demodulates
-the data pulses, which are then encoded as the BCD digits of the timecode.
+and automatic threshold corrector. Cycle crossings relative to the
+corrected slice level determine the width of each pulse and its value -
+zero, one or position identifier. The data encode 20 BCD digits which
+determine the second, minute, hour and day of the year and sometimes the
+year and synchronization condition. The comb filter exponentially
+averages the corresponding samples of successive baud intervals in order
+to reliably identify the reference carrier cycle. A type-II phase-lock
+loop (PLL) performs additional integration and interpolation to
+accurately determine the zero crossing of that cycle, which determines
+the reference timestamp. A pulse-width discriminator demodulates the
+data pulses, which are then encoded as the BCD digits of the timecode.
The timecode and reference timestamp are updated once each second with
-IRIG-B (ten seconds with IRIG-E) and local clock offset samples saved for
-later processing. At poll intervals of 64 s, the saved samples are processed
-by a trimmed-mean filter and used to update the system clock.
+IRIG-B (ten seconds with IRIG-E) and local clock offset samples saved
+for later processing. At poll intervals of 64 s, the saved samples are
+processed by a trimmed-mean filter and used to update the system clock.
<P>Infinite impulse response (IIR) filters are used with both IRIG-B and
-IRIG-E formats. An 800-Hz highpass filter is used for IRIG-B and a 130-Hz
-lowpass filter for IRIG-E. These are intended for use with noisy signals,
-such as might be received over a telephone line or radio circuit, or when
-interfering signals may be present in the audio passband. The driver determines
-which IRIG format is in use by sampling the amplitude of each filter output
-and selecting the one with maximum signal. An automatic gain control feature
-provides protection against overdriven or underdriven input signal amplitudes.
-It is designed to maintain adequate demodulator signal amplitude while
-avoiding occasional noise spikes. In order to assure reliable capture,
-the decompanded input signal amplitude must be greater than 100 units and
-the codec sample frequency error less than 250 PPM (.025 percent).
-
-<P>The program performs a number of error checks to protect against overdriven
-or underdriven input signal levels, incorrect signal format or improper
-hardware configuration. Specifically, if any of the following errors occur
-for a timecode, the data are rejected. Secifically, if any of the following
-errors occur for a time measurement, the data are rejected.
+IRIG-E formats. An 800-Hz highpass filter is used for IRIG-B and a
+130-Hz lowpass filter for IRIG-E. These are intended for use with noisy
+signals, such as might be received over a telephone line or radio
+circuit, or when interfering signals may be present in the audio
+passband. The driver determines which IRIG format is in use by sampling
+the amplitude of each filter output and selecting the one with maximum
+signal. An automatic gain control feature provides protection against
+overdriven or underdriven input signal amplitudes. It is designed to
+maintain adequate demodulator signal amplitude while avoiding occasional
+noise spikes. In order to assure reliable capture, the decompanded input
+signal amplitude must be greater than 100 units and the codec sample
+frequency error less than 250 PPM (.025 percent).
+
+<P>The program performs a number of error checks to protect against
+overdriven or underdriven input signal levels, incorrect signal format
+or improper hardware configuration. Specifically, if any of the
+following errors occur for a timecode, the data are rejected.
+Secifically, if any of the following errors occur for a time
+measurement, the data are rejected.
+
<OL>
-<LI>
-The peak carrier amplitude is less than 100 units. This usually means dead
-IRIG signal source, broken cable or wrong input port.</LI>
-
-<BR>&nbsp;
-<LI>
-The frequency error is greater than +-250 PPM (.025 percent). This usually
-means broken codec hardware or wrong codec configuration.</LI>
-
-<BR>&nbsp;
-<LI>
-The modulation index is less than 0.5. This usually means overdriven IRIG
-signal or wrong IRIG format.</LI>
-
-<BR>&nbsp;
-<LI>
-A frame synchronization error has occured. This usually means wrong IRIG
-signal format or the IRIG signal source has lost synchronization (signature
-control).</LI>
-
-<BR>&nbsp;
-<LI>
-A data decoding error has occured. This usually means wrong IRIG signal
-format.</LI>
-
-<BR>&nbsp;
-<LI>
-The current second of the day is not exactly one greater than the previous
-one. This usually means a very noisy IRIG signal or insufficient CPU resources.</LI>
-
-<BR>&nbsp;
-<LI>
-An audio codec error (overrun) occured. This usually means insufficient
-CPU resources, as sometimes happens with Sun SPARC IPCs when doing something
-useful.</LI>
-</OL>
-Note that additional checks are done elsewhere in the reference clock interface
-routines.
-
-<P>Unlike other drivers, which can have multiple instantiations, this one
-supports only one. It does not seem likely that more than one audio codec
-would be useful in a single machine. More than one would probably chew
-up too much CPU time anyway.
-<H4>
-IRIG-B Timecode Format</H4>
-The 100 elements of the IRIG timecode are numbered from 0 through 99. Position
-identifiers occur at elements 0, 9, 19 and every ten thereafter to 99.
-The control function (CF) elements begin at element 50 (CF 1) and extend
-to element 78 (CF 27). The straight-binary-seconds (SBS) field, which encodes
-the seconds of the UTC day, begins at element 80 (CF 28) and extends to
-element 97 (CF 44). The encoding of elements 50 (CF 1) through 78 (CF 27)
-is device dependent. This driver presently decodes the CF elements, but
-does nothing with them.
-
-<P>Where feasible, the IRIG signal source should be operated with signature
-control so that, if the signal is lost or mutilated, the source produces
-an unmodulated signal, rather than possibly random digits. The driver will
-automatically reject the data and declare itself unsynchronized in this
-case. Some devices, in particular Spectracom radio/satellite clocks, provide
-additional year and status indication in the format:
-<PRE>&nbsp;&nbsp;&nbsp;&nbsp; Element&nbsp;&nbsp; CF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Function
-&nbsp;&nbsp;&nbsp;&nbsp; -------------------------------------
-&nbsp;&nbsp;&nbsp;&nbsp; 55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time sync status
-&nbsp;&nbsp;&nbsp;&nbsp; 60-63&nbsp;&nbsp;&nbsp;&nbsp; 10-13&nbsp;&nbsp;&nbsp;&nbsp; BCD year units
-&nbsp;&nbsp;&nbsp;&nbsp; 65-68&nbsp;&nbsp;&nbsp;&nbsp; 15-18&nbsp;&nbsp;&nbsp;&nbsp; BCD year tens</PRE>
-Other devices set these elements to zero.
-<H4>
-Performance</H4>
-The mu-law companded data format allows considerable latitude in signal
-levels; however, an automatic gain control (AGC) function is implemented
-to further compensate for varying input signal levels and to avoid signal
-distortion. For proper operation, the IRIG signal source should be configured
-for analog signal levels, NOT digital TTL levels.
-
-<P>The accuracy of the system clock synchronized to the IRIG-B source with
-this driver and the <TT>ntpd</TT> daemon is 10-20 microseconds with a Sun
-UltraSPARC II and maybe twice that with a Sun SPARC IPC. The processor
-resources consumed by the daemon can be significant, ranging from about
-1.2 percent on the faster UltraSPARC II to 38 percent on the slower SPARC
-IPC. However, the overall timing accuracy is limited by the resolution
-and stability of the CPU clock oscillator and the interval between clock
-corrections, which is 64 s with this driver. This performance, while probably
-the best that can be achieved by the daemon itself, can be improved with
-assist from the PPS discipline as described elsewhere in the documentation.
-<H4>
-Monitor Data</H4>
-The timecode format used for debugging and data recording includes data
-helpful in diagnosing problems with the IRIG signal and codec connections.
-With debugging enabled (-d -d -d on the ntpd command line), the driver
-produces one line for each timecode in the following format:
-<PRE>00 1 98 23 19:26:52 721 143 0.694 47 20 0.083 66.5 3094572411.00027</PRE>
-The first field containes the error flags in hex, where the hex bits are
-interpreted as below. This is followed by the IRIG status indicator, year
-of century, day of year and time of day. The status indicator and year
-are not produced by some IRIG devices. Following these fields are the signal
-amplitude (0-8100), codec gain (0-255), field phase (0-79), time constant
-(2-20), modulation index (0-1), carrier phase error (0+-0.5) and carrier
-frequency error (PPM). The last field is the on-time timestamp in NTP format.
-The fraction part is a good indicator of how well the driver is doing.
-With an UltrSPARC 30, this is normally within a few tens of microseconds
-relative to the IRIG-B signal and within a few hundred microseconds with
-IRIG-E.
-<H4>
-Fudge Factors</H4>
-<DL>
-<DT>
-<TT>time1 <I>time</I></TT></DT>
+<LI>The peak carrier amplitude is less than 100 units. This usually
+means dead IRIG signal source, broken cable or wrong input port.</LI>
+
+<LI>The frequency error is greater than &plusmn;250 PPM (.025 percent).
+This usually means broken codec hardware or wrong codec
+configuration.</LI>
+
+<LI>The modulation index is less than 0.5. This usually means overdriven
+IRIG signal or wrong IRIG format.</LI>
-<DD>
-Specifies the time offset calibration factor, in seconds and fraction,
-with default 0.0.</DD>
+<LI>A frame synchronization error has occured. This usually means wrong
+IRIG signal format or the IRIG signal source has lost synchronization
+(signature control).</LI>
-<DT>
-<TT>time2 <I>time</I></TT></DT>
+<LI>A data decoding error has occured. This usually means wrong IRIG
+signal format.</LI>
-<DD>
-Not used by this driver.</DD>
+<LI>The current second of the day is not exactly one greater than the
+previous one. This usually means a very noisy IRIG signal or
+insufficient CPU resources.</LI>
-<DT>
-<TT>stratum <I>number</I></TT></DT>
+<LI>An audio codec error (overrun) occured. This usually means
+insufficient CPU resources, as sometimes happens with Sun SPARC IPCs
+when doing something useful.</LI>
-<DD>
-Specifies the driver stratum, in decimal from 0 to 15, with default 0.</DD>
+</OL>
-<DT>
-<TT>refid <I>string</I></TT></DT>
+Note that additional checks are done elsewhere in the reference clock
+interface routines.
+
+<P>Unlike other drivers, which can have multiple instantiations, this
+one supports only one. It does not seem likely that more than one audio
+codec would be useful in a single machine. More than one would probably
+chew up too much CPU time anyway.
+
+<H4>IRIG-B Timecode Format</H4>
+The 100 elements of the IRIG timecode are numbered from 0 through 99.
+Position identifiers occur at elements 0, 9, 19 and every ten thereafter
+to 99. The control function (CF) elements begin at element 50 (CF 1) and
+extend to element 78 (CF 27). The straight-binary-seconds (SBS) field,
+which encodes the seconds of the UTC day, begins at element 80 (CF 28)
+and extends to element 97 (CF 44). The encoding of elements 50 (CF 1)
+through 78 (CF 27) is device dependent. This driver presently decodes
+the CF elements, but does nothing with them.
+
+<P>Where feasible, the IRIG signal source should be operated with
+signature control so that, if the signal is lost or mutilated, the
+source produces an unmodulated signal, rather than possibly random
+digits. The driver will automatically reject the data and declare itself
+unsynchronized in this case. Some devices, in particular Spectracom
+radio/satellite clocks, provide additional year and status indication in
+the format:
+
+<PRE> Element CF Function
+ -------------------------------------
+ 55 6 time sync status
+ 60-63 10-13 BCD year units
+ 65-68 15-18 BCD year tens
+</PRE>
-<DD>
-Specifies the driver reference identifier, an ASCII string from one to
-four characters, with default <TT>IRIG</TT>.</DD>
+Other devices set these elements to zero.
-<DT>
-<TT>flag1 0 | 1</TT></DT>
+<H4>Performance</H4>
-<DD>
-Not used by this driver.</DD>
+The mu-law companded data format allows considerable latitude in signal
+levels; however, an automatic gain control (AGC) function is implemented
+to further compensate for varying input signal levels and to avoid
+signal distortion. For proper operation, the IRIG signal source should
+be configured for analog signal levels, NOT digital TTL levels.
+
+<P>The accuracy of the system clock synchronized to the IRIG-B source
+with this driver and the <TT>ntpd</TT> daemon is 10-20 <font
+face=symbol>m</font>s with a Sun UltraSPARC II and maybe twice that with
+a Sun SPARC IPC. The processor resources consumed by the daemon can be
+significant, ranging from about 1.2 percent on the faster UltraSPARC II
+to 38 percent on the slower SPARC IPC. However, the overall timing
+accuracy is limited by the resolution and stability of the CPU clock
+oscillator and the interval between clock corrections, which is 64 s
+with this driver. This performance, while probably the best that can be
+achieved by the daemon itself, can be improved with assist from the PPS
+discipline as described elsewhere in the documentation.
+
+<H4>Monitor Data</H4>
-<DT>
-<TT>flag2 0 | 1</TT></DT>
+The timecode format used for debugging and data recording includes data
+helpful in diagnosing problems with the IRIG signal and codec
+connections. With debugging enabled (-d on the ntpd command line), the
+driver produces one line for each timecode in the following format:
+
+<p><tt>00 1 98 23 19:26:52 721 143 0.694 47 20 0.083 66.5
+3094572411.00027</tt>
+
+<p>The first field containes the error flags in hex, where the hex bits
+are interpreted as below. This is followed by the IRIG status indicator,
+year of century, day of year and time of day. The status indicator and
+year are not produced by some IRIG devices. Following these fields are
+the signal amplitude (0-8100), codec gain (0-255), field phase (0-79),
+time constant (2-20), modulation index (0-1), carrier phase error
+(0&plusmn;0.5) and carrier frequency error (PPM). The last field is the
+on-time timestamp in NTP format. The fraction part is a good indicator
+of how well the driver is doing. With an UltrSPARC 30, this is normally
+within a few tens of microseconds relative to the IRIG-B signal and
+within a few hundred microseconds with IRIG-E.
+
+<H4>Fudge Factors</H4>
-<DD>
-Specifies the microphone port if set to zero or the line-in port if set
-to one. It does not seem useful to specify the compact disc player port.</DD>
+<DL>
-<DT>
-<TT>flag3 0 | 1</TT></DT>
+<DT><TT>time1 <I>time</I></TT></DT>
+<DD>Specifies the time offset calibration factor, in seconds and
+fraction, with default 0.0.</DD>
-<DD>
-Enables audio monitoring of the input signal. For this purpose, the speaker
-volume must be set before the driver is started.</DD>
+<DT><TT>time2 <I>time</I></TT></DT>
+<DD>Not used by this driver.</DD>
-<DT>
-<TT>flag4 0 | 1</TT></DT>
+<DT><TT>stratum <I>number</I></TT></DT>
+<DD>Specifies the driver stratum, in decimal from 0 to 15, with default
+0.</DD>
-<DD>
-Enable verbose <TT>clockstats</TT> recording if set.</DD>
+<DT><TT>refid <I>string</I></TT></DT>
+<DD>Specifies the driver reference identifier, an ASCII string from one
+to four characters, with default <TT>IRIG</TT>.</DD>
+
+<DT><TT>flag1 0 | 1</TT></DT>
+<DD>Not used by this driver.</DD>
+
+<DT><TT>flag2 0 | 1</TT></DT>
+<DD>Specifies the microphone port if set to zero or the line-in port if
+set to one. It does not seem useful to specify the compact disc player
+port.</DD>
+
+<DT><TT>flag3 0 | 1</TT></DT>
+<DD>Enables audio monitoring of the input signal. For this purpose, the
+speaker volume must be set before the driver is started.</DD>
+
+<DT><TT>flag4 0 | 1</TT></DT>
+<DD>Enable verbose <TT>clockstats</TT> recording if set.</DD>
</DL>
-Additional Information
-<P><A HREF="refclock.htm">Reference Clock Drivers</A>&nbsp;
-<HR>
-<ADDRESS>
-David L. Mills (mills@udel.edu)</ADDRESS>
+<H4>Additional Information</H4>
+
+<A HREF="refclock.htm">Reference Clock Drivers</A>
+<br><A HREF="audio.htm">Reference Clock Audio Drivers</A>
-</BODY>
-</HTML>
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/driver7.htm b/contrib/ntp/html/driver7.htm
index 0394fbfb3291..59950723814b 100644
--- a/contrib/ntp/html/driver7.htm
+++ b/contrib/ntp/html/driver7.htm
@@ -1,227 +1,591 @@
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
- <TITLE>Canadian CHU Radio Modem/Audio Decoder
-</TITLE>
-</HEAD>
-<BODY>
-
-<H3>
-CHU Audio/Modem Decoder</H3>
-
-<HR>
-<H4>
-Synopsis</H4>
+<html><head><title>
+Radio CHU Audio Demodulator/Decoder
+</title></head><body><h3>
+Radio CHU Audio Demodulator/Decoder
+</h3><hr>
+
+<h4>Synopsis</h4>
+
Address: 127.127.7.<I>u</I>
-<BR>Reference ID: <TT>CHU</TT>
-<BR>Driver ID: <TT>CHU</TT>
-<BR>Serial Port: <TT>/dev/chu<I>u</I></TT>; 300 baud, 8-bits, no parity
-<BR>Audio Device: <TT>/dev/audio</TT> and <TT>/dev/audioctl</TT>
-<H4>
-Description</H4>
-This driver synchronizes the computer time using data encoded in radio
-transmissions from Canadian time/frequency station CHU in Ottawa, Ontario.
-Transmissions are made continuously on 3330 kHz, 7335 kHz and 14670 kHz
-in upper sideband, compatible AM mode. An ordinary shortwave receiver can
-be tuned manually to one of these frequencies or, in the case of ICOM receivers,
-the receiver can be tuned automatically using the <TT>minimuf</TT> and
-<TT>icom</TT> programs as propagation conditions change throughout the
-day and night.
-
-<P>This driver replaces an earlier one built by Dennis Ferguson in 1988.
-The earlier driver required a special line discipline which preprocessed
-the signal in order to improve accuracy and avoid errors. The new driver
-includes more powerful algorithms implemented directly in the driver and
-requires no line discipline. It decodes the data using a maximum-likelihood
-technique which exploits the considerable degree of redundancy available
-to maximize accuracy and minimize errors.
+<br>Reference ID: <tt>CHU</tt>
+<br>Driver ID: <tt>CHU</tt>
+<br>Modem Port: <tt>/dev/chu<I>u</I></tt>; 300 baud, 8-bits, no parity
+<br>Autotune Port: <tt>/dev/icom</tt>; 9600 baud, 8-bits, no parity
+<br>Audio Device: <tt>/dev/audio</tt> and <tt>/dev/audioctl</tt>
-<P>While there are currently no known commercial CHU receivers, a simple
+<h4>Description</h4>
+
+This driver synchronizes the computer time using data encoded in radio
+transmissions from Canadian time/frequency station CHU in Ottawa,
+Ontario. Transmissions are made continuously on 3330 kHz, 7335 kHz and
+14670 kHz in upper sideband, compatible AM mode. An ordinary shortwave
+receiver can be tuned manually to one of these frequencies or, in the
+case of ICOM receivers, the receiver can be tuned automatically as
+propagation conditions change throughout the day and night. The
+performance of this driver when tracking the station is ordinarily
+better than 1 ms in time with frequency drift less than 0.5 PPM when not
+tracking the station.
+
+<p>While there are currently no known commercial CHU receivers, a simple
but effective receiver/demodulator can be constructed from an ordinary
-shortwave receiver and Bell 103 compatible, 300-bps modem or modem chip,
-as described in the <A HREF="file:///J|/ntp4/html/pps.htm">Pulse-per-second
-(PPS) Signal Interfacing</A> page. The driver can be compiled to use this
-modem to receive the radio signal and demodulate the data. Alternatively,
-the driver can be compiled to use the audio codec of the Sun workstation
-or another with compatible audio drivers. In the latter case, the driver
+shortwave receiver and Bell 103 compatible, 300-b/s modem or modem chip,
+as described in the <a href=pps.htm>Pulse-per-second (PPS) Signal
+Interfacing</a> page. The driver can be compiled to use a modem to
+receive the radio signal and demodulate the data. Alternatively, the
+driver can be compiled to use the audio codec of the Sun workstation or
+another with compatible audio interface. In the latter case, the driver
implements the modem using DSP routines, so the radio can be connected
directly to either the microphone on line input port.
-<P>The CHU time broadcast includes an audio signal compatible with the
+<p>The driver replaces an earlier one built by Dennis Ferguson in 1988.
+The earlier driver required a special line discipline which preprocessed
+the signal in order to improve accuracy and avoid errors. The new driver
+includes more powerful algorithms implemented directly in the driver and
+requires no line discipline. It decodes the data using a
+maximum-likelihood technique which exploits the considerable degree of
+redundancy available to maximize accuracy and minimize errors.
+
+<p>This driver incorporates several features in common with other audio
+drivers such as described in the <a href=driver36.htm>Radio WWV/H Audio
+Demodulator/Decoder</a> and the <a href=driver6.htm>IRIG Audio
+Decoder</a> pages. They include automatic gain control (AGC), selectable
+audio codec port and signal monitoring capabilities. For a discussion of
+these common features, as well as a guide to hookup, debugging and
+monitoring, see the <a href=audio.htm>Reference Clock Audio Drivers</a>
+page.
+
+<p>Ordinarily, the driver poll interval is set to 14 (about 4.5 h),
+although this can be changed with configuration commands. As long as the
+clock is set or verified at least once during this interval, the NTP
+algorithms will consider the source reachable and selectable to
+discipline the system clock. However, if this does not happen for eight
+poll intervals, the algorithms will consider the source unreachable and
+some other source will be chosen (if available) to discipline the system
+clock.
+
+<p>The decoding algorithms take advantage of all the redundancy
+available in each broadcast message or burst. In each burst described in
+the next section, every character is sent twice and, in the case of
+format A bursts, the burst is sent eight times every minute. In the case
+of format B bursts, which are sent once each minute, the burst is
+considered correct only if every character matches its repetition in the
+burst. In the case of format A messages, a majority decoder requires at
+least six repetitions for each digit in the timecode and more than
+half of the repetitions decode to the same digit. Every character in
+every burst provides an independent timestamp upon arrival with a
+potential total of over 60 timestamps for each minute.
+
+<p>A timecode in the format described below is assembled when all bursts
+have been received in the minute. The timecode is considered valid and
+the clock set when at least one valid format B burst has been decoded
+and the above requirements are met. The <tt>yyyy</tt> year field in the
+timecode indicates whether a valid format B burst has been received.
+Upon startup, this field is initialized at zero; when a valid format B
+burst is received, it will be set to the correct Gregorian year. The
+<tt>q</tt> quality character field in the timecode indicates whether a
+valid timecode has been determined. If any of the high order three bits
+of this character are set, the timecode is invalid.
+
+<p>Once the clock has been set for the first time, it will appear
+reachable and selectable to discipline the system clock, even if the
+broadcast signal is lost. Since the signals are almost always available
+during some period of the day and the NTP clock discipline algorithms
+are designed to work well even in this case, it is unlikely that the
+system clock could drift more than a few tens of milliseconds during
+periods of signal loss. To protect against this most unlikely situation,
+if after four days with no signals, the clock is considered unset and
+resumes the synchronization procedure from the beginning.
+
+<p>The last three fields in the timecode are useful in assessing the
+quality of the radio channel during the most recent minute bursts were
+received. The <tt>bcnt</tt> field shows the number of format A bursts in
+the range 1-8. The <tt>dist</tt> field shows the majority decoder
+distance, or the minimum number of sample repetitions for each digit of
+the timecode in the range 0-16. The <tt>tsmp</tt> field shows the number
+of timestamps determined in the range 0-60. For a valid timecode,
+<tt>bcnt</tt> must be at least 3, <tt>dist</tt> must be greater than
+<tt>bcnt</tt> and <tt>tsmp</tt> must be at least 20.
+
+<h4>Program Operation</h4>
+
+<p>The program consists of four major parts: the DSP modem, maximum
+likelihood UART, burst assembler and majority decoder. The DSP modem
+demodulates Bell 103 modem answer-frequency signals; that is, frequency-
+shift keyed (FSK) tones of 2225 Hz (mark) and 2025 Hz (space). This is
+done using a 4th-order IIR filter and limiter/discriminator with 500-Hz
+bandpass centered on 2125 Hz and followed by a FIR raised-cosine lowpass
+filter optimized for the 300-b/s data rate. Alternately, the driver can
+be compiled to delete the modem and input 300 b/s data directly from an
+external modem via a serial port.
+
+<p>The maximum likelihood UART is implemented using a set of eight
+11-stage shift registers, one for each of eight phases of the 300-b/s
+bit clock. At each phase a new baseband signal value from the DSP modem
+is shifted into the corresponding register and the maximum and minimum
+over all 11 samples computed. This establishes a slice level midway
+between the maximum and minimum over all stages. For each stage, a
+signal level above this level is a mark (1) and below is a space (0). A
+quality metric is calculated for each register with respect to the slice
+level and the a-priori signal consisting of a mark bit (previous stop
+bit), space (start) bit, eight arbitrary information bits and the first
+of the two mark (stop) bits.
+<p>The shift registers are processed in round-robin order as each modem
+value arrives until one of them shows a valid framing pattern consisting
+of a mark bit, space bit, eight arbitrary data bits and a mark bit. When
+found, the data bits from the register with the best metric is chosen as
+the maximum likelihood character and the UART begins to process the next
+character.
+
+<p>The burst assembler processes characters either from the maximum
+likelihood UART or directly from the serial port as configured. A burst
+begins when a character is received and is processed after a timeout
+interval when no characters are received. If the interval between
+characters is greater than two characters, but less than the timeout
+interval, the burst is rejected as a runt and a new burst begun. As each
+character is received, a timestamp is captured and saved for later
+processing.
+
+<p>A valid burst consists of ten characters in two replicated
+five-character blocks. A format B block contains the year and other
+information in ten hexadecimal digits. A format A block contains the
+timecode in ten decimal digits, the first of which is a framing code
+(6). The burst assembler must deal with cases where the first character
+of a format A burst is lost or is noise. This is done using the framing
+code to correct the phase, either one character early or one character
+late.
+
+<p>The burst distance is incremented by one for each bit in the first
+block that matches the corresponding bit in the second block and
+decremented by one otherwise. In a format B burst the second block is
+bit-inverted relative to the first, so a perfect burst of five 8-bit
+characters has distance -40. In a format A block the two blocks are
+identical, so a perfect burst has distance +40. Format B bursts must be
+perfect to be acceptable; however, format A bursts, which are further
+processed by the majority decoder, are acceptable if the distance is at
+least 28.
+
+<p>Each minute of transmission includes eight format A bursts containing
+two timecodes for each second from 31 through 39. The majority decoder
+uses a decoding matrix of ten rows, one for each digit position in the
+timecode, and 16 columns, one for each 4-bit code combination that might
+be decoded at that position. In order to use the character timestamps,
+it is necessary to reliably determine the second number of each burst.
+In a valid burst, the last digit of the two timecodes in the block must
+match and the value must be in the range 2-9 and greater than in the
+previous burst.
+
+<p>As each hex digit of a valid burst is processed, the value at the row
+corresponding to the digit position in the timecode and column
+corresponding to the code found at that position is incremented. At the
+end of each minute of transmission, each row of the decoding matrix
+encodes the number of occurrences of each code found at the
+corresponding position of the timecode. However, the first digit
+(framing code) is always 6, the ninth (second tens) is always 3 and the
+last (second units) changes for each burst, so are not used.
+
+<p>The maximum over all occurrences at each timecode digit position is
+the distance for that position and the corresponding code is the maximum
+likelihood candidate. If the distance is zero, the decoder assumes a
+miss; if the distance is not more than half the total number of
+occurrences, the decoder assumes a soft error; if two different codes
+with the same distance are found, the decoder assumes a hard error. In
+all these cases the decoder encodes a non-decimal character which will
+later cause a format error when the timecode is reformatted. The
+decoding distance is defined as the minimum distance over the first nine
+digits; the tenth digit varies over the seconds and is uncounted.
+
+<p>The result of the majority decoder is a nine-digit timecode
+representing the maximum likelihood candidate for the transmitted
+timecode in that minute. Note that the second and fraction within the
+minute are always zero and that the actual reference point to calculate
+timestamp offsets is backdated to the first second of the minute. At
+this point the timecode block is reformatted and the year, days, hours
+and minutes extracted along with other information from the format B
+burst, including DST state, DUT1 correction and leap warning. The
+reformatting operation checks the timecode for invalid code combinations
+that might have been left by the majority decoder and rejects the entire
+timecode if found.
+
+<p>If the timecode is valid, it is passed to the reference clock
+interface along with the backdated timestamp offsets accumulated over
+the minute. A perfect set of nine bursts could generate as many as 90
+timestamps, but the maximum the interface can handle is 60. These are
+processed by the interface using a median filter and trimmed-mean
+average, so the resulting system clock correction is usually much better
+than would otherwise be the case with radio noise, UART jitter and
+occasional burst errors.
+
+<h4>Autotune</h4>
+
+<p>The driver includes provisions to automatically tune the radio in
+response to changing radio propagation conditions throughout the day and
+night. The radio interface is compatible with the ICOM CI-V standard,
+which is a bidirectional serial bus operating at TTL levels. The bus can
+be connected to a standard serial port using a level converter such as
+the CT-17. The serial port speed is presently compiled in the program,
+but can be changed in the <tt>icom.h</tt> header file.
+
+<p>Each ICOM radio is assigned a unique 8-bit ID select code, usually
+expressed in hex format. To activate the CI-V interface, the
+<tt>mode</tt> keyword of the <tt>server</tt> configuration command
+specifies a nonzero select code in decimal format. A table of ID select
+codes for the known ICOM radios is given below. A missing <tt>mode</tt>
+keyword or a zero argument leaves the interface disabled. The driver
+will attempt to open the device <tt>/dev/icom</tt> and, if successful
+will tune the radio to 3.330 MHz. If after five minutes at this
+frequency not more than two format A bursts have been received for any
+minute, the driver will tune to 7.335 MHz, then to 14.670 MHz, then
+return to 3.330 MHz and continue in this cycle.
+
+<p>The driver is liberal in what it assumes of the configuration. If the
+<tt>/dev/icom</tt> link is not present or the open fails or the CI-V bus
+or radio is inoperative, the driver quietly gives up with no harm done.
+
+<h4>Radio Broadcast Format</h4>
+
+<p>The CHU time broadcast includes an audio signal compatible with the
Bell 103 modem standard (mark = 2225 Hz, space = 2025 Hz). It consist of
-nine, ten-character bursts transmitted at 300 bps and beginning each second
-from second 31 to second 39 of the minute. Each character consists of eight
-data bits plus one start bit and two stop bits to encode two hex digits.
-The burst data consist of five characters (ten hex digits) followed by
-a repeat of these characters. In format A, the characters are repeated
-in the same polarity; in format B, the characters are repeated in the opposite
-polarity.
-
-<P>Format A bursts are sent at seconds 32 through 39 of the minute in hex
-digits
-
-<P><TT>&nbsp;&nbsp;&nbsp; 6dddhhmmss6dddhhmmss</TT>
-
-<P>The first ten digits encode a frame marker (<TT>6</TT>) followed by
-the day (<TT>ddd</TT>), hour (<TT>hh </TT>in UTC), minute (<TT>mm</TT>)
-and the second (<TT>ss</TT>). Since format A bursts are sent during the
-third decade of seconds the tens digit of <TT>ss </TT>is always 3. The
-driver uses this to determine correct burst synchronization. These digits
-are then repeated with the same polarity.
-
-<P>Format B bursts are sent at second 31 of the minute in hex digits
-
-<P><TT>&nbsp;&nbsp;&nbsp; xdyyyyttaaxdyyyyttaa</TT>
-
-<P>The first ten digits encode a code (<TT>x </TT>described below) followed
-by the DUT1 (<TT>d </TT>in deciseconds), Gregorian year (<TT>yyyy</TT>),
-difference TAI - UTC (<TT>tt</TT>) and daylight time indicator (<TT>aa</TT>)
-peculiar to Canada. These digits are then repeated with inverted polarity.
-
-<P>The <TT>x </TT>is coded
-
-<P>1&nbsp;&nbsp;&nbsp; Sign of DUT (0 = +)
-<BR>2&nbsp;&nbsp;&nbsp; Leap second warning. One second will be added.
-<BR>4&nbsp;&nbsp;&nbsp; Leap second warning. One second will be subtracted.
-This is not likely to happen in our universe.
-<BR>8&nbsp;&nbsp;&nbsp; Even parity bit for this nibble.
-
-<P>By design, the last stop bit of the last character in the burst coincides
-with 0.5 second. Since characters have 11 bits and are transmitted at 300
-bps, the last stop bit of the first character coincides with 0.5 - 10 *
-11/300 = 0.133 second. Depending on the UART, character interrupts can
-vary somewhere between the beginning of bit 9 and end of bit 11. These
-eccentricities can be corrected along with the radio propagation delay
-using <TT>fudge time1</TT>.
-<H4>
-Debugging aids</H4>
-The timecode format used for debugging and data recording includes data
-helpful in diagnosing problems with the radio signal and serial connections.
-With debugging enabled (<TT>-d -d -d</TT> on the <TT>ntpd </TT>command
-line), the driver produces one line for each burst in two formats corresponding
-to format A and B. Following is format A:
-
-<P><TT>&nbsp;&nbsp;&nbsp; n b f s m code</TT>
-
-<P>where <TT>n </TT>is the number of characters in the burst (0-11), <TT>b
-</TT>the burst distance (0-40), <TT>f </TT>the field alignment (-1, 0,
-1), <TT>s </TT>the synchronization distance (0-16), <TT>m </TT>the burst
-number (2-9) and <TT>code </TT>the burst characters as received. Note that
-the hex digits in each character are reversed, so the burst
-
-<P><TT>&nbsp;&nbsp;&nbsp; 10 38 0 16 9 06851292930685129293</TT>
-
-<P>is interpreted as containing 11 characters with burst distance 38, field
-alignment 0, synchronization distance 16 and burst number 9. The nibble-swapped
-timecode shows day 58, hour 21, minute 29 and second 39.
-
-<P>When the audio driver is compiled, format A is preceded by the gain
-(0-255) and relative signal level (0-9999). The receiver volume control
-should be set so that the gain is near the middle of the range 0-255, which
-results in a signal level near 1000.
-
-<P>Following is format B:
-
-<P><TT>&nbsp;&nbsp;&nbsp; n b s code</TT>
-
-<P>where <TT>n </TT>is the number of characters in the burst (0-11), <TT>b
-</TT>the burst distance (0-40), <TT>s </TT>the synchronization distance
-(0-40) and <TT>code </TT>the burst characters as received. Note that the
-hex digits in each character are reversed and the last ten digits inverted,
-so the burst
-
-<P>&nbsp;&nbsp;&nbsp; <TT>11 40 1091891300ef6e76ecff</TT>
-
-<P>is interpreted as containing 11 characters with burst distance 40. The
-nibble-swapped timecode shows DUT1 +0.1 second, year 1998 and TAI - UTC
-31 seconds.
-
-<P>In addition to the above, the reference timecode is updated and written
-to the clockstats file and debug score after the last burst received in
-the minute. The format is
-
-<P>&nbsp;&nbsp;&nbsp;<TT> qq yyyy ddd hh:mm:ss nn dd tt</TT>
-
-<P>where <TT>qq </TT>are the error flags, as described below, <TT>yyyy
-</TT>is the year, <TT>ddd </TT>the day, <TT>hh:mm:ss </TT>the time of day,
-<TT>nn </TT>the number of format A bursts received during the previous
-minute, <TT>dd </TT>the decoding distance and <TT>tt </TT>the number of
-timestamps. The error flags are cleared after every update.
-
-<P>For accuracy better than the low milliseconds, the <TT>fudge time1</TT>
-variable can be used to set the propagation delay and compensate for inherent
-latencies in the serial port hardware and operating system. This can be
-done conveniently using the <TT>minimuf</TT> program.
-<H4>
-Monitor Data</H4>
-When enabled by the <TT>flag4</TT> fudge flag, every received timecode
-burst in both format A or format B is written to the <TT>clockstats</TT>
-file.
-<H4>
-Fudge Factors</H4>
-
-<DL>
-<DT>
-<TT>time1 <I>time</I></TT></DT>
-
-<DD>
-Specifies the time offset calibration factor, in seconds and fraction,
-with default 0.0.</DD>
-
-<DT>
-<TT>time2 <I>time</I></TT></DT>
-
-<DD>
-Not used by this driver.</DD>
-
-<DT>
-<TT>stratum <I>number</I></TT></DT>
-
-<DD>
-Specifies the driver stratum, in decimal from 0 to 15, with default 0.</DD>
-
-<DT>
-<TT>refid <I>string</I></TT></DT>
-
-<DD>
-Specifies the driver reference identifier, an ASCII string from one to
-four characters, with default <TT>CHU</TT>.</DD>
-
-<DT>
-<TT>flag1 0 | 1</TT></DT>
-
-<DD>
-Not used by this driver.</DD>
-
-<DT>
-<TT>flag2 0 | 1</TT></DT>
-
-<DD>
-When the audio driver is compiled, this flag selects the audio input
+nine, ten-character bursts transmitted at 300 b/s and beginning each
+second from second 31 to second 39 of the minute. Each character
+consists of eight data bits plus one start bit and two stop bits to
+encode two hex digits. The burst data consist of five characters (ten
+hex digits) followed by a repeat of these characters. In format A, the
+characters are repeated in the same polarity; in format B, the
+characters are repeated in the opposite polarity.
+
+<p>Format A bursts are sent at seconds 32 through 39 of the minute in
+hex digits
+
+<p><tt>6dddhhmmss6dddhhmmss</tt>
+<p>The first ten digits encode a frame marker (<tt>6</tt>) followed by
+the day (<tt>ddd</tt>), hour (<tt>hh</tt>), minute (<tt>mm</tt>) and
+second (<tt>ss</tt>). Since format A bursts are sent during the
+third decade of seconds the tens digit of <tt>ss</tt> is always 3. The
+driver uses this to determine correct burst synchronization. These
+digits are then repeated with the same polarity.
+<p>Format B bursts are sent at second 31 of the minute in hex digits
+
+<p><tt>xdyyyyttaaxdyyyyttaa</tt>
+
+<p>The first ten digits encode a code (<tt>x</tt> described below)
+followed by the DUT1 (<tt>d</tt> in deciseconds), Gregorian year
+(<tt>yyyy</tt>), difference TAI - UTC (<tt>tt</tt>) and daylight time
+indicator (<tt>aa</tt>) peculiar to Canada. These digits are then
+repeated with inverted polarity.
+
+<p>The <tt>x</tt> is coded
+
+<dl>
+
+<dt><tt>1</tt>
+<dd>Sign of DUT (0 = +)/dd>
+
+<dt><tt>2</tt>
+<dd>Leap second warning. One second will be added.</dd>
+
+<dt><tt>4</tt>
+<dd>Leap second warning. One second will be subtracted. This is not
+likely to happen in our universe.</dd>
+
+<dt><tt>8</tt>
+<dd>Even parity bit for this nibble.</dd>
+
+</dl>
+
+<p>By design, the last stop bit of the last character in the burst
+coincides with 0.5 second. Since characters have 11 bits and are
+transmitted at 300 b/s, the last stop bit of the first character
+coincides with 0.5 - 10 * 11/300 = 0.133 second. Depending on the UART,
+character interrupts can vary somewhere between the beginning of bit 9
+and end of bit 11. These eccentricities can be corrected along with the
+radio propagation delay using the <tt>fudge time1</tt> variable.
+
+<h4>Debugging Aids</h4>
+
+<p>The most convenient way to track the program status is using the
+<tt>ntpq</tt> program and the <tt>clockvar</tt> command. This displays
+the last determined timecode and related status and error counters, even
+when the program is not discipline the system clock. If the debugging
+trace feature (<tt>-d</tt> on the <tt>ntpd</tt> command line)is enabled,
+the program produces detailed status messages as it operates. If the
+<tt>fudge flag 4</tt> is set, these messages are written to the
+<tt>clockstats</tt> file. All messages produced by this driver have the
+prefix <tt>chu</tt> for convenient filtering with the Unix <tt>grep</tt>
+command.
+
+<p>With debugging enabled the driver produces messages in the following
+formats:
+
+<p>A format <tt>chuA</tt> message is produced for each format A burst
+received in seconds 32 through 39 of the minute:
+
+<p><tt>chuA n b s code</tt>
+
+<p>where <tt>n</tt> is the number of characters in the burst (0-11),
+<tt>b</tt> the burst distance (0-40), <tt>s</tt> the synchronization
+distance (0-40) and <tt>code</tt> the burst characters as received. Note
+that the hex digits in each character are reversed and the last ten
+digits inverted, so the burst
+<p><tt>11 40 1091891300ef6e76ecff</tt>
+<p>is interpreted as containing 11 characters with burst distance 40.
+The nibble-swapped timecode shows DUT1 +0.1 second, year 1998 and TAI -
+UTC 31 seconds.
+
+<p>A format <tt>chuB</tt> message is produced for each format B burst
+received in second 31 of the minute:
+
+<p><tt>chuB n b f s m code</tt>
+
+<p>where <tt>n</tt> is the number of characters in the burst (0-11),
+<tt>b</tt> the burst distance (0-40), <tt>f</tt> the field alignment (-
+1, 0, 1), <tt>s</tt>the synchronization distance (0-16), <tt>m</tt>the
+burst number (2-9) and <tt>code</tt> the burst characters as received.
+Note that the hex digits in each character are reversed, so the burst
+
+<p><tt>10 38 0 16 9 06851292930685129293</tt>
+
+<p>is interpreted as containing 11 characters with burst distance 38,
+field alignment 0, synchronization distance 16 and burst number 9. The
+nibble-swapped timecode shows day 58, hour 21, minute 29 and second 39.
+
+<p>If the CI-V interface for ICOM radios is active, a debug level
+greater than 1 will produce a trace of the CI-V command and response
+messages. Interpretation of these messages requires knowledge of the
+CI-V protocol, which is beyond the scope of this document.
+
+<h4>Monitor Data</h4>
+
+When enabled by the <tt>filegen</tt> facility, every received timecode
+is written to the <tt>clockstats</tt> file in the following format:
+
+<pre>
+ sq yy ddd hh:mm:ss.fff ld dut lset agc rfrq bcnt dist tsmp
+
+ s sync indicator
+ q quality character
+ yyyy Gregorian year
+ ddd day of year
+ hh hour of day
+ mm minute of hour
+ ss second of minute
+ fff millisecond of second
+ l leap second warning
+ d DST state
+ dut DUT sign and magnitude in deciseconds
+ lset minutes since last set
+ agc audio gain (0-255)
+ rfrq radio frequency
+ bcnt burst count
+ dist decoding distance
+ tsmp timestamps captured
+</pre>
+
+The fields beginning with <tt>year</tt> and extending through
+<tt>dut</tt> are decoded from the received data and are in fixed-length
+format. The <tt>agc</tt> and <tt>lset</tt> fields, as well as the
+following driver-dependent fields, are in variable-length format.
+
+<dl>
+
+<dt><tt>s</tt>
+<dd>The sync indicator is initially <tt>?</tt> before the clock is set,
+but turns to space when the clock is correctly set.</dd>
+
+<dt><tt>q</tt>
+<dd>The quality character is a four-bit hexadecimal code showing which
+alarms have been raised during the most recent minute. Each bit is
+associated with a specific alarm condition according to the following:
+
+<dl>
+<dt><tt>8</tt>
+<dd>Decoder alarm. A majority of repetitions for at least one digit of
+the timecode fails to agree.
+</dd>
+
+<dt><tt>4</tt>
+<dd>Timestamp alarm. Fewer than 20 timestamps have been determined.</dd>
+
+<dt><tt>2</tt>
+<dd>Format alarm. The majority timecode contains invalid bit
+combinations.</dd>
+
+<dt><tt>1</tt>
+<dd>Frame alarm. A framing or format error occurred on at least one
+burst during the minute.</dd>
+
+</dl>
+
+It is important to note that one or more of the above alarms does not
+necessarily indicate a clock error, but only that the decoder has
+detected a condition that may in future result in an error.
+
+<dt><tt>yyyy ddd hh:mm:ss.fff</tt></tt>
+<dd>The timecode format itself is self explanatory. Note that the
+Gregorian year is decoded directly from the transmitted timecode.</dd>
+<dt><tt>l</tt>
+<dd>The leap second warning is normally space, but changes to <tt>L</tt>
+if a leap second is to occur at the end of the month of June or
+December.</dd>
+
+<dt><tt>d</tt>
+<dd>The DST code for Canada encodes the state for all provinces.</dd>
+
+<dt><tt>dut</tt>
+<dd>The DUT sign and magnitude shows the current UT1 offset relative to
+the displayed UTC time, in deciseconds.</dd>
+
+<dt><tt>lset</tt>
+<dd>Before the clock is set, the interval since last set is the number
+of minutes since the program was started; after the clock is set, this
+is number of minutes since the time was last verified relative to the
+broadcast signal.</dd>
+
+<dt><tt>agc</tt>
+<dd>The audio gain shows the current codec gain setting in the range 0
+to 255. Ordinarily, the receiver audio gain control or IRIG level
+control should be set for a value midway in this range.
+
+<dt><tt>rfrq</tt>
+<dd>The current radio frequency, if the CI-V interface is active, or 'X'
+if not.</dd>
+
+<dt><tt>bcnt</tt>
+<dd>The number of format A bursts received during the most recent minute
+bursts were received.</dd>
+
+<dt><tt>dist</tt>
+<dd>The minimum decoding distance determined during the most recent
+minute bursts were received.</dd>
+
+<dt><tt>tsmp</tt>
+<dd>The number of timestamps determined during the most recent
+minute bursts were received.</dd>
+</dl>
+
+<h4>Modes</h4>
+
+<p>The <tt>mode</tt> keyword of the <tt>server</tt> configuration
+command specifies the ICOM ID select code. A missing or zero argument
+disables the CI-V interface. Following are the ID select codes for the
+known radios.
+
+<p><table cols=6 width=100%>
+
+<tr>
+<td>Radio</td>
+<td>Hex</td>
+<td>Decimal</td>
+<td>Radio</td>
+<td>Hex</td>
+<td>Decimal</td>
+</tr>
+
+<tr>
+<td>IC725</td>
+<td>0x28</td>
+<td>40</td>
+<td>IC781</td>
+<td>0x26</td>
+<td>38</td>
+</tr>
+
+<tr>
+<td>IC726</td>
+<td>0x30</td>
+<td>48</td>
+<td>R7000</td>
+<td>0x08</td>
+<td>8</td>
+</tr>
+
+<tr>
+<td>IC735</td>
+<td>0x04</td>
+<td>4</td>
+<td>R71</td>
+<td>0x1A</td>
+<td>26</td>
+</tr>
+
+<tr>
+<td>IC751</td>
+<td>0x1c</td>
+<td>28</td>
+<td>R7100</td>
+<td>0x34</td>
+<td>52</td>
+</tr>
+
+<tr>
+<td>IC761</td>
+<td>0x1e</td>
+<td>30</td>
+<td>R72</td>
+<td>0x32</td>
+<td>50</td>
+</tr>
+
+<tr>
+<td>IC765</td>
+<td>0x2c</td>
+<td>44</td>
+<td>R8500</td>
+<td>0x4a</td>
+<td>74</td>
+</tr>
+
+<tr>
+<td>IC775</td>
+<td>0x46</td>
+<td>68</td>
+<td>R9000</td>
+<td>0x2a</td>
+<td>42</td>
+</tr>
+
+</table>
+
+<h4>Fudge Factors</h4>
+
+<dl>
+
+<dt><tt>time1 <I>time</I></tt></dt>
+<dd>Specifies the propagation delay for CHU (45:18N 75:45N), in seconds
+and fraction, with default 0.0.</dd>
+
+<dt><tt>time2 <I>time</I></tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>stratum <I>number</I></tt></dt>
+<dd>Specifies the driver stratum, in decimal from 0 to 15, with default
+0.</dd>
+
+<dt><tt>refid <I>string</I></tt></dt>
+<dd>Specifies the driver reference identifier, an ASCII string from one
+to four characters, with default <tt>CHU</tt>.</dd>
+
+<dt><tt>flag1 0 | 1</tt></dt>
+<dd>Not used by this driver.</dd>
+
+<dt><tt>flag2 0 | 1</tt></dt>
+<dd>When the audio driver is compiled, this flag selects the audio input
port, where 0 is the mike port (default) and 1 is the line-in port. It
-does not seem useful to select the compact disc player port.</DD>
-
-<DT>
-<TT>flag3 0 | 1</TT></DT>
+does not seem useful to select the compact disc player port.</dd>
-<DD>
-When the audio driver is compiled, this flag enables audio monitoring of
-the input signal. For this purpose, the speaker volume must be set
-before the driver is started.</DD>
+<dt><tt>flag3 0 | 1</tt></dt>
+<dd>When the audio driver is compiled, this flag enables audio
+monitoring of the input signal. For this purpose, the speaker volume
+must be set before the driver is started.</dd>
-<DT>
-<TT>flag4 0 | 1</TT></DT>
+<dt><tt>flag4 0 | 1</tt></dt>
+<dd>Enable verbose <tt>clockstats</tt> recording if set.</dd>
-<DD>
-Enable verbose <TT>clockstats</TT> recording if set.</DD>
-</DL>
-Additional Information
+</dl>
-<P><A HREF="file:///J|/ntp4/html/refclock.htm">Reference Clock Drivers</A>&nbsp;
-<HR>
-<ADDRESS>
-David L. Mills (mills@udel.edu)</ADDRESS>
+<h4>Additional Information</h4>
+<A HREF="refclock.htm">Reference Clock Drivers</A>
+<br><A HREF="audio.htm">Reference Clock Audio Drivers</A>
-</BODY>
-</HTML>
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/driver8.htm b/contrib/ntp/html/driver8.htm
index 890b6c5e9706..17ab6c357e0d 100644
--- a/contrib/ntp/html/driver8.htm
+++ b/contrib/ntp/html/driver8.htm
@@ -82,7 +82,7 @@ available. refclock_ppstime lists then the PPS timestamp and
refclock_ppsskew lists the difference between RS232
derived timestamp and the PPS timestamp.
-<P>Currently, fourteen clock types (devices /dev/refclock-0 -
+<P>Currently, eighteen clock types (devices /dev/refclock-0 -
/dev/refclock-3) are supported by the PARSE driver.
<BR>A note on the implementations:
<UL><li>These implementations where mainly done <B><I>WITHOUT</I></B>
@@ -120,16 +120,16 @@ the vendors web pages. They are linked to the respective vendors.
<B><TT>server 127.127.8.0-3 mode 0</TT></B>
<p><B><TT><A HREF="http://www.meinberg.de">Meinberg </A>PZF535/<A
-HREF="http://www.meinberg.de/english/pzf509.htm">PZF509 receiver</A> (FM
+HREF="http://www.meinberg.de/english/products/pzf509.htm">PZF509 receiver</A> (FM
demodulation/TCXO / 50us)</TT></B>
<BR>
<LI>
<B><TT>server 127.127.8.0-3 mode 1</TT></B>
<p><B><TT><A HREF="http://www.meinberg.de">Meinberg </A> PZF535/<A
-HREF="http://www.meinberg.de/english/pzf509.htm">PZF509
+HREF="http://www.meinberg.de/english/products/pzf509.htm">PZF509
receiver</A> (FM demodulation/OCXO / 50us)</TT></B>
-<BR><A HREF="http://www.meinberg.de/english/pzf509.htm"><IMG
+<BR><A HREF="http://www.meinberg.de/english/products/pzf509.htm"><IMG
SRC="pic/pzf509.jpg" ALT="BILD PZF509" HEIGHT=300 WIDTH=260
ALIGN=TEXTTOP></A>
<BR>
@@ -137,9 +137,9 @@ ALIGN=TEXTTOP></A>
<B><TT>server 127.127.8.0-3 mode 2</TT></B>
<p><B><TT><A HREF="http://www.meinberg.de">Meinberg </A> DCF U/A
-31/<A HREF="http://www.meinberg.de/english/c51.htm">DCF C51 receiver</A>
+31/<A HREF="http://www.meinberg.de/english/products/c51.htm">DCF C51 receiver</A>
(AM demodulation / 4ms)</TT></B>
-<BR><A HREF="http://www.meinberg.de/english/c51.htm"><IMG
+<BR><A HREF="http://www.meinberg.de/english/products/c51.htm"><IMG
SRC="pic/c51.jpg" ALT="BILD C51" HEIGHT=180 WIDTH=330 ALIGN=TEXTTOP></A>
<BR>
<LI>
@@ -171,9 +171,9 @@ demodulation
<B><TT>server 127.127.8.0-3 mode 7</TT></B>
<p><B><TT><A HREF="http://www.meinberg.de">Meinberg </A> <A
-HREF="http://www.meinberg.de/english/gps167.htm">GPS166/GPS167
+HREF="http://www.meinberg.de/english/products/gps167.htm">GPS166/GPS167
receiver</A> (GPS / &lt;&lt;1us)</TT></B>
-<BR><A HREF="http://www.meinberg.de/english/gps167.htm"><IMG
+<BR><A HREF="http://www.meinberg.de/english/products/gps167.htm"><IMG
SRC="pic/gps167.jpg" ALT="BILD GPS167" HEIGHT=300 WIDTH=280
ALIGN=TEXTTOP></A>
<BR>
@@ -237,6 +237,16 @@ ALIGN=TEXTTOP></A>
<p><B><TT>WHARTON 400A Series Clocks with a 404.2 Serial
Interface</TT></B>
+<LI>
+<B><TT>server 127.127.8.0-3 mode 16</TT></B>
+
+<p><B><TT>RAWDCF receiver (DTR=low/RTS=high)
+</TT></B>
+<LI>
+<B><TT>server 127.127.8.0-3 mode 17</TT></B>
+
+<p><B><TT>VARITEXT Receiver (MSF)
+</TT></B>
</UL>
<p>
Actual data formats and set-up requirements of the various clocks can be
diff --git a/contrib/ntp/html/hints/solaris-dosynctodr.html b/contrib/ntp/html/hints/solaris-dosynctodr.html
new file mode 100644
index 000000000000..d6b97a9c1f0c
--- /dev/null
+++ b/contrib/ntp/html/hints/solaris-dosynctodr.html
@@ -0,0 +1,320 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+
+<!-- Sun Template V4.0 9/9/98 -->
+<HTML>
+<HEAD>
+<TITLE>Symptoms and Resolutions Article 19195</TITLE>
+<META NAME="GENERATOR" CONTENT="Sun Microsystems, Inc.">
+<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1">
+
+<!-- INSERT YOUR META TAGS HERE -->
+
+<META NAME="PUBLISHED_DATE" CONTENT="">
+<META NAME="KEYWORDS" CONTENT="">
+<META NAME="DESCRIPTION" CONTENT="">
+
+<!-- END META TAGS -->
+
+<LINK REL="Stylesheet" TYPE="text/css" HREF="/style.css" TITLE="Style">
+
+</HEAD>
+<!--stopindex-->
+<BODY BGCOLOR="#FFFFFF" LINK="#666699" ALINK="#FFFFFF">
+
+
+<TABLE WIDTH="623" BORDER="0" CELLSPACING="0" CELLPADDING="0">
+ <TR>
+ <TD COLSPAN="2" VALIGN="TOP" WIDTH="623">
+ <IMG BORDER="0" SRC="/images/homebuy.gif" WIDTH="149" HEIGHT="32" ALT="Home * Buy * My Sun(sm)" USEMAP="#lefttop"><IMG BORDER="0" SRC="/images/globalnavbar.gif" WIDTH="474" HEIGHT="32" ALT="sun.com Global Sections" USEMAP="#topnav"></TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2" VALIGN="TOP" WIDTH="623">
+
+ <!-- TITLEBAR IMAGE: INSERT CUSTOMIZED TITLEBAR IMAGE BELOW -->
+
+ <A HREF="http://www.sun.com/"><IMG BORDER="0" SRC="/images/sunlogo.gif" WIDTH="149" HEIGHT="72" ALT="Sun Microsystems"></A><IMG BORDER="0" SRC="/images/titlebar/doc.title.gif" WIDTH="474" HEIGHT="72"></TD>
+ </TR>
+ <!-- Begin Search Elements -->
+ <TR VALIGN="top">
+ <TD BGCOLOR="#666699">
+ <TABLE BORDER="0" WIDTH="157" CELLSPACING="0" CELLPADDING="0">
+ <TR>
+ <TD BGCOLOR="#666699" COLSPAN="2" WIDTH="157" VALIGN="TOP"><IMG BORDER="0" SRC="/images/search/contract/search1.gif" WIDTH="157" HEIGHT="16" ALT="Search SunSolve"></TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top" ALIGN="center" WIDTH="141" BGCOLOR="#666699"><FORM ACTION="search.pl" METHOD="POST"><FONT SIZE="2"><INPUT TYPE="text" NAME="zone_32" SIZE="14"></FONT><input type=hidden name=mode value=results><BR>
+<INPUT TYPE="image" SRC="/images/search/contract/search5.gif" BORDER="0" NAME="Search"><IMG SRC="/images/cg_clear.gif" ALT="" WIDTH="2" HEIGHT="1" BORDER="0" HSPACE="29" VSPACE="0"><BR>
+
+<A HREF="search.pl?mode=advanced"><IMG BORDER="0" SRC="/images/search/contract/search3.gif" WIDTH="144" HEIGHT="16" ALT="Advanced Search"></A><BR>
+
+<A HREF="search.pl?mode=product"><IMG SRC="/images/search/contract/search4.gif" BORDER="0" ALT="Product Search" WIDTH="144" HEIGHT="19"></A><BR>
+
+<A HREF="show.pl?target=help/search_tips"><IMG SRC="/images/search/contract/search6.gif" BORDER="0" ALT="Search Tips" WIDTH="144" HEIGHT="27"></A></TD>
+ <TD ALIGN="right"><IMG SRC="/images/search/contract/search2.gif" ALT="" WIDTH="13" HEIGHT="117" BORDER="0"></TD>
+ </TR>
+ <!-- End Search Elements -->
+ <!-- Begin User Personalization (Must limit to 10 Characters)-->
+ <TR>
+ <TD COLSPAN="2"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="157"><TR><TD COLSPAN="3" ALIGN="right"><IMG SRC="/images/home_con/welcom_1.gif" ALT="" WIDTH="156" HEIGHT="4" BORDER="0"></TD></TR>
+ <TR><TD BGCOLOR="#333366"><IMG SRC="/images/home_con/welcom_2.gif" ALT="" WIDTH="17" HEIGHT="19" BORDER="0"></TD><TD BGCOLOR="#333366" VALIGN="middle"><NOBR><FONT FACE="Geneva, Helvetica, Arial, SunSans-Regular" COLOR="#99CC33" SIZE="-2">sopko</FONT></NOBR></TD><TD BGCOLOR="#333366" ALIGN="right"><A HREF="edit-user-form.pl?viewmode=contractuser"><IMG SRC="/images/home_con/welcom_3.gif" ALT="Edit" WIDTH="45" HEIGHT="19" BORDER="0"></A></TD></TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <!-- End User Personalization -->
+
+ <TR>
+ <TD COLSPAN="2" ALIGN="right" VALIGN="top" WIDTH="157" BGCOLOR="#666699"><IMG BORDER="0" SRC="/images/ssolvecontents.gif" WIDTH="157" HEIGHT="37" ALT="Contents Of SunSolve"><BR>
+
+
+
+
+
+ <!-- PILLS: CHANGE THE PILL FOR CURRENT SECTION TO THE HIGHLIGHTED PILL -->
+ <!-- Beginning of Nav area -->
+<A HREF="show.pl?target=patches/patch-access" onmouseover="window.status='All Public Patches'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/p1.gif" WIDTH="157" HEIGHT="19" ALT="All Public Patches"></A><BR>
+<A HREF="suncourier.pl" onmouseover="window.status='Submit a Service Order'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/p5.gif" WIDTH="157" HEIGHT="19" ALT="Submit a Service Order"></A><BR>
+<A HREF="show.pl?target=resources/tools" onmouseover="window.status='Diagnostic Tools'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/p4.gif" WIDTH="157" HEIGHT="19" ALT="Diagnostic Tools"></A><BR>
+<A HREF="show.pl?target=help/collections" onmouseover="window.status='Support Docs.'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/cp2.gif" WIDTH="157" HEIGHT="19" ALT="Support Docs."></A><BR>
+<A HREF="show.pl?target=resources/y2k" onmouseover="window.status='Y2K Central'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/p3.gif" WIDTH="157" HEIGHT="19" ALT="Y2K Central"></A><BR>
+<A HREF="show.pl?target=security/sec" onmouseover="window.status='Security Information'; return true" onmouseout="window.status=''; return true">
+<IMG BORDER="0" SRC="/images/nav/p2.gif" WIDTH="157" HEIGHT="19" ALT="Security Information"></A><BR>
+<br><table cellpadding="0" cellspacing="0" border="0" width="157">
+<tr><td width="8">&nbsp;</td><td width="149">
+<table cellpadding="0" cellspacing="0" border="0">
+<BR><tr><td><BR><img src="/images/line.gif" alt="------" width="140" height="11" border="0"><br>
+ <A HREF="mark.pl"
+ onmouseover="window.status='Marked Docs.';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Marked Docs.</FONT></A><BR>
+ <A HREF="notify.pl"
+ onmouseover="window.status='Notifications';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Notifications</FONT></A><BR>
+ <A HREF="/plain-cgi/show.pl?target=home_con"
+ onmouseover="window.status='Low Graphics';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Low Graphics</FONT></A><BR>
+ <A HREF="show.pl?target=link"
+ onmouseover="window.status='SunSolve Servers';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">SunSolve Servers</FONT></A><BR>
+ <A HREF="show.pl?target=about_sunsolve"
+ onmouseover="window.status='About SunSolve';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">About SunSolve</FONT></A><BR>
+ <A HREF="feedback.pl"
+ onmouseover="window.status='Contact Us';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Contact Us</FONT></A><BR>
+ <A HREF="show.pl?target=help/sitemap"
+ onmouseover="window.status='Site Map';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Site Map</FONT></A><BR>
+ <A HREF="show.pl?target=article/article"
+ onmouseover="window.status='Articles';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Articles</FONT></A><BR>
+ <A HREF="show.pl?target=home_con"
+ onmouseover="window.status='Home';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Home</FONT></A><BR>
+ <A HREF="show.pl?target=help/faq"
+ onmouseover="window.status='Help';return true"
+ onmouseout="window.status='';return true">
+ <font class="locallink" color="#dddddd">Help</FONT></A><BR>
+<br></td></tr></table></td></tr></table>
+<!-- End of Nav area -->
+
+ </FORM>
+ <br><br><!-- some spacers -->
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="466">
+
+
+ <!--startindex-->
+ <!-- ============ -->
+ <!-- MAIN CONTENT -->
+ <!-- ============ -->
+
+
+
+<table width=100% cellpadding=16 cellspacing=0 border=0>
+ <tr>
+<td width=100% valign=top>
+<CENTER><FONT FACE="Geneva, Helvetica, Arial, SunSans-Regular" SIZE="2">
+[&nbsp;<a href="retrieve.pl?type=0&doc=srdb%2F19195&display=plain">Printer Friendly Page</a>&nbsp;]
+[&nbsp;<b>Was this document useful? <a href="retrieve.pl?type=0&doc=srdb/19195&vote=yes">Yes</a> or <a href="retrieve.pl?type=0&doc=srdb/19195&vote=no">No</a></b>&nbsp;]<br>[&nbsp;<a href="notify.pl?action=add&doc=srdb%2F19195&type=synopsis">Notify if Document Changes</a>&nbsp;]
+[&nbsp;<a href="mark.pl?action=add&doc=srdb%2F19195&type=0">Mark Document for Download</a>&nbsp;]<br>[&nbsp;<a href="notify.pl">View/Edit Notifications</a>&nbsp;]
+[&nbsp;<a href="mark.pl">View/Edit Marked Documents</a>&nbsp;]<br></FONT></CENTER><br>
+ <SCRIPT Language="JavaScript">
+ <!-- Hide javascript from older browsers
+ function jump()
+ {
+ var ctl = document.docform.jumplist;
+ location.href = ctl.options[ctl.selectedIndex].value;
+ }
+ // End hiding contents -->
+ </SCRIPT>
+<a name="top">
+<form name="docform"><div align=center><font size=2> Jump to <select name="jumplist" size=1 onchange="jump();"></font><option value="#Hardware">Hardware</option>
+<option value="#Product">Product</option>
+<option value="#Product-Area">Product Area</option>
+<option value="#Synopsis">Synopsis</option>
+<option value="#Problem-Description">Problem Description</option>
+<option value="#Document-Content">Document Content</option>
+<option value="#Problem-Solution">Problem Solution</option>
+<option value="#SRDB-ID">SRDB ID</option>
+<option value="#OS">OS</option>
+</select></div></form>
+<table width=100% cellpadding=2 cellspacing=0 border=0>
+<tr bgcolor=#666699><td><font size=2 color=#ffffff><b>SRDB ID</b></font></td>
+<td bgcolor=#ffffff><font size=2>&nbsp;</font></td>
+<td><font size=2 color=#ffffff><b>Synopsis</b></font></td>
+<td bgcolor=#ffffff><font size=2>&nbsp;</font></td>
+<td><font size=2 color=#ffffff><b>Date</b></font></td>
+</tr>
+<tr bgcolor=#CCCCE7><td><font size=2><b>19195</b></font></td>
+<td bgcolor=#ffffff><font size=2>&nbsp;</font></td>
+<td><font size=2><b>Upgraded to 2.6, using xntpd, but the system clock is drifting. Worked fine</b></font></td>
+<td bgcolor=#ffffff><font size=2>&nbsp;</font></td>
+<td><font size=2><b>4 Sep 1999</b></font></td>
+</tr>
+</table><br clear>
+<table width=100% cellpadding=2 cellspacing=0 border=0><tr bgcolor=#999999>
+<td><font size=2 color=#ffffff><b><a name=Problem-Description>Problem Description</a></b></font></td>
+<td align=right><b><a href="#top"><font size=2 color=#ffffff>Top</font></a></b></td></tr></table>
+<pre>Ever since upgrading to Solaris 2.6, the system clock has been drifting and
+there are messages like 'synchronisation lost', 'Previous time adjustment
+didn''t complete' and 'time reset (step)' a lot in the /var/adm/messages
+file. The system either was previously working fine with the freeware
+xntpd or the configuration was copied from another system that was
+using the freeware version.
+-- 23-Apr-99 08:22 US/Eastern --</pre><table width=100% cellpadding=2 cellspacing=0 border=0><tr bgcolor=#999999>
+<td><font size=2 color=#ffffff><b><a name=Problem-Solution>Problem Solution</a></b></font></td>
+<td align=right><b><a href="#top"><font size=2 color=#ffffff>Top</font></a></b></td></tr></table>
+<pre>The common lore for setting up xntpd on Solaris using
+the freeware version included the warning to set the
+kernel variable <font color=red>dosynctodr</font> to 0 in the /etc/system
+file thus: set <font color=red>dosynctodr</font>=0
+
+When using NTP on Solaris 2.6 or later, the kernel
+variable MUST be left at the default value of 1. Prior
+to 2.6 this variable controlled whether or not to rein
+in the softclock using the hardware clock, with the result
+that NTP and the hardware clock would fight for control of
+the soft clock; thus before 2.6 you had to set <font color=red>dosynctodr</font>
+to 0. At 2.6, every system call that adjusts the softclock
+also sets the hard clock, thus while NTP controls the soft
+clock, the hard clock is also controlled. Setting
+<font color=red>dosynctodr</font> to 0 reverts the behavior back to the pre 2.6
+defaulkt behavior, having exactly the opposite effect
+as that intended.
+
+Do not set <font color=red>dosynctodr</font> to 0.</pre><table width=100% cellpadding=2 cellspacing=0 border=0>
+<tr><td bgcolor=#999999 valign=top width=25%><font color=#ffffff size=2><b><a name=Product-Area>Product Area</a></b></font></td>
+<td bgcolor=#cccccc valign=top width=75%><font size=2>Bundled Network</font></td></tr>
+<tr><td bgcolor=#999999 valign=top width=25%><font color=#ffffff size=2><b><a name=Product>Product</a></b></font></td>
+<td bgcolor=#cccccc valign=top width=75%><font size=2>NTP</font></td></tr>
+<tr><td bgcolor=#999999 valign=top width=25%><font color=#ffffff size=2><b><a name=OS>OS</a></b></font></td>
+<td bgcolor=#cccccc valign=top width=75%><font size=2>Solaris 2.6</font></td></tr>
+<tr><td bgcolor=#999999 valign=top width=25%><font color=#ffffff size=2><b><a name=Hardware>Hardware</a></b></font></td>
+<td bgcolor=#cccccc valign=top width=75%><font size=2>Ultra 2</font></td></tr>
+<tr><td bgcolor=#999999 valign=top width=25%><font color=#ffffff size=2><b><a name=Document-Content>Document Content</a></b></font></td>
+<td bgcolor=#cccccc valign=top width=75%><font size=2>with freeware xntpd.</font></td></tr>
+</table><br clear>
+<font size=2><a href="#top">Top</a></font><br><br>
+</td></tr></table>
+
+ <!-- =================== -->
+ <!-- END OF MAIN CONTENT -->
+ <!-- =================== -->
+ <!--stopindex-->
+
+ <!-- DON'T CHANGE INFORMATION OTHER THAN titlebar BELOW THIS LINE -->
+
+ <!-- Altered Table Structure from Template to format properly with new design -->
+ </TD>
+ </TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD VALIGN="top">
+ <center>
+ <IMG SRC="/images/cg_grey_line.gif" ALT="" WIDTH="466" HEIGHT="2" BORDER="0"><BR>
+ <IMG SRC="/images/cg_clear.gif" ALT="" WIDTH="1" HEIGHT="2" BORDER="0" HSPACE="0" VSPACE="4">
+ </center>
+ <CENTER>
+ <FONT FACE="Geneva, Helvetica, Arial, SunSans-Regular" SIZE="2">
+ [ <A HREF="edit-user-form.pl?viewmode=contractuser">Edit Account</A> ]
+ [ <A HREF="show.pl?target=patches/patch-access">Patches</A> ]
+ [ <A HREF="suncourier.pl">Submit a Service Order</A> ]<br>
+ [ <A HREF="show.pl?target=resources/tools">Diagnostic Tools</A> ]
+ [ <A HREF="show.pl?target=help/collections">Support Docs.</A> ]
+ [ <A HREF="show.pl?target=resources/y2k">Y2K Central</A> ]
+ [ <A HREF="show.pl?target=security/sec">Security Information</A> ] <br>
+ [ <A HREF="show.pl?target=link">SunSolve Servers </A> ]
+ [ <A HREF="show.pl?target=about_sunsolve">About SunSolve</A> ]
+ [ <A HREF="feedback.pl">Contact Us</A> ]
+ [ <A HREF="show.pl?target=help/sitemap">Site Map</A> ]
+ [ <A HREF="show.pl?target=article/article">Articles</A> ]
+ [ <A HREF="show.pl?target=home_con">Home</A> ]
+ [ <A HREF="show.pl?target=help/faq">Help</A> ]
+ </FONT>
+ </CENTER>
+
+<!-- MAPS -->
+<MAP NAME="lefttop">
+<AREA SHAPE="rect" HREF="http://www.sun.com/MySun/" ALT="My Sun" COORDS="89,0 149,32">
+<AREA SHAPE="rect" HREF="show.pl?target=home_con" ALT="Home" COORDS="0,0 42,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/sales/" ALT="Buy" COORDS="54,0 78,32">
+</MAP>
+
+
+<MAP NAME="topnav">
+<AREA SHAPE="rect" HREF="http://www.sun.com/java/" ALT="Java Technologies" COORDS="4,0,67,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/products-n-solutions/" ALT="Products and Solutions" COORDS="74,0,141,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/service/" ALT="Support, Education, and Consulting" COORDS="148,0,249,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/tech/" ALT="Technology and Research" COORDS="261,0,324,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/developers/developers.html" ALT="For Developers" COORDS="334,0,396,32">
+<AREA SHAPE="rect" HREF="http://www.sun.com/corporateoverview/" ALT="Corporate Information" COORDS="406,0,482,32">
+</MAP>
+
+<!-- INSERT titlebar HREFS BELOW -->
+<MAP NAME="titlebar">
+<!-- LINK TO SEC HOME Removed because no longer needed on this template -->
+<AREA SHAPE="rect" HREF="/visual/home/" ALT="SunSolve Online(tm)" COORDS="0,21,215,51"> <!-- LINK TO CURRENT PILL HOME -->
+</MAP>
+
+
+<!-- begin copyright notice -->
+
+<BR>
+<CENTER>
+<FONT FACE="Geneva, Helvetica, Arial, SunSans-Regular" COLOR="#999999" SIZE="2">
+<br>
+Copyright 1994-1999 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA.
+<br>
+All rights reserved.
+<a href="http://www.sun.com/share/text/SMICopyright.html">Legal Terms</a>.
+<a href="http://www.sun.com/privacy/">Privacy Policy</a>.
+</font>
+</CENTER>
+
+<!-- end copyright notice -->
+
+ </TD>
+ </TR>
+</TABLE>
+
+</BODY>
+</HTML>
+
diff --git a/contrib/ntp/html/hints/solaris.html b/contrib/ntp/html/hints/solaris.html
index 8595fbfc3e17..64b361a14326 100644
--- a/contrib/ntp/html/hints/solaris.html
+++ b/contrib/ntp/html/hints/solaris.html
@@ -14,9 +14,13 @@ that you will have problems; upgrading would be a really good plan.
<P>
<H3>All Solaris versions</H3>
<P>
-Proper operation of ntp under Solaris requires setting the kernel
+ We have a report that says starting with Solaris 2.6 we should leave
+ <I>dosynctodr</I> alone.
+ <A HREF="solaris-dosynctodr.html">Here is the report</A>.
+<P>
+Proper operation of ntp under Solaris may require setting the kernel
variable <I>dosynctodr</I> to zero (meaning "do not synchronize the clock
-to the hardware time-of-day clock"). This can be done with the
+to the hardware time-of-day clock"). This can be done with the
tickadj utility:
<BLOCKQUOTE><TT>
tickadj -s
diff --git a/contrib/ntp/html/hints/solaris.xtra.S99ntpd b/contrib/ntp/html/hints/solaris.xtra.S99ntpd
index 33662ba73fd0..d8058fd43d42 100644
--- a/contrib/ntp/html/hints/solaris.xtra.S99ntpd
+++ b/contrib/ntp/html/hints/solaris.xtra.S99ntpd
@@ -2,6 +2,7 @@
if [ $1 = "start" ]; then
if [ -x /usr/local/bin/xntpd ]; then
echo "Starting NTP daemon, takes about 1 minute... "
+ # dosynctodr may need to be left alone as of with Solaris 2.6
# The following line is unnecessary if you turn off
# dosynctodr in /etc/system.
/usr/local/bin/tickadj -s
diff --git a/contrib/ntp/html/hints/winnt.htm b/contrib/ntp/html/hints/winnt.htm
new file mode 100644
index 000000000000..06c0e4179c09
--- /dev/null
+++ b/contrib/ntp/html/hints/winnt.htm
@@ -0,0 +1,315 @@
+<html>
+<head>
+ <title>NTP on Windows NT</title>
+</head>
+<body>
+
+<h1>
+NTP 4.x for Windows NT</h1>
+
+<h2>
+Introduction</h2>
+The NTP 4 distribution runs as service on (i386) Windows NT 4.0 and Windows
+2000. The binaries now work on all dual processor systems (mostly Dell)
+that have been tested. This port has not been tested on the Alpha platform.
+<p>Refer to System Requirements and Instructions for how to compile the
+program.
+<h2>
+Reference Clocks</h2>
+Refernce clock support under Windows NT is tricky because the IO functions
+are so much different. The following reference clocks are supported by
+Windows NT:
+<p><a href="../driver1.htm">Type 1</a> Undisciplined Local Clock (LOCAL)
+<br><a href="../driver29.htm">Type 29</a> Trimble Navigation Palisade GPS
+(GPS_PALISADE)
+<h2>
+Functions Supported</h2>
+All NTP functions are supported with some constraints. See the TODO list
+below.
+<h2>
+Accuracy</h2>
+Greg Brackley has implemented a fantastic interpolation scheme that improves
+the precision of the NTP clock using a realtime thread (is that poetic
+or what!) which captures a tick count from the 8253 counter after each
+OS tick. The count is used to interpolate the time between operating system
+ticks.
+<p>On a typical 200+ MHz system NTP achieves a precision of about 5 microseconds
+and synchronizes the clock to +/-500 microseconds using the <a href="http://www.trimble.com/products/ntp">Trimble
+Palisade</a> as UTC reference. This allows distributed applications to
+use the 10 milliseconds ticks available to them with high confidence.
+<h2>
+Binaries</h2>
+Recent InstallShield based executable versions of NTP for Windows NT (i386)
+are available from:
+<br><a href="http://www.trimble.com/oem/ntp">http://www.trimble.com/oem/ntp</a>
+and <a href="http://www.five-ten-sg.com/">http://www.five-ten-sg.com/</a>
+<h2>
+ToDo</h2>
+
+<ul>
+<li>
+MD5 authentication causes problems with DNS. If you use encryption/authentication,
+you have to use IP numbers in <tt>ntp.conf.</tt></li>
+
+<li>
+NMEA refclock support is in development.</li>
+
+<li>
+See if precision can be improved by using CPU cycle counter for tick interpolation.</li>
+
+<li>
+Make precision time available to applications using NTP_GETTIME API</li>
+</ul>
+
+<h2>
+Compiling Requirements</h2>
+
+<ul>
+<li>
+<tt>Windows NT 4.0 or 5.0 (2000)</tt></li>
+
+<li>
+<tt>Microsoft Visual C++ 6.0</tt></li>
+
+<li>
+<tt>Perl5 </tt><a href="http://www.perl.org">http://www.perl.org</a></li>
+
+<li>
+Some version of the archiving program <tt>ZIP</tt>.</li>
+</ul>
+
+<h2>
+Compiling Instructions</h2>
+
+<ol>
+<li>
+Install Perl and set the PERL environment variable to your Perl directory
+(e.g. C:\PERL)</li>
+
+<li>
+Unpack the NTP-4.x.tar.gz</li>
+
+<li>
+Open the .\ports\winnt\ntp.dsw Visual C workspace</li>
+
+<li>
+Batch build all projects</li>
+</ol>
+
+<h2>
+Configuration File</h2>
+The default NTP configuration file path is %SystemRoot%<tt>\system32\drivers\etc\.
+</tt>(%SystemRoot%
+is an environmental variable that can be determined by typing "set" at
+the "Command Prompt" or from the "System" icon in the "Control Panel").
+<br>Refer to your system environment and <tt>c</tt>reate your<tt> ntp.conf</tt>
+file in the directory corresponding to your system&nbsp; installation.
+<br><tt>The older &lt;WINDIR>\ntp.conf </tt>is still supported but you
+will get a log entry reporting that the first file wasn't found.
+<h2>
+Installation Instructions</h2>
+The <tt>instsrv</tt> program in the instsrv subdirectory of the distribution
+can be used to install 'ntpd' as a service and start automatically at boot
+time. Instsrv is automatically compiled with the rest of the distribution
+if you followed the steps above.
+<ol>
+<li>
+Start a command prompt and enter "instsrv.exe &lt;pathname_for_ntpd.exe>"</li>
+
+<li>
+Clicking on the "Services" icon in the "Control Panel" will display the
+list of currently installed services in a dialog box. The NetworkTimeProtocol
+service should show up in this list. Select it in the list and hit the
+"Start" button in the dialog box. The NTP service should start.</li>
+
+<li>
+View the event log by clicking on the "Event Viewer" icon in the "Administrative
+Tools" group, there should be several successful startup messages from
+NTP. NTP will keep running and restart automatically when the machine is
+rebooted.</li>
+</ol>
+You can change the start mode (automatic/manual) and other startup parameters
+correponding to the NTP service (eg. location of conf file) also in the
+"Services" dialog box if you wish.
+<h2>
+Removing NTP</h2>
+You can also use <tt>instsrv</tt> to delete the NTP service by entering:
+"instsrv.exe remove"
+<h2>
+Command Line Parameters and Registry Entries</h2>
+Unlike the Unix environment, there is no clean way to run 'ntpdate' and
+reset the clock before starting 'ntpd' at boot time.
+<br>NTP will step the clock up to 1000 seconds by default. While there
+is no reason that the system clock should be that much off during bootup
+if 'ntpd' was running before, you may wish to override this default and/or
+pass other command line directives.
+<p>Use the registry editor to edit the value for the ntpd executable under
+LocalMachine\System\CurrentControlSet\Services\NetworkTimeProtocol.
+<p>Add the -g option behind "%INSTALLDIR>\ntpd". This will force NTP to
+accept large time errors (including 1.1.1980 00:00)
+<h2>
+Bug Reports</h2>
+Send bug reports to <a href="news://comp.protocols.time.ntp">news://comp.protocols.time.ntp</a>
+and Sven_Dietrich@Trimble.COM
+<h2>
+Change Log</h2>
+
+<h3>
+Last revision 15 November 1999&nbsp; Version 4.0.98f.</h3>
+<b>by Sven Dietrich (sven_dietrich@trimble.com)</b>
+<p><b>Significant Changes:</b>
+<ul>
+<li>
+Fixed I/O problem delaying packet responses which resulted in no-replys
+to NTPQ and others.</li>
+
+<li>
+The default configuration file path is <tt>&lt;WINDIR>\system32\drivers\etc\ntp.conf.
+The old &lt;WINDIR>\ntp.conf </tt>is still supported but you will get a
+log entry reporting that the first file wasn't found. The NTP 3.x legacy
+<tt>ntp.ini</tt>
+file is no longer supported.</li>
+</ul>
+<b>Known Problems / TODO:</b>
+<ul>
+<li>
+MD5 and name resolution do not yet get along. If you define MD5, you cannot
+use DNS names, only IP numbers.</li>
+</ul>
+
+<h3>
+Last revision 27 July 1999&nbsp; Version 4.0.95.</h3>
+This version compiles under WINNT with Visual C 6.0.
+<p>Greg Brackley and Sven Dietrich
+<p>Significant changes:
+<br>-Visual Studio v6.0 support
+<br>-Winsock 2.0 support
+<br>-Use of I/O completion ports for sockets and comm port I/O
+<br>-Removed the use of multimedia timers (from ntpd, others need removing)
+<br>-Use of waitable timers (with user mode APC) and performance counters
+to fake getting a better time
+<br>-Trimble Palisade NTP Reference Clock support
+<br>-General cleanup, prototyping of functions
+<br>-Moved receiver buffer code to a separate module (removed unused members
+from the recvbuff struct)
+<br>-Moved io signal code to a separate module
+<h3>
+Last revision:&nbsp; 20-Oct-1996</h3>
+This version corrects problems with building the XNTP
+<br>version 3.5-86 distribution under Windows NT.
+<p>The following files were modified:
+<br>&nbsp;blddbg.bat
+<br>&nbsp;bldrel.bat
+<br>&nbsp;include\ntp_machine.h
+<br>&nbsp;xntpd\ntp_unixclock.c
+<br>&nbsp;xntpd\ntp_refclock.c
+<br>&nbsp;scripts\wininstall\build.bat
+<br>&nbsp;scripts\wininstall\setup.rul
+<br>&nbsp;scripts\wininstall\readme.nt
+<br>&nbsp;scripts\wininstall\distrib\ntpog.wri
+<br>&nbsp;html\hints\winnt (this file)
+<p>In order to build the entire Windows NT distribution you
+<br>need to modify the file scripts\wininstall\build.bat
+<br>with the installation directory of the InstallShield
+<br>software.&nbsp; Then, simply type "bldrel" for non-debug
+<br>or "blddbg" for debug executables.
+<p>Greg Schueman
+<br>&nbsp;&nbsp;&nbsp; &lt;schueman@acm.org>
+<h3>
+Last revision:&nbsp; 07-May-1996</h3>
+This set of changes fixes all known bugs, and it includes
+<br>several major enhancements.
+<p>Many changes have been made both to the build environment as
+<br>well as the code.&nbsp; There is no longer an ntp.mak file, instead
+<br>there is a buildntall.bat file that will build the entire
+<br>release in one shot.&nbsp; The batch file requires Perl.&nbsp; Perl
+<br>is easily available from the NT Resource Kit or on the Net.
+<p>The multiple interface support was adapted from Larry Kahn's
+<br>work on the BIND NT port.&nbsp; I have not been able to test it
+<br>adequately as I only have NT servers with one network
+<br>interfaces on which to test.
+<p>Enhancements:
+<br>* Event Logging now works correctly.
+<br>* Version numbers now work (requires Perl during build)
+<br>* Support for multiple network interface cards (untested)
+<br>* NTP.CONF now default, but supports ntp.ini if not found
+<br>* Installation procedure automated.
+<br>* All paths now allow environment variables such as %windir%
+<p>Bug fixes:
+<br>* INSTSRV replaced, works correctly
+<br>* Cleaned up many warnings
+<br>* Corrected use of an uninitialized variable in XNTPD
+<br>* Fixed ntpdate -b option
+<br>* Fixed ntpdate to accept names as well as IP addresses
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Winsock WSAStartup was
+called after a gethostbyname())
+<br>* Fixed problem with "longjmp" in xntpdc/ntpdc.c that
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; caused a software exception
+on doing a Control-C in xntpdc.
+<br>&nbsp;A Cntrl-C now terminates the program.
+<p>See below for more detail:
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Note: SIGINT is not supported for any
+Win32 application including
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows NT and Windows 95. When a CTRL+C
+interrupt occurs, Win32
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; operating systems generate a new thread
+to specifically handle that
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; interrupt. This can cause a single-thread
+application such as UNIX,
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to become multithreaded, resulting in
+unexpected behavior.
+<br>&nbsp;
+<p>Possible enhancements and things left to do:
+<br>* Reference clock drivers for NT (at least Local Clock support)
+<br>* Control Panel Applet
+<br>* InstallShield based installation, like NT BIND has
+<br>* Integration with NT Performance Monitor
+<br>* SNMP integration
+<br>* Fully test multiple interface support
+<br>&nbsp;
+<p>Known problems:
+<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bug in ntptrace - if no Stratum
+1 servers are available,
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+such as on an IntraNet, the application crashes.
+<h3>
+Last revision:&nbsp; 12-Apr-1995</h3>
+This NTPv3 distribution includes a sample configuration file and the project
+<br>makefiles for WindowsNT 3.5 platform using Microsoft Visual C++ 2.0
+compiler.
+<br>Also included is a small routine to install the NTP daemon as a "service"
+<br>on a WindowsNT box. Besides xntpd, the utilities that have been ported
+are
+<br>ntpdate and xntpdc. The port to WindowsNT 3.5 has been tested using
+a Bancomm
+<br>TimeServe2000 GPS receiver clock that acts as a strata 1 NTP server
+with no
+<br>authentication (it has not been tested with any refclock drivers compiled
+in).
+<br>Following are the known flaws in this port:
+<br>1) currently, I do not know of a way in NT to get information about
+multiple
+<br>&nbsp;&nbsp; network interface cards. The current port uses just one
+socket bound to
+<br>&nbsp;&nbsp; INADDR_ANY address. Therefore when dealing with a multihomed
+NT time server,
+<br>&nbsp;&nbsp; clients should point to the default address on the server
+(otherwise the
+<br>&nbsp;&nbsp; reply is not guaranteed to come from the same interface
+to which the
+<br>&nbsp;&nbsp; request was sent). Working with Microsoft to get this
+resolved.
+<br>2) There is some problem with "longjmp" in xntpdc/ntpdc.c that causes
+a
+<br>&nbsp;&nbsp; software exception on doing a Control-C in xntpdc. Be
+patient!
+<br>3) The error messages logged by xntpd currently contain only the numerical
+<br>&nbsp;&nbsp; error code. Corresponding error message string has to
+be looked up in
+<br>&nbsp;&nbsp; "Books Online" on Visual C++ 2.0 under the topic "Numerical
+List of Error
+<br>&nbsp;&nbsp; Codes".
+<p>Last HTML Update: November 17, 1999
+<br><a href="mailto://sven_dietrich@trimble.com">Sven_Dietrich@Trimble.COM</a>
+</body>
+</html>
diff --git a/contrib/ntp/html/index.htm b/contrib/ntp/html/index.htm
index a676c871e88a..c5cca919710a 100644
--- a/contrib/ntp/html/index.htm
+++ b/contrib/ntp/html/index.htm
@@ -1,8 +1,8 @@
-<HTML><HEAD><TITLE>
+<html><head><title>
The Network Time Protocol (NTP) Distribution
-</TITLE></HEAD><BODY><H3>
+</title></head><body><h3>
The Network Time Protocol (NTP) Distribution
-</H3>
+</h3>
<IMG align=left SRC=pic/barnstable.gif>From <i>pogo</i>, Walt Kelly
diff --git a/contrib/ntp/html/monopt.htm b/contrib/ntp/html/monopt.htm
index fc6ba84e0ca3..267bbccc93ab 100644
--- a/contrib/ntp/html/monopt.htm
+++ b/contrib/ntp/html/monopt.htm
@@ -1,370 +1,250 @@
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
- <TITLE>Monitoring Options
-</TITLE>
-</HEAD>
-<BODY>
-
-<H3>
-Monitoring Options</H3>
-
-<HR>
-<H4>
-Monitoring Support</H4>
-<TT>ntpd</TT> includes a comprehensive monitoring facility suitable for
-continuous, long term recording of server and client timekeeping performance.
-See the <TT>statistics</TT> command below for a listing and example of
-each type of statistics currently supported. Statistic files are managed
-using file generation sets and scripts in the ./scripts directory of this
-distribution. Using these facilities and Unix <TT>cron</TT> jobs, the data
-can be automatically summarized and archived for retrospective analysis.
-<H4>
-Monitoring Commands</H4>
-
-<DL>
-<DT>
-<TT>statistics <I>name</I> [...]</TT></DT>
-
-<DD>
-Enables writing of statistics records. Currently, four kinds of <I><TT>name</TT></I>
-statistics are supported.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DL>
-<DT>
-<TT>loopstats</TT></DT>
-
-<DD>
-Enables recording of loop filter statistics information. Each update of
-the local clock outputs a line of the following form to the file generation
-set named <TT>loopstats</TT>:</DD>
-
-<PRE>50935 75440.031 0.000006019 13.778190 0.000351733 0.013380 6</PRE>
-
-<DD>
-The first two fields show the date (Modified Julian Day) and time (seconds
-and fraction past UTC midnight). The next five fields show time offset
-(seconds), frequency offset (parts per million - PPM), RMS jitter (seconds),
-Allan deviation (PPM) and clock discipline time constant.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>peerstats</TT></DT>
-
-<DD>
-Enables recording of peer statistics information. This includes statistics
-records of all peers of a NTP server and of special signals, where present
-and configured. Each valid update appends a line of the following form
-to the current element of a file generation set named <TT>peerstats</TT>:</DD>
-
-<PRE>48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142</PRE>
-
-<DD>
-The first two fields show the date (Modified Julian Day) and time (seconds
-and fraction past UTC midnight). The next two fields show the peer address
-in dotted-quad notation and status, respectively. The status field is encoded
-in hex in the format described in Appendix A of the NTP specification RFC
-1305. The final three fields show the offset, delay and RMS jitter, all
-in seconds.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>clockstats</TT></DT>
-
-<DD>
-Enables recording of clock driver statistics information. Each update received
-from a clock driver appends a line of the following form to the file generation
-set named <TT>clockstats</TT>:</DD>
-
-<PRE>49213 525.624 127.127.4.1 93 226 00:08:29.606 D</PRE>
-
-<DD>
-The first two fields show the date (Modified Julian Day) and time (seconds
-and fraction past UTC midnight). The next field shows the clock address
-in dotted-quad notation, The final field shows the last timecode received
-from the clock in decoded ASCII format, where meaningful. In some clock
-drivers a good deal of additional information can be gathered and displayed
-as well. See information specific to each clock for further details.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>rawstats</TT></DT>
-
-<DD>
-Enables recording of raw-timestamp statistics information. This includes
+<html><head><title>
+Monitoring Options
+</title></head><body><h3>
+Monitoring Options
+</h3><hr>
+
+<h4>Monitoring Support</h4>
+
+<tt>ntpd</tt> includes a comprehensive monitoring facility suitable for
+continuous, long term recording of server and client timekeeping
+performance. See the <tt>statistics</tt> command below for a listing and
+example of each type of statistics currently supported. Statistic files
+are managed using file generation sets and scripts in the ./scripts
+directory of this distribution. Using these facilities and Unix
+<tt>cron</tt> jobs, the datacan be automatically summarized and archived
+for retrospective analysis.
+
+<h4>Monitoring Commands</h4>
+
+<dl>
+
+<dt><tt>statistics <I>name</I> [...]</tt></dt>
+<dd>Enables writing of statistics records. Currently, four kinds of
+<I><tt>name</tt></I>statistics are supported.</dd>
+
+<dl>
+
+<dt><tt>loopstats</tt></dt>
+<dd>Enables recording of loop filter statistics information. Each update
+of the local clock outputs a line of the following form to the file
+generation set named <tt>loopstats</tt>:</dd>
+
+<p><dd><tt>50935 75440.031 0.000006019 13.778190 0.000351733 0.013380
+6</tt></dd>
+
+<p><dd>The first two fields show the date (Modified Julian Day) and time
+(seconds and fraction past UTC midnight). The next five fields show time
+offset (seconds), frequency offset (parts per million - PPM), RMS jitter
+(seconds), Allan deviation (PPM) and clock discipline time
+constant.</dd>
+
+<dt><tt>peerstats</tt></dt>
+<dd>Enables recording of peer statistics information. This includes
statistics records of all peers of a NTP server and of special signals,
-where present and configured. Each NTP message received from a peer or
-clock driver appends a line of the following form to the file generation
-set named <TT>rawstats</TT>:</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DD>
-<TT>50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000 3102453281.58622800031
-02453332.540806000 3102453332.541458000</TT></DD>
-
-<DD>
-<TT>&nbsp;</TT></DD>
-
-<DD>
-The first two fields show the date (Modified Julian Day) and time (seconds
-and fraction past UTC midnight). The next field shows the peer or clock
-address in dotted-quad notation, The final four fields show the originate,
-receive, transmit and final NTP timestamps in order. The timestamp values
-are as received and before processing by the various data smoothing and
-mitigation algorithms.</DD>
-</DL>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>statsdir <I>directory_path</I></TT></DT>
-
-<DD>
-Indicates the full path of a directory where statistics files should be
-created (see below). This keyword allows the (otherwise constant) <TT>filegen</TT>
-filename prefix to be modified for file generation sets, which is useful
-for handling statistics logs.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>filegen <I>name</I> [file <I>filename</I>] [type <I>typename</I>] [link
-| nolink] [enable | disable]</TT></DT>
-
-<DT>
-<TT>&nbsp;</TT></DT>
-
-<DD>
-Configures setting of generation file set <I>name</I>. Generation file
-sets provide a means for handling files that are continuously growing during
-the lifetime of a server. Server statistics are a typical example for such
-files. Generation file sets provide access to a set of files used to store
-the actual data. At any time at most one element of the set is being written
-to. The type given specifies when and how data will be directed to a new
-element of the set. This way, information stored in elements of a file
-set that are currently unused are available for administrational operations
-without the risk of disturbing the operation of <TT>ntpd</TT>. (Most important:
-they can be removed to free space for new data produced.)</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DD>
-Note that this command can be sent from the <TT>ntpdc</TT> program running
-at a remote location.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DL>
-<DT>
-<I><TT>name</TT></I></DT>
-
-<DD>
-This is the type of the statistics records, as shown in the <TT>statististics</TT>
-command.</DD>
-
-<DD>
-&nbsp;</DD>
-</DL>
-
-<DD>
-<TT>file <I>filename</I></TT></DD>
-
-<DL>
-<DD>
-This is the file name for the statistics records. Filenames of set members
-are built from three elements:</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DL>
-<DT>
-prefix</DT>
-
-<DD>
-This is a constant filename path. It is not subject to modifications via
-the <TT>filegen</TT> option. It is defined by the server, usually specified
-as a compile-time constant. It may, however, be configurable for individual
-file generation sets via other commands. For example, the prefix used with
-<TT>loopstats</TT> and <TT>peerstats</TT> generation can be configured
-using the <TT>statsdir</TT> option explained above.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<I><TT>filename</TT></I></DT>
-
-<DD>
-This string is directly concatenated to the prefix mentioned above (no
-intervening <TT>/</TT> (slash)). This can be modified using the <TT>file</TT>
-argument to the <TT>filegen</TT> statement. No <TT>..</TT> elements are
-allowed in this component to prevent filenames referring to parts outside
-the filesystem hierarchy denoted by <TT>prefix</TT>.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-suffix</DT>
-
-<DD>
-This part is reflects individual elements of a file set. It is generated
-according to the type of a file set.</DD>
-</DL>
-
-<DD>
-&nbsp;</DD>
-</DL>
-
-<DD>
-<TT>type <I>typename</I></TT></DD>
-
-<DL>
-<DD>
-A file generation set is characterized by its type. The following types
-are supported:</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DL>
-<DT>
-<TT>none</TT></DT>
-
-<DD>
-The file set is actually a single plain file.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>pid</TT></DT>
-
-<DD>
-One element of file set is used per incarnation of a <TT>ntpd</TT> server.
-This type does not perform any changes to file set members during runtime,
-however it provides an easy way of separating files belonging to different
-<TT>ntpd</TT> server incarnations. The set member filename is built by
-appending a <TT>.</TT> (dot) to concatenated <I>prefix</I> and <I>filename</I>
-strings, and appending the decimal representation of the process ID of
-the <TT>ntpd</TT> server process.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>day</TT></DT>
-
-<DD>
-One file generation set element is created per day. A day is defined as
-the period between 00:00 and 24:00 UTC. The file set member suffix consists
-of a <TT>.</TT> (dot) and a day specification in the form <TT>YYYYMMDD.
-YYYY</TT> is a 4-digit year number (e.g., 1992). <TT>MM</TT> is a two digit
-month number. <TT>DD</TT> is a two digit day number. Thus, all information
-written at 10 December 1992 would end up in a file named <TT><I>prefix
-filename</I>.19921210</TT>.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>week</TT></DT>
-
-<DD>
-Any file set member contains data related to a certain week of a year.
-The term week is defined by computing day-of-year modulo 7. Elements of
-such a file generation set are distinguished by appending the following
-suffix to the file set filename base: A dot, a 4-digit year number, the
-letter <TT>W</TT>, and a 2-digit week number. For example, information
-from January, 10th 1992 would end up in a file with suffix <TT>.1992W1</TT>.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>month</TT></DT>
-
-<DD>
-One generation file set element is generated per month. The file name suffix
-consists of a dot, a 4-digit year number, and a 2-digit month.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>year</TT></DT>
-
-<DD>
-One generation file element is generated per year. The filename suffix
-consists of a dot and a 4 digit year number.</DD>
-
-<DD>
-&nbsp;</DD>
-
-<DT>
-<TT>age</TT></DT>
-
-<DD>
-This type of file generation sets changes to a new element of the file
-set every 24 hours of server operation. The filename suffix consists of
-a dot, the letter <TT>a</TT>, and an 8-digit number. This number is taken
-to be the number of seconds the server is running at the start of the corresponding
-24-hour period. Information is only written to a file generation by specifying
-<TT>enabl</TT>; output is prevented by specifying <TT>disable</TT>.</DD>
-
-<DD>
-&nbsp;</DD>
-</DL>
-</DL>
-
-<DD>
-<TT>link | nolink</TT></DD>
-
-<DL>
-<DD>
-It is convenient to be able to access the current element of a file generation
-set by a fixed name. This feature is enabled by specifying <TT>link</TT>
-and disabled using <TT>nolink</TT>. If <TT>link</TT> is specified, a hard
-link from the current file set element to a file without suffix is created.
-When there is already a file with this name and the number of links of
-this file is one, it is renamed appending a dot, the letter <TT>C</TT>,
-and the pid of the <TT>ntpd</TT> server process. When the number of links
-is greater than one, the file is unlinked. This allows the current file
-to be accessed by a constant name.</DD>
-
-<DD>
-&nbsp;</DD>
-</DL>
-
-<DD>
-<TT>enable | disable</TT></DD>
-
-<DL>
-<DD>
-Enables or disables the recording function.</DD>
-</DL>
-</DL>
-
-<HR>
-<ADDRESS>
-David L. Mills (mills@udel.edu)</ADDRESS>
-
-</BODY>
-</HTML>
+where present and configured. Each valid update appends a line of the
+following form to the current element of a file generation set named
+<tt>peerstats</tt>:</dd>
+
+<p><dd><tt>48773 10847.650 127.127.4.1 9714 -0.001605 0.00000
+0.00142</tt></dd>
+
+<p><dd>The first two fields show the date (Modified Julian Day) and time
+(seconds and fraction past UTC midnight). The next two fields show the
+peer address in dotted-quad notation and status, respectively. The
+status field is encoded in hex in the format described in Appendix A of
+the NTP specification RFC 1305. The final three fields show the offset,
+delay and RMS jitter, all in seconds.</dd>
+
+<dt><tt>clockstats</tt></dt>
+<dd>Enables recording of clock driver statistics information. Each
+update received from a clock driver appends a line of the following form
+to the file generation set named <tt>clockstats</tt>:</dd>
+
+<p><dd><tt>49213 525.624 127.127.4.1 93 226 00:08:29.606 D</tt></dd>
+<p><dd>The first two fields show the date (Modified Julian Day) and time
+(seconds and fraction past UTC midnight). The next field shows the clock
+address in dotted-quad notation, The final field shows the last timecode
+received from the clock in decoded ASCII format, where meaningful. In
+some clock drivers a good deal of additional information can be gathered
+and displayed as well. See information specific to each clock for
+further details.</dd>
+
+<dt><tt>rawstats</tt></dt>
+<dd>Enables recording of raw-timestamp statistics information. This
+includes statistics records of all peers of a NTP server and of special
+signals, where present and configured. Each NTP message received from a
+peer or clock driver appends a line of the following form to the file
+generation set named <tt>rawstats</tt>:</dd>
+
+<p><dd><tt>50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000
+3102453281.58622800031 02453332.540806000 3102453332.541458000</tt></dd>
+
+<p><dd>The first two fields show the date (Modified Julian Day) and time
+(seconds and fraction past UTC midnight). The next two fields show the
+remote peer or clock address followed by the local address in
+dotted-quad notation, The final four fields show the originate, receive,
+transmit and final NTP timestamps in order. The timestamp values are as
+received and before processing by the various data smoothing and
+mitigation algorithms.</dd>
+
+</dl>
+
+<dt><tt>statsdir <I>directory_path</I></tt></dt>
+<dd>Indicates the full path of a directory where statistics files should
+be created (see below). This keyword allows the (otherwise constant)
+<tt>filegen</tt> filename prefix to be modified for file generation
+sets, which is useful for handling statistics logs.</dd>
+
+<dt><tt>filegen <I>name</I> [file <I>filename</I>] [type
+<I>typename</I>] [link | nolink] [enable | disable]</tt></dt>
+<dd>Configures setting of generation file set <I>name</I>. Generation
+file sets provide a means for handling files that are continuously
+growing during the lifetime of a server. Server statistics are a typical
+example for such files. Generation file sets provide access to a set of
+files used to store the actual data. At any time at most one element of
+the set is being written to. The type given specifies when and how data
+will be directed to a new element of the set. This way, information
+stored in elements of a file set that are currently unused are available
+for administrational operations without the risk of disturbing the
+operation of <tt>ntpd</tt>. (Most important: they can be removed to free
+space for new data produced.)</dd>
+
+<dd>Note that this command can be sent from the <tt>ntpdc</tt> program
+running at a remote location.</dd>
+
+<dl>
+
+<dt><I><tt>name</tt></I></dt>
+<dd>This is the type of the statistics records, as shown in the
+<tt>statististics</tt> command.</dd>
+
+</dl>
+
+<dd><tt>file <I>filename</I></tt></dd>
+
+<dl>
+
+<dd>This is the file name for the statistics records. Filenames of set
+members are built from three concatenated elements
+<I><tt>prefix</tt></I>, <I><tt>filename</tt></I> and
+<I><tt>suffix</tt></I>:</dd>
+
+<dl>
+
+<dt><I><tt>prefix</tt></I></dt>
+<dd>This is a constant filename path. It is not subject to modifications
+via the <tt>filegen</tt> option. It is defined by the server, usually
+specified as a compile-time constant. It may, however, be configurable
+for individual file generation sets via other commands. For example, the
+prefix used with <tt>loopstats</tt> and <tt>peerstats</tt> generation
+can be configured using the <tt>statsdir</tt> option explained
+above.</dd>
+
+<dt><I><tt>filename</tt></I></dt>
+<dd>This string is directly concatenated to the prefix mentioned above
+(no intervening <tt>/</tt> (slash)). This can be modified using the
+<tt>file</tt> argument to the <tt>filegen</tt> statement. No <tt>..</tt>
+elements are allowed in this component to prevent filenames referring to
+parts outside the filesystem hierarchy denoted by <tt>prefix</tt>.</dd>
+
+<dt><I><tt>suffix</tt></I></dt>
+<dd>This part is reflects individual elements of a file set. It is
+generated according to the type of a file set.</dd>
+
+</dl>
+
+</dl>
+
+<dd><tt>type <I>typename</I></tt></dd>
+
+<dl>
+
+<dd>A file generation set is characterized by its type. The following
+types are supported:</dd>
+
+<dl>
+
+<dt><tt>none</tt></dt>
+<dd>The file set is actually a single plain file.</dd>
+
+<dt><tt>pid</tt></dt>
+<dd>One element of file set is used per incarnation of a <tt>ntpd</tt>
+server. This type does not perform any changes to file set members
+during runtime, however it provides an easy way of separating files
+belonging to different <tt>ntpd</tt> server incarnations. The set member
+filename is built by appending a <tt>.</tt> (dot) to concatenated
+<I>prefix</I> and <I>filename</I> strings, and appending the decimal
+representation of the process ID of the <tt>ntpd</tt> server
+process.</dd>
+
+<dt><tt>day</tt></dt>
+<dd>One file generation set element is created per day. A day is defined
+as the period between 00:00 and 24:00 UTC. The file set member suffix
+consists of a <tt>.</tt> (dot) and a day specification in the form
+<tt>YYYYMMdd. YYYY</tt> is a 4-digit year number (e.g., 1992).
+<tt>MM</tt> is a two digit month number. <tt>dd</tt> is a two digit day
+number. Thus, all information written at 10 December 1992 would end up
+in a file named <tt><I>prefix filename</I>.19921210</tt>.</dd>
+
+<dt><tt>week</tt></dt>
+<dd>Any file set member contains data related to a certain week of a
+year. The term week is defined by computing day-of-year modulo 7.
+Elements of such a file generation set are distinguished by appending
+the following suffix to the file set filename base: A dot, a 4-digit
+year number, the letter <tt>W</tt>, and a 2-digit week number. For
+example, information from January, 10th 1992 would end up in a file with
+suffix <tt>.1992W1</tt>.</dd>
+
+<dt><tt>month</tt></dt>
+<dd>One generation file set element is generated per month. The file
+name suffix consists of a dot, a 4-digit year number, and a 2-digit
+month.</dd>
+
+<dt><tt>year</tt></dt>
+<dd>One generation file element is generated per year. The filename
+suffix consists of a dot and a 4 digit year number.</dd>
+
+<dt><tt>age</tt></dt>
+<dd>This type of file generation sets changes to a new element of the
+file set every 24 hours of server operation. The filename suffix
+consists of a dot, the letter <tt>a</tt>, and an 8-digit number. This
+number is taken to be the number of seconds the server is running at the
+start of the corresponding 24-hour period. Information is only written
+to a file generation by specifying <tt>enable</tt>; output is prevented
+by specifying <tt>disable</tt>.</dd>
+
+</dl>
+
+</dl>
+
+<dd><tt>link | nolink</tt></dd>
+
+<dl>
+
+<dd>It is convenient to be able to access the current element of a file
+generation set by a fixed name. This feature is enabled by specifying
+<tt>link</tt> and disabled using <tt>nolink</tt>. If <tt>link</tt> is
+specified, a hard link from the current file set element to a file
+without suffix is created. When there is already a file with this name
+and the number of links of this file is one, it is renamed appending a
+dot, the letter <tt>C</tt>, and the pid of the <tt>ntpd</tt> server
+process. When the number of links is greater than one, the file is
+unlinked. This allows the current file to be accessed by a constant
+name.</dd>
+
+</dl>
+
+<dd><tt>enable | disable</tt></dd>
+
+<dl>
+
+<dd>Enables or disables the recording function.</dd>
+
+</dl>
+
+</dl>
+
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/notes.htm b/contrib/ntp/html/notes.htm
index 6b20cbc44ab6..e9f648cd2ccf 100644
--- a/contrib/ntp/html/notes.htm
+++ b/contrib/ntp/html/notes.htm
@@ -1244,18 +1244,21 @@ value of <TT>tick</TT>.
<P>The <TT>tickadj</TT> program can reset several other kernel variables
if asked. It can change the value of <TT>tick</TT> if asked. This is
-handy
-to compensate for kernel bugs which cause the clock to run with a very
-large frequency error, as with SunOS 4.1.1 systems. It can also be used
-to set the value of the kernel <TT>dosynctodr</TT> variable to zero.
-This
-variable controls whether to synchronize the system clock to the time-
-of-day
-clock, something you really don't want to be happen when <TT>ntpd</TT>
-is trying to keep it under control. In some systems, such as recent Sun
-Solaris kernels, the <TT>dosynctodr </TT>variable is the only one that
-can be changed by the <TT>tickadj </TT>program. In this and other modern
-kernels, it is not necessary to change the other variables in any case.
+handy to compensate for kernel bugs which cause the clock to run with a
+very large frequency error, as with SunOS 4.1.1 systems. It can also be
+used to set the value of the kernel <TT>dosynctodr</TT> variable to
+zero. This variable controls whether to synchronize the system clock to
+the time-of-day clock, something you really don't want to be happen
+when <TT>ntpd</TT> is trying to keep it under control. In some systems,
+such as recent Sun Solaris kernels, the <TT>dosynctodr </TT>variable is
+the only one that can be changed by the <TT>tickadj </TT>program. In
+this and other modern kernels, it is not necessary to change the other
+variables in any case.
+
+<P>
+We have a report that says starting with Solaris 2.6 we should
+leave <I>dosynctodr</I> alone.
+<A HREF="solaris-dosynctodr.html">Here is the report</A>.
<P>In order to maintain reasonable correctness bounds, as well as
reasonably
diff --git a/contrib/ntp/html/ntpd.htm b/contrib/ntp/html/ntpd.htm
index a90dfcbd5fc8..0ba0ac73fba3 100644
--- a/contrib/ntp/html/ntpd.htm
+++ b/contrib/ntp/html/ntpd.htm
@@ -6,11 +6,10 @@
<H4>Synopsis</H4>
-<TT>ntpd [ -aAbdm ] [ -c <I>conffile</I> ] [ -f <I>driftfile</I> ] [ -k
-<I>keyfile</I> ] [ -l <I>logfile</I> ] [ -p <I>pidfile</I> ] [ -r
+<TT>ntpd [ -aAbdm ] [ -c <I>conffile</I> ] [ -f <I>driftfile</I> ] [ -g
+] [ -k <I>keyfile</I> ] [ -l <I>logfile</I> ] [ -p <I>pidfile</I> ] [ -r
<I>broadcastdelay</I> ] [ -s <I>statsdir</I> ] [ -t <I>key</I> ] [ -v
-<I>variable</I> ] [ -V
-<I>variable</I> ]</TT>
+<I>variable</I> ] [ -V <I>variable</I> ] [ -x ]</TT>
<H4>Description</H4>
@@ -43,9 +42,10 @@ local host is to be configured as a broadcast/multicast client or
manycast client, with all peers being determined by listening to
broadcasts at run time.
-<P>If NetInfo support is built into <TT>ntpd</TT>, then <TT>ntpd</TT> will
-attempt to read its configuration from the NetInfo if the default ntp.conf
-file cannot be read and no file is specified by the <TT>-c</TT> option.
+<P>If NetInfo support is built into <TT>ntpd</TT>, then <TT>ntpd</TT>
+will attempt to read its configuration from the NetInfo if the default
+ntp.conf file cannot be read and no file is specified by the <TT>-c</TT>
+option.
<P>Various internal <TT>ntpd</TT> variables can be displayed and
configuration options altered while the daemon is running using the
@@ -85,7 +85,8 @@ each occurrence indicating greater detail of display.</DD>
<DT><TT>-g</TT></DT>
<DD>Normally, the daemon exits if the offset exceeds a 1000-s sanity
limit. This option overrides this limit and allows the time to be set to
-any value without restriction.</DD>
+any value without restriction; however, this can happen only once. After
+that, the daemon will exit of the limit is exceeded.
<DT><TT>-k <I>keyfile</I></TT></DT>
<DD>Specify the name and path of the file containing the NTP
@@ -128,7 +129,6 @@ stepped, not gradually slewed. This option forces the time to be slewed
in all cases. Note: Since the slew rate is limited to 0.5 ms/s, each
second of adjustment requires an amortization interval of 2000 s. Thus,
an adjustment of many seconds can take hours or days to amortize.</DD>
-
</DL>
<H4>The Configuration File</H4>
diff --git a/contrib/ntp/html/pps.htm b/contrib/ntp/html/pps.htm
index a002c1f048c1..97850d71c4f2 100644
--- a/contrib/ntp/html/pps.htm
+++ b/contrib/ntp/html/pps.htm
@@ -1,18 +1,19 @@
-<HTML><HEAD><TITLE>
+<html><head><title>
Pulse-per-second (PPS) Signal Interfacing
-</TITLE></HEAD><BODY><H3>
+</title></head><body><h3>
Pulse-per-second (PPS) Signal Interfacing
-</H3><HR>
+</h3><hr>
-<P>Some radio clocks and related timekeeping gear have a pulse-per-
-second (PPS) signal that can be used to discipline the local clock
-oscillator to a high degree of precision, typically to the order less
-than 20 <FONT FACE=Symbol>m</FONT>s in time and 0.01 PPM in frequency.
-The PPS signal can be connected in either of two ways: via the data
-leads of a serial port or via the modem control leads. Either way
-requires conversion of the PPS signal, usually at TTL levels, to RS232
-levels, which can be done using a circuit such as described in the <A
-HREF=gadget.htm>Gadget Box PPS Level Converter and CHU Modem</A> page.
+<P>Some radio clocks and related timekeeping gear have a
+pulse-per-second (PPS) signal that can be used to discipline the local
+clock oscillator to a high degree of precision, typically to the order
+less than 20 <font face=Symbol>m</font>s in time and 0.01 PPM in
+frequency. The PPS signal can be connected in either of two ways: via
+the data leads of a serial port or via the modem control leads. Either
+way requires conversion of the PPS signal, usually at TTL levels, to
+RS232 levels, which can be done using a circuit such as described in the
+<A HREF=gadget.htm>Gadget Box PPS Level Converter and CHU Modem</A>
+page.
<P>The data leads interface requires regenerating the PPS pulse and
converting to RS232 signal levels, so that the pulse looks like a
diff --git a/contrib/ntp/html/qth.htm b/contrib/ntp/html/qth.htm
new file mode 100644
index 000000000000..200d3fb1f67b
--- /dev/null
+++ b/contrib/ntp/html/qth.htm
@@ -0,0 +1,64 @@
+<html><head><title>
+Stations, Frequencies and Geographic Coordinates
+</title></head><body><h3>
+Stations, Frequencies and Geographic Coordinates
+</h3><hr>
+
+The following data were obtained from the International Frequency List
+published by the ITU and other sources.
+
+<p><table cols=3 width=100%>
+
+<tr>
+<td>Station</td>
+<td>Frequencies</td>
+<td>Coordinates</td>
+</tr>
+
+<tr>
+<td>WWV Ft. Collins, CO</td>
+<td>2.5/5/10/15/20 MHz</td>
+<td>40:40:49.0N 105:02:27.0W</td>
+</tr>
+
+<tr>
+<td>WWVB Ft. Collins, CO</td>
+<td>60 kHz</td>
+<td>40:40:28.3N 105:02:39.5W</td>
+</tr>
+
+<tr>
+<td>WWVH Kauai, HI</td>
+<td>2.5/5/10/15 MHz</td>
+<td>21:59:26.0N 159:46:00.0W</td>
+</tr>
+
+<tr>
+<td>CHU Ottawa, CA</td>
+<td>3330/7335/14670 kHz</td>
+<td>45:18N 75:45N</td>
+</tr>
+
+<tr>
+<td>DCF77 Mainflingen, DE</td>
+<td>77.5 kHz</td>
+<td>50:01N 9:00E</td>
+</tr>
+
+<tr>
+<td>MSF Rugby, UK</td>
+<td>60 kHz</td>
+<td>52:22N 1:11W</td>
+</tr>
+
+<tr>
+<td>TDF Allouis, FR</td>
+<td>162 kHz</td>
+<td>47:10N 2:12E</td>
+</tr>
+
+</table>
+
+<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
+href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
+</address></a></body></html>
diff --git a/contrib/ntp/html/refclock.htm b/contrib/ntp/html/refclock.htm
index 5747e3fea656..80c62a265a59 100644
--- a/contrib/ntp/html/refclock.htm
+++ b/contrib/ntp/html/refclock.htm
@@ -1,6 +1,6 @@
-<HTML><HEAD><TITLE>
+<html><head><title>
Reference Clock Drivers
-</TITLE></HEAD><BODY><H3>
+</title></head><body><h3>
Reference Clock Drivers
</H3>
@@ -19,13 +19,11 @@ Reference Clock Drivers
The Tardis
<hr>
-<H4>Reference Clock Drivers</H4>
-
-Support for most of the commonly available radio and modem clocks is
-included in the default configuration of the NTP daemon for Unix
-<TT>ntpd</TT>. Individual clocks can be activated by configuration file
-commands, specifically the <TT>server</TT> and <TT>fudge</TT> commands
-described in the <A HREF=ntpd.htm><TT>ntpd</TT> program manual
+Support for most of the commonly available radio and modem reference
+clocks is included in the default configuration of the NTP daemon for
+Unix <TT>ntpd</TT>. Individual clocks can be activated by configuration
+file commands, specifically the <TT>server</TT> and <TT>fudge</TT>
+commands described in the <A HREF=ntpd.htm><TT>ntpd</TT> program manual
page</A>. The following discussion presents Information on how to select
and configure the device drivers in a running Unix system.
@@ -39,13 +37,42 @@ device is normally specified by adding a soft link
<TT>/dev/device<I>u</I></TT> to the particular hardware device involved,
where <I><TT>u</TT></I> correspond to the unit number above.
+<p>Most clock drivers communicate with the reference clock using a
+serial port, usually at 9600 bps. There are several application program
+interfaces (API) used in the various Unix and NT systems, most of which
+can be detected at configuration time. Thus, it is important that the
+NTP daemon and utilities be compiled on the target system or clone. In
+some cases special features are available, such as timestamping in the
+kernel or pulse-per-second (PPS) interface. In most cases these features
+can be detected at configuration time as well; however, the kernel may
+have to be recompiled in order for them to work.
+
+<p>The audio drivers are a special case. These include support for the
+NIST time/frequency stations WWV and WWVH, the Canadian time/frequency
+station CHU and generic IRIG signals. Currently, support for the Solaris
+and SunOS audio API is included in the distribution. It is left to the
+volunteer corps to extend this support to other systems. Further
+information on hookup, debugging and monitoring is given in the <a
+href=audio.htm>Audio Drivers</a> page.
+
+<p>Some drivers depending on longwave and shortwave radio services need
+to know the radio propagation time from the transmitter to the receiver,
+which can amount to some tens of milliseconds. This must be calculated
+for each specific receiver location and requires the geographic
+coordinates of both the transmitter and receiver. The transmitter
+coordinates for various radio services are given in the <a
+href=qth.htm>Stations, Frequencies and Geographic Coordinates</a> page.
+Receiver coordinates can be obtained or estimated from various sources.
+The actual calculations are beyond the scope of this document.
+
<P>Following is a list showing the type and title of each driver
currently implemented. The compile-time identifier for each is shown in
parentheses. Click on a selected type for specific description and
configuration documentation, including the clock address, reference ID,
-driver ID, device name and speed, and features (line disciplines, etc.).
-For those drivers without specific documentation, please contact the
-author listed in the <A HREF=copyright.htm>copyright page</A>.
+driver ID, device name and serial line speed, and features (line
+disciplines, etc.). For those drivers without specific documentation,
+please contact the author listed in the <A HREF=copyright.htm>Copyright
+Notice</A> page.
<P><A HREF=driver1.htm>Type 1</A> Undisciplined Local Clock
(<TT>LOCAL</TT>)
@@ -54,13 +81,13 @@ author listed in the <A HREF=copyright.htm>copyright page</A>.
<BR><A HREF=driver3.htm>Type 3</A> PSTI/Traconex 1020 WWV/WWVH
Receiver
(<TT>WWV_PST</TT>)
-<BR><A HREF=driver4.htm>Type 4</A> Spectracom 8170 and Netclock/2 WWVB
-Receivers (<TT>WWVB_SPEC</TT>)
+<BR><A HREF=driver4.htm>Type 4</A> Spectracom WWVB and GPS Receivers
+(<TT>WWVB_SPEC</TT>)
<BR><A HREF=driver5.htm>Type 5</A> TrueTime GPS/GOES/OMEGA Receivers
(<TT>TRUETIME</TT>)
<BR><A HREF=driver6.htm>Type 6</A> IRIG Audio Decoder
(<TT>IRIG_AUDIO</TT>)
-<BR><A HREF=driver7.htm>Type 7</A> CHU Audio/Modem Decoder
+<BR><A HREF=driver7.htm>Type 7</A> Radio CHU Audio Demodulator/Decoder
(<TT>CHU</TT>)
<BR><A HREF=driver8.htm>Type 8</A> Generic Reference Driver
(<TT>PARSE</TT>)
@@ -93,29 +120,33 @@ Receivers (<TT>WWVB_SPEC</TT>)
(<TT>ACTS_USNO</TT>)
<BR><A HREF=driver5.htm>Type 25</A> * TrueTime generic receivers
<BR><A HREF=driver26.htm>Type 26</A> Hewlett Packard 58503A GPS
-Receiver
-(<TT>GPS_HP</TT>)
+Receiver (<TT>GPS_HP</TT>)
<BR><A HREF=driver27.htm>Type 27</A> Arcron MSF Receiver
(<TT>MSF_ARCRON</TT>)
-<BR><A HREF=driver28.htm>Type 28</A> Shared memory driver
+<BR><A HREF=driver28.htm>Type 28</A> Shared Memory Driver
(<TT>SHM</TT>)
-<BR><A HREF=driver29.htm>Type 29</A> Trimble Navigation Palisade GPS (<TT>GPS_PALISADE</TT>)
-<BR><A HREF=driver30.htm>Type 30 Motorola UT Oncore GPS
+<BR><A HREF=driver29.htm>Type 29</A> Trimble Navigation Palisade GPS
+(<TT>GPS_PALISADE</TT>)
+<BR><A HREF=driver30.htm>Type 30</A> Motorola UT Oncore GPS
(<TT>GPS_ONCORE</TT>)
<BR>Type 31 Rockwell Jupiter GPS (<TT>GPS_JUPITER</TT>)
-<BR><A HREF=driver34.htm>Type 34</A> Ultralink WWVB receivers
+<BR><A HREF=driver34.htm>Type 34</A> Ultralink WWVB Receivers
+<BR><A HREF=driver35.htm>Type 35</A> Conrad Parallel Port Radio Clock
+(<TT>PCF</TT>)
+<BR><A HREF=driver36.htm>Type 36</A> Radio WWV/H Audio
+Demodulator/Decoder(<TT>WWV</TT>)
+<BR><A HREF=driver37.htm>Type 37</A> Forum Graphic GPS Dating station
+(<TT>FG</TT>)
<P>* All TrueTime receivers are now supported by one driver, type 5.
-Types
-15 and 25 will be retained only for a limited time and may be reassigned
-in future.
-
+Types 15 and 25 will be retained only for a limited time and may be
+reassigned in future.
<P>Additional Information
-
<P><A HREF=prefer.htm>Mitigation Rules and the <TT>prefer</TT>
Keyword</A>
<BR><A HREF=rdebug.htm>Debugging Hints for Reference Clock Drivers</A>
<BR><A HREF=ldisc.htm>Line Disciplines and Streams Drivers</A>
+<BR><A HREF=audio.htm>Reference Clock Audio Drivers</A>
<BR><A HREF=pps.htm>Pulse-per-second (PPS) Signal Interfacing</A>
<BR><A HREF=howto.htm>How To Write a Reference Clock Driver</A>
<BR><A HREF=index.htm>The Network Time Protocol (NTP)
diff --git a/contrib/ntp/html/tickadj.htm b/contrib/ntp/html/tickadj.htm
index 7d3a863e5669..7dc11c0cfddb 100644
--- a/contrib/ntp/html/tickadj.htm
+++ b/contrib/ntp/html/tickadj.htm
@@ -25,6 +25,10 @@ call, and <TT>dosynctodr</TT>, which indicates to the kernels on some machines
whether they should internally adjust the system clock to keep it in line
with time-of-day clock or not.
+<P>We have a report that says starting with Solaris 2.6 we should
+leave <I>dosynctodr</I> alone.
+<A HREF="solaris-dosynctodr.html">Here is the report</A>.
+
<P>By default, with no arguments, <TT>tickadj</TT> reads the variables
of interest in the kernel and displays them. At the same time, it determines
an "optimal" value for the value of the <TT>tickadj</TT> variable if the
diff --git a/contrib/ntp/include/Makefile.am b/contrib/ntp/include/Makefile.am
index 1f80c16cf4fb..d7f28f6155ab 100644
--- a/contrib/ntp/include/Makefile.am
+++ b/contrib/ntp/include/Makefile.am
@@ -6,9 +6,11 @@ ETAGS_ARGS = $(srcdir)/Makefile.am
noinst_HEADERS = \
adjtime.h \
ascii.h \
+ audio.h \
binio.h \
global.h \
gps.h \
+ icom.h \
ieee754io.h \
iosignal.h \
l_stdlib.h \
diff --git a/contrib/ntp/include/Makefile.in b/contrib/ntp/include/Makefile.in
index 0453bf4f00ea..c1557c0604a3 100644
--- a/contrib/ntp/include/Makefile.in
+++ b/contrib/ntp/include/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../util/ansi2knr no-dependencies
@@ -104,9 +108,11 @@ ETAGS_ARGS = $(srcdir)/Makefile.am
noinst_HEADERS = \
adjtime.h \
ascii.h \
+ audio.h \
binio.h \
global.h \
gps.h \
+ icom.h \
ieee754io.h \
iosignal.h \
l_stdlib.h \
@@ -156,32 +162,36 @@ GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps include/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -198,7 +208,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -240,6 +250,7 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-am
diff --git a/contrib/ntp/include/audio.h b/contrib/ntp/include/audio.h
new file mode 100644
index 000000000000..284411c20d50
--- /dev/null
+++ b/contrib/ntp/include/audio.h
@@ -0,0 +1,13 @@
+/*
+ * Header file for audio drivers
+ */
+#include "ntp_types.h"
+
+#define AUDIO_BUFSIZ 160 /* codec buffer size (Solaris only) */
+
+/*
+ * Function prototypes
+ */
+int audio_init P((void));
+int audio_gain P((int, int));
+void audio_show P((void));
diff --git a/contrib/ntp/include/icom.h b/contrib/ntp/include/icom.h
new file mode 100755
index 000000000000..aac62c8d3de4
--- /dev/null
+++ b/contrib/ntp/include/icom.h
@@ -0,0 +1,87 @@
+/*
+ * Header file for ICOM radios
+ */
+#include "ntp_types.h"
+
+/*
+ * Common definitions
+ */
+#define P_ERMSG 0x1 /* trace bus error messages */
+#define P_TRACE 0x2 /* trace CI-V messges */
+#define RETRY 3 /* max packet retries */
+#define IBAUD B1200 /* autotune port speed */
+
+/*
+ * Radio identifier codes
+ */
+#define IC1271 0x24
+#define IC1275 0x18
+#define IC271 0x20
+#define IC275 0x10
+#define IC375 0x12
+#define IC471 0x22
+#define IC475 0x14
+#define IC575 0x16
+#define IC725 0x28
+#define IC726 0x30
+#define IC735 0x04
+#define IC751 0x1c
+#define IC761 0x1e
+#define IC765 0x2c
+#define IC775 0x46
+#define IC781 0x26
+#define IC970 0x2e
+#define R7000 0x08
+#define R71 0x1a
+#define R7100 0x34
+#define R72 0x32
+#define R8500 0x4a
+#define R9000 0x2a
+
+/*
+ * CI-V frame codes
+ */
+#define PR 0xfe /* preamble */
+#define TX 0xe0 /* controller address */
+#define FI 0xfd /* end of message */
+#define ACK 0xfb /* controller normal reply */
+#define NAK 0xfa /* controller error reply */
+#define PAD 0xff /* transmit padding */
+
+/*
+ * CI-V controller commands
+ */
+#define V_FREQT 0x00 /* freq set (transceive) */
+#define V_MODET 0x01 /* set mode (transceive) */
+#define V_RBAND 0x02 /* read band edge */
+#define V_RFREQ 0x03 /* read frequency */
+#define V_RMODE 0x04 /* read mode */
+#define V_SFREQ 0x05 /* set frequency */
+#define V_SMODE 0x06 /* set mode */
+#define V_SVFO 0x07 /* select vfo */
+#define V_SMEM 0x08 /* select channel/bank */
+#define V_WRITE 0x09 /* write channel */
+#define V_VFOM 0x0a /* memory -> vfo */
+#define V_CLEAR 0x0b /* clear channel */
+#define V_ROFFS 0x0c /* read tx offset */
+#define V_SOFFS 0x0d /* write tx offset */
+#define V_SCAN 0x0e /* scan control */
+#define V_SPLIT 0x0f /* split control */
+#define V_DIAL 0x10 /* set dial tuning step */
+#define V_ATTEN 0x11 /* set attenuator */
+#define V_SANT 0x12 /* select antenna */
+#define V_ANNC 0x13 /* announce control */
+#define V_WRCTL 0x14 /* write controls */
+#define V_RDCTL 0x15 /* read controls */
+#define V_TOGL 0x16 /* set switches */
+#define V_ASCII 0x17 /* send CW message */
+#define V_POWER 0x18 /* power control */
+#define V_RDID 0x19 /* read model ID */
+#define V_SETW 0x1a /* read/write channel/bank data */
+#define V_CTRL 0x7f /* miscellaneous control */
+
+/*
+ * Function prototypes
+ */
+int icom_init P((char *, int, int));
+int icom_freq P((int, int, double));
diff --git a/contrib/ntp/include/l_stdlib.h b/contrib/ntp/include/l_stdlib.h
index fdabe67163f7..949cf8ff4ad7 100644
--- a/contrib/ntp/include/l_stdlib.h
+++ b/contrib/ntp/include/l_stdlib.h
@@ -169,6 +169,10 @@ extern int vsprintf P((char *, const char *, ...));
extern int stime P((const time_t *));
#endif
+#ifdef DECL_STIME_1
+extern int stime P((long *));
+#endif
+
#ifdef DECL_STRERROR_0
extern char * strerror P((int errnum));
#endif
diff --git a/contrib/ntp/include/ntp.h b/contrib/ntp/include/ntp.h
index 790e0a5e0aca..f4d01de5df7a 100644
--- a/contrib/ntp/include/ntp.h
+++ b/contrib/ntp/include/ntp.h
@@ -343,10 +343,10 @@ struct peer {
#define REFCLK_LOCALCLOCK 1 /* external (e.g., lockclock) */
#define REFCLK_GPS_TRAK 2 /* TRAK 8810 GPS Receiver */
#define REFCLK_WWV_PST 3 /* PST/Traconex 1020 WWV/H */
-#define REFCLK_WWVB_SPECTRACOM 4 /* Spectracom 8170/Netclock WWVB */
+#define REFCLK_SPECTRACOM 4 /* Spectracom (generic) Receivers */
#define REFCLK_TRUETIME 5 /* TrueTime (generic) Receivers */
-#define REFCLK_IRIG_AUDIO 6 /* IRIG-B audio decoder */
-#define REFCLK_CHU 7 /* scratchbuilt CHU (Canada) */
+#define REFCLK_IRIG_AUDIO 6 /* IRIG-B/W audio decoder */
+#define REFCLK_CHU_AUDIO 7 /* CHU audio demodulator/decoder */
#define REFCLK_PARSE 8 /* generic driver (usually DCF77,GPS,MSF) */
#define REFCLK_GPS_MX4200 9 /* Magnavox MX4200 GPS */
#define REFCLK_GPS_AS2201 10 /* Austron 2201A GPS */
@@ -373,7 +373,10 @@ struct peer {
#define REFCLK_CHRONOLOG 32 /* Chrono-log K WWVB receiver */
#define REFCLK_DUMBCLOCK 33 /* Dumb localtime clock */
#define REFCLK_ULINK 34 /* Ultralink M320 WWVB receiver */
-#define REFCLK_MAX 34 /* Grow as needed... */
+#define REFCLK_PCF 35 /* Conrad parallel port radio clock */
+#define REFCLK_WWV_AUDIO 36 /* WWV/H audio demodulator/decoder */
+#define REFCLK_FG 37 /* Forum Graphic GPS */
+#define REFCLK_MAX 37 /* Grow as needed... */
/*
* We tell reference clocks from real peers by giving the reference
diff --git a/contrib/ntp/include/ntp_refclock.h b/contrib/ntp/include/ntp_refclock.h
index ad278a3c5576..fd1d0801d98e 100644
--- a/contrib/ntp/include/ntp_refclock.h
+++ b/contrib/ntp/include/ntp_refclock.h
@@ -165,8 +165,8 @@ struct refclockbug {
#define LDISC_CLK 0x1 /* tty_clk \n intercept */
#define LDISC_CLKPPS 0x2 /* tty_clk \377 intercept */
#define LDISC_ACTS 0x4 /* tty_clk #* intercept */
-#define LDISC_CHU 0x8 /* tty_chu */
-#define LDISC_PPS 0x10 /* ppsclock */
+#define LDISC_CHU 0x8 /* depredated */
+#define LDISC_PPS 0x10 /* ppsclock, ppsapi */
#define LDISC_RAW 0x20 /* raw binary */
struct refclockproc {
diff --git a/contrib/ntp/kernel/Makefile.in b/contrib/ntp/kernel/Makefile.in
index 1a4d1ed96071..d3836b0b203e 100644
--- a/contrib/ntp/kernel/Makefile.in
+++ b/contrib/ntp/kernel/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../util/ansi2knr no-dependencies
@@ -115,9 +119,9 @@ GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps kernel/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu kernel/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -179,15 +183,17 @@ tags-recursive:
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -195,12 +201,14 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -217,7 +225,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -229,7 +237,6 @@ distdir: $(DISTFILES)
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
- chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
@@ -270,6 +277,7 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
diff --git a/contrib/ntp/kernel/sys/Makefile.in b/contrib/ntp/kernel/sys/Makefile.in
index 530f3861f876..7bd669f2f62b 100644
--- a/contrib/ntp/kernel/sys/Makefile.in
+++ b/contrib/ntp/kernel/sys/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../../util/ansi2knr no-dependencies
@@ -121,32 +125,36 @@ GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps kernel/sys/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu kernel/sys/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -163,7 +171,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -205,6 +213,7 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-am
diff --git a/contrib/ntp/libntp/Makefile.am b/contrib/ntp/libntp/Makefile.am
index 9ba3c097d914..c984c89b6107 100644
--- a/contrib/ntp/libntp/Makefile.am
+++ b/contrib/ntp/libntp/Makefile.am
@@ -7,11 +7,12 @@ libntp_a_SOURCES = a_md5encrypt.c adjtime.c atoint.c atolfp.c atouint.c \
clocktime.c clocktypes.c decodenetnum.c dofptoa.c dolfptoa.c \
emalloc.c findconfig.c fptoa.c fptoms.c getopt.c hextoint.c \
hextolfp.c humandate.c inttoa.c lib_strbuf.c machines.c md5c.c \
- memmove.c mexit.c mfptoa.c mfptoms.c modetoa.c mstolfp.c msutotsf.c \
+ memmove.c mfptoa.c mfptoms.c modetoa.c mstolfp.c msutotsf.c \
msyslog.c netof.c numtoa.c numtohost.c octtoint.c prettydate.c \
ranny.c refnumtoa.c statestr.c syssignal.c systime.c tsftomsu.c \
tstotv.c tvtoa.c tvtots.c uglydate.c uinttoa.c utvtoa.c ymd2yd.c \
- mfp_mul.c binio.c ieee754io.c gpstolfp.c recvbuff.c iosignal.c
+ mfp_mul.c binio.c ieee754io.c gpstolfp.c recvbuff.c iosignal.c \
+ icom.c audio.c
libntp_a_LIBADD = @LIBOBJS@
libntp_a_DEPENDENCIES = @LIBOBJS@
INCLUDES = -I$(top_srcdir)/include
diff --git a/contrib/ntp/libntp/Makefile.in b/contrib/ntp/libntp/Makefile.in
index 53eda6771c6f..c89e8f9038bf 100644
--- a/contrib/ntp/libntp/Makefile.in
+++ b/contrib/ntp/libntp/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,6 +96,7 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../ansi2knr no-dependencies
@@ -105,11 +109,12 @@ libntp_a_SOURCES = a_md5encrypt.c adjtime.c atoint.c atolfp.c atouint.c \
clocktime.c clocktypes.c decodenetnum.c dofptoa.c dolfptoa.c \
emalloc.c findconfig.c fptoa.c fptoms.c getopt.c hextoint.c \
hextolfp.c humandate.c inttoa.c lib_strbuf.c machines.c md5c.c \
- memmove.c mexit.c mfptoa.c mfptoms.c modetoa.c mstolfp.c msutotsf.c \
+ memmove.c mfptoa.c mfptoms.c modetoa.c mstolfp.c msutotsf.c \
msyslog.c netof.c numtoa.c numtohost.c octtoint.c prettydate.c \
ranny.c refnumtoa.c statestr.c syssignal.c systime.c tsftomsu.c \
tstotv.c tvtoa.c tvtots.c uglydate.c uinttoa.c utvtoa.c ymd2yd.c \
- mfp_mul.c binio.c ieee754io.c gpstolfp.c recvbuff.c iosignal.c
+ mfp_mul.c binio.c ieee754io.c gpstolfp.c recvbuff.c iosignal.c \
+ icom.c audio.c
libntp_a_LIBADD = @LIBOBJS@
libntp_a_DEPENDENCIES = @LIBOBJS@
@@ -130,6 +135,7 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LIBS = @LIBS@
ANSI2KNR = ../util/ansi2knr
+libntp_a_AR = $(AR) cru
am_libntp_a_OBJECTS = a_md5encrypt$U.o adjtime$U.o atoint$U.o \
atolfp$U.o atouint$U.o authencrypt$U.o authkeys$U.o authparity$U.o \
authreadkeys$U.o authusekey$U.o buftvtots$U.o caljulian$U.o \
@@ -137,12 +143,12 @@ calleapwhen$U.o caltontp$U.o calyearstart$U.o clocktime$U.o \
clocktypes$U.o decodenetnum$U.o dofptoa$U.o dolfptoa$U.o emalloc$U.o \
findconfig$U.o fptoa$U.o fptoms$U.o getopt$U.o hextoint$U.o \
hextolfp$U.o humandate$U.o inttoa$U.o lib_strbuf$U.o machines$U.o \
-md5c$U.o memmove$U.o mexit$U.o mfptoa$U.o mfptoms$U.o modetoa$U.o \
-mstolfp$U.o msutotsf$U.o msyslog$U.o netof$U.o numtoa$U.o numtohost$U.o \
+md5c$U.o memmove$U.o mfptoa$U.o mfptoms$U.o modetoa$U.o mstolfp$U.o \
+msutotsf$U.o msyslog$U.o netof$U.o numtoa$U.o numtohost$U.o \
octtoint$U.o prettydate$U.o ranny$U.o refnumtoa$U.o statestr$U.o \
syssignal$U.o systime$U.o tsftomsu$U.o tstotv$U.o tvtoa$U.o tvtots$U.o \
uglydate$U.o uinttoa$U.o utvtoa$U.o ymd2yd$U.o mfp_mul$U.o binio$U.o \
-ieee754io$U.o gpstolfp$U.o recvbuff$U.o iosignal$U.o
+ieee754io$U.o gpstolfp$U.o recvbuff$U.o iosignal$U.o icom$U.o audio$U.o
libntp_a_OBJECTS = $(am_libntp_a_OBJECTS)
AR = ar
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -158,6 +164,32 @@ strerror.c
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+DEP_FILES = @AMDEP@ $(DEPDIR)/a_md5encrypt$U.Po $(DEPDIR)/adjtime$U.Po \
+$(DEPDIR)/atoint$U.Po $(DEPDIR)/atolfp$U.Po $(DEPDIR)/atouint$U.Po \
+$(DEPDIR)/audio$U.Po $(DEPDIR)/authencrypt$U.Po $(DEPDIR)/authkeys$U.Po \
+$(DEPDIR)/authparity$U.Po $(DEPDIR)/authreadkeys$U.Po \
+$(DEPDIR)/authusekey$U.Po $(DEPDIR)/binio$U.Po $(DEPDIR)/buftvtots$U.Po \
+$(DEPDIR)/caljulian$U.Po $(DEPDIR)/calleapwhen$U.Po \
+$(DEPDIR)/caltontp$U.Po $(DEPDIR)/calyearstart$U.Po \
+$(DEPDIR)/clocktime$U.Po $(DEPDIR)/clocktypes$U.Po \
+$(DEPDIR)/decodenetnum$U.Po $(DEPDIR)/dofptoa$U.Po \
+$(DEPDIR)/dolfptoa$U.Po $(DEPDIR)/emalloc$U.Po \
+$(DEPDIR)/findconfig$U.Po $(DEPDIR)/fptoa$U.Po $(DEPDIR)/fptoms$U.Po \
+$(DEPDIR)/getopt$U.Po $(DEPDIR)/gpstolfp$U.Po $(DEPDIR)/hextoint$U.Po \
+$(DEPDIR)/hextolfp$U.Po $(DEPDIR)/humandate$U.Po $(DEPDIR)/icom$U.Po \
+$(DEPDIR)/ieee754io$U.Po $(DEPDIR)/inttoa$U.Po $(DEPDIR)/iosignal$U.Po \
+$(DEPDIR)/lib_strbuf$U.Po $(DEPDIR)/machines$U.Po $(DEPDIR)/md5c$U.Po \
+$(DEPDIR)/memmove$U.Po $(DEPDIR)/mfp_mul$U.Po $(DEPDIR)/mfptoa$U.Po \
+$(DEPDIR)/mfptoms$U.Po $(DEPDIR)/mktime.Po $(DEPDIR)/modetoa$U.Po \
+$(DEPDIR)/mstolfp$U.Po $(DEPDIR)/msutotsf$U.Po $(DEPDIR)/msyslog$U.Po \
+$(DEPDIR)/netof$U.Po $(DEPDIR)/numtoa$U.Po $(DEPDIR)/numtohost$U.Po \
+$(DEPDIR)/octtoint$U.Po $(DEPDIR)/prettydate$U.Po $(DEPDIR)/ranny$U.Po \
+$(DEPDIR)/recvbuff$U.Po $(DEPDIR)/refnumtoa$U.Po \
+$(DEPDIR)/statestr$U.Po $(DEPDIR)/strerror.Po $(DEPDIR)/syssignal$U.Po \
+$(DEPDIR)/systime$U.Po $(DEPDIR)/tsftomsu$U.Po $(DEPDIR)/tstotv$U.Po \
+$(DEPDIR)/tvtoa$U.Po $(DEPDIR)/tvtots$U.Po $(DEPDIR)/uglydate$U.Po \
+$(DEPDIR)/uinttoa$U.Po $(DEPDIR)/utvtoa$U.Po $(DEPDIR)/ymd2yd$U.Po
SOURCES = $(libntp_a_SOURCES)
OBJECTS = $(am_libntp_a_OBJECTS)
@@ -165,9 +197,9 @@ all: all-redirect
.SUFFIXES:
.SUFFIXES: .c .o
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps libntp/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu libntp/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -181,9 +213,6 @@ distclean-noinstLIBRARIES:
maintainer-clean-noinstLIBRARIES:
-.c.o:
- $(COMPILE) -c $<
-
mostlyclean-compile:
-rm -f *.o core *.core
@@ -208,74 +237,10 @@ clean-kr:
distclean-kr:
maintainer-clean-kr:
-a_md5encrypt$U.o:
-adjtime$U.o:
-atoint$U.o:
-atolfp$U.o:
-atouint$U.o:
-authencrypt$U.o:
-authkeys$U.o:
-authparity$U.o:
-authreadkeys$U.o:
-authusekey$U.o:
-buftvtots$U.o:
-caljulian$U.o:
-calleapwhen$U.o:
-caltontp$U.o:
-calyearstart$U.o:
-clocktime$U.o:
-clocktypes$U.o:
-decodenetnum$U.o:
-dofptoa$U.o:
-dolfptoa$U.o:
-emalloc$U.o:
-findconfig$U.o:
-fptoa$U.o:
-fptoms$U.o:
-getopt$U.o:
-hextoint$U.o:
-hextolfp$U.o:
-humandate$U.o:
-inttoa$U.o:
-lib_strbuf$U.o:
-machines$U.o:
-md5c$U.o:
-memmove$U.o:
-mexit$U.o:
-mfptoa$U.o:
-mfptoms$U.o:
-modetoa$U.o:
-mstolfp$U.o:
-msutotsf$U.o:
-msyslog$U.o:
-netof$U.o:
-numtoa$U.o:
-numtohost$U.o:
-octtoint$U.o:
-prettydate$U.o:
-ranny$U.o:
-refnumtoa$U.o:
-statestr$U.o:
-syssignal$U.o:
-systime$U.o:
-tsftomsu$U.o:
-tstotv$U.o:
-tvtoa$U.o:
-tvtots$U.o:
-uglydate$U.o:
-uinttoa$U.o:
-utvtoa$U.o:
-ymd2yd$U.o:
-mfp_mul$U.o:
-binio$U.o:
-ieee754io$U.o:
-gpstolfp$U.o:
-recvbuff$U.o:
-iosignal$U.o:
libntp.a: $(libntp_a_OBJECTS) $(libntp_a_DEPENDENCIES)
-rm -f libntp.a
- $(AR) cru libntp.a $(libntp_a_OBJECTS) $(libntp_a_LIBADD)
+ $(libntp_a_AR) libntp.a $(libntp_a_OBJECTS) $(libntp_a_LIBADD)
$(RANLIB) libntp.a
a_md5encrypt_.c: a_md5encrypt.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/a_md5encrypt.c; then echo $(srcdir)/a_md5encrypt.c; else echo a_md5encrypt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > a_md5encrypt_.c
@@ -287,6 +252,8 @@ atolfp_.c: atolfp.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/atolfp.c; then echo $(srcdir)/atolfp.c; else echo atolfp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > atolfp_.c
atouint_.c: atouint.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/atouint.c; then echo $(srcdir)/atouint.c; else echo atouint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > atouint_.c
+audio_.c: audio.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/audio.c; then echo $(srcdir)/audio.c; else echo audio.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > audio_.c
authencrypt_.c: authencrypt.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/authencrypt.c; then echo $(srcdir)/authencrypt.c; else echo authencrypt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > authencrypt_.c
authkeys_.c: authkeys.c $(ANSI2KNR)
@@ -337,6 +304,8 @@ hextolfp_.c: hextolfp.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hextolfp.c; then echo $(srcdir)/hextolfp.c; else echo hextolfp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > hextolfp_.c
humandate_.c: humandate.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/humandate.c; then echo $(srcdir)/humandate.c; else echo humandate.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > humandate_.c
+icom_.c: icom.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/icom.c; then echo $(srcdir)/icom.c; else echo icom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > icom_.c
ieee754io_.c: ieee754io.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ieee754io.c; then echo $(srcdir)/ieee754io.c; else echo ieee754io.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > ieee754io_.c
inttoa_.c: inttoa.c $(ANSI2KNR)
@@ -351,8 +320,6 @@ md5c_.c: md5c.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/md5c.c; then echo $(srcdir)/md5c.c; else echo md5c.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > md5c_.c
memmove_.c: memmove.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memmove.c; then echo $(srcdir)/memmove.c; else echo memmove.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memmove_.c
-mexit_.c: mexit.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mexit.c; then echo $(srcdir)/mexit.c; else echo mexit.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > mexit_.c
mfp_mul_.c: mfp_mul.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mfp_mul.c; then echo $(srcdir)/mfp_mul.c; else echo mfp_mul.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > mfp_mul_.c
mfptoa_.c: mfptoa.c $(ANSI2KNR)
@@ -409,13 +376,13 @@ utvtoa_.c: utvtoa.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/utvtoa.c; then echo $(srcdir)/utvtoa.c; else echo utvtoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > utvtoa_.c
ymd2yd_.c: ymd2yd.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ymd2yd.c; then echo $(srcdir)/ymd2yd.c; else echo ymd2yd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > ymd2yd_.c
-a_md5encrypt_.o adjtime_.o atoint_.o atolfp_.o atouint_.o \
+a_md5encrypt_.o adjtime_.o atoint_.o atolfp_.o atouint_.o audio_.o \
authencrypt_.o authkeys_.o authparity_.o authreadkeys_.o authusekey_.o \
binio_.o buftvtots_.o caljulian_.o calleapwhen_.o caltontp_.o \
calyearstart_.o clocktime_.o clocktypes_.o decodenetnum_.o dofptoa_.o \
dolfptoa_.o emalloc_.o findconfig_.o fptoa_.o fptoms_.o getopt_.o \
-gpstolfp_.o hextoint_.o hextolfp_.o humandate_.o ieee754io_.o inttoa_.o \
-iosignal_.o lib_strbuf_.o machines_.o md5c_.o memmove_.o mexit_.o \
+gpstolfp_.o hextoint_.o hextolfp_.o humandate_.o icom_.o ieee754io_.o \
+inttoa_.o iosignal_.o lib_strbuf_.o machines_.o md5c_.o memmove_.o \
mfp_mul_.o mfptoa_.o mfptoms_.o mktime_.o modetoa_.o mstolfp_.o \
msutotsf_.o msyslog_.o netof_.o numtoa_.o numtohost_.o octtoint_.o \
prettydate_.o ranny_.o recvbuff_.o refnumtoa_.o statestr_.o strerror_.o \
@@ -424,23 +391,27 @@ uglydate_.o uinttoa_.o utvtoa_.o ymd2yd_.o : $(ANSI2KNR)
tags: TAGS
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
+ mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- ${AWK:-awk} ' { files[$$0] = 1; } \
+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
mostlyclean-tags:
@@ -457,258 +428,98 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pR $$d/$$file $(distdir); \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-a_md5encrypt.o: a_md5encrypt.c ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp_types.h \
- ../include/ntp_fp.h ../include/ntp_string.h ../include/global.h \
- ../include/md5.h ../include/ntp_stdlib.h ../include/l_stdlib.h
-adjtime.o: adjtime.c ../config.h
-atoint.o: atoint.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-atolfp.o: atolfp.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h
-atouint.o: atouint.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-authencrypt.o: authencrypt.c ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h
-authkeys.o: authkeys.c ../config.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../include/ntp_proto.h \
- ../include/ntp_fp.h ../include/ntp.h ../include/ntpd.h \
- ../include/ntp_syslog.h ../include/ntp_select.h \
- ../include/ntp_malloc.h ../include/ntp_refclock.h \
- ../include/recvbuff.h ../include/ntp_string.h \
- ../include/ntp_stdlib.h ../include/l_stdlib.h
-authparity.o: authparity.c ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-authreadkeys.o: authreadkeys.c ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h \
- ../include/ntp_syslog.h
-authusekey.o: authusekey.c ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/ntp_stdlib.h \
- ../include/l_stdlib.h
-binio.o: binio.c ../include/binio.h ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-buftvtots.o: buftvtots.c ../config.h ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_unixtime.h
-caljulian.o: caljulian.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h ../include/ntp_calendar.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-calleapwhen.o: calleapwhen.c ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_calendar.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-caltontp.o: caltontp.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h ../include/ntp_calendar.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-calyearstart.o: calyearstart.c ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_calendar.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-clocktime.o: clocktime.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_unixtime.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-clocktypes.o: clocktypes.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp.h lib_strbuf.h ../include/ntp_refclock.h \
- ../include/recvbuff.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-decodenetnum.o: decodenetnum.c ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h ../config.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-desc.o: desc.c ../include/global.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/rsaref.h ../include/md2.h ../include/md5.h \
- ../include/des.h
-dofptoa.o: dofptoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- lib_strbuf.h ../include/ntp_string.h ../include/ntp_stdlib.h \
- ../include/l_stdlib.h
-dolfptoa.o: dolfptoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- lib_strbuf.h ../include/ntp_string.h ../include/ntp_stdlib.h \
- ../include/l_stdlib.h
-emalloc.o: emalloc.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h ../include/ntp_malloc.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h ../include/ntp_syslog.h
-findconfig.o: findconfig.c ../config.h ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-fptoa.o: fptoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-fptoms.o: fptoms.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h
-getopt.o: getopt.c ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-gpstolfp.o: gpstolfp.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h
-hextoint.o: hextoint.c ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-hextolfp.o: hextolfp.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/ntp_stdlib.h \
- ../include/l_stdlib.h
-humandate.o: humandate.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_unixtime.h lib_strbuf.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-ieee754io.o: ieee754io.c ../config.h ../include/l_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/ntp_fp.h \
- ../include/ieee754io.h
-inttoa.o: inttoa.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-iosignal.o: iosignal.c ../config.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntpd.h \
- ../include/ntp_syslog.h ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp.h ../include/ntp_select.h \
- ../include/ntp_malloc.h ../include/ntp_refclock.h \
- ../include/recvbuff.h ../include/ntp_io.h ../include/ntp_if.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h ../include/iosignal.h
-lib_strbuf.o: lib_strbuf.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h
-machines.o: machines.c ../config.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_syslog.h \
- ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_string.h ../include/l_stdlib.h \
- ../include/ntp_unixtime.h
-md5c.o: md5c.c ../include/global.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/md5.h
-memmove.o: memmove.c ../config.h
-mexit.o: mexit.c
-mfp_mul.o: mfp_mul.c ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h \
- ../include/ntp_fp.h
-mfptoa.o: mfptoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-mfptoms.o: mfptoms.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-modetoa.o: modetoa.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-mstolfp.o: mstolfp.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-msutotsf.o: msutotsf.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h
-msyslog.o: msyslog.c ../config.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/ntp_stdlib.h \
- ../include/l_stdlib.h ../include/ntp_syslog.h
-netof.o: netof.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-numtoa.o: numtoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- lib_strbuf.h ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-numtohost.o: numtohost.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h lib_strbuf.h
-octtoint.o: octtoint.c ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-prettydate.o: prettydate.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_unixtime.h lib_strbuf.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-ranny.o: ranny.c ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-recvbuff.o: recvbuff.c ../config.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h \
- ../include/ntp_syslog.h ../include/ntp_io.h \
- ../include/recvbuff.h ../include/ntp.h ../include/iosignal.h \
- ../include/ntp_refclock.h
-refnumtoa.o: refnumtoa.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- lib_strbuf.h ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-statestr.o: statestr.c ../config.h ../include/ntp_stdlib.h \
- ../include/ntp_types.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_string.h \
- ../include/l_stdlib.h ../include/ntp_fp.h ../include/ntp.h \
- lib_strbuf.h ../include/ntp_refclock.h ../include/recvbuff.h \
- ../include/ntp_control.h
-syssignal.o: syssignal.c ../config.h ../include/ntp_syslog.h \
- ../include/ntp_stdlib.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../include/ntp_proto.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-systime.o: systime.c ../config.h ../include/ntp_machine.h \
- ../include/ntp_proto.h ../include/ntp_fp.h \
- ../include/ntp_types.h ../include/ntp_syslog.h \
- ../include/ntp_unixtime.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-tsftomsu.o: tsftomsu.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-tstotv.o: tstotv.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h
-tvtoa.o: tvtoa.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h ../include/ntp_unixtime.h
-tvtots.o: tvtots.c ../include/ntp_types.h ../include/ntp_machine.h \
- ../config.h ../include/ntp_proto.h
-uglydate.o: uglydate.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_unixtime.h lib_strbuf.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
-uinttoa.o: uinttoa.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h
-utvtoa.o: utvtoa.c lib_strbuf.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_stdlib.h ../include/ntp_string.h \
- ../include/l_stdlib.h ../include/ntp_unixtime.h
-ymd2yd.o: ymd2yd.c ../include/ntp_fp.h ../include/ntp_types.h \
- ../include/ntp_machine.h ../config.h ../include/ntp_proto.h \
- ../include/ntp_unixtime.h ../include/ntp_stdlib.h \
- ../include/ntp_string.h ../include/l_stdlib.h
+
+@AMDEP@include $(DEPDIR)/a_md5encrypt$U.Po
+@AMDEP@include $(DEPDIR)/adjtime$U.Po
+@AMDEP@include $(DEPDIR)/atoint$U.Po
+@AMDEP@include $(DEPDIR)/atolfp$U.Po
+@AMDEP@include $(DEPDIR)/atouint$U.Po
+@AMDEP@include $(DEPDIR)/audio$U.Po
+@AMDEP@include $(DEPDIR)/authencrypt$U.Po
+@AMDEP@include $(DEPDIR)/authkeys$U.Po
+@AMDEP@include $(DEPDIR)/authparity$U.Po
+@AMDEP@include $(DEPDIR)/authreadkeys$U.Po
+@AMDEP@include $(DEPDIR)/authusekey$U.Po
+@AMDEP@include $(DEPDIR)/binio$U.Po
+@AMDEP@include $(DEPDIR)/buftvtots$U.Po
+@AMDEP@include $(DEPDIR)/caljulian$U.Po
+@AMDEP@include $(DEPDIR)/calleapwhen$U.Po
+@AMDEP@include $(DEPDIR)/caltontp$U.Po
+@AMDEP@include $(DEPDIR)/calyearstart$U.Po
+@AMDEP@include $(DEPDIR)/clocktime$U.Po
+@AMDEP@include $(DEPDIR)/clocktypes$U.Po
+@AMDEP@include $(DEPDIR)/decodenetnum$U.Po
+@AMDEP@include $(DEPDIR)/dofptoa$U.Po
+@AMDEP@include $(DEPDIR)/dolfptoa$U.Po
+@AMDEP@include $(DEPDIR)/emalloc$U.Po
+@AMDEP@include $(DEPDIR)/findconfig$U.Po
+@AMDEP@include $(DEPDIR)/fptoa$U.Po
+@AMDEP@include $(DEPDIR)/fptoms$U.Po
+@AMDEP@include $(DEPDIR)/getopt$U.Po
+@AMDEP@include $(DEPDIR)/gpstolfp$U.Po
+@AMDEP@include $(DEPDIR)/hextoint$U.Po
+@AMDEP@include $(DEPDIR)/hextolfp$U.Po
+@AMDEP@include $(DEPDIR)/humandate$U.Po
+@AMDEP@include $(DEPDIR)/icom$U.Po
+@AMDEP@include $(DEPDIR)/ieee754io$U.Po
+@AMDEP@include $(DEPDIR)/inttoa$U.Po
+@AMDEP@include $(DEPDIR)/iosignal$U.Po
+@AMDEP@include $(DEPDIR)/lib_strbuf$U.Po
+@AMDEP@include $(DEPDIR)/machines$U.Po
+@AMDEP@include $(DEPDIR)/md5c$U.Po
+@AMDEP@include $(DEPDIR)/memmove$U.Po
+@AMDEP@include $(DEPDIR)/mfp_mul$U.Po
+@AMDEP@include $(DEPDIR)/mfptoa$U.Po
+@AMDEP@include $(DEPDIR)/mfptoms$U.Po
+@AMDEP@include $(DEPDIR)/mktime.Po
+@AMDEP@include $(DEPDIR)/modetoa$U.Po
+@AMDEP@include $(DEPDIR)/mstolfp$U.Po
+@AMDEP@include $(DEPDIR)/msutotsf$U.Po
+@AMDEP@include $(DEPDIR)/msyslog$U.Po
+@AMDEP@include $(DEPDIR)/netof$U.Po
+@AMDEP@include $(DEPDIR)/numtoa$U.Po
+@AMDEP@include $(DEPDIR)/numtohost$U.Po
+@AMDEP@include $(DEPDIR)/octtoint$U.Po
+@AMDEP@include $(DEPDIR)/prettydate$U.Po
+@AMDEP@include $(DEPDIR)/ranny$U.Po
+@AMDEP@include $(DEPDIR)/recvbuff$U.Po
+@AMDEP@include $(DEPDIR)/refnumtoa$U.Po
+@AMDEP@include $(DEPDIR)/statestr$U.Po
+@AMDEP@include $(DEPDIR)/strerror.Po
+@AMDEP@include $(DEPDIR)/syssignal$U.Po
+@AMDEP@include $(DEPDIR)/systime$U.Po
+@AMDEP@include $(DEPDIR)/tsftomsu$U.Po
+@AMDEP@include $(DEPDIR)/tstotv$U.Po
+@AMDEP@include $(DEPDIR)/tvtoa$U.Po
+@AMDEP@include $(DEPDIR)/tvtots$U.Po
+@AMDEP@include $(DEPDIR)/uglydate$U.Po
+@AMDEP@include $(DEPDIR)/uinttoa$U.Po
+@AMDEP@include $(DEPDIR)/utvtoa$U.Po
+@AMDEP@include $(DEPDIR)/ymd2yd$U.Po
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf $(DEPDIR)
+
+maintainer-clean-depend:
+
+@AMDEP@CCDEPMODE = @CCDEPMODE@
+
+.c.o:
+@AMDEP@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(COMPILE) -c -o $@ $<
info-am:
info: info-am
@@ -745,25 +556,28 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
+ -rm -f Makefile.in
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
- mostlyclean-kr mostlyclean-tags mostlyclean-generic
+ mostlyclean-kr mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-noinstLIBRARIES clean-compile clean-kr clean-tags \
- clean-generic mostlyclean-am
+ clean-depend clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-noinstLIBRARIES distclean-compile distclean-kr \
- distclean-tags distclean-generic clean-am
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-kr \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
+ maintainer-clean-tags maintainer-clean-depend \
+ maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@ -774,8 +588,9 @@ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-kr distclean-kr clean-kr \
maintainer-clean-kr tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
+maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
+clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
diff --git a/contrib/ntp/libntp/audio.c b/contrib/ntp/libntp/audio.c
new file mode 100644
index 000000000000..3228bba62a46
--- /dev/null
+++ b/contrib/ntp/libntp/audio.c
@@ -0,0 +1,154 @@
+/*
+ * audio.c - audio interface for reference clock audio drivers
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "audio.h"
+#include <unistd.h>
+#include <stdio.h>
+
+#ifdef HAVE_SYS_AUDIOIO_H
+#include <sys/audioio.h>
+#endif /* HAVE_SYS_AUDIOIO_H */
+#ifdef HAVE_SUN_AUDIOIO_H
+#include <sun/audioio.h>
+#endif /* HAVE_SUN_AUDIOIO_H */
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif /* HAVE_SYS_IOCTL_H */
+
+#include <fcntl.h>
+
+/*
+ * Global variables
+ */
+#ifdef HAVE_SYS_AUDIOIO_H
+static struct audio_device device; /* audio device ident */
+static struct audio_info info; /* audio device info */
+static int ctl_fd; /* audio control file descriptor */
+#endif /* HAVE_SYS_AUDIOIO_H */
+
+
+/*
+ * audio_init - open and initialize audio device
+ *
+ * This code works with SunOS 4.x and Solaris 2.x; however, it is
+ * believed generic and applicable to other systems with a minor twid
+ * or two. All it does is open the device, set the buffer size (Solaris
+ * only), preset the gain and set the input port. It assumes that the
+ * codec sample rate (8000 Hz), precision (8 bits), number of channels
+ * (1) and encoding (ITU-T G.711 mu-law companded) have been set by
+ * default.
+ */
+int
+audio_init(void)
+{
+ int fd;
+#ifdef HAVE_SYS_AUDIOIO_H
+ int rval;
+#endif /* HAVE_SYS_AUDIOIO_H */
+
+ /*
+ * Open audio device
+ */
+ fd = open("/dev/audio", O_RDWR | O_NONBLOCK, 0777);
+ if (fd < 0) {
+ perror("audio:");
+ return (fd);
+ }
+
+#ifdef HAVE_SYS_AUDIOIO_H
+ /*
+ * Open audio control device
+ */
+ ctl_fd = open("/dev/audioctl", O_RDWR);
+ if (ctl_fd < 0) {
+ perror("audioctl:");
+ close(fd);
+ return(ctl_fd);
+ }
+
+ /*
+ * Set audio device parameters.
+ */
+ rval = audio_gain((AUDIO_MAX_GAIN - AUDIO_MIN_GAIN) / 2,
+ AUDIO_MICROPHONE);
+ if (rval < 0) {
+ close(ctl_fd);
+ close(fd);
+ return(rval);
+ }
+#endif /* HAVE_SYS_AUDIOIO_H */
+ return (fd);
+}
+
+
+/*
+ * audio_gain - adjust codec gain and port
+ */
+int
+audio_gain(
+ int gain, /* gain 0-255 */
+ int port /* port */
+ )
+{
+#ifdef HAVE_SYS_AUDIOIO_H
+ int rval;
+#endif /* HAVE_SYS_AUDIOIO_H */
+
+#ifdef HAVE_SYS_AUDIOIO_H
+ AUDIO_INITINFO(&info);
+ info.record.buffer_size = AUDIO_BUFSIZ;
+ info.record.gain = gain;
+ info.record.port = port;
+ info.record.error = 0;
+ rval = ioctl(ctl_fd, (int)AUDIO_SETINFO, &info);
+ if (rval < 0) {
+ perror("audio:");
+ return (rval);
+ }
+ return (info.record.error);
+#else
+ return (0);
+#endif /* HAVE_SYS_AUDIOIO_H */
+}
+
+
+/*
+ * audio_show - display audio parameters
+ *
+ * This code doesn't really do anything, except satisfy curiousity and
+ * verify the ioctl's work.
+ */
+void
+audio_show(void)
+{
+#ifdef HAVE_SYS_AUDIOIO_H
+ ioctl(ctl_fd, (int)AUDIO_GETDEV, &device);
+ printf("audio: name %s, version %s, config %s\n",
+ device.name, device.version, device.config);
+ ioctl(ctl_fd, (int)AUDIO_GETINFO, &info);
+ printf(
+ "audio: samples %d, channels %d, precision %d, encoding %d\n",
+ info.record.sample_rate, info.record.channels,
+ info.record.precision, info.record.encoding);
+ printf("audio: gain %d, port %d, buffer %d\n",
+ info.record.gain, info.record.port,
+ info.record.buffer_size);
+ printf("audio: gain %d, port %d\n",
+ info.record.gain, info.record.port);
+ printf(
+ "audio: samples %d, eof %d, pause %d, error %d, waiting %d, balance %d\n",
+ info.record.samples, info.record.eof,
+ info.record.pause, info.record.error,
+ info.record.waiting, info.record.balance);
+ printf("audio: monitor %d, muted %d\n",
+ info.monitor_gain, info.output_muted);
+#endif /* HAVE_SYS_AUDIOIO_H */
+#ifdef __NetBSD__
+ printf("audio: monitor %d, blocksize %d, hiwat %d, lowat %d, mode %d\n",
+ info.monitor_gain, info.blocksize, info.hiwat, info.lowat, info.mode);
+#endif /* __NetBSD__ */
+}
diff --git a/contrib/ntp/libntp/authkeys.c b/contrib/ntp/libntp/authkeys.c
index 39ca4938f3d4..578688bdf27c 100644
--- a/contrib/ntp/libntp/authkeys.c
+++ b/contrib/ntp/libntp/authkeys.c
@@ -193,7 +193,7 @@ auth_moremem(void)
struct savekey *sk;
int i;
- sk = (struct savekey *)malloc(MEMINC * sizeof(struct savekey));
+ sk = (struct savekey *)calloc(MEMINC, sizeof(struct savekey));
if (sk == 0)
return (0);
diff --git a/contrib/ntp/libntp/clocktypes.c b/contrib/ntp/libntp/clocktypes.c
index c9a67668aa6d..520dce43cd57 100644
--- a/contrib/ntp/libntp/clocktypes.c
+++ b/contrib/ntp/libntp/clocktypes.c
@@ -18,14 +18,14 @@ struct clktype clktypes[] = {
"GPS_TRAK" },
{ REFCLK_WWV_PST, "PSTI/Traconex WWV/WWVH Receiver (3)",
"WWV_PST" },
- { REFCLK_WWVB_SPECTRACOM, "Spectracom WWVB Receiver (4)",
- "WWVB_SPEC" },
+ { REFCLK_SPECTRACOM, "Spectracom (generic) Receivers (4)",
+ "SPECTRACOM" },
{ REFCLK_TRUETIME, "TrueTime (generic) Receivers (5)",
"TRUETIME" },
{ REFCLK_IRIG_AUDIO, "IRIG Audio Decoder (6)",
"IRIG_AUDIO" },
- { REFCLK_CHU, "Scratchbuilt CHU Receiver (7)",
- "CHU" },
+ { REFCLK_CHU_AUDIO, "CHU Audio Demodulator/Decoder (7)",
+ "CHU_AUDIO" },
{ REFCLK_PARSE, "Generic reference clock driver (8)",
"GENERIC" },
{ REFCLK_GPS_MX4200, "Magnavox MX4200 GPS Receiver (9)",
@@ -76,10 +76,16 @@ struct clktype clktypes[] = {
"GPS_JUPITER" },
{ REFCLK_CHRONOLOG, "Chrono-log K (32)",
"CHRONOLOG" },
- { REFCLK_DUMBCLOCK, "Dumb generic hh:mm:ss local clock",
+ { REFCLK_DUMBCLOCK, "Dumb generic hh:mm:ss local clock (33)",
"DUMBCLOCK" },
- { REFCLK_ULINK, "Ultralink M320 WWVB receiver",
+ { REFCLK_ULINK, "Ultralink M320 WWVB receiver (34)",
"ULINK_M320"},
+ { REFCLK_PCF, "Conrad parallel port radio clock (35)",
+ "PCF"},
+ { REFCLK_WWV_AUDIO, "WWV/H Audio Demodulator/Decoder (36)",
+ "WWV_AUDIO"},
+ { REFCLK_FG, "Forum Graphic GPS Dating Station (37)",
+ "GPS_FG"},
{ -1, "", "" }
};
diff --git a/contrib/ntp/libntp/icom.c b/contrib/ntp/libntp/icom.c
new file mode 100644
index 000000000000..4d6efc57f784
--- /dev/null
+++ b/contrib/ntp/libntp/icom.c
@@ -0,0 +1,329 @@
+/*
+ * Program to control ICOM radios
+ *
+ * This is a ripoff of the utility routines in the ICOM software
+ * distribution. The only function provided is to load the radio
+ * frequency. All other parameters must be manually set before use.
+ */
+#include "icom.h"
+#include <unistd.h>
+#include <stdio.h>
+
+#ifdef HAVE_TERMIOS_H
+# include <termios.h>
+#endif /* HAVE_TERMIOS_H */
+#ifdef HAVE_SYS_TERMIOS_H
+# include <sys/termios.h>
+#endif /* HAVE_SYS_TERMIOS_H */
+
+#include <fcntl.h>
+#include <errno.h>
+
+/*
+ * Scraps
+ */
+#define BMAX 50 /* max command length */
+#define DICOM /dev/icom/ /* ICOM port link */
+
+/*
+ * FSA definitions
+ */
+#define S_IDLE 0 /* idle */
+#define S_HDR 1 /* header */
+#define S_TX 2 /* address */
+#define S_DATA 3 /* data */
+#define S_ERROR 4 /* error */
+
+/*
+ * Local function prototypes
+ */
+static void doublefreq P((double, u_char *, int));
+static int sndpkt P((int, int, u_char *, u_char *));
+static int sndoctet P((int, int));
+static int rcvoctet P((int));
+
+/*
+ * Local variables
+ */
+static int flags; /* trace flags */
+static int state; /* fsa state */
+
+
+/*
+ * icom_freq(fd, ident, freq) - load radio frequency
+ */
+int
+icom_freq( /* returns 0 (ok), EIO (error) */
+ int fd, /* file descriptor */
+ int ident, /* ICOM radio identifier */
+ double freq /* frequency (MHz) */
+ )
+{
+ u_char cmd[BMAX], rsp[BMAX];
+ int temp;
+ cmd[0] = V_SFREQ;
+ if (ident == IC735)
+ temp = 4;
+ else
+ temp = 5;
+ doublefreq(freq * 1e6, &cmd[1], temp);
+ temp = sndpkt(fd, ident, cmd, rsp);
+ if (temp < 1 || rsp[0] != ACK)
+ return (EIO);
+ return (0);
+}
+
+
+/*
+ * doublefreq(freq, y, len) - double to ICOM frequency with padding
+ */
+static void
+doublefreq( /* returns void */
+ double freq, /* frequency */
+ u_char *x, /* radio frequency */
+ int len /* length (octets) */
+ )
+{
+ int i;
+ char s1[11];
+ char *y;
+
+ sprintf(s1, " %10.0f", freq);
+ y = s1 + 10;
+ i = 0;
+ while (*y != ' ') {
+ x[i] = *y-- & 0x0f;
+ x[i] = x[i] | ((*y-- & 0x0f) << 4);
+ i++;
+ }
+ for (; i < len; i++)
+ x[i] = 0;
+ x[i] = FI;
+}
+
+
+/*
+ * Packet routines
+ *
+ * These routines send a packet and receive the response. If an error
+ * (collision) occurs on transmit, the packet is resent. If an error
+ * occurs on receive (timeout), all input to the terminating FI is
+ * discarded and the packet is resent. If the maximum number of retries
+ * is not exceeded, the program returns the number of octets in the user
+ * buffer; otherwise, it returns zero.
+ *
+ * ICOM frame format
+ *
+ * Frames begin with a two-octet preamble PR-PR followyd by the
+ * transceiver address RE, controller address TX, control code CN, zero
+ * or more data octets DA (depending on command), and terminator FI.
+ * Since the bus is bidirectional, every octet output is echoed on
+ * input. Every valid frame sent is answered with a frame in the same
+ * format, but with the RE and TX fields interchanged. The CN field is
+ * set to NAK if an error has occurred. Otherwise, the data are returned
+ * in this and following DA octets. If no data are returned, the CN
+ * octet is set to ACK.
+ *
+ * +------+------+------+------+------+--//--+------+
+ * | PR | PR | RE | TX | CN | DA | FI |
+ * +------+------+------+------+------+--//--+------+
+ */
+/*
+ * icom_open() - open and initialize serial interface
+ *
+ * This routine opens the serial interface for raw transmission; that
+ * is, character-at-a-time, no stripping, checking or monkeying with the
+ * bits. For Unix, an input operation ends either with the receipt of a
+ * character or a 0.5-s timeout.
+ */
+int
+icom_init(
+ char *device, /* device name/link */
+ int speed, /* line speed */
+ int trace /* trace flags */ )
+{
+ struct termios ttyb;
+ int fd;
+
+ flags = trace;
+ fd = open(device, O_RDWR, 0777);
+ if (fd < 0)
+ return (fd);
+ tcgetattr(fd, &ttyb);
+ ttyb.c_iflag = 0; /* input modes */
+ ttyb.c_oflag = 0; /* output modes */
+ ttyb.c_cflag = IBAUD|CS8|CREAD|CLOCAL; /* control modes */
+ ttyb.c_lflag = 0; /* local modes */
+ ttyb.c_cc[VMIN] = 0; /* min chars */
+ ttyb.c_cc[VTIME] = 5; /* receive timeout */
+ cfsetispeed(&ttyb, (u_int)speed);
+ cfsetospeed(&ttyb, (u_int)speed);
+ tcsetattr(fd, TCSANOW, &ttyb);
+ return (fd);
+}
+
+
+/*
+ * sndpkt(r, x, y) - send packet and receive response
+ *
+ * This routine sends a command frame, which consists of all except the
+ * preamble octets PR-PR. It then listens for the response frame and
+ * returns the payload to the caller. The routine checks for correct
+ * response header format; that is, the length of the response vector
+ * returned to the caller must be at least 2 and the RE and TX octets
+ * must be interchanged; otherwise, the operation is retried up to
+ * the number of times specified in a global variable.
+ *
+ * The trace function, which is enabled by the P_TRACE bit of the global
+ * flags variable, prints all characters received or echoed on the bus
+ * preceded by a T (transmit) or R (receive). The P_ERMSG bit of the
+ * flags variable enables printing of bus error messages.
+ *
+ * Note that the first octet sent is a PAD in order to allow time for
+ * the radio to flush its receive buffer after sending the previous
+ * response. Even with this precaution, some of the older radios
+ * occasionally fail to receive a command and it has to be sent again.
+ */
+static int
+sndpkt( /* returns octet count */
+ int fd, /* file descriptor */
+ int r, /* radio address */
+ u_char *cmd, /* command vector */
+ u_char *rsp /* response vector */
+ )
+{
+ int i, j, temp;
+
+ (void)tcflush(fd, TCIOFLUSH);
+ for (i = 0; i < RETRY; i++) {
+ state = S_IDLE;
+
+ /*
+ * Transmit packet.
+ */
+ if (flags & P_TRACE)
+ printf("icom T:");
+ sndoctet(fd, PAD); /* send header */
+ sndoctet(fd, PR);
+ sndoctet(fd, PR);
+ sndoctet(fd, r);
+ sndoctet(fd, TX);
+ for (j = 0; j < BMAX; j++) { /* send body */
+ if (sndoctet(fd, cmd[j]) == FI)
+ break;
+ }
+ while (rcvoctet(fd) != FI); /* purge echos */
+ if (cmd[0] == V_FREQT || cmd[0] == V_MODET)
+ return (0); /* shortcut for broadcast */
+
+ /*
+ * Receive packet. First, delete all characters
+ * preceeding a PR, then discard all PRs. Check that the
+ * RE and TX fields are correctly interchanged, then
+ * copy the remaining data and FI to the user buffer.
+ */
+ if (flags & P_TRACE)
+ printf("\nicom R:");
+ j = 0;
+ while ((temp = rcvoctet(fd)) != FI) {
+ switch (state) {
+
+ case S_IDLE:
+ if (temp != PR)
+ continue;
+ state = S_HDR;
+ break;
+
+ case S_HDR:
+ if (temp == PR) {
+ continue;
+ } else if (temp != TX) {
+ if (flags & P_ERMSG)
+ printf(
+ "icom: TX error\n");
+ state = S_ERROR;
+ }
+ state = S_TX;
+ break;
+
+ case S_TX:
+ if (temp != r) {
+ if (flags & P_ERMSG)
+ printf(
+ "icom: RE error\n");
+ state = S_ERROR;
+ }
+ state = S_DATA;
+ break;
+
+ case S_DATA:
+ if (j >= BMAX ) {
+ if (flags & P_ERMSG)
+ printf(
+ "icom: buffer overrun\n");
+ state = S_ERROR;
+ j = 0;
+ }
+ rsp[j++] = (u_char)temp;
+ break;
+
+ case S_ERROR:
+ break;
+ }
+ }
+ if (flags & P_TRACE)
+ printf("\n");
+ if (j > 0) {
+ rsp[j++] = FI;
+ return (j);
+ }
+ }
+ if (flags & P_ERMSG)
+ printf("icom: retries exceeded\n");
+ return (0);
+}
+
+
+/*
+ * Interface routines
+ *
+ * These routines read and write octets on the bus. In case of receive
+ * timeout a FI code is returned. In case of output collision (echo
+ * does not match octet sent), the remainder of the collision frame
+ * (including the trailing FI) is discarded.
+ */
+/*
+ * sndoctet(fd, x) - send octet
+ */
+static int
+sndoctet( /* returns octet */
+ int fd, /* file descriptor */
+ int x /* octet */
+ )
+{
+ u_char y;
+
+ y = (u_char)x;
+ write(fd, &y, 1);
+ return (x);
+}
+
+
+/*
+ * rcvoctet(fd) - receive octet
+ */
+static int
+rcvoctet( /* returns octet */
+ int fd /* file descriptor */
+ )
+{
+ u_char y;
+
+ if (read(fd, &y, 1) < 1)
+ y = FI; /* come here if timeout */
+ if (flags & P_TRACE && y != PAD)
+ printf(" %02x", y);
+ return (y);
+}
+
+/* end program */
diff --git a/contrib/ntp/libntp/recvbuff.c b/contrib/ntp/libntp/recvbuff.c
index 37166a4a5c42..96d212d1d3fa 100644
--- a/contrib/ntp/libntp/recvbuff.c
+++ b/contrib/ntp/libntp/recvbuff.c
@@ -24,7 +24,6 @@ static struct recvbuf *volatile fulllist; /* lifo buffers with data */
static struct recvbuf *volatile beginlist; /* fifo buffers with data */
#if defined(HAVE_IO_COMPLETION_PORT)
-static HANDLE fulldatabufferevent;
static CRITICAL_SECTION RecvCritSection;
# define RECV_BLOCK_IO() EnterCriticalSection(&RecvCritSection)
# define RECV_UNBLOCK_IO() LeaveCriticalSection(&RecvCritSection)
@@ -116,22 +115,10 @@ init_recvbuff(int nbufs)
#if defined(HAVE_IO_COMPLETION_PORT)
InitializeCriticalSection(&RecvCritSection);
- fulldatabufferevent = CreateEvent(NULL, FALSE,FALSE, NULL);
#endif
}
-#if defined(HAVE_IO_COMPLETION_PORT)
-
-/* Return the new full buffer event handle . This handle is
- * signalled when a recv buffer is placed in the full list.
- */
-HANDLE
-get_recv_buff_event()
-{
- return fulldatabufferevent;
-}
-#endif
/*
* getrecvbufs - get receive buffers which have data in them
@@ -224,11 +211,6 @@ add_full_recv_buffer(
fulllist = rb;
full_recvbufs++;
-#if defined(HAVE_IO_COMPLETION_PORT)
- if (!SetEvent(fulldatabufferevent)) {
- msyslog(LOG_ERR, "Can't set receive buffer event");
- }
-#endif
RECV_UNBLOCK_IO();
}
diff --git a/contrib/ntp/libntp/syssignal.c b/contrib/ntp/libntp/syssignal.c
index 50c65b7c3d11..6ec4c4c16c54 100644
--- a/contrib/ntp/libntp/syssignal.c
+++ b/contrib/ntp/libntp/syssignal.c
@@ -41,6 +41,16 @@ signal_no_reset(
vec.sa_flags = 0;
#endif
+#ifdef SA_RESTART
+/* Added for PPS clocks on Solaris 7 which get EINTR errors */
+# ifdef SIGPOLL
+ if (sig == SIGPOLL) vec.sa_flags = SA_RESTART;
+# endif
+# ifdef SIGIO
+ if (sig == SIGIO) vec.sa_flags = SA_RESTART;
+# endif
+#endif
+
while (1)
{
struct sigaction ovec;
diff --git a/contrib/ntp/libntp/systime.c b/contrib/ntp/libntp/systime.c
index 5e50fc52d6cd..2ef6ef9da7ca 100644
--- a/contrib/ntp/libntp/systime.c
+++ b/contrib/ntp/libntp/systime.c
@@ -25,12 +25,6 @@
#include "ntp_unixtime.h"
#include "ntp_stdlib.h"
-#if defined SYS_WINNT
-#include "ntp_timer.h"
-extern DWORD units_per_tick;
-static long last_Adj = 0;
-#endif
-
int systime_10ms_ticks = 0; /* adj sysclock in 10ms increments */
#define MAXFREQ 500e-6
@@ -80,6 +74,7 @@ get_systime(
(void) GETTIMEOFDAY(&tv, (struct timezone *)0);
now->l_i = tv.tv_sec + JAN_1970;
+#if defined RELIANTUNIX_CLOCK || defined SCO5_CLOCK
if (systime_10ms_ticks) {
/* fake better than 10ms resolution by interpolating
accumulated residual (in adj_systime(), see below) */
@@ -92,9 +87,10 @@ get_systime(
}
}
dtemp *= FRAC;
- } else {
- dtemp = tv.tv_usec * FRAC / 1e6;
- }
+ } else
+#endif
+
+ dtemp = tv.tv_usec * FRAC / 1e6;
if (dtemp >= FRAC)
now->l_i++;
@@ -108,6 +104,7 @@ get_systime(
* adj_systime - called once every second to make system time adjustments.
* Returns 1 if okay, 0 if trouble.
*/
+#if !defined SYS_WINNT
int
adj_systime(
double now
@@ -116,12 +113,7 @@ adj_systime(
double dtemp;
struct timeval adjtv;
u_char isneg = 0;
-#if !defined SYS_WINNT && !defined SYS_CYGWIN32
struct timeval oadjtv;
-#else
- int rc;
- long dwTimeAdjustment;
-#endif
/*
* Add the residual from the previous adjustment to the new
@@ -134,6 +126,7 @@ adj_systime(
dtemp = -dtemp;
}
+#if defined RELIANTUNIX_CLOCK || defined SCO5_CLOCK
if (systime_10ms_ticks) {
/* accumulate changes until we have enough to adjust a tick */
if (dtemp < 5000e-6) {
@@ -145,43 +138,18 @@ adj_systime(
else sys_residual = dtemp - 10000e-6;
dtemp = 10000e-6;
}
- } else {
+ } else
+#endif
if (dtemp > sys_maxfreq)
dtemp = sys_maxfreq;
- }
-#ifdef SYS_WINNT
- dtemp = dtemp * 1000000.0;
-#else
dtemp = dtemp * 1e6 + .5;
-#endif
+
if (isneg)
dtemp = -dtemp;
adjtv.tv_sec = 0;
adjtv.tv_usec = (int32)dtemp;
-#if defined SYS_WINNT || defined SYS_CYGWIN32
- /* dtemp is in micro seconds. NT uses 100 ns units,
- * so a unit change in dwTimeAdjustment corresponds
- * to slewing 10 ppm.
- * Calculate the number of 100ns units to add,
- * and leave the remainder in dtemp */
- dwTimeAdjustment = dtemp / 10;
- dtemp += (double) -dwTimeAdjustment * 10.0;
- dwTimeAdjustment += units_per_tick;
-
- /* only adjust the clock if adjustment changes */
- if (last_Adj != dwTimeAdjustment) {
- last_Adj = dwTimeAdjustment;
-# ifdef DEBUG
- if (debug > 1)
- printf("SetSystemTimeAdjustment( %ld)\n", dwTimeAdjustment);
-# endif
- rc = !SetSystemTimeAdjustment(dwTimeAdjustment, FALSE);
- }
- else rc = 0;
- if (rc)
-#else
/*
* Here we do the actual adjustment. If for some reason the adjtime()
* call fails, like it is not implemented or something like that,
@@ -190,17 +158,12 @@ adj_systime(
*/
/* casey - we need a posix type thang here */
if (adjtime(&adjtv, &oadjtv) < 0)
-#endif /* SYS_WINNT */
{
msyslog(LOG_ERR, "Can't adjust time: %m");
return 0;
}
else {
-#if !defined (SYS_WINNT) && !defined (SYS_CYGWIN32)
sys_residual += oadjtv.tv_usec / 1e6;
-#else
- sys_residual = dtemp / 1000000.0;
-#endif /* SYS_WINNT */
}
#ifdef DEBUG
if (debug > 6)
@@ -208,6 +171,7 @@ adj_systime(
#endif
return 1;
}
+#endif
/*
diff --git a/contrib/ntp/libparse/Makefile.am b/contrib/ntp/libparse/Makefile.am
index c0f838b798a3..d7479e75d89c 100644
--- a/contrib/ntp/libparse/Makefile.am
+++ b/contrib/ntp/libparse/Makefile.am
@@ -1,12 +1,4 @@
#AUTOMAKE_OPTIONS = ../util/ansi2knr no-dependencies
-#
-# this is sick - i want the source to be compile with
-# two time with different flags resulting different
-# objects - still need to find a way to communicate
-# that to automake/autoconf
-#
-# Frank Kardel
-#
AUTOMAKE_OPTIONS = ../util/ansi2knr
noinst_LIBRARIES = @MAKE_LIBPARSE@ @MAKE_LIBPARSE_KERNEL@
EXTRA_LIBRARIES = libparse.a libparse_kernel.a
@@ -31,19 +23,20 @@ libparse_a_SOURCES = parse.c \
info_trimble.c \
trim_info.c
-libparse_kernel_a_SOURCES = kparse.c \
- kparse_conf.c \
- kclk_meinberg.c \
- kclk_schmid.c \
- kclk_rawdcf.c \
- kclk_trimtsip.c \
- kclk_dcf7000.c \
- kclk_trimtaip.c \
- kclk_rcc8000.c \
- kclk_hopf6021.c \
- kclk_computime.c \
- kclk_wharton.c \
- kclk_varitext.c
+libparse_kernel_a_SOURCES =
+libparse_kernel_a_LIBADD = kparse$U.o \
+ kparse_conf$U.o \
+ kclk_computime$U.o \
+ kclk_dcf7000$U.o \
+ kclk_hopf6021$U.o \
+ kclk_meinberg$U.o \
+ kclk_rawdcf$U.o \
+ kclk_rcc8000$U.o \
+ kclk_schmid$U.o \
+ kclk_trimtaip$U.o \
+ kclk_trimtsip$U.o \
+ kclk_varitext$U.o \
+ kclk_wharton$U.o
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/kernel
ETAGS_ARGS = Makefile.am
@@ -58,24 +51,44 @@ info_trimble.c: $(top_srcdir)/include/trimble.h mkinfo_rcmd.sed mkinfo_scmd.sed
sed -n -f mkinfo_scmd.sed $(top_srcdir)/include/trimble.h > info_trimble.c || rm -f info_trimble.c
sed -n -f mkinfo_rcmd.sed $(top_srcdir)/include/trimble.h >> info_trimble.c || rm -f info_trimble.c
-#
-# HACK following below...
-#
-kparse_conf.o: parse_conf.c
-kparse.o: parse.c
-kclk_rawdcf.o: clk_rawdcf.c
-kclk_trimtsip.o: clk_trimtsip.c
-kclk_meinberg.o: clk_meinberg.c
-kclk_schmid.o: clk_schmid.c
-kclk_rawdcf.o: clk_rawdcf.c
-kclk_trimtsip.o: clk_trimtsip.c
-kclk_dcf7000.o: clk_dcf7000.c
-kclk_trimtaip.o: clk_trimtaip.c
-kclk_rcc8000.o: clk_rcc8000.c
-kclk_hopf6021.o: clk_hopf6021.c
-kclk_computime.o: clk_computime.c
-kclk_wharton.o: clk_wharton.c
-kclk_varitext.o: clk_varitext.c
+kclk_computime$U.o: clk_computime$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_dcf7000$U.o: clk_dcf7000$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_hopf6021$U.o: clk_hopf6021$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_meinberg$U.o: clk_meinberg$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_rawdcf$U.o: clk_rawdcf$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_rcc8000$U.o: clk_rcc8000$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_schmid$U.o: clk_schmid$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_trimtaip$U.o: clk_trimtaip$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_trimtsip$U.o: clk_trimtsip$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_varitext$U.o: clk_varitext$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kclk_wharton$U.o: clk_wharton$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kparse$U.o: parse$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
+
+kparse_conf$U.o: parse_conf$U.c
+ $(COMPILE) -DPARSESTREAM -c $< -o $@
parsestreams.loadable_module.o: $(parsestreams_OBJECTS) libparse_kernel.a ../libntp/libntp.a
$(LD) -r -o $@ $(parsestreams_OBJECTS) libparse_kernel.a ../libntp/libntp.a
diff --git a/contrib/ntp/libparse/Makefile.in b/contrib/ntp/libparse/Makefile.in
index 44f3174fb255..8682c2bc8ba7 100644
--- a/contrib/ntp/libparse/Makefile.in
+++ b/contrib/ntp/libparse/Makefile.in
@@ -63,15 +63,18 @@ host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
+AMDEP = @AMDEP@
AMTAR = @AMTAR@
-AMTARFLAGS = @AMTARFLAGS@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CHUTEST = @CHUTEST@
CLKTEST = @CLKTEST@
CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
DCFD = @DCFD@
+DEPDIR = @DEPDIR@
LDFLAGS = @LDFLAGS@
LIBPARSE = @LIBPARSE@
LIBRSAREF = @LIBRSAREF@
@@ -93,16 +96,9 @@ RSAREF = @RSAREF@
TESTDCF = @TESTDCF@
U = @U@
VERSION = @VERSION@
+install_sh = @install_sh@
#AUTOMAKE_OPTIONS = ../util/ansi2knr no-dependencies
-#
-# this is sick - i want the source to be compile with
-# two time with different flags resulting different
-# objects - still need to find a way to communicate
-# that to automake/autoconf
-#
-# Frank Kardel
-#
AUTOMAKE_OPTIONS = ../util/ansi2knr
@@ -130,19 +126,20 @@ libparse_a_SOURCES = parse.c \
trim_info.c
-libparse_kernel_a_SOURCES = kparse.c \
- kparse_conf.c \
- kclk_meinberg.c \
- kclk_schmid.c \
- kclk_rawdcf.c \
- kclk_trimtsip.c \
- kclk_dcf7000.c \
- kclk_trimtaip.c \
- kclk_rcc8000.c \
- kclk_hopf6021.c \
- kclk_computime.c \
- kclk_wharton.c \
- kclk_varitext.c
+libparse_kernel_a_SOURCES =
+libparse_kernel_a_LIBADD = kparse$U.o \
+ kparse_conf$U.o \
+ kclk_computime$U.o \
+ kclk_dcf7000$U.o \
+ kclk_hopf6021$U.o \
+ kclk_meinberg$U.o \
+ kclk_rawdcf$U.o \
+ kclk_rcc8000$U.o \
+ kclk_schmid$U.o \
+ kclk_trimtaip$U.o \
+ kclk_trimtsip$U.o \
+ kclk_varitext$U.o \
+ kclk_wharton$U.o
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/kernel
@@ -160,6 +157,7 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LIBS = @LIBS@
ANSI2KNR = ../util/ansi2knr
+libparse_a_AR = $(AR) cru
libparse_a_LIBADD =
am_libparse_a_OBJECTS = parse$U.o parse_conf$U.o clk_meinberg$U.o \
clk_schmid$U.o clk_rawdcf$U.o clk_trimtsip$U.o clk_dcf7000$U.o \
@@ -167,11 +165,11 @@ clk_trimtaip$U.o clk_rcc8000$U.o clk_hopf6021$U.o clk_computime$U.o \
clk_wharton$U.o clk_varitext$U.o data_mbg$U.o info_trimble$U.o \
trim_info$U.o
libparse_a_OBJECTS = $(am_libparse_a_OBJECTS)
-libparse_kernel_a_LIBADD =
-am_libparse_kernel_a_OBJECTS = kparse$U.o kparse_conf$U.o \
-kclk_meinberg$U.o kclk_schmid$U.o kclk_rawdcf$U.o kclk_trimtsip$U.o \
-kclk_dcf7000$U.o kclk_trimtaip$U.o kclk_rcc8000$U.o kclk_hopf6021$U.o \
-kclk_computime$U.o kclk_wharton$U.o kclk_varitext$U.o
+libparse_kernel_a_AR = $(AR) cru
+libparse_kernel_a_DEPENDENCIES = kparse$U.o kparse_conf$U.o \
+kclk_computime$U.o kclk_dcf7000$U.o kclk_hopf6021$U.o kclk_meinberg$U.o \
+kclk_rawdcf$U.o kclk_rcc8000$U.o kclk_schmid$U.o kclk_trimtaip$U.o \
+kclk_trimtsip$U.o kclk_varitext$U.o kclk_wharton$U.o
libparse_kernel_a_OBJECTS = $(am_libparse_kernel_a_OBJECTS)
AR = ar
PROGRAMS = $(noinst_PROGRAMS)
@@ -197,6 +195,17 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+DEP_FILES = @AMDEP@ $(DEPDIR)/clk_computime$U.Po \
+$(DEPDIR)/clk_dcf7000$U.Po $(DEPDIR)/clk_hopf6021$U.Po \
+$(DEPDIR)/clk_meinberg$U.Po $(DEPDIR)/clk_rawdcf$U.Po \
+$(DEPDIR)/clk_rcc8000$U.Po $(DEPDIR)/clk_schmid$U.Po \
+$(DEPDIR)/clk_trimtaip$U.Po $(DEPDIR)/clk_trimtsip$U.Po \
+$(DEPDIR)/clk_varitext$U.Po $(DEPDIR)/clk_wharton$U.Po \
+$(DEPDIR)/data_mbg$U.Po $(DEPDIR)/info_trimble$U.Po \
+$(DEPDIR)/parse$U.Po $(DEPDIR)/parse_conf$U.Po \
+$(DEPDIR)/parsesolaris$U.Po $(DEPDIR)/parsestreams$U.Po \
+$(DEPDIR)/trim_info$U.Po
SOURCES = $(libparse_a_SOURCES) $(libparse_kernel_a_SOURCES) parsesolaris.c parsestreams.c
OBJECTS = $(am_libparse_a_OBJECTS) $(am_libparse_kernel_a_OBJECTS) parsesolaris$U.o parsestreams$U.o
@@ -204,9 +213,9 @@ all: all-redirect
.SUFFIXES:
.SUFFIXES: .c .o
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps libparse/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu libparse/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -220,9 +229,6 @@ distclean-noinstLIBRARIES:
maintainer-clean-noinstLIBRARIES:
-.c.o:
- $(COMPILE) -c $<
-
mostlyclean-compile:
-rm -f *.o core *.core
@@ -247,44 +253,15 @@ clean-kr:
distclean-kr:
maintainer-clean-kr:
-parse$U.o:
-parse_conf$U.o:
-clk_meinberg$U.o:
-clk_schmid$U.o:
-clk_rawdcf$U.o:
-clk_trimtsip$U.o:
-clk_dcf7000$U.o:
-clk_trimtaip$U.o:
-clk_rcc8000$U.o:
-clk_hopf6021$U.o:
-clk_computime$U.o:
-clk_wharton$U.o:
-clk_varitext$U.o:
-data_mbg$U.o:
-info_trimble$U.o:
-trim_info$U.o:
libparse.a: $(libparse_a_OBJECTS) $(libparse_a_DEPENDENCIES)
-rm -f libparse.a
- $(AR) cru libparse.a $(libparse_a_OBJECTS) $(libparse_a_LIBADD)
+ $(libparse_a_AR) libparse.a $(libparse_a_OBJECTS) $(libparse_a_LIBADD)
$(RANLIB) libparse.a
-kparse$U.o:
-kparse_conf$U.o:
-kclk_meinberg$U.o:
-kclk_schmid$U.o:
-kclk_rawdcf$U.o:
-kclk_trimtsip$U.o:
-kclk_dcf7000$U.o:
-kclk_trimtaip$U.o:
-kclk_rcc8000$U.o:
-kclk_hopf6021$U.o:
-kclk_computime$U.o:
-kclk_wharton$U.o:
-kclk_varitext$U.o:
libparse_kernel.a: $(libparse_kernel_a_OBJECTS) $(libparse_kernel_a_DEPENDENCIES)
-rm -f libparse_kernel.a
- $(AR) cru libparse_kernel.a $(libparse_kernel_a_OBJECTS) $(libparse_kernel_a_LIBADD)
+ $(libparse_kernel_a_AR) libparse_kern