[Xtide-announce] XTide 2.14 development
David Flater
dave at flaterco.com
Mon Oct 13 21:34:15 EDT 2014
Biggest changes since last dev snapshot: libxtide; Android.
XTide 2.14 DEVELOPMENT (2014-10-13)
Moved all "common" files into a separate library and namespace,
libxtide. If libdstr is not provided the Dstr class gets included in
libxtide.
Enabled building libxtide and tide for Android:
* Fixed configure.ac nit that blocked cross-compiling.
* Added configure option --enable-lm_hard.
* Added workaround for Android/Bionic quirk of failing on zoneinfo
paths introduced by a colon character. This fixes the time zones
problem that affected MX Tides.
* Added example script for cross-compiling libpng, libtcd, libxtide
and tide for ARM Android on x86 Linux in scripts/Android.
Other portability and code rot:
* Updated Makefile.dj2 for DJGPP 2.04.
* Changed GCC minimum version test to ignore Clang, which
fraudulently identifies itself as an old GCC. Bug report credit:
Ryan Schmidt.
* Changed GCC minimum version failure into a big ugly warning. Since
initializer lists have become optional, some pre-4.4 versions work
again.
* Replaced a preprocessor test for Visual Studio with a more general
configure-time check for whether std::vector has an
initializer_list constructor. This fixes the SafeVector build
error on OS X Mountain Lion. Mavericks was never afflicted. Bug
report credit: Dan Hinckley.
New settings:
* XTide*caldayfmt (-cf) controls the format string used to print days
in calendars.
* XTide*linebreak (-lb) controls whether or not calendar mode inserts
a line break before prediction values. This reduces truncation in
text format and tweaks line wrapping in HTML and LaTeX formats.
* XTide*omitunits (-ou) prints numbers with no ft/m/kt and adds a
header line stating the units and datum (where possible).
* XTide*pagebreak (-pb) controls whether or not calendar mode inserts
a page break and repeats the station header for each month in text,
HTML, and LaTeX formats. Text uses form feeds and HTML uses a
page-break-before style.
New, experimental configurable --enable-moon-age replaces the moon
phase column of calendar mode with moon age. This number wants to be
replaced by graphics showing the moon as it would appear
(approximately) on each day of the lunar month as originally suggested
by Kelly Bellis, but it's not easy to implement that consistently
across all formats. FWIW, Unicode 1F311 through 1F318 provide
characters for 8 phases of the moon that could be used in UTF-8 text
modes.
(Tweak) Centered calendar cell contents in HTML and text formats as
they already were in LaTeX format.
(Note) In most modes the approximately zero prediction values
associated with slack water events are output, but they are omitted in
calendar mode. Noted but not changed.
Thanks to Kelly Bellis for suggestions to improve calendar mode.
Yet to do:
* libtcd needs --enable-lm_hard and build updates for VC++ (maybe
DJGPP again).
* Tide needs build updates for VC++ and maybe DJGPP again.
* Add script for big-bang LTO build.
* Test latest library and GCC versions for code rot.
* Do something about Windows.
* Clean up and update documentation.
More information about the XTide-announce
mailing list