Patch from Cy Schubert:
FreeBSD bb421be6c117 moved ftime(3) from libcompat to libutil. This
results in the following error,
ld: error: undefined symbol: ftime
>>> referenced by getdate.c
>>> libDtCmP_a-getdate.o:(cm_getdate) in archive
../libDtCmP/libDtCmP.a
>>> did you mean: ctime
Signed off by: Cy Schubert <cy@FreeBSD.org>
These are just minor tweaks to make sure the 'make install' part does
what it is supposed to do. I also removed some commented code in the
dtmail Makefile related to SunOS, as that is not currently suppoerted
anyway.
Commit e0508b31 introduced build errors on FreeBSD. This corrects
them.
HAVE_DECL_TIMEZONE should only be used to determine whether or not the
'timezone' variable is defined in a header file or whether it must be
specifically 'extern'ed.
On fbsd, a definition exists, but it is a function in libc and not an
integer timezone value that can be mutliplied or divided.
CDE has relied upon catgets() implementations following a relaxed
interpretation of the XPG internationalization standard that ignored
-1, the standard error value returned by catopen, as the catalog
argument. However, this same behavior causes segmentation faults with
the musl C library.
This patch:
- Centralizes (with the exception of ToolTalk) all calls to catopen(),
catgets(), and catclose() through MsgCat within the DtSvc library.
- Prevents calls to catgets() and catclose() that rely upon
undefined behavior.
- Eliminates a number of bespoke catgets() wrappers, including multiple
redundant caching implementations designed to work around a design
peculiarity in HP/UX.
- Eases building CDE without XPG internationalization support by providing
the appropriate macros.
Also, restructure some of the dependencies in the lib/tt binaries. We
will link with libtt (which will include libtirpc as a dependency),
and XTOOLLIB - all the right X11 stuff without needing to add it to
every OS. Removed several uneeded OS specializations ("if LINUX",
etc) as a result.