Removed all the cases of sys_errlist[], no one should be using that
today. Also, correct code generation so that declarations like
'Widget w = NULL; Pixmap p = NULL;' etc, aren't produced, which is
wrong. Use '0', not NULL for these.
This should also correct the 2 mis-definitions of Pixmap that commit
6a9327f2ab attempted to fix in ttsnoop.
dtappbuilder still needs a lot of work.
This fix is a bit of a hack, I just moved the declarations into the
'user code' portion of main().
dtcodegen needs to be fixed so as not to generate this type of code in
the first place.
The symbol hp-ux is used to tag files for installation on HP machines
in the UDB databases. To ensure the correct release streams are
defined, these symbols (hp-ux, linux, freebsd, etc) are undef'd so
that they are not evaluated in the context of db file generation by
the preprocessor.
A change in the FreeBSD 10 patch disabled this, possibly due to
'hp-ux' being an invalid cpp symbol on FreeBSD 10 machines, which now
use clang by default.
Undefining these cpp symbols is actually required, otherwise linux,
for example, is defined as a '1' in the generated databases, which
will not match the release stream name 'linux', therefore all of the
files tagged as 'linux' are never installed.
To fix this, revert the change made in the FreeBSD 10 patch, and
rename all occurances of 'hp-ux' to 'hpux' in the UDB files to avoid
the potential for cpp trouble when hp-ux is specified.
As a result of this change, 'hpux' is now the name of the release
stream for hp machines, not 'hp-ux'.
This would allow different locales to be specified for
programs/localization (DtLocalesToBuild) and doc/
(DtDocLocalesToBuild).
This would be useful for 'partial' translations like the Greek el_GR
locale, where message catalogs, actions, or other items are localized,
but documentation like the help system and dtinfo are not.
There was a check in linux.cf for the Linux libc version that didn't
work, since these were never set anywhere. Presumably current Xorg
imake sets these, but since we aren't using that... (yet)
As a result, the build assumed that thread-safe API's were not
supported. Setting the default libc major version to '6' allows the
proper build to take place. libc5 was never threadsafe and no one has
probably used it in over 10 years.
As a result, some earlier porting fixes that referenced '__fds_bits'
on linux systems had to be reverted as these are not valid in an MT
environment. They are also not neccessary when building in such an
environment, as the normal 'fds_bits' works fine.
This patch defintely needs testing on many linux systems.
On some systems with libtcl installed, it might be linked into instant
rather than the locally provided version. This can result in random
coredumps.
Seen on Ubuntu 12.04, x86_64.
Now, we force linking with ../tcl/libtcl.a.
In init() there was code iterating over all of the possible file
descriptors in a svc_fdset. fdsets are limited to FD_SETSIZE. This
caused coredumps on FreeBSD 10, and possibly other hidden issues.
Moving to poll(), rather than select() would be better, but is a bigger
job. For now, just limit to the FD_SETSIZE that select() requires.
With this patch, it is no longer neccessary to create the
/imports/x11/include/X11 symlink...
Also, remove the include of xfree86.cf from linux.cf, and define our
own DefaultCCOptions. Setup to use only -ansi, not -pendantic.
gcc can generate dependencies, so use that instead of building and
depending on the rather delicate and archaic 'makedepend'.
This fix removes makedepend from being built or used on linux, and
instead uses gcc to generate dependency data in .depend files.
I think pretty much every platform that uses gcc should do this. I am
not sure if other compilers (intel, clang) can do this though.