Ticket #120
Change libtool's shared library version info to 3:0:1 to preserve the
previous library version of 2.1.0.
See https://autotools.io/libtool/version.html for the details on how
libtool handles this versioning info.
See https://verbump.de/ for a handy 'version calculator' using
libtools rules.
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.
Hardcoding a -lstdc++ is wrong, since not all OSs are likely to handle
C++ in the same way.
The issue is that libtt needs to be built as a C++ library, so we use
a fake dummy.cxx file to convince libtool to do so instead, rather
than trying to force the issue by linking a (possibly missing)
libstdc++.
Previously in the imake world, changing the CDE version required hand
editing a handful of files.
This commit makes these files into ".in" files. configure.ac now
holds CDE version information -- both in the AC_INIT() call and in the
CDE_VERSION_* variables a few lines down.
Changing the CDE version now involves editing those two locations in
configure.ac only.
Thereafter, a configure run will replace version information in the
following files with the current CDE version:
copyright
doc/common/help/HELPEnt.sgm
include/Dt/Dt.h
lib/tt/bin/ttauth/ttauth.man
This also causes a catch-22 problem with ToolTalk. So the
tooltalk.inc file is gone and the relevant TT Makefiles have been
modified to set and define the TT version in those Makefiles that
actually use it.
The arg that should be on the rhs seems to be commented out for some
reason, and assigning a variable to itself is pointless, so just
comment it out with a comment explaining why.
Many of these were real bugs, like:
if (cond);
do_something
etc...
Others were just cosmetic - like placing the ';' on a separate line to
make the intention clear.
Specifically:
- use libtool so that the top level library contains the actual
objects, and not just the sub-archives, which the linker will just
ignore.
- create the source files via symlinks rather than referencing them
with relative paths. Doing it that way causes a 'make clean' to
delete objects in DtMmdb/ which is wrong.
- fix up utility/ - it seemed to be building more source files than
the original Imakefile listed. Other changes may need to be done
here if similar mistakes were made in other subdirs.
Also, rework the way we build convenience libs for the classes to use
libtool. This fixes some potential linking issues and dependency
checking.
Next up will be to see if we can link and install it, along with it's
message catalogs, resources, etc.
We now use this to set certain options, if supported by the compilers
(C/C++). Currently we enable various options, like
-Wno-format-truncation. We use this to ignore complaints about
possibly truncations due to the use of the snprintf() family of
functions - where forced truncation is the whole point.
This reverts commit a976460e59.
This just does not look as good, and the fonts appear too tiny. It
needs more work, andshould support all OS's since they pretty much (at
least with the linuxen and bsd's) all use the same fonts and X servers.
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.
The tic command needs to be under the 'install-exec-hook:' target, not
the 'install:' target. Specifying the 'install:' target overrides
everything else, causing the dtterm binary to not be installed on a
'make install'
This commit installs the required include files needed for CDE
development. In pre-autotools CDE, these were installed in
/usr/dt/share/include/ and a symlink was created in /usr/dt/include to
point toward them.
This is no longer done, and all include files are just installed in
${prefix}/include/ like the rest of the planet.
With the addition of dtappbuilder to autotools, every make run
(including make install) causes src/ab to regenerate files that cause
the whole directory to be recompiled, even on a 'make install'.
This seems to be primarily caused by dtbuilder.msg (and possibly
dtbuilder.c) being modified after it is generated, which is apparently
normal behavior for dtcodegen.
This fix sets both dtbuilder.msg and dtbuilder.c as "order-dependant
prequisites" so that they are always generated first (there are
already rules to do generate them) and then subsequently the only
thing required is that they exist since we don't care if they are
modified after that point. If you need to make changes to them, edit
their respective .src files instead.
This seems to resolve the issue, but perhaps at the expense of adding
another requirement to use gmake.
We also need to disable parallel building in this module :(
Liang Chang added utempter support to the dtterm widget in
pre-autoconf CDE. While the code itself was merged, it was still not
"turned on" for autoconf builds.
This commit completes the implementation allowing dtterm on Linux and
the BSDs to be installed without having to be setuid root -- as long
as the libutempter headers and libraries are installed.