Richard L. Hamilton | 29 Nov 20:28 2014
Picon

Other CDE and Motif related goodies out there

If someone gets it working and wants to jazz it up a bit, there’s other goodies out there.

xlockmore - some versions (google for it) included the ability to build with CDE support; I have an extended
action file to invoke that with the appropriate arguments, which adds some much cooler screen savers. 
Some of them need 3D acceleration to not be dogs.

Someone had done some audio utilities, that implemented the Sun keyboard volume keys, and provided a nice
front panel volume control.  The site doesn’t seem to be around anymore (and the relevant pages don’t
seem to be in archive.org), but I’ve got a copy (although so far, I only found the extracted version, not
the original archive file).  Note: all that is very specific to Sun keyboards and/or audio interfaces; but
if someone wanted to use it as a starting point for similar functionality elsewhere, it might be easier
than starting from scratch.

Older versions of the xpat2 multiple solitaire games program included Motif support (which I think was
ripped out at some point).

Someone else had done a digital clock for the front panel; haven’t tried to track that down yet.

There are (or were) perl modules to interact with the calendar; they could be used to automatically insert
entries for holidays every year.

While it wasn’t as pretty as the Sun CDE sdtwinlst, there was something that would list windows; I think I
helped get it working, maybe I still have that somewhere.   Yep, found a site that has it:  http://levana.de/findwindow/find_window.shtml

I have one or two oddities myself, listed at http://www.smart.net/~rlhamil/  (the bottom few entries).
The one I know some people other than me have used is dtwmcmd (sends f. commands to dtwm from the command
line).  I made that because I noticed that dtstyle could restart dtwm, but an action to edit .Xdefaults
(which was presumably a script calling dtpad) could not.  That made me curious enough to reverse-engineer
the mechanism.  So now you can do from a shell script something like
dtwmcmd f.restart -noconfirm
(Continue reading)

Richard L. Hamilton | 24 Nov 17:34 2014
Picon

SPARC build: a little more progress

Using the git code, the wiki Solaris build instructions (minus the /usr/bin/cc -> /usr/bin/gcc link), and
the following PATH
PATH=/usr/gnu/bin:/usr/xpg4/bin:/usr/bin:/opt/solarisstudio/bin
(which avoided the version of sed that was running wild), I got a lot further; until the error sequence
below.  Most of the binaries built, and the ones I can test by just putting the libraries they need in their
proper place appear to work (ugly without resource files, but usable, at least for those I tried, e.g.
dtksh, dtcalc, dtterm - nothing that needs the CDE-specific ToolTalk or RPC services for instance, since
I don’t have them running).

Any idea what to try next would be appreciated.  In the full build output, I did not see any mention of
libtptregexp, which I would have expected  prior to referencing the library as -ltptregexp.

So far, I see no reason to suppose that a SPARC build by someone who had previously succeed at an x86 build
should run into any insurmountable problems.  Whether I do it (with someone else telling me in sufficient
detail how they did their x86 build), or someone else with access to a modern enough SPARC to run Solaris 11
does it, I really think we ought to get it done somehow. :-)  Once the build was straightforward, there’s
no reason it couldn’t be done automatically on a regular basis, and given a test for successful
completion, packaged up, and put in a test repository, assuming someone has the knowledge to create
additional scripts to do that, and an idea for a version numbering convention that accommodates the idea
of a snapshot as of X time (with manual intervention only needed when an official version number change is
agreed-on.  Builds agreed on as acceptably stable could be promoted from a test repo to a “stable”
repo, etc.

Since I do have a T5240 that’s strictly my playtoy (albeit other LDOMs on there will be doing useful work
for me that I don’t want disrupted), in principle I could run automated builds for awhile (not signing up
to do that forever!!); but I will NOT host a repository or anything like that; so there would need to be a
place that I could drop the results.

errors below:

(Continue reading)

Richard L. Hamilton | 22 Nov 15:31 2014
Picon

see command doesn't finish in build

Building on Solaris 11.2 SPARC, per the wiki (i.e. code from git), the following sed command never finishes; eventually it could run the disk out of space making parser.c arbitrarily large.  Off the top of my head, I’m not good enough with sed to see why.  Given the PATH I had set, it appears that /usr/xpg4/bin/sed was the version being used.

including in programs/dtcm/server...
/usr/ccs/bin/yacc -d  parser.y
sed -e "s/yy/yyy/g" -e "\a# linea D" y.tab.c > parser.c
^C

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Murray Blakeman | 20 Nov 05:55 2014

Solaris 11 Dtlogin logindevperm console_user

During my testing I've noticed the following issue.

I may be doing something wrong so please let me know if I'm way off.

Most of this detail is from the following URL (and relevant links within)

http://www.x.org/wiki/Events/XDC2012/XDC2012AbstractAlanCoopersmith/SolarisXorgPrivileges.pdf

Solaris 11 uses "/etc/logindevperm" and "/dev/vt/console_user" to set the permissions of relevant devices.

As I understand it, an "ioctl" call is made by Xorg to the kernel to set the permissions of the devices and the "console".

Normally GDM sends a trigger to Xorg.  Xorg then makes an "ioctl" call to the kernel which sets the permission to the user logged into the console.  Below is an example when logged onto the console via GDM as "murrayb".

$ ls -l /dev/vt
total 0
...<snip>...
crw--w----   1 murrayb  tty      144,  7 Nov 17 00:56 7
...<snip>...
lrwxrwxrwx   1 root     root           1 Nov 17 00:55 active -> 7
lrwxrwxrwx   1 root     root           1 Nov 17 00:55 console_user -> 7

Permissions on all devices listed in "/etc/logindevperm" are also set to the "console_user", including the sound devices.

$ cat /etc/logindevperm | grep /dev/sound
/dev/vt/console_user    0600    /dev/sound/*            # audio devices

When logged into the console via Dtlogin as "murrayb", these are the permissions.

$ ls -l /dev/vt
total 0
...<snip>...
crw-------   1 root     root     270,  7 Nov 18 21:29 7
...<snip>...
lrwxrwxrwx   1 root     root           1 Nov 18 21:29 active -> 7
lrwxrwxrwx   1 root     root           1 Nov 19 15:23 console_user -> 7

This mean that all devices in "/etc/logindevperm" can only be accessed by "root" unless the permissions are changed manually.

The Dtlogin provided with Solaris from Sun/Oracle was obviously patched to send the relevant trigger to Xorg.

The patch used in GDM can be found here (I think this is it)

https://hg.java.net/hg/solaris-desktop~spec-files/file/eb13b6860b6c/patches/gdm-28-logindevperm.diff

I'm trying to locate the relevant patch for Dtlogin but considering it was closed source at the time, it may not be readily available.

Note that when running CDE via "env LANG=C startx /usr/dt/bin/Xsession" the permissions on the relevant files are fine but I noticed that the search folders for DT related files are different.  Not sure why that is.

Regards

Murray





------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Ulrich Wilkens | 20 Nov 03:33 2014
Picon

[PATCH] Fix FreeBSD 10.1 build


This patch fixes build problems on FreeBSD 10.1.

Imake doesn't use the traditional mode of cpp any longer if cpp is
part of clang. The new clang-cpp ignores stringification (#) and
token pasting (##) under some conditions and therefore is no longer
compatible with CDE's build system.

The patch also removes some new dtinfo warnings which occur when
compiled with the new clang version.

And it fixes a build problem under gcc: If <wchar.h> is included,
<stdlib.h> must also be included. Otherwise a macro is undefined.

-- 
Ulrich Wilkens
Email: mail@...

>From 80fbd61dcbbe58dda8d40a8ffae75c451878e42e Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <mail@...>
Date: Thu, 20 Nov 2014 02:11:47 +0100
Subject: [PATCH] Fix FreeBSD 10.1 build

---
 cde/config/cf/FreeBSD.cf                                     | 1 +
 cde/config/imake/imakemdep.h                                 | 2 +-
 cde/lib/DtTerm/TermPrim/TermPrimBuffer.c                     | 1 +
 cde/lib/DtTerm/TermPrim/TermPrimBufferWc.c                   | 1 +
 cde/lib/DtTerm/TermPrim/TermPrimRenderLineDraw.c             | 1 +
 cde/lib/DtWidget/Editor.c                                    | 1 +
 cde/programs/dthelp/parser/canon1/build/Imakefile            | 3 +--
 cde/programs/dthelp/parser/canon1/eltdef/Imakefile           | 3 +--
 cde/programs/dthelp/parser/canon1/parser/Imakefile           | 3 +--
 cde/programs/dthelp/parser/pass1/build/Imakefile             | 3 +--
 cde/programs/dthelp/parser/pass1/eltdef/Imakefile            | 3 +--
 cde/programs/dthelp/parser/pass1/parser/Imakefile            | 3 +--
 cde/programs/dthelp/parser/pass2/build/Imakefile             | 3 +--
 cde/programs/dthelp/parser/pass2/eltdef/Imakefile            | 3 +--
 cde/programs/dthelp/parser/pass2/parser/Imakefile            | 3 +--
 cde/programs/dtinfo/dtinfo/src/UAS/DtSR/DtSR_BookcaseEntry.C | 2 +-
 cde/programs/dtinfo/dtinfo/src/UAS/DtSR/TextParser.C         | 2 +-
 cde/programs/dtinfo/dtinfogen/infolib/etc/SearchStorage.h    | 2 +-
 18 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/cde/config/cf/FreeBSD.cf b/cde/config/cf/FreeBSD.cf
index 2ef9ba0..ce3e62c 100644
--- a/cde/config/cf/FreeBSD.cf
+++ b/cde/config/cf/FreeBSD.cf
 <at>  <at>  -36,6 +36,7  <at>  <at>  USE_GCC = UseGcc

 #if OSMajorVersion >= 10
 #define CppArgs			-Wno-invalid-pp-token
+#define DirFailPrefix		-
 #else
 #define CppArgs			/**/
 #endif
diff --git a/cde/config/imake/imakemdep.h b/cde/config/imake/imakemdep.h
index 44c5eb0..3a4614c 100644
--- a/cde/config/imake/imakemdep.h
+++ b/cde/config/imake/imakemdep.h
 <at>  <at>  -354,7 +354,7  <at>  <at>  char *cpp_argv[ARGUMENTS] = {
         {"-D__powerpc64__", "1"},
 # endif

-# ifdef __GNUC__
+# if defined(__GNUC__) && !defined(__llvm__)
 	"-traditional",
 # endif
 # ifdef __llvm__
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c b/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
index 4f992f8..2310f69 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
 <at>  <at>  -38,6 +38,7  <at>  <at>  static char rcs_id[] = "$XConsortium: TermPrimBuffer.c /main/1 1996/04/21 19:16:

 #define	USE_MEMCPY	/* use memcpy for line movement... */

+#include <stdlib.h>
 #include <wchar.h>
 #include <Xm/Xm.h>
 #include "TermHeader.h"       /* for MIN/MAX */
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimBufferWc.c b/cde/lib/DtTerm/TermPrim/TermPrimBufferWc.c
index 4e348a1..3f72b64 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimBufferWc.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimBufferWc.c
 <at>  <at>  -38,6 +38,7  <at>  <at>  static char rcs_id[] = "$XConsortium: TermPrimBufferWc.c /main/1 1996/04/21 19:1

 #define	USE_MEMCPY	/* use memcpy for line movement... */

+#include <stdlib.h>
 #include <wchar.h>
 #include <Xm/Xm.h>
 #include "TermHeader.h"       /* for MIN/MAX */
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimRenderLineDraw.c b/cde/lib/DtTerm/TermPrim/TermPrimRenderLineDraw.c
index 96cfd2a..b623419 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimRenderLineDraw.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimRenderLineDraw.c
 <at>  <at>  -33,6 +33,7  <at>  <at>  static char rcs_id[] = "$XConsortium: TermPrimRenderLineDraw.c /main/1 1996/04/2
  * (c) Copyright 1993, 1994 Novell, Inc.                                *
  */

+#include <stdlib.h>
 #include <wchar.h>

 #include "TermHeader.h"
diff --git a/cde/lib/DtWidget/Editor.c b/cde/lib/DtWidget/Editor.c
index d330e09..5f36172 100644
--- a/cde/lib/DtWidget/Editor.c
+++ b/cde/lib/DtWidget/Editor.c
 <at>  <at>  -51,6 +51,7  <at>  <at> 
 */

 #include <ctype.h>
+#include <stdlib.h>

 #if defined(__hpux) || defined(__osf__) || defined(USL)
 # include <wchar.h> 
diff --git a/cde/programs/dthelp/parser/canon1/build/Imakefile b/cde/programs/dthelp/parser/canon1/build/Imakefile
index f93d2a1..139167d 100644
--- a/cde/programs/dthelp/parser/canon1/build/Imakefile
+++ b/cde/programs/dthelp/parser/canon1/build/Imakefile
 <at>  <at>  -63,8 +63,7  <at>  <at>  NormalProgramTarget(build,$(OBJS),delim.h $(LOCAL_LIBRARIES),$(LOCAL_LIBRARIES),

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.bld context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.bld delim.dat
+	$(CP) $(HELPTAGSRC)/delim.bld delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context sparse

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/canon1/eltdef/Imakefile b/cde/programs/dthelp/parser/canon1/eltdef/Imakefile
index 4784b6a..510235b 100644
--- a/cde/programs/dthelp/parser/canon1/eltdef/Imakefile
+++ b/cde/programs/dthelp/parser/canon1/eltdef/Imakefile
 <at>  <at>  -61,8 +61,7  <at>  <at>  $(EPRODS): eltdef  $(HELPIFFILE) $(HELPTSSFILE)

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.elt context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.elt delim.dat
+	$(CP) $(HELPTAGSRC)/delim.elt delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/canon1/parser/Imakefile b/cde/programs/dthelp/parser/canon1/parser/Imakefile
index c639066..324c22d 100644
--- a/cde/programs/dthelp/parser/canon1/parser/Imakefile
+++ b/cde/programs/dthelp/parser/canon1/parser/Imakefile
 <at>  <at>  -99,8 +99,7  <at>  <at>  $(HELPTAGSRC)/dthelp_ctag1: parser

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.par context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.par delim.dat
+	$(CP) $(HELPTAGSRC)/delim.par delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass1/build/Imakefile b/cde/programs/dthelp/parser/pass1/build/Imakefile
index 7a7b587..bbf6b43 100644
--- a/cde/programs/dthelp/parser/pass1/build/Imakefile
+++ b/cde/programs/dthelp/parser/pass1/build/Imakefile
 <at>  <at>  -63,8 +63,7  <at>  <at>  NormalProgramTarget(build,$(OBJS),delim.h $(LOCAL_LIBRARIES),$(LOCAL_LIBRARIES),

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.bld context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.bld delim.dat
+	$(CP) $(HELPTAGSRC)/delim.bld delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context sparse

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass1/eltdef/Imakefile b/cde/programs/dthelp/parser/pass1/eltdef/Imakefile
index 3f4a673..c0a6257 100644
--- a/cde/programs/dthelp/parser/pass1/eltdef/Imakefile
+++ b/cde/programs/dthelp/parser/pass1/eltdef/Imakefile
 <at>  <at>  -61,8 +61,7  <at>  <at>  $(EPRODS): eltdef  $(HELPIFFILE) $(HELPTSSFILE)

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.elt context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.elt delim.dat
+	$(CP) $(HELPTAGSRC)/delim.elt delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass1/parser/Imakefile b/cde/programs/dthelp/parser/pass1/parser/Imakefile
index e583464..db1cc93 100644
--- a/cde/programs/dthelp/parser/pass1/parser/Imakefile
+++ b/cde/programs/dthelp/parser/pass1/parser/Imakefile
 <at>  <at>  -99,8 +99,7  <at>  <at>  $(HELPTAGSRC)/dthelp_htag1: parser

 $(CPRODS):  $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.par context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HELPTAGSRC)/delim.par delim.dat
+	$(CP) $(HELPTAGSRC)/delim.par delim.dat  /* appl.-specific delim.dat */
 	$(HELPUTILSRC)/context

 $(HELPUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass2/build/Imakefile b/cde/programs/dthelp/parser/pass2/build/Imakefile
index 29b1930..f3c5f2c 100644
--- a/cde/programs/dthelp/parser/pass2/build/Imakefile
+++ b/cde/programs/dthelp/parser/pass2/build/Imakefile
 <at>  <at>  -59,8 +59,7  <at>  <at>  NormalProgramTarget(build,$(OBJS),delim.h $(LOCAL_LIBRARIES),$(LOCAL_LIBRARIES),

 $(CPRODS):  $(SDLUTILSRC)/context $(HTAG2SRC)/delim.bld context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HTAG2SRC)/delim.bld delim.dat
+	$(CP) $(HTAG2SRC)/delim.bld delim.dat   /* appl.-specific delim.dat */
 	$(SDLUTILSRC)/context sparse

 $(SDLUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass2/eltdef/Imakefile b/cde/programs/dthelp/parser/pass2/eltdef/Imakefile
index 8a245de..96da155 100644
--- a/cde/programs/dthelp/parser/pass2/eltdef/Imakefile
+++ b/cde/programs/dthelp/parser/pass2/eltdef/Imakefile
 <at>  <at>  -58,8 +58,7  <at>  <at>  $(EPRODS): eltdef  $(SDLIFFILE)

 $(CPRODS):  $(SDLUTILSRC)/context $(HTAG2SRC)/delim.elt context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HTAG2SRC)/delim.elt delim.dat
+	$(CP) $(HTAG2SRC)/delim.elt delim.dat   /* appl.-specific delim.dat */
 	$(SDLUTILSRC)/context

 $(SDLUTILSRC)/context:
diff --git a/cde/programs/dthelp/parser/pass2/parser/Imakefile b/cde/programs/dthelp/parser/pass2/parser/Imakefile
index 478758b..701fe36 100644
--- a/cde/programs/dthelp/parser/pass2/parser/Imakefile
+++ b/cde/programs/dthelp/parser/pass2/parser/Imakefile
 <at>  <at>  -90,8 +90,7  <at>  <at>  $(HTAG2SRC)/dthelp_htag2: parser

 $(CPRODS):  $(SDLUTILSRC)/context $(HTAG2SRC)/delim.par context.dat
 	$(RM) $(CPRODS) $(CTRASH)
-	/* get application-specific delim.dat */
-	$(CP) $(HTAG2SRC)/delim.par delim.dat
+	$(CP) $(HTAG2SRC)/delim.par delim.dat   /* appl.-specific delim.dat */
 	$(SDLUTILSRC)/context

 $(SDLUTILSRC)/context:
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/DtSR_BookcaseEntry.C b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/DtSR_BookcaseEntry.C
index e4c0439..d2cc898 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/DtSR_BookcaseEntry.C
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/DtSR_BookcaseEntry.C
 <at>  <at>  -116,7 +116,7  <at>  <at>  DtSR_BookcaseSearchEntry::~DtSR_BookcaseSearchEntry()
 void
 DtSR_BookcaseSearchEntry::search_zones(UAS_SearchZones& search_zones)
 {
-    if (! bcases().length() > 0) {
+    if (! (bcases().length() > 0)) {
 #ifdef DEBUG
 	fprintf(stderr, "search_zones tried on empty BookcaseEntry list\n");
 #endif
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/TextParser.C b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/TextParser.C
index 67af02c..9c02b12 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/TextParser.C
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/TextParser.C
 <at>  <at>  -50,7 +50,7  <at>  <at>  StringParser::brute_force(const char* text_in, int n_of_pats,
     else if (patterns == NULL || *patterns == '\0')
 	return NULL;

-    if (! n_of_pats > 0)
+    if (! (n_of_pats > 0))
 	return NULL;

     char** pat_tbl = new char*[n_of_pats + 1];
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/SearchStorage.h b/cde/programs/dtinfo/dtinfogen/infolib/etc/SearchStorage.h
index bdfcd08..dcbabff 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/SearchStorage.h
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/SearchStorage.h
 <at>  <at>  -23,7 +23,7  <at>  <at> 
 /* $XConsortium: SearchStorage.h /main/3 1996/07/18 16:49:38 drk $ */

 #ifndef SRCH_STOR_HDR
-#define SCRH_STOR_HDR
+#define SRCH_STOR_HDR

 #include <stdio.h>

--

-- 
1.7.11.5

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Steven Edwards | 18 Nov 08:54 2014
Picon

OS X and Autotools

Hi,
I couldn't find any information on if anyone else is working on either of these but I've started hacking on it in my local tree and am making pretty good progress. 

I don't want to waste a bunch of time so if anyone has a branch somewhere with support for either Mac OS X or a gnu style configure system, please reach out to me. Otherwise I hopefully will have something worth sharing in a few days.

Thanks
--
Steven Edwards

"There is one thing stronger than all the armies in the world, and that is an idea whose time has come." - Victor Hugo
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Picon

XView

Hi folks,

Apologies if this is a little too off topic, but I thought it might at least be
of interest to some list members. I'm currently working on a 64 bit port of the
XView libraries and clients (http://xview.xenu.tk/cgi-bin/view). This is based
on a version of XView that includes as many of the third-party modifications
were made to Sun's original release of the code as can be found.

My work so far has been to ANSI'fy the olgx library, which is the graphics layer
used by clients such as the olwm and olvwm window managers. I'm currently
ANSI'fying and cleaning up olwm. The hard task is going to be making the
variable argument lists in the xview library itself work on 64 bit systems,
since they rely on typedef that results in code assuming 32 bit pointers ...

Longer term, I'm going to suggest to the maintainer of the XView repository that
we include the SlingShot and UIT libraries that sat on top of XView to provide
extra widgets and a C++ API. I already have cleaned up version of SlingShot, but
it currently awaits the 64 bit version of XView to see what further work is
needed.

Cheers,

Chris

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
Murray Blakeman | 17 Nov 06:01 2014

Re: [PATCH] OpenIndiana and Solaris port

On 17/11/2014 11:48 Someone wrote:
I haven’t attempted a build yet - but assuming it’s reasonably similar to Sun’s CDE (Solaris 10 and earlier) in terms of how it starts the X server, have you looked in /var/dt/Xerrors?  

When starting the Xvnc session the following entries appear in /var/dt/Xerrors.

/usr/openwin/bin/xset:  bad font path element (#2), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax

Mon Nov 17 12:39:24 2014
error (pid 3949): cannot read "C" message catalog. Using default language.

Then after entering username and password and pressing "Enter" the following appears in Xerrors and the vnc session closes.

No protocol specified
lpstat: No destinations added.

These entries don't appear when I log onto the console directly.

Kind regards and thanks for your help.

Murray
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Picon

Rewriting CDE's build system to use GNU Autotools

Hello developers of the one true desktop!

Is someone currently working on rewriting CDE's build system to use GNU
Autotools?  In affirmative case, I'd like to enter in touch so I can
help in that effort.  In negative case, I'd like to take that job's
front and invite people who would like to help, to study the current
build system, discuss strategies of implementation, coordinate efforts
and help make it work.

What do you, folks, think?

--

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Mayuresh Kathe | 6 Nov 08:02 2014
Picon

cde : ready for prime time?

hello,

i am initiating work on getting cde to work with x.org under omnios 
(omnios.omniti.com), by way of funding the effort.

the ultimate objective being a set of easy to install packages via 
various omnios related repositories.

would like to know if cde is ready for regular use yet.

thanks,

~mayuresh

------------------------------------------------------------------------------
Ulrich Wilkens | 27 Oct 02:28 2014
Picon

[PATCH] OpenIndiana and Solaris port

Hello,

here is a patch which introduces support for OpenIndiana and Solaris.

It is tested on OpenIndiana 151a8. Other Illumos derived distributions
may also work.
And it is tested on Solaris 11. Older releases are not supported. They
have Sun-CDE out of the box.
Both versions only support 64bit x86 systems, SPARC support may follow.
The code can be built with both, gcc and Solaris Studio compiler.

I will also put build instructions into the wiki.

Best Regards, Ulrich

-- 
Ulrich Wilkens
Email: mail@...

>From 24d53eaa4953177367d162b8fdd83aa3bee640a9 Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <mail-jbpI0NvkgmEb1SvskN2V4Q <at> public.gmane.org>
Date: Mon, 27 Oct 2014 01:44:47 +0100
Subject: [PATCH] OpenIndiana and Solaris port

---
 cde/.gitignore                                     |  58 ++++
 cde/admin/IntegTools/dbTools/installCDE.src        |   8 +-
 cde/admin/IntegTools/dbTools/mkProd                |   2 +-
 .../IntegTools/post_install/sun/configMin.src      |   4 -
 .../IntegTools/post_install/sun/configRun.src      |   2 +-
 cde/config/cf/DtInfo.rules                         |   8 +-
 cde/config/cf/Motif.tmpl                           |   2 +
 cde/config/cf/cde.tmpl                             |   7 +-
 cde/config/cf/site.def                             |  19 +-
 cde/config/cf/sun.cf                               | 150 ++++++----
 cde/config/cf/sunLib.tmpl                          |  12 +-
 cde/config/cf/sv4Lib.rules                         |  18 +-
 cde/config/cf/svr4.cf                              |   4 +-
 cde/config/imake/Imakefile                         |   1 +
 cde/config/imake/imake.c                           |  62 +++-
 cde/config/makedepend/Imakefile                    |   3 +-
 cde/config/makedepend/ifparser.c                   |   1 -
 cde/config/makedepend/ifparser.h                   |   1 +
 cde/config/makedepend/main.c                       |  35 ++-
 cde/config/makedepend/pr.c                         |   1 +
 cde/config/util/Imakefile                          |   2 +
 cde/config/util/makestrs.c                         |   1 +
 cde/databases/CDE-FONTS.udb                        |   8 +-
 cde/databases/CDE-HELP-RUN.udb                     |  73 -----
 cde/databases/CDE-INFO.udb                         | 312 ---------------------
 cde/databases/CDE-RUN.udb                          |  14 +-
 cde/databases/CDE-SHLIBS.src                       |  95 -------
 cde/lib/DtHelp/Imakefile                           |   8 +-
 cde/lib/DtHelp/SunOS.lcx                           |   7 +
 cde/lib/DtHelp/il/Imakefile                        |   1 +
 cde/lib/DtMrm/Imakefile                            |   1 +
 cde/lib/DtPrint/Imakefile                          |   1 +
 cde/lib/DtSearch/Imakefile                         |   4 +
 cde/lib/DtSearch/raima/Imakefile                   |   4 +
 cde/lib/DtSearch/raima/vista.h                     |   2 +-
 cde/lib/DtSvc/DtEncap/Imakefile                    |   1 +
 cde/lib/DtSvc/DtUtil1/Imakefile                    |   1 +
 cde/lib/DtSvc/DtUtil2/Imakefile                    |   1 +
 cde/lib/DtSvc/Imakefile                            |   4 +-
 cde/lib/DtSvc/include/codelibs/dynarray.h          |   2 +-
 cde/lib/DtTerm/Term/Imakefile                      |   1 +
 cde/lib/DtTerm/TermPrim/Imakefile                  |   1 +
 cde/lib/DtTerm/TermPrim/TermPrimDebug.c            |   2 +-
 cde/lib/DtTerm/TermView/Imakefile                  |   1 +
 cde/lib/DtWidget/Imakefile                         |   1 +
 cde/lib/csa/Imakefile                              |   4 +-
 cde/lib/tt/bin/dbck/Imakefile                      |   2 +-
 cde/lib/tt/bin/tt_type_comp/Imakefile              |   2 +-
 cde/lib/tt/bin/ttdbserverd/Imakefile               |   2 +-
 cde/lib/tt/bin/ttdbserverd/db_server_svc.C         |   4 +-
 cde/lib/tt/bin/ttsession/Imakefile                 |   2 +-
 cde/lib/tt/bin/tttar/Imakefile                     |   2 +-
 cde/lib/tt/bin/tttrace/Imakefile                   |   2 +-
 cde/lib/tt/lib/Imakefile                           |   4 +-
 cde/lib/tt/lib/api/c/Imakefile                     |   2 +-
 cde/lib/tt/lib/db/Imakefile                        |   2 +-
 cde/lib/tt/lib/mp/Imakefile                        |   2 +-
 cde/lib/tt/lib/tt_options.h                        |  11 +-
 cde/lib/tt/lib/tttk/Imakefile                      |   2 +-
 cde/lib/tt/lib/util/Imakefile                      |   2 +-
 cde/lib/tt/lib/util/tt_Xlib.C                      |   7 +-
 cde/lib/tt/lib/util/tt_string.C                    |   2 +-
 cde/lib/tt/mini_isam/Imakefile                     |   1 +
 cde/lib/tt/mini_isam/iscntl.c                      |   6 +-
 cde/lib/tt/slib/Imakefile                          |   2 +-
 cde/lib/tt/slib/mp_rpc_implement.C                 |   2 +-
 cde/programs/backdrops/SunLogo.pm                  |  57 ++++
 cde/programs/dtaction/Imakefile                    |   1 +
 cde/programs/dtappbuilder/src/ab.tmpl              |   4 +-
 cde/programs/dtappbuilder/src/abmf/Imakefile       |   5 +-
 cde/programs/dtappbuilder/src/libABil/Imakefile    |   5 +-
 cde/programs/dtappbuilder/src/libAButil/Imakefile  |   2 +-
 cde/programs/dtcalc/Imakefile                      |   3 +-
 cde/programs/dtcm/dtcm/Imakefile                   |   1 +
 cde/programs/dtcm/libDtCmP/Imakefile               |   3 +
 cde/programs/dtcreate/Imakefile                    |   3 +-
 cde/programs/dtdocbook/tcl/Imakefile               |   2 +
 cde/programs/dtexec/Imakefile                      |   1 +
 cde/programs/dtfile/Imakefile                      |   1 +
 cde/programs/dtfile/dtcopy/Imakefile               |   1 +
 cde/programs/dthello/Imakefile                     |   2 +-
 cde/programs/dthelp/dthelpdemo/Imakefile           |   1 +
 cde/programs/dthelp/dthelpview/Imakefile           |   1 +
 cde/programs/dthelp/parser/canon1/build/build.c    |   1 -
 cde/programs/dthelp/parser/canon1/build/param.c    |   2 +-
 cde/programs/dthelp/parser/canon1/build/scan.c     |   2 +-
 .../dthelp/parser/canon1/helptag/Imakefile         |   2 +-
 cde/programs/dthelp/parser/canon1/parser/Imakefile |   2 +-
 cde/programs/dthelp/parser/canon1/util/malloc.c    |   2 +-
 cde/programs/dthelp/parser/pass1/build/build.c     |   1 -
 cde/programs/dthelp/parser/pass1/build/param.c     |   2 +-
 cde/programs/dthelp/parser/pass1/build/scan.c      |   2 +-
 cde/programs/dthelp/parser/pass1/helptag/Imakefile |   2 +-
 cde/programs/dthelp/parser/pass1/parser/Imakefile  |   2 +-
 cde/programs/dthelp/parser/pass1/util/malloc.c     |   2 +-
 cde/programs/dthelp/parser/pass2/build/build.c     |   1 -
 cde/programs/dthelp/parser/pass2/build/param.c     |   2 +-
 cde/programs/dthelp/parser/pass2/build/scan.c      |   2 +-
 cde/programs/dthelp/parser/pass2/htag2/Imakefile   |   2 +-
 cde/programs/dthelp/parser/pass2/parser/Imakefile  |   2 +-
 cde/programs/dthelp/parser/pass2/util/malloc.c     |   2 +-
 cde/programs/dticon/Imakefile                      |   6 +-
 cde/programs/dtinfo/DtMmdb/HardCopy/FPExceptions.h |   2 +-
 cde/programs/dtinfo/DtMmdb/HardCopy/autoNumber.C   |   6 +-
 cde/programs/dtinfo/DtMmdb/Imakefile               |   4 +-
 cde/programs/dtinfo/DtMmdb/StyleSheet/DocParser.C  |   6 +-
 cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C |  12 +-
 .../DtMmdb/StyleSheet/StyleSheetExceptions.h       |  24 +-
 cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C   |   3 +-
 cde/programs/dtinfo/DtMmdb/StyleSheet/tokenStyle.C |   3 +-
 cde/programs/dtinfo/DtMmdb/api/Imakefile           |   4 +-
 cde/programs/dtinfo/DtMmdb/btree/Imakefile         |   4 +-
 .../dtinfo/DtMmdb/btree_berkeley/Imakefile         |   1 +
 cde/programs/dtinfo/DtMmdb/btree_berkeley/compat.h |   3 +-
 cde/programs/dtinfo/DtMmdb/compression/Imakefile   |   4 +-
 cde/programs/dtinfo/DtMmdb/compression/ps.C        |   2 +-
 cde/programs/dtinfo/DtMmdb/compression/sgml.C      |   2 +-
 cde/programs/dtinfo/DtMmdb/diskhash/Imakefile      |   4 +-
 cde/programs/dtinfo/DtMmdb/diskhash/disk_hash.C    |  14 +-
 cde/programs/dtinfo/DtMmdb/dstr/Imakefile          |   4 +-
 cde/programs/dtinfo/DtMmdb/dti_cc/cc_exceptions.h  |   6 +-
 .../dtinfo/DtMmdb/dti_excs/Destructable_il.hh      |   2 +-
 cde/programs/dtinfo/DtMmdb/dti_excs/Exceptions.C   |   2 +-
 cde/programs/dtinfo/DtMmdb/dti_excs/Imakefile      |   4 +-
 cde/programs/dtinfo/DtMmdb/dynhash/Imakefile       |   4 +-
 cde/programs/dtinfo/DtMmdb/dynhash/data_t.C        |   4 +-
 cde/programs/dtinfo/DtMmdb/hmphf/Imakefile         |   4 +-
 cde/programs/dtinfo/DtMmdb/index/Imakefile         |   4 +-
 cde/programs/dtinfo/DtMmdb/index/dyn_index.C       |   8 +-
 cde/programs/dtinfo/DtMmdb/index/fast_mphf.h       |   1 +
 cde/programs/dtinfo/DtMmdb/mgrs/Imakefile          |   4 +-
 cde/programs/dtinfo/DtMmdb/misc/unique_id.c        |   2 +-
 cde/programs/dtinfo/DtMmdb/object/Imakefile        |   4 +-
 cde/programs/dtinfo/DtMmdb/object/long_pstring.h   |   3 +-
 cde/programs/dtinfo/DtMmdb/oliasdb/Imakefile       |   4 +-
 cde/programs/dtinfo/DtMmdb/schema/Imakefile        |   4 +-
 cde/programs/dtinfo/DtMmdb/schema/object_dict.C    |   2 +-
 cde/programs/dtinfo/DtMmdb/schema/token.C          |   2 +-
 cde/programs/dtinfo/DtMmdb/storage/Imakefile       |   4 +-
 cde/programs/dtinfo/DtMmdb/utility/Imakefile       |   4 +-
 cde/programs/dtinfo/DtMmdb/utility/filebuf.C       |   3 +-
 cde/programs/dtinfo/DtMmdb/utility/funcs.h         |   4 +-
 .../dtinfo/DtMmdb/utility/mmdb_exception.h         |  22 +-
 cde/programs/dtinfo/DtMmdb/utility/streambuf.C     |   3 +-
 cde/programs/dtinfo/clients/dtinfo_start/Imakefile |   1 +
 cde/programs/dtinfo/dtinfo/src/Agents/Imakefile    |   6 +-
 .../dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh  |   1 -
 .../dtinfo/dtinfo/src/Agents/NodePrintAgent.C      |  18 +-
 .../dtinfo/dtinfo/src/Agents/NodePrintAgent.hh     |  15 +
 .../dtinfo/src/Agents/NodeWindowAgentMotif.C       |  10 +-
 cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.C |  16 +-
 .../dtinfo/dtinfo/src/Basic/FolioObject.hh         |   6 +-
 cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C     |   1 +
 cde/programs/dtinfo/dtinfo/src/Basic/Imakefile     |   6 +-
 cde/programs/dtinfo/dtinfo/src/Graphics/Imakefile  |   4 +-
 cde/programs/dtinfo/dtinfo/src/Imakefile           |  24 +-
 cde/programs/dtinfo/dtinfo/src/Managers/Imakefile  |   4 +-
 cde/programs/dtinfo/dtinfo/src/Marks/Imakefile     |   4 +-
 .../dtinfo/dtinfo/src/OliasSearch/Imakefile        |   3 +-
 .../dtinfo/dtinfo/src/OnlineRender/Imakefile       |   4 +-
 cde/programs/dtinfo/dtinfo/src/Other/Imakefile     |   4 +-
 .../dtinfo/dtinfo/src/Other/WindowSystemMotif.C    |  34 +--
 .../dtinfo/dtinfo/src/Other/WindowSystemMotif.hh   |  27 ++
 .../dtinfo/dtinfo/src/Preferences/Imakefile        |   8 +-
 .../dtinfo/dtinfo/src/Preferences/UserPreference.C |   3 +-
 cde/programs/dtinfo/dtinfo/src/Query/Imakefile     |   4 +-
 cde/programs/dtinfo/dtinfo/src/Support/Imakefile   |   4 +-
 cde/programs/dtinfo/dtinfo/src/Support/xList.hh    |   9 +-
 cde/programs/dtinfo/dtinfo/src/UAS/Base/Imakefile  |   4 +-
 .../dtinfo/dtinfo/src/UAS/Base/UAS_Exceptions.hh   |   2 +-
 .../dtinfo/dtinfo/src/UAS/Base/UAS_OQLParser.hh    |   4 +-
 cde/programs/dtinfo/dtinfo/src/UAS/DtSR/Imakefile  |   4 +-
 cde/programs/dtinfo/dtinfo/src/UAS/MMDB/Imakefile  |   4 +-
 cde/programs/dtinfo/dtinfo/src/Widgets/Imakefile   |   8 +-
 .../dtinfo/dtinfo/wwl/include/WWL/WArgList.h       |   2 +-
 .../dtinfo/dtinfo/wwl/include/WWL/WXmText.h        |   2 +-
 .../dtinfo/dtinfo/wwl/include/WWL/WXmTextField.h   |   2 +-
 cde/programs/dtinfo/dtinfo/wwl/include/WWL/wwl.h   |   4 +-
 .../dtinfo/dtinfogen/infolib/etc/ContentType.C     |   3 +-
 .../dtinfo/dtinfogen/infolib/etc/DataBase.h        |   2 +-
 .../dtinfo/dtinfogen/infolib/etc/Imakefile         |  13 +-
 .../dtinfo/dtinfogen/infolib/etc/RemoteId.C        |   3 +-
 .../dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C  |   3 +-
 cde/programs/dtinfo/dtinfogen/infolib/etc/Task.h   |   2 +-
 cde/programs/dtinfo/dtinfogen/infolib/etc/Token.h  |   2 +-
 .../dtinfogen/infolib/etc/dtinfogen_worker.c       |   3 +
 .../dtinfo/dtinfogen/infolib/etc/gr_type.C         |   3 +-
 cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C    |   6 +-
 cde/programs/dtinfo/dtinfogen/install/Imakefile    |   4 +-
 .../dtinfo/dtinfogen/mmdb/StyleSheet/Imakefile     |  12 +-
 cde/programs/dtinfo/dtinfogen/mmdb/src/Imakefile   |   9 +-
 cde/programs/dtinfo/mmdb/HardCopy/Imakefile        |  10 +-
 cde/programs/dtinfo/mmdb/Imakefile                 |   2 +-
 cde/programs/dtinfo/mmdb/StyleSheet/Imakefile      |  10 +-
 cde/programs/dtinfo/mmdb/api/Imakefile             |   8 +-
 cde/programs/dtinfo/mmdb/btree/Imakefile           |   4 +-
 cde/programs/dtinfo/mmdb/btree_berkeley/Imakefile  |   3 +-
 cde/programs/dtinfo/mmdb/compression/Imakefile     |   4 +-
 cde/programs/dtinfo/mmdb/diskhash/Imakefile        |   4 +-
 cde/programs/dtinfo/mmdb/dstr/Imakefile            |   4 +-
 cde/programs/dtinfo/mmdb/dti_cc/Imakefile          |   4 +-
 cde/programs/dtinfo/mmdb/dti_excs/Imakefile        |   6 +-
 cde/programs/dtinfo/mmdb/dynhash/Imakefile         |   4 +-
 cde/programs/dtinfo/mmdb/hmphf/Imakefile           |   4 +-
 cde/programs/dtinfo/mmdb/index/Imakefile           |   4 +-
 cde/programs/dtinfo/mmdb/mgrs/Imakefile            |   4 +-
 cde/programs/dtinfo/mmdb/object/Imakefile          |   4 +-
 cde/programs/dtinfo/mmdb/oliasdb/Imakefile         |   4 +-
 cde/programs/dtinfo/mmdb/schema/Imakefile          |   4 +-
 cde/programs/dtinfo/mmdb/storage/Imakefile         |   4 +-
 cde/programs/dtinfo/mmdb/utility/Imakefile         |   4 +-
 cde/programs/dtksh/Imakefile                       |   1 +
 cde/programs/dtksh/dtkcvt.c                        |   2 +-
 cde/programs/dtksh/ksh93/Imakefile                 |   4 +-
 cde/programs/dtksh/ksh93/src/cmd/ksh93/Mamfile     |  28 +-
 cde/programs/dtksh/ksh93/src/cmd/pax/Mamfile       |   2 +-
 cde/programs/dtksh/ksh93/src/lib/libast/Mamfile    |  46 +--
 .../dtksh/ksh93/src/lib/libast/feature/lib         |   3 +-
 .../dtksh/ksh93/src/lib/libast/features/lib        |   3 +-
 .../dtksh/ksh93/src/lib/libast/include/sfio.h      |   4 +
 .../dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c    |   3 +-
 cde/programs/dtksh/ksh93/src/lib/libcmd/Mamfile    |   6 +-
 cde/programs/dtksh/xmcmds.c                        |   4 +-
 cde/programs/dtlogin/Imakefile                     |   3 +-
 cde/programs/dtlogin/config/Xservers.src           |   2 +-
 cde/programs/dtlogin/dm.c                          |   3 +-
 cde/programs/dtlogin/genauth.c                     |   4 +-
 cde/programs/dtlogin/pam_svc.c                     |   4 +-
 cde/programs/dtlogin/pam_svc.h                     |   2 +-
 cde/programs/dtlogin/verify.c                      |  10 +-
 cde/programs/dtmail/MotifApp/Imakefile             |   2 +-
 cde/programs/dtmail/MotifApp/InterruptibleCmd.C    |   2 +-
 cde/programs/dtmail/dtmail/Imakefile               |   2 +-
 cde/programs/dtmail/dtmailpr/Imakefile             |   4 +-
 cde/programs/dtmail/include/DtMail/DtMail.hh       |  14 +-
 cde/programs/dtmail/libDtMail/Common/Imakefile     |   2 +-
 cde/programs/dtmail/libDtMail/RFC/Imakefile        |   2 +-
 cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C     |   6 +-
 cde/programs/dtpad/Imakefile                       |   1 +
 cde/programs/dtpdm/Imakefile                       |   3 +-
 cde/programs/dtprintinfo/libUI/MotifUI/Imakefile   |   2 +-
 cde/programs/dtsearchpath/dtappg/Imakefile         |   2 +-
 cde/programs/dtsearchpath/dtappg/Options.C         |   2 +-
 cde/programs/dtsearchpath/dtappg/dtappgather.C     |   2 +-
 cde/programs/dtsearchpath/dtsp/Imakefile           |   2 +-
 cde/programs/dtsearchpath/dtsp/ManSearchPath.C     |   4 +-
 cde/programs/dtsearchpath/dtsp/Options.C           |   2 +-
 cde/programs/dtsearchpath/dtsp/SearchPath.C        |  10 +-
 cde/programs/dtsearchpath/dtsp/SearchPath.h        |   6 +-
 cde/programs/dtsearchpath/libCliSrv/Imakefile      |   4 +-
 cde/programs/dtsearchpath/libCliSrv/TTFile.C       |   6 +-
 cde/programs/dtsearchpath/libCliSrv/TTFile.h       |   2 +-
 cde/programs/dtsearchpath/libCliSrv/UnixEnv.C      |   2 +-
 cde/programs/dtsearchpath/libCliSrv/cstring.C      |   2 +-
 cde/programs/dtsearchpath/libCliSrv/cstring.h      |   4 +-
 cde/programs/dtsession/Imakefile                   |   5 +-
 cde/programs/dtstyle/Imakefile                     |   8 +-
 cde/programs/dtterm/Imakefile                      |   1 +
 cde/programs/dtudcfonted/libfal/Imakefile          |   1 +
 cde/programs/dtwm/Imakefile                        |   7 +-
 cde/programs/dtwm/WmFunction.c                     |   3 +-
 cde/programs/dtwm/WmResCvt.c                       |   4 +
 cde/programs/dtwm/WmResource.c                     |   4 +
 cde/programs/fontaliases/sun/C/fonts.alias         |  42 +--
 cde/programs/localized/C/types/_common.dt.tmsg     |   2 +-
 .../de_DE.ISO8859-1/types/_common.dt.tmsg          |   2 +-
 .../es_ES.ISO8859-1/types/_common.dt.tmsg          |   2 +-
 .../fr_FR.ISO8859-1/types/_common.dt.tmsg          |   2 +-
 .../it_IT.ISO8859-1/types/_common.dt.tmsg          |   2 +-
 cde/programs/nsgmls/CmdLineApp.C                   |   4 +-
 cde/programs/nsgmls/CmdLineApp.h                   |   2 +-
 cde/programs/nsgmls/CodingSystem.C                 |   4 +-
 cde/programs/nsgmls/CodingSystem.h                 |   2 +-
 cde/programs/nsgmls/EUCJPCodingSystem.C            |   2 +-
 cde/programs/nsgmls/Fixed2CodingSystem.C           |   2 +-
 cde/programs/nsgmls/IdentityCodingSystem.C         |   2 +-
 cde/programs/nsgmls/Imakefile                      |   2 +-
 cde/programs/nsgmls/OutputCharStream.C             |   4 +-
 cde/programs/nsgmls/OutputCharStream.h             |   2 +-
 cde/programs/nsgmls/SJISCodingSystem.C             |   2 +-
 cde/programs/nsgmls/UTF8CodingSystem.C             |   2 +-
 cde/programs/nsgmls/UnicodeCodingSystem.C          |   2 +-
 cde/programs/nsgmls/config.h                       |   4 +-
 cde/programs/nsgmls/nsgmls.C                       |   8 +-
 cde/programs/nsgmls/xnew.h                         |   2 +-
 cde/programs/ttsnoop/DtTt.C                        |   2 +-
 cde/programs/ttsnoop/callbackChooser_stubs.C.src   |   2 +-
 cde/programs/ttsnoop/fileChooser_stubs.C.src       |   2 +-
 cde/programs/ttsnoop/messageProps_stubs.C.src      |   2 +-
 cde/programs/ttsnoop/patternProps_stubs.C.src      |   2 +-
 cde/programs/ttsnoop/sessionChooser_stubs.C.src    |   2 +-
 cde/programs/ttsnoop/stringChooser_stubs.C.src     |   2 +-
 cde/programs/ttsnoop/ttChooser_stubs.C.src         |   2 +-
 cde/programs/ttsnoop/tt_c++.h                      |   2 +-
 cde/programs/ttsnoop/ttsnoop.C.src                 |   2 +-
 cde/programs/ttsnoop/ttsnoop_stubs.C.src           |   2 +-
 cde/programs/types/dtwm.fp.src                     |   2 +-
 297 files changed, 1049 insertions(+), 1091 deletions(-)
 create mode 100644 cde/programs/backdrops/SunLogo.pm

diff --git a/cde/.gitignore b/cde/.gitignore
index 6b812a3..cf74e60 100644
--- a/cde/.gitignore
+++ b/cde/.gitignore
 <at>  <at>  -76,6 +76,19  <at>  <at>  admin/IntegTools/post_install/netbsd/configRun
 admin/IntegTools/post_install/netbsd/configShlibs
 admin/IntegTools/post_install/netbsd/configTT
 
+admin/IntegTools/post_install/sun/CDE-MIN.list
+admin/IntegTools/post_install/sun/CDE-MIN.lst
+admin/IntegTools/post_install/sun/CDE-RUN.list
+admin/IntegTools/post_install/sun/CDE-RUN.lst
+admin/IntegTools/post_install/sun/CDE-SHLIBS.list
+admin/IntegTools/post_install/sun/CDE-SHLIBS.lst
+admin/IntegTools/post_install/sun/CDE-TT.list
+admin/IntegTools/post_install/sun/CDE-TT.lst
+admin/IntegTools/post_install/sun/configMin
+admin/IntegTools/post_install/sun/configRun
+admin/IntegTools/post_install/sun/configShlibs
+admin/IntegTools/post_install/sun/configTT
+
 admin/IntegTools/post_install/configDemos
 admin/IntegTools/post_install/configFonts
 admin/IntegTools/post_install/configHelp
 <at>  <at>  -90,6 +103,12  <at>  <at>  admin/IntegTools/post_install/configPrg
 admin/IntegTools/post_install/configShlibs
 
 install.dt
+install.dt.dec
+install.dt.hp
+install.dt.ibm
+install.dt.sun
+install.dt.usl
+install.dt.uxp
 dinstall.dt
 dinstallCDE
 installCDE
 <at>  <at>  -367,9 +386,25  <at>  <at>  doc/C/man/man3/
 doc/C/man/man4/
 doc/C/man/man5/
 doc/C/man/man6/
+doc/de_DE.ISO8859-1/cde.dti/
+doc/de_DE.ISO8859-1/guides/infoUGd/TOC.sgm
+doc/de_DE.ISO8859-1/guides/sysAdminGuide/TOC.sgm
+doc/de_DE.ISO8859-1/guides/usersGuide/TOC.sgm
 doc/de_DE.ISO8859-1/help-sdl/
+doc/es_ES.ISO8859-1/cde.dti/
+doc/es_ES.ISO8859-1/guides/infoUGd/TOC.sgm
+doc/es_ES.ISO8859-1/guides/sysAdminGuide/TOC.sgm
+doc/es_ES.ISO8859-1/guides/usersGuide/TOC.sgm
 doc/es_ES.ISO8859-1/help-sdl/
+doc/fr_FR.ISO8859-1/cde.dti/
+doc/fr_FR.ISO8859-1/guides/infoUGd/TOC.sgm
+doc/fr_FR.ISO8859-1/guides/sysAdminGuide/TOC.sgm
+doc/fr_FR.ISO8859-1/guides/usersGuide/TOC.sgm
 doc/fr_FR.ISO8859-1/help-sdl/
+doc/it_IT.ISO8859-1/cde.dti/
+doc/it_IT.ISO8859-1/guides/infoUGd/TOC.sgm
+doc/it_IT.ISO8859-1/guides/sysAdminGuide/TOC.sgm
+doc/it_IT.ISO8859-1/guides/usersGuide/TOC.sgm
 doc/it_IT.ISO8859-1/help-sdl/
 doc/ja_JP.dt-eucJP/m-guides/
 doc/tmp/
 <at>  <at>  -1094,6 +1129,7  <at>  <at>  programs/dtksh/ksh93/src/lib/libvdelta/MAM.list
 programs/dtksh/ksh93/src/lib/libvdelta/MAM.time
 
 # programs/dtlogin
+programs/dtlogin/config/0015.sun.env
 programs/dtlogin/config/0060.dtsysenv
 programs/dtlogin/config/Dtlogin
 programs/dtlogin/config/Xaccess
 <at>  <at>  -1110,6 +1146,8  <at>  <at>  programs/dtlogin/config/Xservers.con
 programs/dtlogin/config/Xservers.nc
 programs/dtlogin/config/Xsession
 programs/dtlogin/config/Xsession.ive
+programs/dtlogin/config/Xsession.ow
+programs/dtlogin/config/Xsession.ow2
 programs/dtlogin/config/Xsetup
 programs/dtlogin/config/Xstartup
 programs/dtlogin/config/current.session
 <at>  <at>  -1182,6 +1220,16  <at>  <at>  programs/fontaliases/netbsd/C/dtinfo.pcf
 programs/fontaliases/netbsd/C/dtinfo.pcf.gz
 programs/fontaliases/netbsd/C/dtinfo.pcf.Z
 programs/fontaliases/netbsd/C/fonts.dir
+programs/fontaliases/sun/C/dtinfo.bdf
+programs/fontaliases/sun/C/dtinfo.pcf
+programs/fontaliases/sun/C/dtinfo.pcf.gz
+programs/fontaliases/sun/C/dtinfo.pcf.Z
+programs/fontaliases/sun/C/fonts.dir
+programs/fontaliases/sun/ja/dtinfo.bdf
+programs/fontaliases/sun/ja/dtinfo.pcf
+programs/fontaliases/sun/ja/dtinfo.pcf.gz
+programs/fontaliases/sun/ja/dtinfo.pcf.Z
+programs/fontaliases/sun/ja/fonts.dir
 
 # programs/ksh93
 programs/dtksh/ksh93/man/man1/sh.1
 <at>  <at>  -1235,6 +1283,8  <at>  <at>  programs/localized/C/backdrops/Backdrops.nls
 programs/localized/C/backdrops/desc.C
 programs/localized/C/config/Xresources
 programs/localized/C/config/Xresources.nls
+programs/localized/C/config/Xresources.ow
+programs/localized/C/config/Xresources.ow.nls
 programs/localized/C/config/current.session
 programs/localized/C/config/current.session.nls
 programs/localized/C/config/current.session.tmsg
 <at>  <at>  -1401,6 +1451,8  <at>  <at>  programs/localized/de_DE.ISO8859-1/backdrops/Backdrops.nls
 programs/localized/de_DE.ISO8859-1/backdrops/desc.de_DE.ISO8859-1
 programs/localized/de_DE.ISO8859-1/config/Xresources
 programs/localized/de_DE.ISO8859-1/config/Xresources.nls
+programs/localized/de_DE.ISO8859-1/config/Xresources.ow
+programs/localized/de_DE.ISO8859-1/config/Xresources.ow.nls
 programs/localized/de_DE.ISO8859-1/config/current.session
 programs/localized/de_DE.ISO8859-1/config/current.session.nls
 programs/localized/de_DE.ISO8859-1/config/current.session.tmsg
 <at>  <at>  -1590,6 +1642,8  <at>  <at>  programs/localized/es_ES.ISO8859-1/backdrops/Backdrops.nls
 programs/localized/es_ES.ISO8859-1/backdrops/desc.es_ES.ISO8859-1
 programs/localized/es_ES.ISO8859-1/config/Xresources
 programs/localized/es_ES.ISO8859-1/config/Xresources.nls
+programs/localized/es_ES.ISO8859-1/config/Xresources.ow
+programs/localized/es_ES.ISO8859-1/config/Xresources.ow.nls
 programs/localized/es_ES.ISO8859-1/config/current.session
 programs/localized/es_ES.ISO8859-1/config/current.session.nls
 programs/localized/es_ES.ISO8859-1/config/current.session.tmsg
 <at>  <at>  -1779,6 +1833,8  <at>  <at>  programs/localized/fr_FR.ISO8859-1/backdrops/Backdrops.nls
 programs/localized/fr_FR.ISO8859-1/backdrops/desc.fr_FR.ISO8859-1
 programs/localized/fr_FR.ISO8859-1/config/Xresources
 programs/localized/fr_FR.ISO8859-1/config/Xresources.nls
+programs/localized/fr_FR.ISO8859-1/config/Xresources.ow
+programs/localized/fr_FR.ISO8859-1/config/Xresources.ow.nls
 programs/localized/fr_FR.ISO8859-1/config/current.session
 programs/localized/fr_FR.ISO8859-1/config/current.session.nls
 programs/localized/fr_FR.ISO8859-1/config/current.session.tmsg
 <at>  <at>  -1968,6 +2024,8  <at>  <at>  programs/localized/it_IT.ISO8859-1/backdrops/Backdrops.nls
 programs/localized/it_IT.ISO8859-1/backdrops/desc.it_IT.ISO8859-1
 programs/localized/it_IT.ISO8859-1/config/Xresources
 programs/localized/it_IT.ISO8859-1/config/Xresources.nls
+programs/localized/it_IT.ISO8859-1/config/Xresources.ow
+programs/localized/it_IT.ISO8859-1/config/Xresources.ow.nls
 programs/localized/it_IT.ISO8859-1/config/current.session
 programs/localized/it_IT.ISO8859-1/config/current.session.nls
 programs/localized/it_IT.ISO8859-1/config/current.session.tmsg
diff --git a/cde/admin/IntegTools/dbTools/installCDE.src b/cde/admin/IntegTools/dbTools/installCDE.src
index c8e79ce..5a62a34 100755
--- a/cde/admin/IntegTools/dbTools/installCDE.src
+++ b/cde/admin/IntegTools/dbTools/installCDE.src
 <at>  <at>  -257,9 +257,13  <at>  <at>  RestartInetd()
 
   OLDPWD=`pwd`
   cd /
-  if [ "$PLATFORM" = "sun" -o "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ]
+  if [ "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ]
   then
     /usr/sbin/inetd -s
+  elif [ "$PLATFORM" = "sun" ]
+  then
+    /usr/sbin/svcadm refresh svc:/network/inetd:default
+    /usr/sbin/svcadm restart svc:/network/inetd:default
   elif [ "$PLATFORM" = "aix" ]
   then
     startsrc -s inetd >>$LOGFILE 2>&1
 <at>  <at>  -601,7 +605,7  <at>  <at>  XCOMM
   if [ "$PLATFORM" = "aix" ];
   then
     USER=`/bin/whoami`
-  elif [ "$PLATFORM" = "sun" -o "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ];
+  elif [ "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ];
   then
     USER=`/usr/ucb/whoami`
   else
diff --git a/cde/admin/IntegTools/dbTools/mkProd b/cde/admin/IntegTools/dbTools/mkProd
index f83d34e..e0e9a32 100755
--- a/cde/admin/IntegTools/dbTools/mkProd
+++ b/cde/admin/IntegTools/dbTools/mkProd
 <at>  <at>  -108,7 +108,7  <at>  <at>  fi
 if [ $PLATFORM = "aix" ];
 then
         USER=`/bin/whoami`
-elif [ $PLATFORM = "sun" -o $PLATFORM = "usl" -o $PLATFORM = "uxp" ];
+elif [ $PLATFORM = "usl" -o $PLATFORM = "uxp" ];
 then
         USER=`/usr/ucb/whoami`
 else
diff --git a/cde/admin/IntegTools/post_install/sun/configMin.src b/cde/admin/IntegTools/post_install/sun/configMin.src
index e21a34b..41bb9d0 100755
--- a/cde/admin/IntegTools/post_install/sun/configMin.src
+++ b/cde/admin/IntegTools/post_install/sun/configMin.src
 <at>  <at>  -227,8 +227,6  <at>  <at>  XCOMM ###############################################################
 
     FixEtcInetdDotConf
 
-    FixEtcPamDotConf
-
     HASH
     HASH  create the /var/dt/tmp directory for the dtspcd
     HASH
 <at>  <at>  -245,8 +243,6  <at>  <at>  XCOMM ###############################################################
 
     UnfixEtcInetdDotConf
 
-    UnfixEtcPamDotConf
-
     RemoveMinFiles
 
     VerifyInstalledFiles
diff --git a/cde/admin/IntegTools/post_install/sun/configRun.src b/cde/admin/IntegTools/post_install/sun/configRun.src
index 8089b5e..c6b437d 100755
--- a/cde/admin/IntegTools/post_install/sun/configRun.src
+++ b/cde/admin/IntegTools/post_install/sun/configRun.src
 <at>  <at>  -270,7 +270,7  <at>  <at>  DEFAULT_PRINTER="DtPrint"
     HASH
     HASH ConfigurePrintersDir
     HASH
-    env LANG=C /usr/dt/bin/dtprintinfo -populate
+    env LANG=C /usr/dt/bin/dtprintinfo -populate 2>/dev/null
 
     HASH
     HASH Configure Xsession.d
diff --git a/cde/config/cf/DtInfo.rules b/cde/config/cf/DtInfo.rules
index e6a120e..316a671 100644
--- a/cde/config/cf/DtInfo.rules
+++ b/cde/config/cf/DtInfo.rules
 <at>  <at>  -36,7 +36,7  <at>  <at>  XCOMM $TOG: DtInfo.rules /main/21 1997/09/05 11:31:01 samborn $
  * library building stuff
  */
 
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 # define makelibT(libname)					 <at>  <at> \
 	makelib(libname)					 <at>  <at> \
 								 <at>  <at> \
 <at>  <at>  -61,7 +61,7  <at>  <at>  Concat3(subdir/libname/lib,libname,T.a): FRC			 <at>  <at> \
 	    echo STR(*** Making lib libname Templates ***) ; \	 <at>  <at> \
 	    $(MAKE) Concat3(libname/lib,libname,T.a) ; \	 <at>  <at> \
 	)
-#else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3 */
+#else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5 */
 # define makelibT(libname)					 <at>  <at> \
 	makelib(libname)
 #endif
 <at>  <at>  -153,7 +153,7  <at>  <at>  Concat(lib,libname.a): objlist					 <at>  <at> \
 	$(LD) -r -o $ <at>  objlist
 
 
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 #define SimpleLibraryT(libname,objlist,libdir)			 <at>  <at> \
 SimpleLibrary(libname,objlist,libdir)				 <at>  <at> \
 								 <at>  <at> \
 <at>  <at>  -198,7 +198,7  <at>  <at>  Concat(lib,libname.a): objlist otherdeps			 <at>  <at> \
 	 <at> echo STR(*** Making NotSoSimpleLibrary libname.a)	 <at>  <at> \
 	$(LD) -r -o $ <at>  objlist
 
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 #define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps)	 <at>  <at> \
 NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)		 <at>  <at> \
 								 <at>  <at> \
diff --git a/cde/config/cf/Motif.tmpl b/cde/config/cf/Motif.tmpl
index 94de516..ee04e4d 100644
--- a/cde/config/cf/Motif.tmpl
+++ b/cde/config/cf/Motif.tmpl
 <at>  <at>  -590,6 +590,8  <at>  <at>  LINTXMWIDGETLIB = $(MWIDGETSRC)/llib-l/Xm.ln
 /* check for existence of Dtinfo Motif Documents */
 #if defined(LinuxArchitecture)
       MOTIF_DOC = $(shell if test -f $(MDOCSRC)/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; fi)
+#elif defined(SunArchitecture)
+  MOTIF_DOC :sh = if test -f ../imports/motif/doc/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; else echo; fi
 #elif defined(BSDArchitecture)
      MOTIF_DOC != if test -f $(MDOCSRC)/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; else echo; fi
 #else
diff --git a/cde/config/cf/cde.tmpl b/cde/config/cf/cde.tmpl
index e405314..8b79b22 100644
--- a/cde/config/cf/cde.tmpl
+++ b/cde/config/cf/cde.tmpl
 <at>  <at>  -232,12 +232,9  <at>  <at>  XCOMM $XConsortium: cde.tmpl /main/2 1996/12/04 10:13:09 swick $
 #endif
 
 #ifndef UseNSGMLS
-# ifdef SunArchitecture
-#  define UseNSGMLS NO
-# else
-#  define UseNSGMLS YES
-# endif
+# define UseNSGMLS YES
 #endif
+
 #ifndef SGMLParser
 # if UseNSGMLS
 #  define SGMLDir $(NSGMLSSRC)
diff --git a/cde/config/cf/site.def b/cde/config/cf/site.def
index 135304a..cec5905 100644
--- a/cde/config/cf/site.def
+++ b/cde/config/cf/site.def
 <at>  <at>  -56,7 +56,22  <at>  <at>  XCOMM site:  $TOG: site.def /main/23 1998/03/19 18:43:26 mgreess $
 # endif
 
 # if defined(SunArchitecture)
-#  define HasSunCplusplus	YES
+#  ifndef HasSunC
+#   define HasSunC		NO
+#  endif
+#  ifndef HasSunCplusplus
+#   define HasSunCplusplus	HasSunC
+#  endif
+#  ifndef HasGcc2
+#   if HasSunC
+#    define HasGcc2		NO
+#   else
+#    define HasGcc2		YES
+#   endif
+#  endif
+#  ifndef HasGcc2ForCplusplus
+#   define HasGcc2ForCplusplus	HasGcc2
+#  endif
 # endif
 
 # if defined(UXPArchitecture) || defined(USLArchitecture) \
 <at>  <at>  -91,6 +106,8  <at>  <at>  XCOMM site:  $TOG: site.def /main/23 1998/03/19 18:43:26 mgreess $
 #  define MotifProjectRoot	/usr/local
 # elif defined(NetBSDArchitecture)
 #  define MotifProjectRoot	/usr/pkg
+# elif defined(SunArchitecture)
+#  define MotifProjectRoot	/usr/X11
 # endif
 #endif
 
diff --git a/cde/config/cf/sun.cf b/cde/config/cf/sun.cf
index d47d097..917fa85 100644
--- a/cde/config/cf/sun.cf
+++ b/cde/config/cf/sun.cf
 <at>  <at>  -16,42 +16,40  <at>  <at>  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 
 /*
  * Compiler setup.  This sun.cf file knows what options to use with 
- * certain compilers, including Sun C, CenterLine C, and gcc.  It 
- * also understands how to set some of the options for various C++
- * compilers, including Sun C++ and CenterLine C++.
+ * certain compilers, including Sun C and gcc.  It also understands
+ * how to set some of the options for various C++ compilers, including
+ * Sun C++ and g++.
  *
  * === C Compiler Setup ==========================================
  *
- * For SunPro C, define HasSunC to YES in site.def.  
- * For CenterLine C, define HasCenterLineC to YES in site.def
- * For gcc or gcc2, define HasGcc or HasGcc2 to YES in site.def
- * For other compilers, define HasSunC to NO in site.def, then 
+ * For SunPro C, define HasSunC to YES in host.def.  
+ * For Gnu gcc, define HasGcc2 to YES in host.def
+ * For other compilers, define HasSunC to NO in host.def, then 
  *    provide appropriate values for the various compiler related
  *    configuration varibles used here.
  * 
  * If you don't tell us which C compiler you have, we assume you have 
- * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc 
+ * the Gcc C compiler under Solaris 5.x.
  * under SunOS 4.1.x
  *
  * === C++ Compiler Setup ==========================================
  *
- * For SunPro C++, define HasSunCplusplus to YES in site.def
- * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
- * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
- * For other compilers, define HasCplusplus to YES in site.def, and 
+ * For SunPro C++, define HasSunCplusplus to YES in host.def
+ * For Gnu g++ 4.x, define HasGcc2ForCplusplus to YES in host.def
+ * For other compilers, define HasCplusplus to YES in host.def, and 
  *    check to see if you need to provide values for CplusplusOptions
  *    and/or DefaultCplusplusOptions.
  *
  * In any case, you may also need to set CplusplusDependIncludes.
  *
  * If you say you have the SunPro C++ compiler, we assume you have 
- * version 3.0.x of the compiler.  If you have version 4.0.x instead, 
- * define CplusplusCompilerMajorVersion as 4 in site.def.
+ * version 5.0.x of the compiler.  If you have version 4.0.x instead, 
+ * define CplusplusCompilerMajorVersion as 4 in host.def.
  *
  */
 
 #ifndef HasSunC
-# if (HasCenterLineC || HasGcc || HasGcc2 || OSMajorVersion < 5)
+# if (HasGcc || HasGcc2 || OSMajorVersion < 5)
 #  define HasSunC NO
 # else
 #  define HasSunC YES
 <at>  <at>  -89,22 +87,44  <at>  <at>  XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
 XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #endif
 
-#if HasCenterLineC
-# ifndef CcCmd
-#  define CcCmd clcc
+#if HasGcc2 
+# ifndef CCompilerMajorVersion
+#  define CCompilerMajorVersion DefaultGnuCCompilerMajorVersion
+# endif
+# ifndef CCompilerMinorVersion
+#  define CCompilerMinorVersion DefaultGnuCCompilerMinorVersion
 # endif
+XCOMM Gnu C CCompilerMajorVersion./**/CCompilerMinorVersion
 #endif
 
-#if HasCenterLineCplusplus
+#if HasGcc2ForCplusplus
 # ifndef HasCplusplus
 #  define HasCplusplus YES
 # endif
-# ifndef DefaultCplusplusOptions
-#  define DefaultCplusplusOptions -Xa
+# ifndef CplusplusCompilerMajorVersion
+#  ifdef DefaultGnuCplusplusCompilerMajorVersion
+#   define CplusplusCompilerMajorVersion DefaultGnuCplusplusCompilerMajorVersion
+#  else
+#   define CplusplusCompilerMajorVersion 4
+#  endif
 # endif
-# ifndef CplusplusOptions
-#  define CplusplusOptions -Xa
+# ifndef CplusplusCompilerMinorVersion
+#  ifdef DefaultGnuCplusplusCompilerMinorVersion
+#   define CplusplusCompilerMinorVersion DefaultGnuCplusplusCompilerMinorVersion
+#  else
+#   define CplusplusCompilerMinorVersion 6
+#  endif
 # endif
+XCOMM Gnu C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
+#endif
+
+
+#if OSMajorVersion > 4
+#define MkdirHierCmd		mkdir -p
+#endif
+
+#ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags	-O2
 #endif
 
 #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
 <at>  <at>  -144,20 +164,23  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #define ConnectionFlags		-DTCPCONN -DUNIXCONN -DLOCALCONN
 #if HasSunC
 /* 
- * Assume /opt/SUNWspro/bin/ contains symlinks to the appropriate tools
+ * Assume /opt/solarisstudio/bin/ contains symlinks to the appropriate tools
  */
 #ifndef  CcCmd
-# define CcCmd			/opt/SUNWspro/bin/cc
+# define CcCmd			/opt/solarisstudio/bin/cc
 #endif
 #ifndef  CplusplusCmd
-# define CplusplusCmd		/opt/SUNWspro/bin/CC
+# define CplusplusCmd		/opt/solarisstudio/bin/CC
 #endif
 #ifndef  CplusplusFilt
-#  define CplusplusFilt 	/opt/SUNWspro/bin/c++filt
+#  define CplusplusFilt 	/opt/solarisstudio/bin/c++filt
 #endif
+#ifndef CplusplusLibC
+#define CplusplusLibC		-L/opt/solarisstudio/lib -lCrun
+#endif 
 #ifndef  CplusplusDependIncludes
 #if CplusplusCompilerMajorVersion > 3
-# define CplusplusDependIncludes	-I/opt/SUNWspro/SC4.0/include/CC
+# define CplusplusDependIncludes	-I/opt/solarisstudio/prod/include/CC -I/opt/solarisstudio/prod/include/CC/Cstd
 #elif CplusplusCompilerMajorVersion > 2
 # define CplusplusDependIncludes	-I/opt/SUNWspro/SC3.0/include/CC
 #else
 <at>  <at>  -165,7 +188,6  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #endif
 #endif
 #endif
-
 # if HasSunC && (CCompilerMajorVersion < 3)
 #  define BootstrapCFlags	-DSVR4
 # else
 <at>  <at>  -208,7 +230,7  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #  endif
 # endif 		/* OSMinorVersion > 1 */
 # ifndef UseExportLists
-#  define UseExportLists YES
+#  define UseExportLists   NO
 # endif
 # define HasVFork          NO
 # define InstKmemFlags	  -g sys -m 2711
 <at>  <at>  -217,11 +239,11  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
  * Set flags for position independent code before including sv4Lib.rules
  * if the compiler in use doesn't use standard SVR4 flags
  */
-# if HasSunC || HasCenterLineC
+# if HasSunC
 #  define PositionIndependentCFlags -Kpic
 #  define LargePositionIndependentCFlags -KPIC
 # endif
-# if HasSunCplusplus || HasCenterLineCplusplus
+# if HasSunCplusplus
 #  define PositionIndependentCplusplusFlags -pic
 #  define LargePositionIndependentCplusplusFlags -PIC
 # endif
 <at>  <at>  -255,12 +277,10  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #  endif
 # endif
 # if HasGcc2
-#  ifndef OptimizedCDebugFlags
-#   ifdef i386Architecture
-#    define OptimizedCDebugFlags -m486 DefaultGcc2i386Opt
-#   else
-#    define OptimizedCDebugFlags -O2
-#   endif
+#  define SharedLibraryLoadFlags -shared
+#  define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#  ifdef i386Architecture
+#   define CcCmd		gcc
 #  endif
 # else
 #  define SharedLibraryCcCmd cc
 <at>  <at>  -296,27 +316,23  <at>  <at>  XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
 #  endif	
 # endif
 
-/* Set compiler-dependent options for CenterLine C */
+# define PexCCOptions DefaultCCOptions
 
-# if HasCenterLineC
-#  ifndef DefaultCCOptions
-#   define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
-#  endif
-#  ifndef NeedConstPrototypes
-#   define NeedConstPrototypes YES
-#  endif
-#  ifndef NeedNestedPrototypes
-#   define NeedNestedPrototypes YES
-#  endif
-#  ifndef NeedVarargsPrototypes
-#   define NeedVarargsPrototypes YES
-#  endif
-# endif
+#endif /* HasGcc || HasGcc2 (else) */
 
+#if HasGcc2 
+CXXDEPENDINCLUDE :sh = CcCmd -v -x c++ /dev/null -fsyntax-only \
+		       2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
+#define CplusplusDependIncludes	$(CXXDEPENDINCLUDE)
+#endif
 
-# define PexCCOptions DefaultCCOptions
+#if HasGcc2ForCplusplus
+#define CplusplusCmd	g++
+#ifndef CplusplusLibC
+#define CplusplusLibC	-L/usr/gnu/lib -lstdc++
+#endif 
+#endif /* HasGcc2ForCplusplus */
 
-#endif /* HasGcc || HasGcc2 (else) */
 
 #if OSMajorVersion < 5
 # define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
 <at>  <at>  -346,8 +362,12  <at>  <at>  man_keywords::								 <at>  <at> \
 #define SharedXdmcpRev 6
 #endif
 
-#define MotifDefines			\
-	-DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
+#define DependFileName		.depend
+#if HasSunC 
+#define DependDefines		-D__BUILTIN_VA_ARG_INCR
+#endif
+
+#define LdPreLib		-L/usr/X11/lib -L$(BUILDLIBDIR)
 #define PamUnixDefines		-DPAM_NIS
 #define TtLargePICTable		YES
 #define DtSvcDefines		-DMULTIBYTE -DNO_REGCOMP
 <at>  <at>  -355,6 +375,11  <at>  <at>  man_keywords::								 <at>  <at> \
 #define DtWidgetDefines		DtSearchDefines
 #define DtPrintDefines		DtSearchDefines
 
+/* For DtHelp TIFF processing routines. */
+#if defined(AMD64Architecture) || defined(i386Architecture)
+#define LSBBitOrder             YES
+#endif
+
 #define baseDtMailDefines	\
 	-DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
 #ifndef i386Architecture
 <at>  <at>  -367,10 +392,15  <at>  <at>  man_keywords::								 <at>  <at> \
 
 #define TtClientExtraLibs	ExtraLibraries -ldl -lintl
 
-#define ExportListGenSource	elistgen.sun
+#ifndef TopMotifInclude
+# define TopMotifInclude	/usr/X11/include
+#endif
+
 #define ShlibExportListOpt(filename)	-M filename
 
+#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
+#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
 #define CdeProjectDefines \
-	-DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
-	-D_XOPEN_SOURCE -D__EXTENSIONS__ \
+	-DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D__EXTENSIONS__ \
 	-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
diff --git a/cde/config/cf/sunLib.tmpl b/cde/config/cf/sunLib.tmpl
index 0e8c8c2..e0f9cd7 100644
--- a/cde/config/cf/sunLib.tmpl
+++ b/cde/config/cf/sunLib.tmpl
 <at>  <at>  -55,15 +55,15  <at>  <at>  XCOMM $TOG: sunLib.tmpl /main/47 1997/12/12 14:53:33 kaleb $
 # define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
 # define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
 # define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
-# define SharedTtReqs -lnsl -lsocket -lintl -ldl -lc -lw
-# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl -ldl
+# define SharedTtReqs $(XTOOLLIB) -lnsl -lsocket -lintl -ldl -lc -lw $(CXXLIB)
+# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl -ldl $(CXXLIB)
 # define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl -ldl
 # define SharedDtSearchReqs -lm -lc
 # define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
-# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc
+# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc -ljpeg
 # define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
 # define SharedDtTermReqs SharedDtHelpReqs -ldl -lgen
-# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc
+# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc $(CXXLIB)
 # define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm -ldl
 # define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
 
 <at>  <at>  -74,10 +74,10  <at>  <at>  ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
 
 # if HasCplusplus
 #  if HasGcc2ForCplusplus
-UNSHARED_CXXLIB = -static -lC
+UNSHARED_CXXLIB =
 #  elif HasSunCplusplus
 #   if CplusplusCompilerMajorVersion > 3
-UNSHARED_CXXLIB = -lC
+UNSHARED_CXXLIB =
 #   else
 UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
 #   endif
diff --git a/cde/config/cf/sv4Lib.rules b/cde/config/cf/sv4Lib.rules
index 0e4e1d6..779db75 100644
--- a/cde/config/cf/sv4Lib.rules
+++ b/cde/config/cf/sv4Lib.rules
 <at>  <at>  -61,8 +61,17  <at>  <at>  install:: Concat(lib,libname.so.rev) 					 <at>  <at> \
 #endif /* InstallSharedLibraryData */
 
 #ifndef LinkWithExports
-# if UseExportLists
-#  define LinkWithExports(libname,rev,solist,down,up) \
+# if defined(SunArchitecture)
+#  if HasGcc2
+#   define LinkWithExports(libname,rev,solist,down,up) \
+	(cd down; $(CC) -o up/$ <at> ~ $(SHLIBLDFLAGS) -Wl,-soname,$ <at>  solist $(REQUIREDLIBS))
+#  else
+#   define LinkWithExports(libname,rev,solist,down,up) \
+	(cd down; $(CCENVSETUP) $(CXX) -o up/$ <at> ~ $(SHLIBLDFLAGS) -h $ <at>  solist $(REQUIREDLIBS))
+#  endif
+# else
+#  if UseExportLists
+#   define LinkWithExports(libname,rev,solist,down,up) \
 	(cd down; $(CCENVSETUP) $(LD) -o up/$ <at> ~ $(SHLIBLDFLAGS) -h $ <at>  solist $(REQUIREDLIBS))	 <at>  <at> \
 	if [ -f Concat(lib,libname.elist) ]; then \			 <at>  <at> \
 	    $(RM) down/$ <at> .exports $ <at> .list; \				 <at>  <at> \
 <at>  <at>  -71,9 +80,10  <at>  <at>  install:: Concat(lib,libname.so.rev) 					 <at>  <at> \
 	    (cd down; $(CCENVSETUP) $(LD) -o up/$ <at> ~ $(SHLIBLDFLAGS) -h $ <at>  ShlibExportListOpt($ <at> .exports) solist $(REQUIREDLIBS)); \	 <at>  <at> \
 	    $(RM) down/$ <at> .exports $ <at> .list; \				 <at>  <at> \
 	fi;
-# else
-#  define LinkWithExports(libname,rev,solist,down,up) \
+#  else
+#   define LinkWithExports(libname,rev,solist,down,up) \
 	(cd down; $(CCENVSETUP) $(LD) -o up/$ <at> ~ $(SHLIBLDFLAGS) -h $ <at>  solist $(REQUIREDLIBS))
+#  endif
 # endif
 #endif
 
diff --git a/cde/config/cf/svr4.cf b/cde/config/cf/svr4.cf
index 9f15ddc..8cbcfd0 100644
--- a/cde/config/cf/svr4.cf
+++ b/cde/config/cf/svr4.cf
 <at>  <at>  -101,10 +101,10  <at>  <at>  XCOMM $TOG: svr4.cf /main/17 1997/06/08 20:08:31 kaleb $
 #define DefaultCCOptions -Xa -Dasm=__asm
 #endif
 #endif
-#ifndef DefaultCDebugFlags
+#if !defined(DefaultCDebugFlags) && !defined(OptimizedCDebugFlags)
 #if HasGcc2
 #ifdef i386Architecture
-#define DefaultCDebugFlags -m486 DefaultGcc2i386Opt
+#define DefaultCDebugFlags -O2
 #else
 #define DefaultCDebugFlags -O2
 #endif
diff --git a/cde/config/imake/Imakefile b/cde/config/imake/Imakefile
index 52548b4..cd3d0d8 100644
--- a/cde/config/imake/Imakefile
+++ b/cde/config/imake/Imakefile
 <at>  <at>  -7,6 +7,7  <at>  <at>  XCOMM not exist.  Since BUILDLIBDIR may not exist yet suppress its use.
 
 DEPLIBS = 
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I$(TOP)/include $(TOP_X_INCLUDES)/X11
 CPP_PROGRAM = CppCmd
 CPP_DEFINES = -DCPP_PROGRAM="\"$(CPP_PROGRAM)\""
diff --git a/cde/config/imake/imake.c b/cde/config/imake/imake.c
index 1bb8335..0e89192 100644
--- a/cde/config/imake/imake.c
+++ b/cde/config/imake/imake.c
 <at>  <at>  -1096,8 +1096,12  <at>  <at>  get_sun_compiler_versions(FILE *inFile)
 {
   char buf[PATH_MAX];
   char cmd[PATH_MAX];
-  static char* sunpro_cc = "/opt/SUNWspro/bin/cc";
-  static char* sunpro_CC = "/opt/SUNWspro/bin/CC";
+  static char* sunpro_cc = "/opt/solarisstudio/bin/cc";
+  static char* sunpro_CC = "/opt/solarisstudio/bin/CC";
+  static char* gnu_cc1 = "/usr/bin/gcc";
+  static char* gnu_cc2 = "/usr/gnu/bin/gcc";
+  static char* gnu_CC1 = "/usr/bin/g++";
+  static char* gnu_CC2 = "/usr/gnu/bin/g++";
   int cmajor, cminor;
   char* vptr;
   struct stat sb;
 <at>  <at>  -1142,6 +1146,56  <at>  <at>  get_sun_compiler_versions(FILE *inFile)
       pclose (ccproc);
     }
   }
+  cmd[0] = '\0';
+  if (lstat (gnu_cc1, &sb) == 0) {
+    strncpy (cmd, gnu_cc1, PATH_MAX);
+  }
+  else if (lstat (gnu_cc2, &sb) == 0) {
+    strncpy (cmd, gnu_cc2, PATH_MAX);
+  }
+  if (cmd[0] != '\0') {
+    strncat (cmd, " --version 2>&1", 15);
+    if ((ccproc = popen (cmd, "r")) != NULL) {
+      if (fgets (buf, PATH_MAX, ccproc) != NULL) {
+	vptr = strrchr (buf, 'G');
+	for (; !isdigit(*vptr); vptr++);
+	ret = sscanf (vptr, "%d.%d", &cmajor, &cminor);
+	fprintf (inFile, 
+		 "#define DefaultGnuCCompilerMajorVersion %d\n",
+		 cmajor);
+	fprintf (inFile, 
+		 "#define DefaultGnuCCompilerMinorVersion %d\n",
+		 cminor);
+      }
+      while (fgets (buf, PATH_MAX, ccproc) != NULL) {};
+      pclose (ccproc);
+    }
+  }
+  cmd[0] = '\0';
+  if (lstat (gnu_CC1, &sb) == 0) {
+    strncpy (cmd, gnu_CC1, PATH_MAX);
+  }
+  else if (lstat (gnu_CC2, &sb) == 0) {
+    strncpy (cmd, gnu_CC2, PATH_MAX);
+  }
+  if (cmd[0] != '\0') {
+    strncat (cmd, " --version 2>&1", 15);
+    if ((ccproc = popen (cmd, "r")) != NULL) {
+      if (fgets (buf, PATH_MAX, ccproc) != NULL) {
+	vptr = strrchr (buf, 'G');
+	for (; !isdigit(*vptr); vptr++);
+	ret = sscanf (vptr, "%d.%d", &cmajor, &cminor);
+	fprintf (inFile, 
+		 "#define DefaultGnuCplusplusCompilerMajorVersion %d\n",
+		 cmajor);
+	fprintf (inFile, 
+		 "#define DefaultGnuCplusplusCompilerMinorVersion %d\n",
+		 cminor);
+      }
+      while (fgets (buf, PATH_MAX, ccproc) != NULL) {};
+      pclose (ccproc);
+    }
+  }
   (void) ret;
 }
 #endif
 <at>  <at>  -1153,6 +1207,10  <at>  <at>  get_gcc_incdir(FILE *inFile)
 #ifdef linux
     "/usr/bin/cc",	/* for Linux PostIncDir */
 #endif
+#ifdef sun
+    "/usr/bin/gcc",
+    "/usr/gnu/bin/gcc",
+#endif
     "/usr/local/bin/gcc",
     "/opt/gnu/bin/gcc"
   };
diff --git a/cde/config/makedepend/Imakefile b/cde/config/makedepend/Imakefile
index 98d67fc..6ebd615 100644
--- a/cde/config/makedepend/Imakefile
+++ b/cde/config/makedepend/Imakefile
 <at>  <at>  -1,4 +1,4  <at>  <at> 
-XCOMM $TOG: Imakefile /main/27 1997/04/30 15:38:09 kaleb $
+XCOMM $tog: Imakefile /main/27 1997/04/30 15:38:09 kaleb $
 
     SRCS = include.c main.c parse.c pr.c cppsetup.c ifparser.c 
     OBJS = include.o main.o parse.o pr.o cppsetup.o ifparser.o 
 <at>  <at>  -28,6 +28,7  <at>  <at>  INC_DEFINES = $(PREINC_DEFINES) $(STDINC_DEFINES) $(POSTINC_DEFINES)
 OSUF = .Osuf
 OSUF_DEFINES = -DOBJSUFFIX=\"$(OSUF)\"
 MAIN_DEFINES = $(INC_DEFINES) $(SIGNAL_DEFINES) $(OSUF_DEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I$(IMAKESRC) -I$(TOP)/include $(TOP_X_INCLUDES)/X11
 
  DEPLIBS =
diff --git a/cde/config/makedepend/ifparser.c b/cde/config/makedepend/ifparser.c
index ec5ef8c..17e71a8 100644
--- a/cde/config/makedepend/ifparser.c
+++ b/cde/config/makedepend/ifparser.c
 <at>  <at>  -81,7 +81,6  <at>  <at> 
 
 #include "ifparser.h"
 #include <ctype.h>
-#include <stdlib.h>
 #include <string.h>
 #include <limits.h>
 
diff --git a/cde/config/makedepend/ifparser.h b/cde/config/makedepend/ifparser.h
index 81da4d5..8fe853b 100644
--- a/cde/config/makedepend/ifparser.h
+++ b/cde/config/makedepend/ifparser.h
 <at>  <at>  -77,6 +77,7  <at>  <at> 
  *     ParseIfExpression		parse a string for #if
  */
 
+#include <stdlib.h>
 #include <stdio.h>
 
 #define const /**/
diff --git a/cde/config/makedepend/main.c b/cde/config/makedepend/main.c
index d76625b..b6f3748 100644
--- a/cde/config/makedepend/main.c
+++ b/cde/config/makedepend/main.c
 <at>  <at>  -525,7 +525,8  <at>  <at>  char *our_getline(filep)
 	lineno = filep->f_line;
 
 	for(bol = p--; ++p < eof; ) {
-		if (*p == '/' && *(p+1) == '*') { /* consume comments */
+		if (*p == '/' && (p+1) < eof && *(p+1) == '*') {
+			/* consume C comments */
 			*p++ = ' ', *p++ = ' ';
 			while (*p) {
 				if (*p == '*' && *(p+1) == '/') {
 <at>  <at>  -538,15 +539,31  <at>  <at>  char *our_getline(filep)
 			}
 			continue;
 		}
-#ifdef WIN32
-		else if (*p == '/' && *(p+1) == '/') { /* consume comments */
-			*p++ = ' ', *p++ = ' ';
-			while (*p && *p != '\n')
-				*p++ = ' ';
-			lineno++;
-			continue;
+		else if (*p == '/' && (p+1) < eof && *(p+1) == '/') {
+			/* consume C++ comments */
+			*p++ = ' ';
+			*p++ = ' ';
+			while (p < eof && *p) {
+				if (*p == '\\' && (p+1) < eof &&
+				    *(p+1) == '\n') {
+					*(p++) = ' ';
+					lineno++;
+				}
+				else if (*p == '?' && (p+3) < eof &&
+					 *(p+1) == '?' &&
+					 *(p+2) == '/' &&
+					 *(p+3) == '\n') {
+					*(p++) = ' ';
+					*(p++) = ' ';
+					*(p++) = ' ';
+					lineno++;
+				}
+				else if (*p == '\n')
+					break;  /* to process end of line */
+				*(p++) = ' ';
+			}
+			--p;
 		}
-#endif
 		else if (*p == '\\') {
 			if (*(p+1) == '\n') {
 				*p = ' ';
diff --git a/cde/config/makedepend/pr.c b/cde/config/makedepend/pr.c
index 0c23618..72ef301 100644
--- a/cde/config/makedepend/pr.c
+++ b/cde/config/makedepend/pr.c
 <at>  <at>  -60,6 +60,7  <at>  <at>  add_include(filep, file, file_red, include, dot, failOK)
 	struct inclist	*file, *file_red;
 	char	*include;
 	boolean	dot;
+	boolean	failOK;
 {
 	register struct inclist	*newfile;
 	register struct filepointer	*content;
diff --git a/cde/config/util/Imakefile b/cde/config/util/Imakefile
index 0ec5963..a82e20f 100644
--- a/cde/config/util/Imakefile
+++ b/cde/config/util/Imakefile
 <at>  <at>  -13,6 +13,8  <at>  <at>  CMKDIRHIER = mkdirhier.exe
 
 PROGRAMS = xmkmf $(MDEP_PROG) mergelib ProgramTargetName(makestrs) $(EXPORTLISTGEN) $(CMKDIRHIER)
 DEPLIBS =
+DEPEND_DEFINES = $(DEPENDDEFINES)
+
 #ifndef Win32Architecture
   EXTRA_LIBRARIES =
 #endif
diff --git a/cde/config/util/makestrs.c b/cde/config/util/makestrs.c
index f3618bc..bae88f1 100644
--- a/cde/config/util/makestrs.c
+++ b/cde/config/util/makestrs.c
 <at>  <at>  -308,6 +308,7  <at>  <at>  static void WriteHeader (tagline, phile, abi)
 static void WriteSourceLine (te, abi, fudge)
     TableEnt* te;
     int abi;
+    int fudge;
 {
     char* c;
 
diff --git a/cde/databases/CDE-FONTS.udb b/cde/databases/CDE-FONTS.udb
index 05f43e6..224977c 100644
--- a/cde/databases/CDE-FONTS.udb
+++ b/cde/databases/CDE-FONTS.udb
 <at>  <at>  -629,9 +629,9  <at>  <at>  programs/fontaliases/sun/C/fonts.dir
 	install_target = /usr/dt/config/xfonts/C/fonts.dir
 }
 #
-programs/fontaliases/sun/C/dtinfo.pcf
+programs/fontaliases/sun/C/dtinfo.pcf.Z
 { sun
-	install_target = /usr/dt/config/xfonts/C/dtinfo.pcf
+	install_target = /usr/dt/config/xfonts/C/dtinfo.pcf.Z
 }
 programs/fontaliases/sun/ja/fonts.alias
 #
 <at>  <at>  -644,9 +644,9  <at>  <at>  programs/fontaliases/sun/ja/fonts.dir
 	install_target = /usr/dt/config/xfonts/ja/fonts.dir
 }
 #
-programs/fontaliases/sun/ja/dtinfo.pcf
+programs/fontaliases/sun/ja/dtinfo.pcf.Z
 { sun
-	install_target = /usr/dt/config/xfonts/C/dtinfo.pcf
+	install_target = /usr/dt/config/xfonts/C/dtinfo.pcf.Z
 }
 #
 #programs/fontaliases/sun/ko/fonts.dir
diff --git a/cde/databases/CDE-HELP-RUN.udb b/cde/databases/CDE-HELP-RUN.udb
index 9ce7569..45d41ba 100644
--- a/cde/databases/CDE-HELP-RUN.udb
+++ b/cde/databases/CDE-HELP-RUN.udb
 <at>  <at>  -409,79 +409,6  <at>  <at>  programs/dtdocbook/doc2sdl/SGML/iso-tech.gml
 	install_target = /usr/dt/dthelp/dtdocbook/SGML/iso-tech.gml
 }
 #
-#>>---------------------------
-# XXXXX - TEMPORARY symlinks to SGML files
-# SGML files: dtdocbook
-# These should go away once Sun can compile nsgmls
-#----------------------------- 
-#
-#
-./dtinfo.af
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/-%%Common_Desktop_Environment%%ENTITIES_DtInfo_Architectural_Forms%%EN
-	type = sym_link
-}
-#
-./docbook.dtd
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/-%%HaL_and_O'Reilly%%DTD_DocBook%%EN
-	type = sym_link
-}
-#
-./iso-lat1.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Added_Latin_1%%EN
-	type = sym_link
-}
-#
-./iso-lat2.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Added_Latin_2%%EN
-	type = sym_link
-}
-#
-./iso-box.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Box_and_Line_Drawing%%EN
-	type = sym_link
-}
-#
-./iso-dia.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Diacritical_Marks%%EN
-	type = sym_link
-}
-#
-./iso-tech.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_General_Technical%%EN
-	type = sym_link
-}
-#
-./iso-grk1.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Greek_Letters%%EN
-	type = sym_link
-}
-#
-./iso-grk3.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Greek_Symbols%%EN
-	type = sym_link
-}
-#
-./iso-num.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Numeric_and_Special_Graphic%%EN
-	type = sym_link
-}
-#
-./iso-pub.gml
-{ sun
-	install_target = /usr/dt/dthelp/dtdocbook/SGML/ISO_8879-1986%%ENTITIES_Publishing%%EN
-	type = sym_link
-}
-#
 #>>-------------------------
 #  pixmaps and helptag files
 #---------------------------
diff --git a/cde/databases/CDE-INFO.udb b/cde/databases/CDE-INFO.udb
index 79b5bb8..35ad442 100644
--- a/cde/databases/CDE-INFO.udb
+++ b/cde/databases/CDE-INFO.udb
 <at>  <at>  -322,318 +322,6  <at>  <at>  programs/dtinfo/dtinfogen/infolib/C/SGML/styprolog.sgml
 }
 #
 #>>----------------------------- 
-# XXXXX - TEMPORARY symlinks to SGML files
-# These should go away once Sun can compile nsgmls
-#<<----------------------------- 
-#
-#
-/usr/dt/infolib/C/SGML/dtinfoBook.dtd
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%DTD_DtInfo_Bookcase_Description%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/dtinfoStyle.dtd
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%DTD_DtInfo_Style_Sheet%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/dtinfoTOC.dtd
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%DTD_DtInfo_Table_of_Contents%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/dtinfo.af
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%ENTITIES_DtInfo_Architectural_Forms%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-catalog
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%ENTITIES_ISO_Catalog%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/proxy.ss
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%Common_Desktop_Environment%%ENTITIES_Dtinfo_SS_Localization%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/docbook.dtd
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/-%%HaL_and_O'Reilly%%DTD_DocBook%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-lat1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Latin_1%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-lat2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Latin_2%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsa.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Arrow_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsb.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Binary_Operators%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsc.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Delimiters%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsn.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Negated_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amso.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Ordinary%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsr.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Added_Math_Symbols\:_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk4.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Alternative_Greek_Symbols%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-box.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Box_and_Line_Drawing%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-dia.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Diacritical_Marks%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-tech.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_General_Technical%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Greek_Letters%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk3.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Greek_Symbols%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Monotoniko_Greek%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-cyr2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Non-Russian_Cyrillic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-num.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Numeric_and_Special_Graphic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-pub.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Publishing%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-cyr1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879\:1986%%ENTITIES_Russian_Cyrillic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mfrk.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13\:1991%%ENTITIES_Math_Alphabets\:_Fraktur_%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mopf.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13\:1991%%ENTITIES_Math_Alphabets\:_Open_Face_%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mscr.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13\:1991%%ENTITIES_Math_Alphabets\:_Script_%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-lat1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Latin_1%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-lat2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Latin_2%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsa.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Arrow_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsb.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Binary_Operators%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsc.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Delimiters%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsn.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Negated_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amso.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Ordinary%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-amsr.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Added_Math_Symbols\:_Relations%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk4.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Alternative_Greek_Symbols%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-box.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Box_and_Line_Drawing%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-dia.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Diacritical_Marks%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-tech.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_General_Technical%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Greek_Letters%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk3.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Greek_Symbols%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-grk2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Monotoniko_Greek%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-cyr2.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Non-Russian_Cyrillic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-num.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Numeric_and_Special_Graphic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-pub.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Publishing%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-cyr1.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_8879-1986%%ENTITIES_Russian_Cyrillic%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mfrk.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13-1991%%ENTITIES_Math_Alphabets\:_Fraktur_%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mopf.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13-1991%%ENTITIES_Math_Alphabets\:_Open_Face_%%EN
-	type = sym_link
-}
-#
-/usr/dt/infolib/C/SGML/iso-mscr.gml
-{ sun
-	install_target = /usr/dt/infolib/C/SGML/ISO_9573-13-1991%%ENTITIES_Math_Alphabets\:_Script_%%EN
-	type = sym_link
-}
-#
-#>>----------------------------- 
 # dtinfo spec files
 #<<----------------------------- 
 #
diff --git a/cde/databases/CDE-RUN.udb b/cde/databases/CDE-RUN.udb
index 5786341..0d15c69 100644
--- a/cde/databases/CDE-RUN.udb
+++ b/cde/databases/CDE-RUN.udb
 <at>  <at>  -1071,6 +1071,12  <at>  <at>  programs/backdrops/Sprinkles.pm
 	install_target = /usr/dt/share/backdrops/Sprinkles.pm
 }
 #
+#
+programs/backdrops/SunLogo.pm
+{ sun
+	install_target = /usr/dt/share/backdrops/SunLogo.pm
+}
+#
 programs/backdrops/Toronto.bm
 { default
 	install_target = /usr/dt/share/backdrops/Toronto.bm
 <at>  <at>  -1936,14 +1942,6  <at>  <at>  programs/nsgmls/nsgmls
         mode = 0555
 }
 #
-# XXXXX - TEMPORARY until Sun can compile nsgmls
-#
-programs/dtdocbook/sgmls/sgmls
-{ sun
-        install_target = /usr/dt/infolib/etc/sgmls
-        mode = 0555
-}
-#
 #>>----------------------------- 
 # 
 # MMDB
diff --git a/cde/databases/CDE-SHLIBS.src b/cde/databases/CDE-SHLIBS.src
index 6e06c2b..6c119db 100644
--- a/cde/databases/CDE-SHLIBS.src
+++ b/cde/databases/CDE-SHLIBS.src
 <at>  <at>  -199,101 +199,6  <at>  <at>  XCOMM  Sun libraries
 XCOMM <<-----------------------------
 XCOMM 
 
--
-{ sun
-	type = directory
-	install_target = /usr/dt/lib/security
-	mode = 0555
-	status = ------
-}
-XCOMM 
-lib/pam/libpam/libpam.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libpam.so.2.1
-	mode = 0755
-	owner = root
-}
-XCOMM
-./libpam.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libpam.so.1
-	type = sym_link
-}
-XCOMM 
-lib/pam/pam_modules/dial_auth/libpam_dial_auth.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_dial_auth.so.2.1
-	mode = 0555
-	owner = root
-}
-XCOMM 
-./pam_dial_auth.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_dial_auth.so.1
-	type = sym_link
-}
-XCOMM 
-lib/pam/pam_modules/rhosts_auth/libpam_rhosts_auth.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_rhosts_auth.so.2.1
-	mode = 0555
-	owner = root
-}
-XCOMM 
-./pam_rhosts_auth.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_rhosts_auth.so.1
-	type = sym_link
-}
-XCOMM 
-lib/pam/pam_modules/unix/libpam_unix.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_unix.so.2.1
-	mode = 0555
-	owner = root
-}
-XCOMM 
-./pam_unix.so.2.1
-{ sun
-        install_target = /usr/dt/lib/security/pam_unix.so.1
-	type = sym_link
-}
-XCOMM 
-./libXm.so.2.1
-{ sun
-	install_target = /usr/dt/lib/libXm.so.1.2
-	type = sym_link
-}
-XCOMM 
-./libXm.so.2.1
-{ sun
-	install_target = /usr/dt/lib/libXm.so.3
-	type = sym_link
-}
-XCOMM 
-./libMrm.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libMrm.so.1.2
-        type = sym_link
-}
-XCOMM 
-./libMrm.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libMrm.so.3
-        type = sym_link
-}
-XCOMM 
-./libUil.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libUil.so.1.2
-        type = sym_link
-}
-XCOMM 
-./libUil.so.2.1
-{ sun
-        install_target = /usr/dt/lib/libUil.so.3
-        type = sym_link
-}
 XCOMM 
 lib/DtHelp/libDtHelp.so.2.1
 { sun
diff --git a/cde/lib/DtHelp/Imakefile b/cde/lib/DtHelp/Imakefile
index 8dbda1f..3713f0f 100644
--- a/cde/lib/DtHelp/Imakefile
+++ b/cde/lib/DtHelp/Imakefile
 <at>  <at>  -13,7 +13,8  <at>  <at>  XCOMM $XConsortium: Imakefile /main/25 1996/11/22 11:17:34 drk $
 #define IHaveSubdirs
 #define PassCDebugFlags	/**/
 
-#if defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+    defined(SunArchitecture)
 SUBDIRS = il
 DONES = il/DONE
 #else
 <at>  <at>  -34,7 +35,7  <at>  <at>  BIT_ORDER_DEFINES = -DLSB_BIT_ORDER
 #endif
 
 INCLUDES = -I. -I./il -I./jpeg
-
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DDTLIB $(LOCAL_DEFINES) \
 	  -DCDE_INSTALLATION_TOP='"$(CDE_INSTALLATION_TOP)"' \
 	  -DCDE_CONFIGURATION_TOP='"$(CDE_CONFIGURATION_TOP)"' \
 <at>  <at>  -153,7 +154,8  <at>  <at>  JPEG_OBJS = \
         jpeg/jdinput.o      jpeg/jerror.o       jpeg/jutils.o
 
 SRCS = $(SRCS1) $(SRCS2) $(CVSRCS) $(LCXSRCS)
-#if defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+    defined(SunArchitecture)
 OBJS = $(OBJS1) $(OBJS2) $(CVOBJS) $(LCXOBJS) $(IL_OBJS)
 #else
 OBJS = $(OBJS1) $(OBJS2) $(CVOBJS) $(LCXOBJS) $(IL_OBJS) $(JPEG_OBJS)
diff --git a/cde/lib/DtHelp/SunOS.lcx b/cde/lib/DtHelp/SunOS.lcx
index a1962f4..88b1d4d 100644
--- a/cde/lib/DtHelp/SunOS.lcx
+++ b/cde/lib/DtHelp/SunOS.lcx
 <at>  <at>  -191,6 +191,13  <at>  <at> 
 ! So the pattern string must be 23, not 32.  Do not go by
 ! the order of 'uname -rv' or 'uname -vr', as that is not used.
 !!!
+SunOS.?.version.<.5120:  "5\\.12.*"
+SunOS.?.version.<.5110:  "5\\.11.*"
+SunOS.?.version.<.5100:  "5\\.10.*"
+SunOS.?.version.<.590:   "5\\.9.*"
+SunOS.?.version.<.580:   "5\\.8.*"
+SunOS.?.version.<.570:   "5\\.7.*"
+SunOS.?.version.<.560:   "5\\.6.*"
 SunOS.?.version.<.550:   "5\\.5.*"
 SunOS.?.version.<.540:   "5\\.4.*"
 SunOS.?.version.<.530:   "5\\.3.*"
diff --git a/cde/lib/DtHelp/il/Imakefile b/cde/lib/DtHelp/il/Imakefile
index 6070e60..b621913 100644
--- a/cde/lib/DtHelp/il/Imakefile
+++ b/cde/lib/DtHelp/il/Imakefile
 <at>  <at>  -16,6 +16,7  <at>  <at>  BIT_ORDER_DEFINES = -DLSB_BIT_ORDER
 #endif
 
 INCLUDES = -I. -I..
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DDTLIB $(LOCAL_DEFINES) \
 	  -DCDE_INSTALLATION_TOP='"$(CDE_INSTALLATION_TOP)"' \
 	  -DCDE_CONFIGURATION_TOP='"$(CDE_CONFIGURATION_TOP)"' \
diff --git a/cde/lib/DtMrm/Imakefile b/cde/lib/DtMrm/Imakefile
index 5ae6955..889af09 100644
--- a/cde/lib/DtMrm/Imakefile
+++ b/cde/lib/DtMrm/Imakefile
 <at>  <at>  -14,6 +14,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/2 1996/04/21 19:14:49 drk $
 REQUIREDLIBS = SharedDtMrmReqs
 #endif
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I. -I$(DTHELPSRC) -I$(DTTERMSRC)/Term -I$(DTTERMSRC)/TermPrim
 
 
diff --git a/cde/lib/DtPrint/Imakefile b/cde/lib/DtPrint/Imakefile
index 97e332e..8f431a9 100644
--- a/cde/lib/DtPrint/Imakefile
+++ b/cde/lib/DtPrint/Imakefile
 <at>  <at>  -10,6 +10,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/11 1996/10/31 02:09:04 cde-hp $
 #ifndef DtPrintDefines
 # define DtPrintDefines		-DMULTIBYTE -DI18N_MSG
 #endif
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtPrintDefines
 INCLUDES = -I.
 
diff --git a/cde/lib/DtSearch/Imakefile b/cde/lib/DtSearch/Imakefile
index 5ba42b9..248fd0c 100644
--- a/cde/lib/DtSearch/Imakefile
+++ b/cde/lib/DtSearch/Imakefile
 <at>  <at>  -17,6 +17,10  <at>  <at>  EXTRA_DEFINES = -DBYTE_SWAP
 EXTRA_DEFINES = -DBYTE_SWAP
 #endif
 
+#if defined(SunArchitecture)
+EXTRA_DEFINES = -DBYTE_SWAP
+#endif
+
 MakeSubdirs($(SUBDIRS))
 ForceSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
diff --git a/cde/lib/DtSearch/raima/Imakefile b/cde/lib/DtSearch/raima/Imakefile
index a47c15b..b2c9fac 100644
--- a/cde/lib/DtSearch/raima/Imakefile
+++ b/cde/lib/DtSearch/raima/Imakefile
 <at>  <at>  -27,6 +27,10  <at>  <at>  EXTRA_DEFINES = -D_XOPEN_SOURCE
 EXTRA_DEFINES = -DBYTE_SWAP -D_XOPEN_SOURCE=700
 #endif
 
+#if defined(SunArchitecture)
+EXTRA_DEFINES = -DBYTE_SWAP -D_XOPEN_SOURCE=700
+#endif
+
 #define DoNormalLib	NormalLibDtSearch
 #define DoSharedLib	SharedLibDtSearch
 #define DoDebugLib	DebugLibDtSearch
diff --git a/cde/lib/DtSearch/raima/vista.h b/cde/lib/DtSearch/raima/vista.h
index ba0c273..4567019 100644
--- a/cde/lib/DtSearch/raima/vista.h
+++ b/cde/lib/DtSearch/raima/vista.h
 <at>  <at>  -86,7 +86,7  <at>  <at> 
 # define __SVR4_I386_ABI_L1__
 #endif
 #include <limits.h>	/* pickup WORD_BIT, LONG_BIT */
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 # undef __SVR4_I386_ABI_L1__
 # ifndef WORD_BIT
 # define WORD_BIT 32
diff --git a/cde/lib/DtSvc/DtEncap/Imakefile b/cde/lib/DtSvc/DtEncap/Imakefile
index 84429e2..15b4e14 100644
--- a/cde/lib/DtSvc/DtEncap/Imakefile
+++ b/cde/lib/DtSvc/DtEncap/Imakefile
 <at>  <at>  -21,6 +21,7  <at>  <at>  XCOMM (c) Copyright 1996 Hitachi.
 #ifndef DtSvcDefines
 # define DtSvcDefines	-DMULTIBYTE
 #endif
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtSvcDefines \
           -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\" \
           -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
diff --git a/cde/lib/DtSvc/DtUtil1/Imakefile b/cde/lib/DtSvc/DtUtil1/Imakefile
index c72ed3d..3699fe7 100644
--- a/cde/lib/DtSvc/DtUtil1/Imakefile
+++ b/cde/lib/DtSvc/DtUtil1/Imakefile
 <at>  <at>  -14,6 +14,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/6 1996/08/20 14:48:27 drk $
 #ifndef DtSvcDefines
 # define DtSvcDefines -DMULTIBYTE
 #endif
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtSvcDefines \
           -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
           -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
diff --git a/cde/lib/DtSvc/DtUtil2/Imakefile b/cde/lib/DtSvc/DtUtil2/Imakefile
index 0fa0238..faf1346 100644
--- a/cde/lib/DtSvc/DtUtil2/Imakefile
+++ b/cde/lib/DtSvc/DtUtil2/Imakefile
 <at>  <at>  -13,6 +13,7  <at>  <at>  XCOMM $TOG: Imakefile /main/14 1998/04/22 14:18:31 mgreess $
 #ifndef DtSvcDefines
 # define DtSvcDefines	-DMULTIBYTE
 #endif
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtSvcDefines \
           -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
           -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
diff --git a/cde/lib/DtSvc/Imakefile b/cde/lib/DtSvc/Imakefile
index f2dc2f7..3585cb8 100644
--- a/cde/lib/DtSvc/Imakefile
+++ b/cde/lib/DtSvc/Imakefile
 <at>  <at>  -30,8 +30,10  <at>  <at>  INCLUDES = -I.
 
 #ifdef SharedDtSvcReqs
 #ifdef SunArchitecture
-REQUIREDLIBS = SharedDtSvcReqs -lC -lCrun
+REQUIREDLIBS = SharedDtSvcReqs
+#ifndef HasGcc2
 SHLIBLDFLAGS = -G
+#endif
 #else
 REQUIREDLIBS = SharedDtSvcReqs
 #endif
diff --git a/cde/lib/DtSvc/include/codelibs/dynarray.h b/cde/lib/DtSvc/include/codelibs/dynarray.h
index 51f03cd..ae276ba 100644
--- a/cde/lib/DtSvc/include/codelibs/dynarray.h
+++ b/cde/lib/DtSvc/include/codelibs/dynarray.h
 <at>  <at>  -36,7 +36,7  <at>  <at> 
 #ifndef __DYNARRAY_H_
 #define __DYNARRAY_H_
 
-#if !defined(linux) && !defined(CSRG_BASED)
+#if !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 #include <generic.h>
 #endif
 #if defined(USL) || defined(__uxp__) || defined(__osf__) || defined(sun) || defined(linux) || defined(CSRG_BASED)
diff --git a/cde/lib/DtTerm/Term/Imakefile b/cde/lib/DtTerm/Term/Imakefile
index 1b7ff96..374683d 100644
--- a/cde/lib/DtTerm/Term/Imakefile
+++ b/cde/lib/DtTerm/Term/Imakefile
 <at>  <at>  -10,6 +10,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/1 1996/04/21 19:15:07 drk $
 
 #include <Threads.tmpl>
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES =
 INCLUDES = -I. -I../TermPrim
 
diff --git a/cde/lib/DtTerm/TermPrim/Imakefile b/cde/lib/DtTerm/TermPrim/Imakefile
index 04277ae..dc16d8f 100644
--- a/cde/lib/DtTerm/TermPrim/Imakefile
+++ b/cde/lib/DtTerm/TermPrim/Imakefile
 <at>  <at>  -10,6 +10,7  <at>  <at>  XCOMM   $TOG: Imakefile /main/3 1998/03/16 14:41:32 mgreess $
 
 #include <Threads.tmpl>
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = $(ARCHITECTURE_DEFINES)
 
 INCLUDES = -I.
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimDebug.c b/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
index fc0c27d..c79d8a1 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
 <at>  <at>  -39,7 +39,7  <at>  <at>  static char rcs_id[] = "$XConsortium: TermPrimDebug.c /main/4 1996/11/21 19:58:1
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 # include <stdarg.h>
 #else
 # include <varargs.h>
diff --git a/cde/lib/DtTerm/TermView/Imakefile b/cde/lib/DtTerm/TermView/Imakefile
index 235582e..56e16ca 100644
--- a/cde/lib/DtTerm/TermView/Imakefile
+++ b/cde/lib/DtTerm/TermView/Imakefile
 <at>  <at>  -10,6 +10,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/1 1996/04/21 19:20:11 drk $
 
 #include <Threads.tmpl>
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I. -I../TermPrim -I../Term
 
 SRCS = \
diff --git a/cde/lib/DtWidget/Imakefile b/cde/lib/DtWidget/Imakefile
index 5f312bc..8cec736 100644
--- a/cde/lib/DtWidget/Imakefile
+++ b/cde/lib/DtWidget/Imakefile
 <at>  <at>  -12,6 +12,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/8 1996/04/21 19:11:16 drk $
 #ifndef DtWidgetDefines
 # define DtWidgetDefines	-DI18N_MSG -DMULTIBYTE
 #endif
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtWidgetDefines
 #if defined(LinuxArchitecture)
 INCLUDES = -I. -I/usr/include/freetype2
diff --git a/cde/lib/csa/Imakefile b/cde/lib/csa/Imakefile
index 41373e5..a2d8dfc 100644
--- a/cde/lib/csa/Imakefile
+++ b/cde/lib/csa/Imakefile
 <at>  <at>  -24,9 +24,11  <at>  <at>  REQUIREDLIBS = SharedCsaReqs
 #endif
 
 #ifdef SunArchitecture
-  EXTRA_DEFINES = -xstrconst -v -DSunOS=$(OSMAJORVERSION)$(OSMINORVERSION)
+  EXTRA_DEFINES = -v -DSunOS=$(OSMAJORVERSION)$(OSMINORVERSION)
+#ifndef HasGcc2
   SHLIBLDFLAGS = -G -z text -z defs
 #endif
+#endif
 
 #ifdef HPArchitecture
   EXTRA_DEFINES = -DHPUX
diff --git a/cde/lib/tt/bin/dbck/Imakefile b/cde/lib/tt/bin/dbck/Imakefile
index 369be76..f10301e 100644
--- a/cde/lib/tt/bin/dbck/Imakefile
+++ b/cde/lib/tt/bin/dbck/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/14 1996/05/08 09:27:35 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/bin/tt_type_comp/Imakefile b/cde/lib/tt/bin/tt_type_comp/Imakefile
index 82ce6b8..0e00641 100644
--- a/cde/lib/tt/bin/tt_type_comp/Imakefile
+++ b/cde/lib/tt/bin/tt_type_comp/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/14 1996/05/08 09:28:02 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/bin/ttdbserverd/Imakefile b/cde/lib/tt/bin/ttdbserverd/Imakefile
index 8a538c6..d827161 100644
--- a/cde/lib/tt/bin/ttdbserverd/Imakefile
+++ b/cde/lib/tt/bin/ttdbserverd/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/15 1996/09/30 13:50:43 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/bin/ttdbserverd/db_server_svc.C b/cde/lib/tt/bin/ttdbserverd/db_server_svc.C
index bc48e6e..b8bce58 100644
--- a/cde/lib/tt/bin/ttdbserverd/db_server_svc.C
+++ b/cde/lib/tt/bin/ttdbserverd/db_server_svc.C
 <at>  <at>  -214,10 +214,10  <at>  <at>  main(int argc, char** argv, char **envp)
 	void install_signal_handler();
 	SVCXPRT *transp;
  	struct sockaddr_in saddr;
-#if defined(DEC) || defined(sun) || defined(HPUX)
+#if defined(DEC) || defined(HPUX)
  	int asize = sizeof(struct sockaddr);
 #else
-# if defined(linux) || defined(CSRG_BASED)
+# if defined(linux) || defined(CSRG_BASED) || defined(sun)
  	socklen_t asize;
 # else
  	size_t asize = sizeof(struct sockaddr);
diff --git a/cde/lib/tt/bin/ttsession/Imakefile b/cde/lib/tt/bin/ttsession/Imakefile
index f7b7425..8908889 100644
--- a/cde/lib/tt/bin/ttsession/Imakefile
+++ b/cde/lib/tt/bin/ttsession/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/15 1996/10/09 14:02:13 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/bin/tttar/Imakefile b/cde/lib/tt/bin/tttar/Imakefile
index 1a3ac12..3f4c87f 100644
--- a/cde/lib/tt/bin/tttar/Imakefile
+++ b/cde/lib/tt/bin/tttar/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/11 1996/05/08 09:28:48 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/bin/tttrace/Imakefile b/cde/lib/tt/bin/tttrace/Imakefile
index 8b15f3a..d5ffce2 100644
--- a/cde/lib/tt/bin/tttrace/Imakefile
+++ b/cde/lib/tt/bin/tttrace/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/14 1996/10/09 14:02:22 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include <Threads.tmpl>
diff --git a/cde/lib/tt/lib/Imakefile b/cde/lib/tt/lib/Imakefile
index 877cb5e..f0a1de8 100644
--- a/cde/lib/tt/lib/Imakefile
+++ b/cde/lib/tt/lib/Imakefile
 <at>  <at>  -45,8 +45,10  <at>  <at>  INCLUDES = -I.
 
 #ifdef SharedTtReqs
 #ifdef SunArchitecture
-REQUIREDLIBS = SharedTtReqs -lC -lCrun
+REQUIREDLIBS = SharedTtReqs
+#ifndef HasGcc2
 SHLIBLDFLAGS = -G
+#endif
 #else
 REQUIREDLIBS = SharedTtReqs
 #endif
diff --git a/cde/lib/tt/lib/api/c/Imakefile b/cde/lib/tt/lib/api/c/Imakefile
index 76b821e..74369d0 100644
--- a/cde/lib/tt/lib/api/c/Imakefile
+++ b/cde/lib/tt/lib/api/c/Imakefile
 <at>  <at>  -12,7 +12,7  <at>  <at>  XCOMM $TOG: Imakefile /main/9 1999/08/30 10:50:55 mgreess $
 #endif
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/lib/db/Imakefile b/cde/lib/tt/lib/db/Imakefile
index 8f82a8b..2c96e81 100644
--- a/cde/lib/tt/lib/db/Imakefile
+++ b/cde/lib/tt/lib/db/Imakefile
 <at>  <at>  -9,7 +9,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/7 1996/04/21 19:12:19 drk $
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/lib/mp/Imakefile b/cde/lib/tt/lib/mp/Imakefile
index ddce718..f30be12 100644
--- a/cde/lib/tt/lib/mp/Imakefile
+++ b/cde/lib/tt/lib/mp/Imakefile
 <at>  <at>  -9,7 +9,7  <at>  <at>  XCOMM $TOG: Imakefile /main/8 1999/08/30 10:52:07 mgreess $
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/lib/tt_options.h b/cde/lib/tt/lib/tt_options.h
index cb8379f..c2ce8a7 100644
--- a/cde/lib/tt/lib/tt_options.h
+++ b/cde/lib/tt/lib/tt_options.h
 <at>  <at>  -296,13 +296,8  <at>  <at> 
 
 # undef  OPT_UNIX_SOCKET_RPC 
 # define OPT_TLI 
-# if defined(PROF) /* can't use dlopen if profiling. */
-#  undef  OPT_DLOPEN_X11 
-#  undef  OPT_DLOPEN_CE 
-# else
-#  define OPT_DLOPEN_X11 
-#  define OPT_DLOPEN_CE 
-# endif
+# undef  OPT_DLOPEN_X11 
+# undef  OPT_DLOPEN_CE 
 # undef  OPT_ADDMSG_DIRECT 
 # define OPT_SECURE_RPC 
 # undef  OPT_CLASSING_ENGINE
 <at>  <at>  -322,8 +317,6  <at>  <at> 
 # undef  OPT_DEFINE_SIG_PF
 # define OPT_TAR_HAS_EXCLUDE_OPTION
 
-# define OPT_BUG_SUNOS_5
-
 # define OPT_HAS_REALPATH
 # undef  OPT_AUTOMOUNT_PATH_FIX
 
diff --git a/cde/lib/tt/lib/tttk/Imakefile b/cde/lib/tt/lib/tttk/Imakefile
index 4271fa8..a6dc05a 100644
--- a/cde/lib/tt/lib/tttk/Imakefile
+++ b/cde/lib/tt/lib/tttk/Imakefile
 <at>  <at>  -12,7 +12,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/6 1996/05/07 19:13:02 drk $
 #endif
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/lib/util/Imakefile b/cde/lib/tt/lib/util/Imakefile
index c6d6856..b1ae307 100644
--- a/cde/lib/tt/lib/util/Imakefile
+++ b/cde/lib/tt/lib/util/Imakefile
 <at>  <at>  -9,7 +9,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/9 1996/08/29 16:11:24 barstow $
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/lib/util/tt_Xlib.C b/cde/lib/tt/lib/util/tt_Xlib.C
index 1c45166..3a5944a 100644
--- a/cde/lib/tt/lib/util/tt_Xlib.C
+++ b/cde/lib/tt/lib/util/tt_Xlib.C
 <at>  <at>  -229,6 +229,11  <at>  <at>  load_xt_fns_from_handle(void *xt_handle)
 	if ( _tt_xt . fn  == (_Tt_xfn_ptr)0) {				\
 		return(0);						\
 	}								
+#define	DLINK_FNV(fn)\
+	_tt_xt . fn = (void*)(_Tt_xfn_ptr)dlsym(xt_handle, #fn);	\
+	if ( _tt_xt . fn  == (_Tt_xfn_ptr)0) {				\
+		return(0);						\
+	}								
 #else /* __STDC__ */
 #define	DLINK_FN(fn)\
 	_tt_xt . fn = (_Tt_xfn_ptr)dlsym(xt_handle, "fn");		\
 <at>  <at>  -250,7 +255,7  <at>  <at>  load_xt_fns_from_handle(void *xt_handle)
 	DLINK_FN(XtAppAddTimeOut)
 	DLINK_FN(XtRemoveTimeOut)
 	DLINK_FN(XtAppProcessEvent)
-	DLINK_FN(applicationShellWidgetClass)
+	DLINK_FNV(applicationShellWidgetClass)
 	return(1);
 }
 
diff --git a/cde/lib/tt/lib/util/tt_string.C b/cde/lib/tt/lib/util/tt_string.C
index 02855d3..e45d4ef 100644
--- a/cde/lib/tt/lib/util/tt_string.C
+++ b/cde/lib/tt/lib/util/tt_string.C
 <at>  <at>  -54,7 +54,7  <at>  <at> 
 #endif
 #include <stdlib.h>
 #include <ctype.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <wctype.h>
 #endif
 #include "util/tt_string.h"
diff --git a/cde/lib/tt/mini_isam/Imakefile b/cde/lib/tt/mini_isam/Imakefile
index 200cf69..ac15979 100644
--- a/cde/lib/tt/mini_isam/Imakefile
+++ b/cde/lib/tt/mini_isam/Imakefile
 <at>  <at>  -11,6 +11,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:12:37 drk $
 
 #include "../tooltalk.tmpl"
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I.
 
 SRCS = isaddindex.c isamaddindex.c isopen.c isamopen.c \
diff --git a/cde/lib/tt/mini_isam/iscntl.c b/cde/lib/tt/mini_isam/iscntl.c
index 1e28ddf..0792953 100644
--- a/cde/lib/tt/mini_isam/iscntl.c
+++ b/cde/lib/tt/mini_isam/iscntl.c
 <at>  <at>  -39,7 +39,7  <at>  <at>  static char sccsid[] = " <at> (#)iscntl.c	1.8 94/11/17";
  *	Generic control function
  */
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <stdarg.h>
 #else
 #include <varargs.h>
 <at>  <at>  -79,7 +79,7  <at>  <at>  static char sccsid[] = " <at> (#)iscntl.c	1.8 94/11/17";
 
 typedef int (* intfunc)();
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 int 
 iscntl(int isfd, int func, ...)
 #else
 <at>  <at>  -94,7 +94,7  <at>  <at>  iscntl(isfd, func, va_alist)
     va_list		pvar;
     int			ret;
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
     va_start(pvar, func);
 #else
     va_start(pvar);
diff --git a/cde/lib/tt/slib/Imakefile b/cde/lib/tt/slib/Imakefile
index 86c180f..887929b 100644
--- a/cde/lib/tt/slib/Imakefile
+++ b/cde/lib/tt/slib/Imakefile
 <at>  <at>  -8,7 +8,7  <at>  <at>  XCOMM $TOG: Imakefile /main/7 1999/08/30 11:01:36 mgreess $
 #define LibInstall	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/lib/tt/slib/mp_rpc_implement.C b/cde/lib/tt/slib/mp_rpc_implement.C
index 68e9819..98472ab 100644
--- a/cde/lib/tt/slib/mp_rpc_implement.C
+++ b/cde/lib/tt/slib/mp_rpc_implement.C
 <at>  <at>  -100,7 +100,7  <at>  <at>  static	gid_t	req_auth_gids[NGROUPS_MAX];
 #endif /* OPT_BUG_SUNOS_4 */
 
 #if defined(OPT_BUG_SUNOS_5)
-	typedef (*Hack_getucred)(const struct authdes_cred *,
+	typedef void (*Hack_getucred)(const struct authdes_cred *,
 				 uid_t *,
 				 gid_t *,
 				 short *,
diff --git a/cde/programs/backdrops/SunLogo.pm b/cde/programs/backdrops/SunLogo.pm
new file mode 100644
index 0000000..1a21db7
--- /dev/null
+++ b/cde/programs/backdrops/SunLogo.pm
 <at>  <at>  -0,0 +1,57  <at>  <at> 
+/* XPM */
+static char * SunLogo[] = {
+/* width height ncolors cpp [x_hot y_hot] */
+"48 48 3 1 0 0",
+/* colors */
+"     s #727288889f9f m white c #bbbbccccdddd",
+".    s #9191a8a8bfbf m black c #9191a8a8bfbf",
+"+    s #bbbbccccdddd m black c #727288889f9f",
+/* pixels */
+" ... .+++. .+++. .+++++. ... .+++. .+++. .+++++.",
+".   .+++. .+++. .+++.+++.   .+++. .+++. .+++.+++",
+".   .++. .+++. .+++. .++.   .++. .+++. .+++. .++",
+".   .+++.+++. .+++. .+++.   .+++.+++. .+++. .+++",
+" ... .+++++. .+++. .+++. ... .+++++. .+++. .+++.",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+"+++++. ... .+++. .+++. .+++++. ... .+++. .+++. .",
+"++.+++.   .+++. .+++. .+++.+++.   .+++. .+++. .+",
+"+. .+++. .+++. .+++.  .++. .+++. .+++. .+++.  .+",
+"++. .+++. .+. .+++. . .+++. .+++. .+. .+++. . .+",
+"+++. .+++. . .+++. .+. .+++. .+++. . .+++. .+. .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+" .+++. .+++. .+. . .+++. .+++. .+++. .+. . .+++.",
+". .+++. .+++. . .+. .+++. .+++. .+++. . .+. .+++",
+"+. .+++. .+++. .+++. .+++. .+++. .+++. .+++. .++",
+"++. .+++. .+. . .+++. .+++. .+++. .+. . .+++. .+",
+"+++. .+++. . .+. .+++. .+++. .+++. . .+. .+++. .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+" .+++. .+. .+++. . .+++. .+++. .+. .+++. . .+++.",
+". .+++. . .+++. .+. .+++. .+++. . .+++. .+. .+++",
+"+. .++.  .+++. .+++. .+++. .++.  .+++. .+++. .++",
+"++.+++. .+++. .+++.   .+++.+++. .+++. .+++.   .+",
+"+++++. .+++. .+++. ... .+++++. .+++. .+++. ... .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+" ... .+++. .+++. .+++++. ... .+++. .+++. .+++++.",
+".   .+++. .+++. .+++.+++.   .+++. .+++. .+++.+++",
+".   .++. .+++. .+++. .++.   .++. .+++. .+++. .++",
+".   .+++.+++. .+++. .+++.   .+++.+++. .+++. .+++",
+" ... .+++++. .+++. .+++. ... .+++++. .+++. .+++.",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+"+++++. ... .+++. .+++. .+++++. ... .+++. .+++. .",
+"++.+++.   .+++. .+++. .+++.+++.   .+++. .+++. .+",
+"+. .+++. .+++. .+++.  .++. .+++. .+++. .+++.  .+",
+"++. .+++. .+. .+++. . .+++. .+++. .+. .+++. . .+",
+"+++. .+++. . .+++. .+. .+++. .+++. . .+++. .+. .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+" .+++. .+++. .+. . .+++. .+++. .+++. .+. . .+++.",
+". .+++. .+++. . .+. .+++. .+++. .+++. . .+. .+++",
+"+. .+++. .+++. .+++. .+++. .+++. .+++. .+++. .++",
+"++. .+++. .+. . .+++. .+++. .+++. .+. . .+++. .+",
+"+++. .+++. . .+. .+++. .+++. .+++. . .+. .+++. .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. ",
+" .+++. .+. .+++. . .+++. .+++. .+. .+++. . .+++.",
+". .+++. . .+++. .+. .+++. .+++. . .+++. .+. .+++",
+"+. .++.  .+++. .+++. .+++. .++.  .+++. .+++. .++",
+"++.+++. .+++. .+++.   .+++.+++. .+++. .+++.   .+",
+"+++++. .+++. .+++. ... .+++++. .+++. .+++. ... .",
+".+++. .+++. .+++. .+++. .+++. .+++. .+++. .+++. "};
diff --git a/cde/programs/dtaction/Imakefile b/cde/programs/dtaction/Imakefile
index 3cd4537..72d55e9 100644
--- a/cde/programs/dtaction/Imakefile
+++ b/cde/programs/dtaction/Imakefile
 <at>  <at>  -1,5 +1,6  <at>  <at> 
 XCOMM $TOG: Imakefile /main/9 1998/04/06 13:11:38 mgreess $
 
+ DEPEND_DEFINES = $(DEPENDDEFINES)
        INCLUDES = -I.
 
 DEPLIBS = $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
diff --git a/cde/programs/dtappbuilder/src/ab.tmpl b/cde/programs/dtappbuilder/src/ab.tmpl
index ce00f09..27ca2c8 100644
--- a/cde/programs/dtappbuilder/src/ab.tmpl
+++ b/cde/programs/dtappbuilder/src/ab.tmpl
 <at>  <at>  -50,8 +50,8  <at>  <at>  default_target: all
 /*
  * -xF and -M cause reordering of executable
  */
-LOCAL_LDFLAGS = -M Mapfile
-EXTRA_DEFINES = -D_POSIX_SOURCE=1 -Xa -xF
+LOCAL_LDFLAGS =
+EXTRA_DEFINES = -D_POSIX_SOURCE=1
 
 clean::
 	touch .make.state
diff --git a/cde/programs/dtappbuilder/src/abmf/Imakefile b/cde/programs/dtappbuilder/src/abmf/Imakefile
index b8f6883..4a9db50 100644
--- a/cde/programs/dtappbuilder/src/abmf/Imakefile
+++ b/cde/programs/dtappbuilder/src/abmf/Imakefile
 <at>  <at>  -21,8 +21,9  <at>  <at>  XCOMM (c) Copyright 1996 Hitachi.
 #include "../ab.tmpl"
 #include "../ab.rules"
 
-    INCLUDES = -I. -I$(ABINCLUDES)
-     DEFINES =
+      INCLUDES = -I. -I$(ABINCLUDES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
+       DEFINES =
 
 SOURCES.h.shipped =
 
diff --git a/cde/programs/dtappbuilder/src/libABil/Imakefile b/cde/programs/dtappbuilder/src/libABil/Imakefile
index 90e08f8..320b691 100644
--- a/cde/programs/dtappbuilder/src/libABil/Imakefile
+++ b/cde/programs/dtappbuilder/src/libABil/Imakefile
 <at>  <at>  -29,8 +29,9  <at>  <at>  XCOMM (c) Copyright 1996 Hitachi.
 #include "../ab.tmpl"
 #include "../ab.rules"
 
-    INCLUDES = -I. -I$(ABINCLUDES)
-     DEFINES =
+      INCLUDES = -I. -I$(ABINCLUDES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
+       DEFINES =
 
 SOURCES.h.shipped=
 
diff --git a/cde/programs/dtappbuilder/src/libAButil/Imakefile b/cde/programs/dtappbuilder/src/libAButil/Imakefile
index 8d46684..41e5c47 100644
--- a/cde/programs/dtappbuilder/src/libAButil/Imakefile
+++ b/cde/programs/dtappbuilder/src/libAButil/Imakefile
 <at>  <at>  -8,7 +8,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/10 1996/10/09 14:03:49 drk $
 #define LibInstall	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include "../ab.tmpl"
 #include "../ab.rules"
diff --git a/cde/programs/dtcalc/Imakefile b/cde/programs/dtcalc/Imakefile
index 85413ff..af6fdd3 100644
--- a/cde/programs/dtcalc/Imakefile
+++ b/cde/programs/dtcalc/Imakefile
 <at>  <at>  -1,5 +1,6  <at>  <at> 
 XCOMM $TOG: Imakefile /main/11 1997/09/05 11:28:15 samborn $
 
+ DEPEND_DEFINES = $(DEPENDDEFINES)
         DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\"
        INCLUDES = -I.
 
 <at>  <at>  -17,7 +18,7  <at>  <at>  SYS_LIBRARIES = -lmsaa -liconv
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lintl -lsunmath -lm -ldl
+SYS_LIBRARIES = -lintl -lm -ldl
 #endif
 
 #if defined (USLArchitecture)
diff --git a/cde/programs/dtcm/dtcm/Imakefile b/cde/programs/dtcm/dtcm/Imakefile
index 971a9bb..3d55b4d 100644
--- a/cde/programs/dtcm/dtcm/Imakefile
+++ b/cde/programs/dtcm/dtcm/Imakefile
 <at>  <at>  -12,6 +12,7  <at>  <at>  LOCAL_LIBRARIES = ../libDtCmP/libDtCmP.a $(CSALIB) DtClientLibs
 
  OSMAJORVERSION = OSMajorVersion
  OSMINORVERSION = OSMinorVersion
+ DEPEND_DEFINES = $(DEPENDDEFINES)
         DEFINES = -DREL="$(OSMAJORVERSION)$(OSMINORVERSION)" \
 	-DRELMAJOR="$(OSMAJORVERSION)" -DRELMINOR="$(OSMINORVERSION)" \
 	$(ICONV_INBUF_DEFINE)
diff --git a/cde/programs/dtcm/libDtCmP/Imakefile b/cde/programs/dtcm/libDtCmP/Imakefile
index 72b7fbd..600f339 100644
--- a/cde/programs/dtcm/libDtCmP/Imakefile
+++ b/cde/programs/dtcm/libDtCmP/Imakefile
 <at>  <at>  -12,6 +12,7  <at>  <at>  INCLUDES = -I. -I$(CSASRC)
 OSMAJORVERSION = OSMajorVersion
 OSMINORVERSION = OSMinorVersion
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DRFC_MIME -DLINE_COUNT -DV2 -DOW_I18N \
 	-DREL="$(OSMAJORVERSION)$(OSMINORVERSION)" \
 	-DRELMAJOR="$(OSMAJORVERSION)" -DRELMINOR="$(OSMINORVERSION)"
 <at>  <at>  -38,6 +39,8  <at>  <at>  OBJS =	cm_tty.o	cmfns.o		dtfns.o \
 	getdate.o	props.o		resource.o \
 	timeops.o	util.o
 
+YaccFileNoFlags(getdate)
+
 #include <Library.tmpl>
 
 DependTarget()
diff --git a/cde/programs/dtcreate/Imakefile b/cde/programs/dtcreate/Imakefile
index 07180fb..4d5fba7 100644
--- a/cde/programs/dtcreate/Imakefile
+++ b/cde/programs/dtcreate/Imakefile
 <at>  <at>  -14,6 +14,7  <at>  <at>  XCOMM
  * It should be set when necessary to the real library macro name.
  */
 
+ DEPEND_DEFINES = $(DEPENDDEFINES)
        INCLUDES = -I.
 #if defined (SunArchitecture)
 DEPLIBS = $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) \
 <at>  <at>  -42,7 +43,7  <at>  <at>  SYS_LIBRARIES = -lm -liconv
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lm -ldl -lC
+SYS_LIBRARIES = -lm -ldl
 #endif /* SunArchitecture */
 
 #if defined (USLArchitecture)
diff --git a/cde/programs/dtdocbook/tcl/Imakefile b/cde/programs/dtdocbook/tcl/Imakefile
index 0b0af5c..b5e1c7c 100644
--- a/cde/programs/dtdocbook/tcl/Imakefile
+++ b/cde/programs/dtdocbook/tcl/Imakefile
 <at>  <at>  -28,6 +28,8  <at>  <at>  TCL_LIBRARY =	TclLibrary
 TCL_LIBRARY =	$(prefix)/tcl$(VERSION)
 #endif
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
+
 #if defined(SunArchitecture)
 EXTRA_DEFINES = -DTCL_LIBRARY=\"${TCL_LIBRARY}\" \
 	-DNO_UNION_WAIT -DHAVE_UNISTD_H -DNEED_MATHERR \
diff --git a/cde/programs/dtexec/Imakefile b/cde/programs/dtexec/Imakefile
index fb359de..5c426de 100644
--- a/cde/programs/dtexec/Imakefile
+++ b/cde/programs/dtexec/Imakefile
 <at>  <at>  -2,6 +2,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:17:32 drk $
 
 DEPLIBS = $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
 LOCAL_LIBRARIES = $(TTLIB) $(XTOOLLIB) $(XLIB)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DMSGLOG_CLIENT_ONLY
 INCLUDES = -I. 
 
diff --git a/cde/programs/dtfile/Imakefile b/cde/programs/dtfile/Imakefile
index abe6a40..039efe9 100644
--- a/cde/programs/dtfile/Imakefile
+++ b/cde/programs/dtfile/Imakefile
 <at>  <at>  -9,6 +9,7  <at>  <at>  ForceSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
 
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DMULTIBYTE -DSHAPE -D_ILS_MACROS -DSUN_PERF \
 	-DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
 	-DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\" \
diff --git a/cde/programs/dtfile/dtcopy/Imakefile b/cde/programs/dtfile/dtcopy/Imakefile
index 1447adc..30773f6 100644
--- a/cde/programs/dtfile/dtcopy/Imakefile
+++ b/cde/programs/dtfile/dtcopy/Imakefile
 <at>  <at>  -1,5 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:17:43 drk $
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DSHAPE
 
 DEPLIBS = DepDtClientLibs
diff --git a/cde/programs/dthello/Imakefile b/cde/programs/dthello/Imakefile
index d98ce9c..83bd467 100644
--- a/cde/programs/dthello/Imakefile
+++ b/cde/programs/dthello/Imakefile
 <at>  <at>  -11,7 +11,7  <at>  <at>  EXTRA_DEFINES = -DHP_COLOR
 #endif
 
 #if defined(SunArchitecture)
-SYS_LIBRARIES = -lm -ldl -lgen -lC
+SYS_LIBRARIES = -lm -ldl -lgen
 #endif
 
 #if defined(USLArchitecture)
diff --git a/cde/programs/dthelp/dthelpdemo/Imakefile b/cde/programs/dthelp/dthelpdemo/Imakefile
index d02c495..9bcc9a6 100644
--- a/cde/programs/dthelp/dthelpdemo/Imakefile
+++ b/cde/programs/dthelp/dthelpdemo/Imakefile
 <at>  <at>  -10,6 +10,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:26:24 drk $
 
 PROGRAMS = dthelpdemo
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -D_BMS
 INCLUDES =  -I.
 
diff --git a/cde/programs/dthelp/dthelpview/Imakefile b/cde/programs/dthelp/dthelpview/Imakefile
index 1875a14..177a96a 100644
--- a/cde/programs/dthelp/dthelpview/Imakefile
+++ b/cde/programs/dthelp/dthelpview/Imakefile
 <at>  <at>  -1,6 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:26:44 drk $
 PROGRAMS = dthelpview
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -D_BMS
 INCLUDES = -I. 
 
diff --git a/cde/programs/dthelp/parser/canon1/build/build.c b/cde/programs/dthelp/parser/canon1/build/build.c
index 767aa5b..699a125 100644
--- a/cde/programs/dthelp/parser/canon1/build/build.c
+++ b/cde/programs/dthelp/parser/canon1/build/build.c
 <at>  <at>  -71,5 +71,4  <at>  <at>  while (TRUE)
     #include "case.c"
     if (m_token == ENDFILE) exit(FALSE) ;
     }
-    return 0;
 }
diff --git a/cde/programs/dthelp/parser/canon1/build/param.c b/cde/programs/dthelp/parser/canon1/build/param.c
index 39bc025..bfedcc8 100644
--- a/cde/programs/dthelp/parser/canon1/build/param.c
+++ b/cde/programs/dthelp/parser/canon1/build/param.c
 <at>  <at>  -267,9 +267,9  <at>  <at>  switch (newpar->type)
 	      ret = mbtowc(string, " ", 1);
 	      }
 	  }
-      return ;
     }
     (void) ret;
+    return;
 }
 
 /* Called at end of parameter attribute list rule */
diff --git a/cde/programs/dthelp/parser/canon1/build/scan.c b/cde/programs/dthelp/parser/canon1/build/scan.c
index 76e586a..2e591fd 100644
--- a/cde/programs/dthelp/parser/canon1/build/scan.c
+++ b/cde/programs/dthelp/parser/canon1/build/scan.c
 <at>  <at>  -160,13 +160,13  <at>  <at>  while (TRUE)
 	char mbyte[32]; /* bigger than the biggest multibyte char */
 
 	ret = wctomb(mbyte, c);
+	(void) ret;
 
 	fprintf(stderr, "\n'%s' (%d)", mbyte, c);
 	fprintf(m_errfile, "\n'%s' (%d)", mbyte, c);
 	m_error("Unexpected character");
 	}
     } /* End while */
-    (void) ret;
 }   /* End scan */
 
 #include "scanutil.c"
diff --git a/cde/programs/dthelp/parser/canon1/helptag/Imakefile b/cde/programs/dthelp/parser/canon1/helptag/Imakefile
index ef3da7a..a0ab865 100644
--- a/cde/programs/dthelp/parser/canon1/helptag/Imakefile
+++ b/cde/programs/dthelp/parser/canon1/helptag/Imakefile
 <at>  <at>  -60,7 +60,7  <at>  <at>  EXTRA_LOAD_FLAGS = -Wl,-a archive
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lm -ldl -lgen -lC
+SYS_LIBRARIES = -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(OBJS)
diff --git a/cde/programs/dthelp/parser/canon1/parser/Imakefile b/cde/programs/dthelp/parser/canon1/parser/Imakefile
index 21ab4c3..c639066 100644
--- a/cde/programs/dthelp/parser/canon1/parser/Imakefile
+++ b/cde/programs/dthelp/parser/canon1/parser/Imakefile
 <at>  <at>  -78,7 +78,7  <at>  <at>  LOCAL_LIBRARIES = $(HELPUTILLIB)
 SYS_LIBRARIES = $(XLIB) DtClientSysLibs
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen -lC
+SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(HELPTAGSRC)/dthelp_ctag1
diff --git a/cde/programs/dthelp/parser/canon1/util/malloc.c b/cde/programs/dthelp/parser/canon1/util/malloc.c
index 8475803..0b5ca71 100644
--- a/cde/programs/dthelp/parser/canon1/util/malloc.c
+++ b/cde/programs/dthelp/parser/canon1/util/malloc.c
 <at>  <at>  -98,7 +98,7  <at>  <at>  void m_free(block, msg)
 #if defined(hpux) || defined(_AIX) || defined(sun) || defined(USL) || defined(__uxp__)
       snprintf(buffer, 32, "%5x:%5x",
         (unsigned int) ((unsigned long) block >> 16),
-        (unsigned int) block, msg) ;
+        (unsigned int) block) ;
 #else
       snprintf(buffer, 32, "  %9p", block) ;
 #endif
diff --git a/cde/programs/dthelp/parser/pass1/build/build.c b/cde/programs/dthelp/parser/pass1/build/build.c
index 73474fb..87eb4eb 100644
--- a/cde/programs/dthelp/parser/pass1/build/build.c
+++ b/cde/programs/dthelp/parser/pass1/build/build.c
 <at>  <at>  -71,5 +71,4  <at>  <at>  while (TRUE)
     #include "case.c"
     if (m_token == ENDFILE) exit(FALSE) ;
     }
-    return 0;
 }
diff --git a/cde/programs/dthelp/parser/pass1/build/param.c b/cde/programs/dthelp/parser/pass1/build/param.c
index 828c000..f3792ed 100644
--- a/cde/programs/dthelp/parser/pass1/build/param.c
+++ b/cde/programs/dthelp/parser/pass1/build/param.c
 <at>  <at>  -267,9 +267,9  <at>  <at>  switch (newpar->type)
 	      ret = mbtowc(string, " ", 1);
 	      }
 	  }
-      return ;
     }
     (void) ret;
+    return;
 }
 
 /* Called at end of parameter attribute list rule */
diff --git a/cde/programs/dthelp/parser/pass1/build/scan.c b/cde/programs/dthelp/parser/pass1/build/scan.c
index 48baaea..4f77683 100644
--- a/cde/programs/dthelp/parser/pass1/build/scan.c
+++ b/cde/programs/dthelp/parser/pass1/build/scan.c
 <at>  <at>  -160,13 +160,13  <at>  <at>  while (TRUE)
 	char mbyte[32]; /* bigger than the biggest multibyte char */
 
 	ret = wctomb(mbyte, c);
+	(void) ret;
 
 	fprintf(stderr, "\n'%s' (%d)", mbyte, c);
 	fprintf(m_errfile, "\n'%s' (%d)", mbyte, c);
 	m_error("Unexpected character");
 	}
     } /* End while */
-    (void) ret;
 }   /* End scan */
 
 #include "scanutil.c"
diff --git a/cde/programs/dthelp/parser/pass1/helptag/Imakefile b/cde/programs/dthelp/parser/pass1/helptag/Imakefile
index 32d9cd5..9a2329d 100644
--- a/cde/programs/dthelp/parser/pass1/helptag/Imakefile
+++ b/cde/programs/dthelp/parser/pass1/helptag/Imakefile
 <at>  <at>  -60,7 +60,7  <at>  <at>  EXTRA_LOAD_FLAGS = -Wl,-a archive
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lm -ldl -lgen -lC
+SYS_LIBRARIES = -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(OBJS)
diff --git a/cde/programs/dthelp/parser/pass1/parser/Imakefile b/cde/programs/dthelp/parser/pass1/parser/Imakefile
index ec19e5a..e583464 100644
--- a/cde/programs/dthelp/parser/pass1/parser/Imakefile
+++ b/cde/programs/dthelp/parser/pass1/parser/Imakefile
 <at>  <at>  -78,7 +78,7  <at>  <at>  LOCAL_LIBRARIES = $(HELPUTILLIB)
 SYS_LIBRARIES = $(XLIB) DtClientSysLibs
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen -lC
+SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(HELPTAGSRC)/dthelp_htag1
diff --git a/cde/programs/dthelp/parser/pass1/util/malloc.c b/cde/programs/dthelp/parser/pass1/util/malloc.c
index 7a6ed78..d058046 100644
--- a/cde/programs/dthelp/parser/pass1/util/malloc.c
+++ b/cde/programs/dthelp/parser/pass1/util/malloc.c
 <at>  <at>  -98,7 +98,7  <at>  <at>  void m_free(block, msg)
 #if defined(hpux) || defined(_AIX) || defined(sun) || defined(USL) || defined(__uxp__)
       snprintf(buffer, 32, "%5x:%5x",
         (unsigned int) ((unsigned long) block >> 16),
-        (unsigned int) block, msg) ;
+        (unsigned int) block) ;
 #else
       snprintf(buffer, 32, "  %9p", block) ;
 #endif
diff --git a/cde/programs/dthelp/parser/pass2/build/build.c b/cde/programs/dthelp/parser/pass2/build/build.c
index 97cbb35..f268edc 100644
--- a/cde/programs/dthelp/parser/pass2/build/build.c
+++ b/cde/programs/dthelp/parser/pass2/build/build.c
 <at>  <at>  -71,5 +71,4  <at>  <at>  while (TRUE)
     #include "case.c"
     if (m_token == ENDFILE) exit(FALSE) ;
     }
-    return 0;
 }
diff --git a/cde/programs/dthelp/parser/pass2/build/param.c b/cde/programs/dthelp/parser/pass2/build/param.c
index 1e3bfb8..881a19d 100644
--- a/cde/programs/dthelp/parser/pass2/build/param.c
+++ b/cde/programs/dthelp/parser/pass2/build/param.c
 <at>  <at>  -267,9 +267,9  <at>  <at>  switch (newpar->type)
 	      ret = mbtowc(string, " ", 1);
 	      }
 	  }
-      return ;
     }
     (void) ret;
+    return;
 }
 
 /* Called at end of parameter attribute list rule */
diff --git a/cde/programs/dthelp/parser/pass2/build/scan.c b/cde/programs/dthelp/parser/pass2/build/scan.c
index f0a33ed..8244302 100644
--- a/cde/programs/dthelp/parser/pass2/build/scan.c
+++ b/cde/programs/dthelp/parser/pass2/build/scan.c
 <at>  <at>  -160,13 +160,13  <at>  <at>  while (TRUE)
 	char mbyte[32]; /* bigger than the biggest multibyte char */
 
 	ret = wctomb(mbyte, c);
+	(void) ret;
 
 	fprintf(stderr, "\n'%s' (%d)", mbyte, c);
 	fprintf(m_errfile, "\n'%s' (%d)", mbyte, c);
 	m_error("Unexpected character");
 	}
     } /* End while */
-    (void) ret;
 }   /* End scan */
 
 #include "scanutil.c"
diff --git a/cde/programs/dthelp/parser/pass2/htag2/Imakefile b/cde/programs/dthelp/parser/pass2/htag2/Imakefile
index aebe90e..040d710 100644
--- a/cde/programs/dthelp/parser/pass2/htag2/Imakefile
+++ b/cde/programs/dthelp/parser/pass2/htag2/Imakefile
 <at>  <at>  -52,7 +52,7  <at>  <at>  EXTRA_LOAD_FLAGS = -Wl,-a archive
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lm -ldl -lgen -lC
+SYS_LIBRARIES = -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(OBJS)
diff --git a/cde/programs/dthelp/parser/pass2/parser/Imakefile b/cde/programs/dthelp/parser/pass2/parser/Imakefile
index 8ea6664..478758b 100644
--- a/cde/programs/dthelp/parser/pass2/parser/Imakefile
+++ b/cde/programs/dthelp/parser/pass2/parser/Imakefile
 <at>  <at>  -69,7 +69,7  <at>  <at>  LOCAL_LIBRARIES = $(SDLUTILLIB)
 SYS_LIBRARIES = $(XLIB) DtClientSysLibs
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen -lC
+SYS_LIBRARIES = $(XLIB) -lm -ldl -lgen
 #endif /* SunArchitecture */
 
 all:: $(HTAG2SRC)/dthelp_htag2
diff --git a/cde/programs/dthelp/parser/pass2/util/malloc.c b/cde/programs/dthelp/parser/pass2/util/malloc.c
index 7898856..7eff9d8 100644
--- a/cde/programs/dthelp/parser/pass2/util/malloc.c
+++ b/cde/programs/dthelp/parser/pass2/util/malloc.c
 <at>  <at>  -98,7 +98,7  <at>  <at>  void m_free(block, msg)
 #if defined(hpux) || defined(_AIX) || defined(sun) || defined(USL) || defined(__uxp__)
       snprintf(buffer, 32, "%5x:%5x",
         (unsigned int) ((unsigned long) block >> 16),
-        (unsigned int) block, msg) ;
+        (unsigned int) block) ;
 #else
       snprintf(buffer, 32, "  %9p", block) ;
 #endif
diff --git a/cde/programs/dticon/Imakefile b/cde/programs/dticon/Imakefile
index 9ea9d85..f630c5f 100644
--- a/cde/programs/dticon/Imakefile
+++ b/cde/programs/dticon/Imakefile
 <at>  <at>  -13,8 +13,10  <at>  <at>  XCOMM
  * It should be set when necessary to the real library macro name.
  */
 
-        DEFINES = -D__TOOLTALK
-       INCLUDES = -I.
+DEPEND_DEFINES = $(DEPENDDEFINES)
+DEFINES = -D__TOOLTALK
+INCLUDES = -I.
+
 #if defined (SunArchitecture)
 DEPLIBS = $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) \
                   $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
diff --git a/cde/programs/dtinfo/DtMmdb/HardCopy/FPExceptions.h b/cde/programs/dtinfo/DtMmdb/HardCopy/FPExceptions.h
index e0f5b88..dafc118 100644
--- a/cde/programs/dtinfo/DtMmdb/HardCopy/FPExceptions.h
+++ b/cde/programs/dtinfo/DtMmdb/HardCopy/FPExceptions.h
 <at>  <at>  -34,7 +34,7  <at>  <at> 
 class hardCopyRendererException : public Exception
 {
 public:
-  DECLARE_EXCEPTION(hardCopyRendererException, Exception);
+  DECLARE_EXCEPTION(hardCopyRendererException, Exception)
 };
 
 #define CASTHCREXCEPT
diff --git a/cde/programs/dtinfo/DtMmdb/HardCopy/autoNumber.C b/cde/programs/dtinfo/DtMmdb/HardCopy/autoNumber.C
index 79711ea..4e15e16 100644
--- a/cde/programs/dtinfo/DtMmdb/HardCopy/autoNumber.C
+++ b/cde/programs/dtinfo/DtMmdb/HardCopy/autoNumber.C
 <at>  <at>  -237,7 +237,7  <at>  <at>  int autoNumberAlphabetic::alphaToInt(const char* alpha, enum CaseType a_case)
       expansionFactor *= base;
    }
 
-   x += int((pow(base, digits)-1) / (base-1)) - 1;
+   x += int((pow((double)base, digits)-1) / (base-1)) - 1;
   
    return x;
 }
 <at>  <at>  -270,7 +270,7  <at>  <at>  const char* autoNumberAlphabetic::intToAlpha(int x, enum CaseType a_case)
      throw(CASTHCREXCEPT hardCopyRendererException());
    }
 
-   int digits = int(log((base-1)*x + base) / log(base));
+   int digits = int(log((double)(base-1)*x + base) / log((double)base));
 
    if ( digits > 50 ) {
      MESSAGE(cerr, "alphabetic autonumber value too large");
 <at>  <at>  -280,7 +280,7  <at>  <at>  const char* autoNumberAlphabetic::intToAlpha(int x, enum CaseType a_case)
    //debug(cerr, digits);   
    //debug(cerr, (pow(base, digits)-1) / (25) -1);
 
-   x -= int((pow(base, digits)-1) / (base-1)) - 1;
+   x -= int((pow((double)base, digits)-1) / (base-1)) - 1;
 
    char* letters = 
 	(a_case == UPPER ) ? f_upperCaseLetters : f_lowerCaseLetters; 
diff --git a/cde/programs/dtinfo/DtMmdb/Imakefile b/cde/programs/dtinfo/DtMmdb/Imakefile
index 8bae543..4aaf6eb 100644
--- a/cde/programs/dtinfo/DtMmdb/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/Imakefile
 <at>  <at>  -23,8 +23,10  <at>  <at>  MMDB_SUBDIRS = HardCopy StyleSheet dti_cc
 
 #ifdef SharedDtMmdbReqs
 #ifdef SunArchitecture
-REQUIREDLIBS = SharedDtMmdbReqs -L/opt/SUNWspro/SC4.0/lib -Bstatic -lC -Bdynamic
+REQUIREDLIBS = SharedDtMmdbReqs
+#ifndef HasGcc2
 SHLIBLDFLAGS = -G
+#endif
 #else
 REQUIREDLIBS = SharedDtMmdbReqs
 #endif
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/DocParser.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/DocParser.C
index 57142d1..eb6e7f9 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/DocParser.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/DocParser.C
 <at>  <at>  -248,7 +248,8  <at>  <at>  DocParser::process(istream &input, ostringstream &output,
     !defined(__uxp__) && \
     !defined(USL) && \
     !defined(linux) && \
-    !defined(CSRG_BASED)
+    !defined(CSRG_BASED) && \
+    !defined(sun)
 	    volatile
 #endif
 	    AttributeList *attrs = 0;
 <at>  <at>  -258,7 +259,8  <at>  <at>  DocParser::process(istream &input, ostringstream &output,
     !defined(__uxp__) && \
     !defined(USL) && \
     !defined(linux) && \
-    !defined(CSRG_BASED)
+    !defined(CSRG_BASED) && \
+    !defined(sun)
 	    volatile
 #endif
 	    AttributeList *olias_attrs = 0;
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
index cd1d899..a326437 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
 <at>  <at>  -141,15 +141,21  <at>  <at>  BinaryOperatorNode::evaluate() const
 {
   // calculate children trees and then have feature value do the operation 
 
-#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && \
+    !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
   volatile
 #endif
   FeatureValue *left =  0;
-#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && \
+    !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
   volatile
 #endif
   FeatureValue *right = 0;
-#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(SC3) && !defined(_IBMR2) && !defined(__uxp__) && \
+    !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
   volatile
 #endif
   FeatureValue *result = 0;
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/StyleSheetExceptions.h b/cde/programs/dtinfo/DtMmdb/StyleSheet/StyleSheetExceptions.h
index ba6a8af..8282260 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/StyleSheetExceptions.h
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/StyleSheetExceptions.h
 <at>  <at>  -44,21 +44,21  <at>  <at> 
 class StyleSheetException : public Exception
 {
 public:
-  DECLARE_EXCEPTION(StyleSheetException, Exception);
+  DECLARE_EXCEPTION(StyleSheetException, Exception)
   virtual ~StyleSheetException();
 };
 
 class StyleSheetSyntaxError : public StyleSheetException
 {
 public:
-  DECLARE_EXCEPTION(StyleSheetSyntaxError, StyleSheetException);
+  DECLARE_EXCEPTION(StyleSheetSyntaxError, StyleSheetException)
   
 };
 
 class badEvaluationException : public StyleSheetException
 {
 public:
-  DECLARE_EXCEPTION(badEvaluationException, StyleSheetException);
+  DECLARE_EXCEPTION(badEvaluationException, StyleSheetException)
 
   virtual ~badEvaluationException();
 };
 <at>  <at>  -66,13 +66,13  <at>  <at>  public:
 class badCastException : public StyleSheetException
 {
 public:
-  DECLARE_EXCEPTION(badCastException, StyleSheetException);
+  DECLARE_EXCEPTION(badCastException, StyleSheetException)
 };
 
 class undefinedVariableException : public badEvaluationException
 {
 public:
-  DECLARE_EXCEPTION(undefinedVariableException, badEvaluationException);
+  DECLARE_EXCEPTION(undefinedVariableException, badEvaluationException)
 
   undefinedVariableException(const Symbol &v)
     : badEvaluationException(),
 <at>  <at>  -87,7 +87,7  <at>  <at>  private:
 class undefinedAttributeException : public badEvaluationException
 {
 public:
-  DECLARE_EXCEPTION(undefinedAttributeException, badEvaluationException);
+  DECLARE_EXCEPTION(undefinedAttributeException, badEvaluationException)
 
   undefinedAttributeException(const Symbol &a)
     : badEvaluationException(),
 <at>  <at>  -101,38 +101,38  <at>  <at>  private:
 class docParserException : public Exception
 {
 public:
-  DECLARE_EXCEPTION(docParserException, Exception);
+  DECLARE_EXCEPTION(docParserException, Exception)
 };
 
 class unknownTagException : public docParserException
 {
 public:
-  DECLARE_EXCEPTION(unknownTagException, docParserException);
+  DECLARE_EXCEPTION(unknownTagException, docParserException)
   
 };
 
 class docParserUnexpectedCharacter : public docParserException
 {
 public:
-  DECLARE_EXCEPTION(docParserUnexpectedCharacter, docParserException);
+  DECLARE_EXCEPTION(docParserUnexpectedCharacter, docParserException)
   
 };
 class docParserUnexpectedTag : public docParserException
 {
 public:
-  DECLARE_EXCEPTION(docParserUnexpectedTag, docParserException);
+  DECLARE_EXCEPTION(docParserUnexpectedTag, docParserException)
   
 };
 class docParserUnexpectedData : public docParserException
 {
 public:
-  DECLARE_EXCEPTION(docParserUnexpectedData, docParserException);
+  DECLARE_EXCEPTION(docParserUnexpectedData, docParserException)
   
 };
 class docParserUnexpectedEof : public docParserException
 {
 public:
-  DECLARE_EXCEPTION(docParserUnexpectedEof, docParserException);
+  DECLARE_EXCEPTION(docParserUnexpectedEof, docParserException)
   
 };
 
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
index 686e170..7b4d764 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
 <at>  <at>  -43,7 +43,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #endif
 
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/tokenStyle.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/tokenStyle.C
index 8ffd441..ea19b01 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/tokenStyle.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/tokenStyle.C
 <at>  <at>  -43,7 +43,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #endif
 
diff --git a/cde/programs/dtinfo/DtMmdb/api/Imakefile b/cde/programs/dtinfo/DtMmdb/api/Imakefile
index f58f4ee..d992673 100644
--- a/cde/programs/dtinfo/DtMmdb/api/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/api/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES) -I../misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) -I../misc
 
 SRCS = base.C info_base.C info_lib.C smart_ptr.C transaction.C utility.C
 OBJS = $(SRCS:.C=.o)
diff --git a/cde/programs/dtinfo/DtMmdb/btree/Imakefile b/cde/programs/dtinfo/DtMmdb/btree/Imakefile
index 559a549..7ce234e 100644
--- a/cde/programs/dtinfo/DtMmdb/btree/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/btree/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS = mmdb_btree.C 
 OBJS = $(SRCS:.C=.o)
diff --git a/cde/programs/dtinfo/DtMmdb/btree_berkeley/Imakefile b/cde/programs/dtinfo/DtMmdb/btree_berkeley/Imakefile
index 5946834..d60cf14 100644
--- a/cde/programs/dtinfo/DtMmdb/btree_berkeley/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/btree_berkeley/Imakefile
 <at>  <at>  -22,6 +22,7  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 #define LargePICTable	YES
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES  = -DMEMMOVE
 INCLUDES = -I../ -I.
 
diff --git a/cde/programs/dtinfo/DtMmdb/btree_berkeley/compat.h b/cde/programs/dtinfo/DtMmdb/btree_berkeley/compat.h
index a09a36d..b0fdabf 100644
--- a/cde/programs/dtinfo/DtMmdb/btree_berkeley/compat.h
+++ b/cde/programs/dtinfo/DtMmdb/btree_berkeley/compat.h
 <at>  <at>  -89,7 +89,8  <at>  <at>  typedef unsigned int	sigset_t;
  * If your system's vsnprintf returns a char *, not an int,
  * change the 0 to a 1.
  */
-#if !defined(_AIX) && !defined(__osf__) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(_AIX) && !defined(__osf__) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #define	VSPRINTF_CHARSTAR
 #endif
 
diff --git a/cde/programs/dtinfo/DtMmdb/compression/Imakefile b/cde/programs/dtinfo/DtMmdb/compression/Imakefile
index d7453dd..5cc0d10 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/compression/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES) 
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) 
 
 NORMAL_SRCS = abs_agent.C zip.C huffman.C trie.C code.C lzss.C
 PARSER_SRCS = sgml.C ps.C
diff --git a/cde/programs/dtinfo/DtMmdb/compression/ps.C b/cde/programs/dtinfo/DtMmdb/compression/ps.C
index 598f366..e7053e5 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/ps.C
+++ b/cde/programs/dtinfo/DtMmdb/compression/ps.C
 <at>  <at>  -43,7 +43,7  <at>  <at> 
 
 #include <stdlib.h>
 
-#if defined(__osf__) || defined(linux) || defined(CSRG_BASED)
+#if defined(__osf__) || defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <unistd.h>
 #else
 #if !defined(__uxp__) && !defined(USL)
diff --git a/cde/programs/dtinfo/DtMmdb/compression/sgml.C b/cde/programs/dtinfo/DtMmdb/compression/sgml.C
index f106992..6fcb99e 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/sgml.C
+++ b/cde/programs/dtinfo/DtMmdb/compression/sgml.C
 <at>  <at>  -43,7 +43,7  <at>  <at> 
 
 #include <stdlib.h>
 
-#if defined(__osf__) || defined(linux) || defined(CSRG_BASED)
+#if defined(__osf__) || defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <unistd.h>
 #else
 #if !defined(__uxp__) && !defined(USL)
diff --git a/cde/programs/dtinfo/DtMmdb/diskhash/Imakefile b/cde/programs/dtinfo/DtMmdb/diskhash/Imakefile
index 497554c..1113c75 100644
--- a/cde/programs/dtinfo/DtMmdb/diskhash/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/diskhash/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS = disk_bucket.C bucket_array.C disk_hash.C
 OBJS = $(SRCS:.C=.o)
diff --git a/cde/programs/dtinfo/DtMmdb/diskhash/disk_hash.C b/cde/programs/dtinfo/DtMmdb/diskhash/disk_hash.C
index efcdc7c..1a6ea9d 100644
--- a/cde/programs/dtinfo/DtMmdb/diskhash/disk_hash.C
+++ b/cde/programs/dtinfo/DtMmdb/diskhash/disk_hash.C
 <at>  <at>  -298,8 +298,8  <at>  <at>  void disk_hash::caching(disk_bucket& b, data_t& w, int slot_num)
 //debug(cerr, b.bnum());
 //debug(cerr, k_vector -> count());
 
-   int k = int((long)(*k_vector)[b.bnum()]);
-   int r = int((long)(*r_vector)[b.bnum()]);
+   int kv = int((long)(*k_vector)[b.bnum()]);
+   int rv = int((long)(*r_vector)[b.bnum()]);
 
 ///////////////////////////////////////////
 // cache all keys in the bycket except w.
 <at>  <at>  -316,7 +316,7  <at>  <at>  void disk_hash::caching(disk_bucket& b, data_t& w, int slot_num)
       if ( x ) {
          hash_vector -> insert(
                    (voidPtr)(size_t)ind,
-                   x -> slot_num(k, r, p, hash_vector -> count())
+                   x -> slot_num(kv, rv, p, hash_vector -> count())
                               );
       }
 
 <at>  <at>  -331,7 +331,7  <at>  <at>  void disk_hash::caching(disk_bucket& b, data_t& w, int slot_num)
 ////////////////////////////////////////
    hash_vector -> insert(
          (voidPtr)(size_t)slot_num,
-         w.slot_num(k, r, p, hash_vector -> count())
+         w.slot_num(kv, rv, p, hash_vector -> count())
                         );
 }
       
 <at>  <at>  -373,11 +373,11  <at>  <at>  Boolean disk_hash::member(data_t& w, disk_bucket*& b, int& slot_num) const
 
    b = &bucket_vector -> get_bucket(hash);
 
-   int k = int((long)(*k_vector)[b -> bnum()]);
-   int r = int((long)(*r_vector)[b -> bnum()]);
+   int kv = int((long)(*k_vector)[b -> bnum()]);
+   int rv = int((long)(*r_vector)[b -> bnum()]);
 
    slot_num = 
-     int((long)(*hash_vector)[w.slot_num(k, r, p, hash_vector -> count())]);
+     int((long)(*hash_vector)[w.slot_num(kv, rv, p, hash_vector -> count())]);
 
 //debug(cerr, slot_num);
 
diff --git a/cde/programs/dtinfo/DtMmdb/dstr/Imakefile b/cde/programs/dtinfo/DtMmdb/dstr/Imakefile
index 6a84641..defe059 100644
--- a/cde/programs/dtinfo/DtMmdb/dstr/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/dstr/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS =	set.C bset.C slist.C dlist_cell.C dlist.C heap.C \
 	void_ptr_array.C void_ptr_stack.C \
diff --git a/cde/programs/dtinfo/DtMmdb/dti_cc/cc_exceptions.h b/cde/programs/dtinfo/DtMmdb/dti_cc/cc_exceptions.h
index 5a14918..1f7f8eb 100644
--- a/cde/programs/dtinfo/DtMmdb/dti_cc/cc_exceptions.h
+++ b/cde/programs/dtinfo/DtMmdb/dti_cc/cc_exceptions.h
 <at>  <at>  -45,7 +45,7  <at>  <at>  extern int errno;
 class ccException : public Exception
 {
 public:
-   DECLARE_EXCEPTION(ccException, Exception);
+   DECLARE_EXCEPTION(ccException, Exception)
 
    virtual ~ccException() {};
 
 <at>  <at>  -63,7 +63,7  <at>  <at>  protected:
    char* msg;
 
 public:
-   DECLARE_EXCEPTION(ccStringException, ccException);
+   DECLARE_EXCEPTION(ccStringException, ccException)
 
    ccStringException(char const* m) : msg((char*)m) {};
    ~ccStringException() {};
 <at>  <at>  -80,7 +80,7  <at>  <at>  protected:
    int mindex;
 
 public:
-   DECLARE_EXCEPTION(ccBoundaryException, ccException);
+   DECLARE_EXCEPTION(ccBoundaryException, ccException)
 
    ccBoundaryException(int l, int h, int i) : 
      low(l), high(h), mindex(i) {};
diff --git a/cde/programs/dtinfo/DtMmdb/dti_excs/Destructable_il.hh b/cde/programs/dtinfo/DtMmdb/dti_excs/Destructable_il.hh
index 1d5497a..a1b499e 100644
--- a/cde/programs/dtinfo/DtMmdb/dti_excs/Destructable_il.hh
+++ b/cde/programs/dtinfo/DtMmdb/dti_excs/Destructable_il.hh
 <at>  <at>  -80,7 +80,7  <at>  <at>  Destructable::~Destructable()
 inline void
 Destructable::destruct()
 {
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   delete this;
 #else
   // Have to call this here since some compilers don't allow
diff --git a/cde/programs/dtinfo/DtMmdb/dti_excs/Exceptions.C b/cde/programs/dtinfo/DtMmdb/dti_excs/Exceptions.C
index e8df949..2ca1320 100644
--- a/cde/programs/dtinfo/DtMmdb/dti_excs/Exceptions.C
+++ b/cde/programs/dtinfo/DtMmdb/dti_excs/Exceptions.C
 <at>  <at>  -162,7 +162,7  <at>  <at>  Exceptions::set_error_handler (error_handler_t error_handler)
 void
 Exceptions::error (const char *message, error_type_t error_type)
 {
-  unsigned int bufferlen = 100;
+  const unsigned int bufferlen = 100;
   char buffer[3][bufferlen];
   static char *lines[3] = { buffer[0], buffer[1], buffer[2] };
   int len, count = 0;
diff --git a/cde/programs/dtinfo/DtMmdb/dti_excs/Imakefile b/cde/programs/dtinfo/DtMmdb/dti_excs/Imakefile
index c13a8dc..1d36afe 100644
--- a/cde/programs/dtinfo/DtMmdb/dti_excs/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/dti_excs/Imakefile
 <at>  <at>  -23,9 +23,9  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 EXCEPTION_DEFINES  = -DHAS_TERMINATE
 #endif
 
diff --git a/cde/programs/dtinfo/DtMmdb/dynhash/Imakefile b/cde/programs/dtinfo/DtMmdb/dynhash/Imakefile
index ebcc961..2017e8f 100644
--- a/cde/programs/dtinfo/DtMmdb/dynhash/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/dynhash/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS = data_t.C imp_bucket.C imp_die.C
 OBJS = $(SRCS:.C=.o)
diff --git a/cde/programs/dtinfo/DtMmdb/dynhash/data_t.C b/cde/programs/dtinfo/DtMmdb/dynhash/data_t.C
index 6957ac1..5772509 100644
--- a/cde/programs/dtinfo/DtMmdb/dynhash/data_t.C
+++ b/cde/programs/dtinfo/DtMmdb/dynhash/data_t.C
 <at>  <at>  -257,6 +257,7  <at>  <at>  Boolean data_t::binaryIn(buffer& buf)
 {
    char c; buf.get(c);
    flag = (data_t::flag_type)c;
+   char* cp;
 
    unsigned int sz;
 
 <at>  <at>  -277,7 +278,8  <at>  <at>  Boolean data_t::binaryIn(buffer& buf)
 
         break;
    }
-   buf.get(*(char*)&dt);
+   cp = (char*)&dt;
+   buf.get(*(long*)cp);
    return true;
 }
 
diff --git a/cde/programs/dtinfo/DtMmdb/hmphf/Imakefile b/cde/programs/dtinfo/DtMmdb/hmphf/Imakefile
index 82d99ce..1b50d43 100644
--- a/cde/programs/dtinfo/DtMmdb/hmphf/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/hmphf/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS =	buckets.C	mphf_funcs.C	mphf_hash_table.C \
 	params.C	pattern.C	sorter.C
diff --git a/cde/programs/dtinfo/DtMmdb/index/Imakefile b/cde/programs/dtinfo/DtMmdb/index/Imakefile
index e82b53f..0b38aaf 100644
--- a/cde/programs/dtinfo/DtMmdb/index/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/index/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS = 	btree_index.C		dyn_disk_index.C	dyn_index.C  \
 	dyn_memory_index.C	fast_mphf.C		hash.C \
diff --git a/cde/programs/dtinfo/DtMmdb/index/dyn_index.C b/cde/programs/dtinfo/DtMmdb/index/dyn_index.C
index cc64dae..e32b84f 100644
--- a/cde/programs/dtinfo/DtMmdb/index/dyn_index.C
+++ b/cde/programs/dtinfo/DtMmdb/index/dyn_index.C
 <at>  <at>  -114,7 +114,7  <at>  <at>  dyn_index::_insert_loc(data_t& intKey, const oid_t& id)
 MESSAGE(cerr, "in dyn_index insert()");
 debug(cerr, intKey);
 debug(cerr, id);
-debug(cerr, pos);
+debug(cerr, p);
 */
 
     if ( v_idx_agent_ptr -> member( intKey ) == true ) {
 <at>  <at>  -268,12 +268,12  <at>  <at>  oid_list_handler* dyn_index::get_loc_list(const handler& t)
       ) {
 //MESSAGE(cerr, "in hash table");
 
-      int pos = int(long(intKey -> dt));
-//debug(cerr, pos);
+      int p = int(long(intKey -> dt));
+//debug(cerr, p);
       delete intKey;
 //MESSAGE(cerr, "dyn_index::get_loc_list() done");
 
-      return  (*v_inv_lists_hd) -> get_list(pos); 
+      return  (*v_inv_lists_hd) -> get_list(p); 
 
    } else {
 //MESSAGE(cerr, "not in hash table");
diff --git a/cde/programs/dtinfo/DtMmdb/index/fast_mphf.h b/cde/programs/dtinfo/DtMmdb/index/fast_mphf.h
index 3484738..920f88b 100644
--- a/cde/programs/dtinfo/DtMmdb/index/fast_mphf.h
+++ b/cde/programs/dtinfo/DtMmdb/index/fast_mphf.h
 <at>  <at>  -119,6 +119,7  <at>  <at>  public:
    Boolean init_map_tbls();
 
 // load the MPHF from files
+   using pstring::asciiIn;
    virtual io_status asciiIn(istream&);
 
 // compute a hash value for a key.
diff --git a/cde/programs/dtinfo/DtMmdb/mgrs/Imakefile b/cde/programs/dtinfo/DtMmdb/mgrs/Imakefile
index 2de9576..969b90a 100644
--- a/cde/programs/dtinfo/DtMmdb/mgrs/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/mgrs/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DCOMPACTED_DISK_REP -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS = managers.C misc.C query_mgr.C template_mgr.C
 OBJS = $(SRCS:.C=.o)
diff --git a/cde/programs/dtinfo/DtMmdb/misc/unique_id.c b/cde/programs/dtinfo/DtMmdb/misc/unique_id.c
index 0038c22..d3ecff5 100644
--- a/cde/programs/dtinfo/DtMmdb/misc/unique_id.c
+++ b/cde/programs/dtinfo/DtMmdb/misc/unique_id.c
 <at>  <at>  -112,7 +112,7  <at>  <at>  gethostid()
     return atoi(u.idnumber);
   abort();
 }
-#elif defined(SVR4)
+#elif defined(SVR4) && !defined(sun)
 static unsigned int
 gethostid()
 {
diff --git a/cde/programs/dtinfo/DtMmdb/object/Imakefile b/cde/programs/dtinfo/DtMmdb/object/Imakefile
index b981975..7e8866d 100644
--- a/cde/programs/dtinfo/DtMmdb/object/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/object/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS =	composite.C	compressed_pstring.C	cset.C \
 	dl_list.C	dl_list_cell.C		handler.C \
diff --git a/cde/programs/dtinfo/DtMmdb/object/long_pstring.h b/cde/programs/dtinfo/DtMmdb/object/long_pstring.h
index 2ab7d2b..d4cc181 100644
--- a/cde/programs/dtinfo/DtMmdb/object/long_pstring.h
+++ b/cde/programs/dtinfo/DtMmdb/object/long_pstring.h
 <at>  <at>  -82,7 +82,8  <at>  <at>  public:
 */
 
 // print function
-   virtual io_status asciiIn(istream&) ;
+   using pstring::asciiIn;
+   virtual io_status asciiIn(istream&);
 
 protected:
    chunks_index *v_str_index;
diff --git a/cde/programs/dtinfo/DtMmdb/oliasdb/Imakefile b/cde/programs/dtinfo/DtMmdb/oliasdb/Imakefile
index 4d592d5..e14e678 100644
--- a/cde/programs/dtinfo/DtMmdb/oliasdb/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/oliasdb/Imakefile
 <at>  <at>  -23,14 +23,14  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 #ifdef DtinfoClient
 DEFINES= -DC_API -DNO_DB_LOCK -DCDE_NEXT
 #else
 DEFINES= -DC_API -DNO_DB_LOCK $(BYTE_ORDER_DEFINES)
 #endif
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I../misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I../misc
 
 BASE_SRCS =  \
 	asciiIn_filters.C 	collectionIterator.C \
diff --git a/cde/programs/dtinfo/DtMmdb/schema/Imakefile b/cde/programs/dtinfo/DtMmdb/schema/Imakefile
index ffc2766..1b1f9d3 100644
--- a/cde/programs/dtinfo/DtMmdb/schema/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/schema/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES) -I../misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) -I../misc
 
 NORMAL_SRCS = desc.C store_desc.C object_dict.C \
 	stored_object_desc.C index_desc.C inv_desc.C \
diff --git a/cde/programs/dtinfo/DtMmdb/schema/object_dict.C b/cde/programs/dtinfo/DtMmdb/schema/object_dict.C
index 9053287..f708cf5 100644
--- a/cde/programs/dtinfo/DtMmdb/schema/object_dict.C
+++ b/cde/programs/dtinfo/DtMmdb/schema/object_dict.C
 <at>  <at>  -64,7 +64,7  <at>  <at>  int replace_string_len;
 //extern FILE *yyin;
 
 extern int schemaparse();
-extern int schemarestart(FILE*);
+extern void schemarestart(FILE*);
 extern FILE *schemain;
 
 object_dict::object_dict() :
diff --git a/cde/programs/dtinfo/DtMmdb/schema/token.C b/cde/programs/dtinfo/DtMmdb/schema/token.C
index 18cde82..eda5b73 100644
--- a/cde/programs/dtinfo/DtMmdb/schema/token.C
+++ b/cde/programs/dtinfo/DtMmdb/schema/token.C
 <at>  <at>  -43,7 +43,7  <at>  <at> 
 
 #include <stdlib.h>
 
-#if defined(__osf__) || defined(linux) || defined(CSRG_BASED)
+#if defined(__osf__) || defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <unistd.h>
 #else
 #if !defined(__uxp__) && !defined(USL)
diff --git a/cde/programs/dtinfo/DtMmdb/storage/Imakefile b/cde/programs/dtinfo/DtMmdb/storage/Imakefile
index 82ea47c..abee391 100644
--- a/cde/programs/dtinfo/DtMmdb/storage/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/storage/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES)
 
 SRCS =	abs_storage.C	chunks_index.C	heap_comp_funcs.C \
 	lru.C		page.C		page_cache.C \
diff --git a/cde/programs/dtinfo/DtMmdb/utility/Imakefile b/cde/programs/dtinfo/DtMmdb/utility/Imakefile
index cf71ccb..e80036a 100644
--- a/cde/programs/dtinfo/DtMmdb/utility/Imakefile
+++ b/cde/programs/dtinfo/DtMmdb/utility/Imakefile
 <at>  <at>  -23,11 +23,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LargePICTable	YES
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 XCOMM In DtMmdb we compile as C_API sources.
 DEFINES  = -DC_API -DPORTABLE_DB
-INCLUDES = -I.. $(EXCEPTIONS_INCLUDES) -I../misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) -I../misc
 
 BASE_SRCS = \
 	funcs.C		ostring.C	pm_random.C	atoi_pearson.C \
diff --git a/cde/programs/dtinfo/DtMmdb/utility/filebuf.C b/cde/programs/dtinfo/DtMmdb/utility/filebuf.C
index a8b7ce5..1ae7908 100644
--- a/cde/programs/dtinfo/DtMmdb/utility/filebuf.C
+++ b/cde/programs/dtinfo/DtMmdb/utility/filebuf.C
 <at>  <at>  -26,7 +26,8  <at>  <at> 
 #include <sys/types.h>
 #include <unistd.h>
 
-#if !defined(hpux) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(hpux) && !defined(__osf__) && !defined(USL) && \
+    !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 #include <sysent.h>
 #endif
 
diff --git a/cde/programs/dtinfo/DtMmdb/utility/funcs.h b/cde/programs/dtinfo/DtMmdb/utility/funcs.h
index f46a04d..9ee88a8 100644
--- a/cde/programs/dtinfo/DtMmdb/utility/funcs.h
+++ b/cde/programs/dtinfo/DtMmdb/utility/funcs.h
 <at>  <at>  -53,11 +53,11  <at>  <at> 
 #define _funcs_h 1
 
 #if !defined(USL) && !defined(__osf__) && !defined(linux) && \
-    !defined(CSRG_BASED)
+    !defined(CSRG_BASED) && !defined(sun)
 #include <libc.h>
 #endif
 #if defined(hpux) || defined(sgi) || defined(USL) ||defined(__osf__) || \
-    defined(linux) || defined(CSRG_BASED)
+    defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <unistd.h>
 #else
 #include <sysent.h>
diff --git a/cde/programs/dtinfo/DtMmdb/utility/mmdb_exception.h b/cde/programs/dtinfo/DtMmdb/utility/mmdb_exception.h
index e1aa01c..f99bd77 100644
--- a/cde/programs/dtinfo/DtMmdb/utility/mmdb_exception.h
+++ b/cde/programs/dtinfo/DtMmdb/utility/mmdb_exception.h
 <at>  <at>  -72,7 +72,7  <at>  <at>  extern int errno;
 class mmdbException : public Exception
 {
 public:
-   DECLARE_EXCEPTION(mmdbException, Exception);
+   DECLARE_EXCEPTION(mmdbException, Exception)
 
    virtual ~mmdbException() {};
 
 <at>  <at>  -90,7 +90,7  <at>  <at>  protected:
    char* msg;
 
 public:
-   DECLARE_EXCEPTION(stringException, mmdbException);
+   DECLARE_EXCEPTION(stringException, mmdbException)
 
    stringException(char const* m) : msg((char*)m) {};
    ~stringException() {};
 <at>  <at>  -104,7 +104,7  <at>  <at>  class formatException : public stringException
 protected:
 
 public:
-   DECLARE_EXCEPTION(formatException, stringException);
+   DECLARE_EXCEPTION(formatException, stringException)
 
    formatException(char const* m) : stringException(m) {};
    ~formatException() {};
 <at>  <at>  -118,7 +118,7  <at>  <at>  protected:
    int v_code;
 
 public:
-   DECLARE_EXCEPTION(intException, mmdbException);
+   DECLARE_EXCEPTION(intException, mmdbException)
 
    intException(int c) : v_code(c) {};
    ~intException() {};
 <at>  <at>  -133,7 +133,7  <at>  <at>  class systemException : public intException
 {
 
 public:
-   DECLARE_EXCEPTION(systemException, intException);
+   DECLARE_EXCEPTION(systemException, intException)
 
    systemException(int c) : intException(c) {};
    ~systemException() {};
 <at>  <at>  -145,7 +145,7  <at>  <at>  class streamException : public intException
 protected:
 
 public:
-   DECLARE_EXCEPTION(streamException, intException);
+   DECLARE_EXCEPTION(streamException, intException)
 
    streamException(int c) : intException(c) {};
    ~streamException() {};
 <at>  <at>  -160,7 +160,7  <at>  <at>  protected:
    long mindex;
 
 public:
-   DECLARE_EXCEPTION(boundaryException, mmdbException);
+   DECLARE_EXCEPTION(boundaryException, mmdbException)
 
    boundaryException(long l, long h, long i) : 
      low(l), high(h), mindex(i) {};
 <at>  <at>  -173,7 +173,7  <at>  <at>  public:
 class beginTransException: public mmdbException
 {
 public:
-   DECLARE_EXCEPTION(beginTransException, mmdbException);
+   DECLARE_EXCEPTION(beginTransException, mmdbException)
    beginTransException() {};
    ~beginTransException() {};
 };
 <at>  <at>  -181,7 +181,7  <at>  <at>  public:
 class commitTransException: public mmdbException
 {
 public:
-   DECLARE_EXCEPTION(commitTransException, mmdbException);
+   DECLARE_EXCEPTION(commitTransException, mmdbException)
    commitTransException() {};
    ~commitTransException() {};
 };
 <at>  <at>  -189,7 +189,7  <at>  <at>  public:
 class rollbackTransException: public mmdbException
 {
 public:
-   DECLARE_EXCEPTION(rollbackTransException, mmdbException);
+   DECLARE_EXCEPTION(rollbackTransException, mmdbException)
    rollbackTransException() {};
    ~rollbackTransException() {};
 };
 <at>  <at>  -202,7 +202,7  <at>  <at>  protected:
    const char* f_name;
 
 public:
-   DECLARE_EXCEPTION(demoException, mmdbException);
+   DECLARE_EXCEPTION(demoException, mmdbException)
 
    demoException(const char* p, const char* n) : f_path(p), f_name(n) {};
    virtual ~demoException() {};
diff --git a/cde/programs/dtinfo/DtMmdb/utility/streambuf.C b/cde/programs/dtinfo/DtMmdb/utility/streambuf.C
index 832087d..1256c91 100644
--- a/cde/programs/dtinfo/DtMmdb/utility/streambuf.C
+++ b/cde/programs/dtinfo/DtMmdb/utility/streambuf.C
 <at>  <at>  -23,7 +23,8  <at>  <at> 
 /* $XConsortium: streambuf.C /main/8 1996/08/21 15:55:14 drk $ */
 #include "utility/c_streambuf.h"
 
-#if defined(USL) || defined(__osf__) || defined(linux) || defined(CSRG_BASED)
+#if defined(USL) || defined(__osf__) || defined(linux) || \
+    defined(CSRG_BASED) || defined(sun)
 #include <stdlib.h>
 #else
 #include <libc.h>
diff --git a/cde/programs/dtinfo/clients/dtinfo_start/Imakefile b/cde/programs/dtinfo/clients/dtinfo_start/Imakefile
index 1adde51..4c0bcbb 100644
--- a/cde/programs/dtinfo/clients/dtinfo_start/Imakefile
+++ b/cde/programs/dtinfo/clients/dtinfo_start/Imakefile
 <at>  <at>  -11,6 +11,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/5 1996/06/11 17:45:12 cde-hal $
 
 NormalCplusplusObjectRule()
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES =  -I.
 
 #ifdef AIXArchitecture
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/Imakefile b/cde/programs/dtinfo/dtinfo/src/Agents/Imakefile
index 51ec0c1..095bd71 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/8 1996/08/21 15:41:09 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -10,11 +10,11  <at>  <at>  LIBNAME=Agents
 NormalCplusplusObjectRule()
 
 #ifdef DoLicenseManagement
-INCLUDES=$(BROWSER_INCLUDES) $(MMDB_INCLUDES) $(LICENSE_L_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(MMDB_INCLUDES) $(LICENSE_L_INCLUDES)
 EXTRA_DEFINES=-DLICENSE_MANAGEMENT
 #else
 XCOMM Should remove LICENSE_L_INCLUDES from this list in this case
-INCLUDES=$(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
 #endif
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
index 1ba846d..6694fc0 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
 <at>  <at>  -31,7 +31,6  <at>  <at> 
 #include <X11/Intrinsic.h>
 
 class OutlineListView;
-class OutlineListView;
 class WTopLevelShell;
 class ScopeMenu;
 class IcccmAgent;
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.C b/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.C
index 0f74ef4..beca340 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.C
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.C
 <at>  <at>  -199,15 +199,15  <at>  <at>  static char another_g_top_locator[4096] ;
  * DtHelpDialog widget action list - required by the DisplayArea
  */
 static XtActionsRec DrawnBActions[] =
-    {
-        {(char*)"DeSelectAll"    , _DtHelpDeSelectAll    },
-        {(char*)"SelectAll"      , _DtHelpSelectAll      },
-        {(char*)"ActivateLink"   , _DtHelpActivateLink   },
-        {(char*)"CopyToClipboard", _DtHelpCopyAction     },
-        {(char*)"PageUpOrDown"   , _DtHelpPageUpOrDown   },
-        {(char*)"PageLeftOrRight", _DtHelpPageLeftOrRight},
-        {(char*)"NextLink"       , _DtHelpNextLink       }
-    };
+  {
+    {(char*)"DeSelectAll"    , (DeSelectAll_ptr)_DtHelpDeSelectAll         },
+    {(char*)"SelectAll"      , (SelectAll_ptr)_DtHelpSelectAll             },
+    {(char*)"ActivateLink"   , (ActivateLink_ptr)_DtHelpActivateLink       },
+    {(char*)"CopyToClipboard", (CopyAction_ptr)_DtHelpCopyAction           },
+    {(char*)"PageUpOrDown"   , (PageUpOrDown_ptr)_DtHelpPageUpOrDown       },
+    {(char*)"PageLeftOrRight", (PageLeftOrRight_ptr)_DtHelpPageLeftOrRight },
+    {(char*)"NextLink"       , (NextLink_ptr)_DtHelpNextLink               }
+  };
 
 //-------  Functions --------------------------------------------
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.hh b/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.hh
index 4e96344..11d3bec 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/NodePrintAgent.hh
 <at>  <at>  -34,6 +34,21  <at>  <at> 
 
 #include "UAS.hh"
 
+typedef void _DtHelpDeSelectAll_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpDeSelectAll_t * DeSelectAll_ptr;
+typedef void _DtHelpSelectAll_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpSelectAll_t * SelectAll_ptr;
+typedef void _DtHelpActivateLink_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpActivateLink_t * ActivateLink_ptr;
+typedef void _DtHelpCopyAction_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpCopyAction_t * CopyAction_ptr;
+typedef void _DtHelpPageUpOrDown_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpPageUpOrDown_t * PageUpOrDown_ptr;
+typedef void _DtHelpPageLeftOrRight_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpPageLeftOrRight_t * PageLeftOrRight_ptr;
+typedef void _DtHelpNextLink_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpNextLink_t * NextLink_ptr;
+
 class NodeViewInfo;
 class NodeHandle;
 class Manager;
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
index e114dc0..60ad484 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
 <at>  <at>  -209,6 +209,12  <at>  <at>  xList<UAS_Pointer<UAS_Common> > g_tab_list;
 
 extern AppPrintData * l_AppPrintData; 
 
+extern "C"
+{
+  typedef void (*resize_cb_ptr)();
+  typedef void (*hypertext_cb_ptr)();
+}
+
 #ifdef CV_HYPER_DEBUG
 void
 #else
 <at>  <at>  -1753,8 +1759,8  <at>  <at>  NodeWindowAgent::create_ui()
 			     FALSE,		// traversal flag
 			     1,			// rows
 			     1,			// columns
-			     (void(*)()) hypertext_cb, // hypertext cb
-			     (void(*)())resize_cb,     // resize cb
+			     (hypertext_cb_ptr) hypertext_cb, // hypertext cb
+			     (resize_cb_ptr) resize_cb,       // resize cb
 			     0,			// exec ok routine
 			     this,		// client_data
 			     defaultList	// default font list
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.C b/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.C
index 411c023..7e216fa 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.C
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.C
 <at>  <at>  -176,7 +176,7  <at>  <at>  FolioObject::notify (u_int notify_type, void *notify_data)
 // /////////////////////////////////////////////////////////////////
 
 void
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
 FolioObject::add_dependent (FolioObject *dependent, notify_handler_t handler,
 #else
 FolioObject::add_dependent (void *dependent, notify_handler_t handler,
 <at>  <at>  -184,7 +184,7  <at>  <at>  FolioObject::add_dependent (void *dependent, notify_handler_t handler,
 			    u_int notify_type, void *dependent_data)
 {
   // Adds to begining because that's easiest.
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   f_dependents = new Dependent (&f_dependents, f_dependents,
 				dependent, NULL, handler,
 				notify_type, dependent_data);
 <at>  <at>  -206,7 +206,7  <at>  <at>  FolioObject::add_dependent (void *dependent, notify_handler_t handler,
   // by mistake like this.  We'll just have to cast it to a FolioObject
   // when the call through it is made and hope the compiler doesn't
   // expect it to point to an actual FolioObject (or whatever, eg: WWL). 
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   ON_DEBUG(printf (" <at>  <at>  <at>  adding to depend_on_list of %p\n", dependent));
   dependent->f_depend_on_list =
     new DependOnList (dependent->f_depend_on_list, f_dependents);
 <at>  <at>  -244,7 +244,7  <at>  <at>  FolioObject::remove_depend_on (FolioObject *target, Dependent *d)
 // /////////////////////////////////////////////////////////////////
 
 void
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
 FolioObject::remove_dependent (FolioObject *dependent,
 #else
 FolioObject::remove_dependent (void *dependent,
 <at>  <at>  -258,7 +258,7  <at>  <at>  FolioObject::remove_dependent (void *dependent,
   // That means that each handler added must be removed!
   for (d = &f_dependents; *d != NULL; d = &((*d)->f_next))
     {
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
       if ((*d)->f_dependent      == dependent   &&
 #else
       if ((*d)->f_dependent      == (FolioObject*)dependent   &&
 <at>  <at>  -272,7 +272,7  <at>  <at>  FolioObject::remove_dependent (void *dependent,
 	  // f_folio_object will be NULL if the Dependent object was
 	  // created in add_dependent!  DJB 11/10/92 
 	  assert ((*d)->f_folio_object != NULL);
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
 	  remove_depend_on (dependent, *d);
 #else
 	  remove_depend_on ((FolioObject*)dependent, *d);
 <at>  <at>  -342,7 +342,7  <at>  <at>  FolioObject::release_depend_on_list()
 // by deleting that handle!!! 
 
 void
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
 FolioObject::observe (FolioObject *real_this, FolioObject *target,
 #else
 FolioObject::observe (void *real_this, FolioObject *target,
 <at>  <at>  -358,7 +358,7  <at>  <at>  FolioObject::observe (void *real_this, FolioObject *target,
   // ---
   // OK, instead we will have to pass in the "real" this pointer which
   // may be different from the this pointer visible in this routine. 
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   target->f_dependents =
     new Dependent (&target->f_dependents, target->f_dependents,
 		   real_this, this,
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.hh b/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.hh
index a5ae2a0..a6d79e4 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/FolioObject.hh
 <at>  <at>  -72,7 +72,7  <at>  <at>  public: // functions
 #define AddDependentd(CB, TYPE, DATA) \
   add_dependent (this, (notify_handler_t)CB, TYPE, DATA)
 
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   void add_dependent (FolioObject *dependent, notify_handler_t handler,
 		      u_int notify_type, void *dependent_data = NULL);
 #else
 <at>  <at>  -85,7 +85,7  <at>  <at>  public: // functions
 #define RemoveDependentd(CB, TYPE, DATA) \
   remove_dependent(this, (notify_handler_t)CB, TYPE, DATA)
 
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   void remove_dependent (FolioObject *dependent, notify_handler_t handler,
 			 u_int notify_type, void *dependent_data = NULL);
 #else
 <at>  <at>  -101,7 +101,7  <at>  <at>  public: // functions
 #define Observed(TARG, TYPE, CB, DATA) \
   observe (this, TARG, (notify_handler_t) CB, TYPE, DATA)
 
-#if defined(SC3) || defined(__osf__) || defined(USL)
+#if defined(SC3) || defined(__osf__) || defined(USL) || defined(__SunOS)
   void observe (FolioObject *real_this, FolioObject *target,
 		notify_handler_t callback, u_int notify_type,
 		void *client_data = NULL);
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
index f48bac8..f73a89d 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
 <at>  <at>  -56,6 +56,7  <at>  <at>  public: // functions
     // NOTE: remove 3rd param after testing
     : List (10, 10, List::GROW_ADD) { };
   int find (FolioObject &);
+  using List::remove;
   void remove (FolioObject &);
 };
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/Imakefile b/cde/programs/dtinfo/dtinfo/src/Basic/Imakefile
index c86cbe9..09aa879 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/6 1996/08/21 15:41:35 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -10,9 +10,9  <at>  <at>  LIBNAME=Basic
 NormalCplusplusObjectRule()
 
 #if defined(UseWideChars) && defined(SunArchitecture) && (OSMajorVersion == 4)
-INCLUDES=$(BROWSER_INCLUDES) $(MMDB_INCLUDES) -I/VOB/olias/library/Xwchar/src -I/VOB/olias/library/binstall/include
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(MMDB_INCLUDES) -I/VOB/olias/library/Xwchar/src -I/VOB/olias/library/binstall/include
 #else
-INCLUDES=$(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES) -I/VOB/olias/library/binstall/include
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES) -I/VOB/olias/library/binstall/include
 #endif
 
 #include "Classlist.mk"
diff --git a/cde/programs/dtinfo/dtinfo/src/Graphics/Imakefile b/cde/programs/dtinfo/dtinfo/src/Graphics/Imakefile
index 5fc3fbf..e512d3e 100644
--- a/cde/programs/dtinfo/dtinfo/src/Graphics/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Graphics/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/5 1996/08/21 15:41:55 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -9,7 +9,7  <at>  <at>  LIBNAME=Graphics
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES) $(MMDB_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(MMDB_INCLUDES)
 
 #ifdef DoLicenseManagement
 EXTRA_DEFINES=-DLICENSE_MANAGEMENT
diff --git a/cde/programs/dtinfo/dtinfo/src/Imakefile b/cde/programs/dtinfo/dtinfo/src/Imakefile
index 4434d38..642ab75 100644
--- a/cde/programs/dtinfo/dtinfo/src/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $TOG: Imakefile /main/48 1998/08/10 15:52:48 mgreess $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 PROGRAM_NAME=dtinfo
 <at>  <at>  -50,7 +50,7  <at>  <at>  SYS_LIBRARIES=-lm -L$(XPROJECTROOT)/lib -L$(MPROJECTROOT)/lib
 SYS_LIBRARIES=-lm
 #endif
 
-INCLUDES = -I. $(BROWSER_INCLUDES) $(MMDB_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I. $(BROWSER_INCLUDES) $(MMDB_INCLUDES)
 
 OLIASNORMALLIBS= \
            Agents/libAgents.a \
 <at>  <at>  -67,7 +67,7  <at>  <at>  OLIASNORMALLIBS= \
            OliasSearch/libOliasSearch.a \
            Widgets/libWidgets.a \
 	   cgm/libcgm.a
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 OLIASTLIBS= \
 	   Agents/libAgentsT.a \
 	   Basic/libBasicT.a \
 <at>  <at>  -89,7 +89,7  <at>  <at>  DLLIB=-ldl
 
 OTHEROBJS=Support/InputNotifier.o
 
-#if defined(SunArchitecture) && (CplusplusCompilerMajorVersion > 3)
+#if defined(SunArchitecture) && (CplusplusCompilerMajorVersion > 5)
   MMDBTEMPLATES=$(OLIAS)/mmdb/libMMDBTemplates.a
   UAS_TEMPLATES=UAS/Base/libBaseT.a \
                 UAS/DtSR/libDtSRT.a \
 <at>  <at>  -257,7 +257,7  <at>  <at>  DTI_CC_OBJS = \
 	$(MMDB_DIR)/dti_cc/CC_String.o		$(MMDB_DIR)/dti_cc/CC_Tokenizer.o \
 	$(MMDB_DIR)/dti_cc/CC_Stack.o		$(MMDB_DIR)/dti_cc/CC_Slist.o
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_HARDCOPY_OBJS = $(MMDB_DIR)/HardCopy/TemplatesAutoNumber.o
 #endif
 
 <at>  <at>  -266,7 +266,7  <at>  <at>  HARDCOPY_OBJS = \
 	$(MMDB_DIR)/HardCopy/autoNumber.o		$(MMDB_DIR)/HardCopy/autoNumberFP.o \
 	$(EXTRA_HARDCOPY_OBJS)
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_STYLESHEET_OBJS = $(MMDB_DIR)/StyleSheet/SSTemplates.o
 #endif
 
 <at>  <at>  -313,7 +313,10  <at>  <at>  all:: Prelude.h dfiles messages Dtinfo
 
 includes:: Prelude.h dfiles messages
 
-#if defined(HPArchitecture) ||defined (AIXArchitecture) || defined(UXPArchitecture) || (defined(SunArchitecture) && CplusplusCompilerMajorVersion < 4) || defined(AlphaArchitecture) || defined(USLArchitecture) || defined(BSDArchitecture)
+#if defined(HPArchitecture) ||defined (AIXArchitecture) || \
+    defined(UXPArchitecture) || defined(AlphaArchitecture) || \
+    (defined(SunArchitecture) && CplusplusCompilerMajorVersion < 6) || \
+    defined(USLArchitecture) || defined(BSDArchitecture)
 # ifndef Dont_Use_Templates_Repository
 #  define Dont_Use_Templates_Repository
 UAS_INCLUDES=-I./UAS/Base
 <at>  <at>  -338,7 +341,8  <at>  <at>  SpecialCPlusPlusObjectRule(Templates.o,,-ptf $(SUBDIR_TEMPL_INCLUDES))
 SpecialCPlusPlusExpandRule(Templates..c,,-ptf -DMakeOperatorNewPublic)
 #elif defined(DoLicenseManagement)
 SpecialCPlusPlusObjectRule(Templates.o,,-ptf $(LICENSE_L_INCLUDES))
-#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+      defined(SunArchitecture)
 SpecialCPlusPlusObjectRule(Templates.o,,$(SUBDIR_TEMPL_INCLUDES))
 SpecialCPlusPlusExpandRule(Templates..c,,-DMakeOperatorNewPublic)
 #else
 <at>  <at>  -358,7 +362,7  <at>  <at>  makelib(Preferences)
 makelibT(Managers)
 makelib(Other)
 makelibT(Agents)
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 makelibsubsubdir(UAS,Base)
 makelibsubsubdir(UAS,DtSR)
 makelibsubsubdir(UAS,MMDB)
 <at>  <at>  -370,7 +374,7  <at>  <at>  makelibT(Marks)
 makelibT(OnlineRender)
 makelibT(OliasSearch)
 makelib(cgm)
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 makelibTsubsubdir(UAS,Base)
 makelibTsubsubdir(UAS,DtSR)
 makelibTsubsubdir(UAS,MMDB)
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/Imakefile b/cde/programs/dtinfo/dtinfo/src/Managers/Imakefile
index 38650b6..287df95 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/9 1996/08/21 15:42:26 drk $
 
 XCOMM NodeMgr.o and PrintMgr.o need STYLE_SHEET_INCLUDES.
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES) $(STYLE_SHEET_INCLUDES)
+DEPEND_DEFINES = $(DEPENDDEFINES) $(STYLE_SHEET_INCLUDES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 DEFINES=-DCDE_NEXT $(BYTE_ORDER_DEFINES)
 <at>  <at>  -23,7 +23,7  <at>  <at>  LIBNAME=Managers
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Marks/Imakefile b/cde/programs/dtinfo/dtinfo/src/Marks/Imakefile
index a9b6a6e..ed51955 100644
--- a/cde/programs/dtinfo/dtinfo/src/Marks/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Marks/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/6 1996/08/21 15:42:50 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 NormalCplusplusObjectRule()
 <at>  <at>  -10,7 +10,7  <at>  <at>  MAKEFILEDEPS=Classlist.mk
 LIBNAME=Marks
 
 
-INCLUDES=-I.. $(EXCEPTIONS_INCLUDES) $(MMDB_INCLUDES) $(UAS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) $(MMDB_INCLUDES) $(UAS_INCLUDES)
 DEFINES=$(BYTE_ORDER_DEFINES)
 
 #include "Classlist.mk"
diff --git a/cde/programs/dtinfo/dtinfo/src/OliasSearch/Imakefile b/cde/programs/dtinfo/dtinfo/src/OliasSearch/Imakefile
index 929e65a..3343673 100644
--- a/cde/programs/dtinfo/dtinfo/src/OliasSearch/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/OliasSearch/Imakefile
 <at>  <at>  -1,5 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/4 1996/08/21 15:42:57 drk $
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -7,7 +8,7  <at>  <at>  LIBNAME=OliasSearch
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/OnlineRender/Imakefile b/cde/programs/dtinfo/dtinfo/src/OnlineRender/Imakefile
index 467fcb4..6cf1972 100644
--- a/cde/programs/dtinfo/dtinfo/src/OnlineRender/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/OnlineRender/Imakefile
 <at>  <at>  -1,13 +1,13  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/8 1996/08/21 15:43:09 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 LIBNAME=OnlineRender
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES) $(MMDB_INCLUDES) $(STYLE_SHEET_INCLUDES) \
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(MMDB_INCLUDES) $(STYLE_SHEET_INCLUDES) \
 $(COMMON_CLASS_INCLUDES) 
 DEFINES=-DCDE_NEXT
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Other/Imakefile b/cde/programs/dtinfo/dtinfo/src/Other/Imakefile
index 3d53633..36bf44d 100644
--- a/cde/programs/dtinfo/dtinfo/src/Other/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Other/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/8 1996/08/21 15:43:18 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 CDEBUGFLAGS=-g
 
 <at>  <at>  -10,7 +10,7  <at>  <at>  LIBNAME=Other
 
 NormalCplusplusObjectRule()
 
-INCLUDES = $(BROWSER_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.C b/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.C
index 802229e..b12d99f 100644
--- a/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.C
+++ b/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.C
 <at>  <at>  -206,15 +206,15  <at>  <at>  NULL
 
 
 static XtActionsRec DrawnBActions[] =
-    {
-        {(char*)"DeSelectAll"    , _DtHelpDeSelectAll    },
-        {(char*)"SelectAll"      , _DtHelpSelectAll      },
-        {(char*)"ActivateLink"   , _DtHelpActivateLink   },
-        {(char*)"CopyToClipboard", _DtHelpCopyAction     },
-        {(char*)"PageUpOrDown"   , _DtHelpPageUpOrDown   },
-        {(char*)"PageLeftOrRight", _DtHelpPageLeftOrRight},
-        {(char*)"NextLink"       , _DtHelpNextLink       }
-    };
+  {
+    {(char*)"DeSelectAll"    , (DeSelectAll_ptr)_DtHelpDeSelectAll         },
+    {(char*)"SelectAll"      , (SelectAll_ptr)_DtHelpSelectAll             },
+    {(char*)"ActivateLink"   , (ActivateLink_ptr)_DtHelpActivateLink       },
+    {(char*)"CopyToClipboard", (CopyAction_ptr)_DtHelpCopyAction           },
+    {(char*)"PageUpOrDown"   , (PageUpOrDown_ptr)_DtHelpPageUpOrDown       },
+    {(char*)"PageLeftOrRight", (PageLeftOrRight_ptr)_DtHelpPageLeftOrRight },
+    {(char*)"NextLink"       , (NextLink_ptr)_DtHelpNextLink               }
+  };
 
 
 
 <at>  <at>  -268,10 +268,11  <at>  <at>  WindowSystem::WindowSystem (int &argc, char *argv[])
   bool debugging = get_boolean_app_resource("debug");
   if (!debugging)
     {
-      signal (SIGABRT, /*DWC IBM (SIG_PF)*/ core_dump_handler);
-      signal (SIGBUS, /*(SIG_PF)*/ core_dump_handler);
-      signal (SIGSEGV, /*(SIG_PF)*/ core_dump_handler);
-      signal (SIGINT, interrupt_handler);
+      signal (SIGABRT,
+              /*DWC IBM (SIG_PF)*/ (core_dump_handler_ptr)core_dump_handler);
+      signal (SIGBUS, /*(SIG_PF)*/ (core_dump_handler_ptr)core_dump_handler);
+      signal (SIGSEGV, /*(SIG_PF)*/ (core_dump_handler_ptr)core_dump_handler);
+      signal (SIGINT, (interrupt_handler_ptr)interrupt_handler);
     }
 
   /* Reference the scale widget so Veritas Replay Xt lib can link. */
 <at>  <at>  -553,7 +554,7  <at>  <at>  WindowSystem::init()
   XSynchronize(f_display, True);
 #endif
   XSync(f_display, False);
-  XSetErrorHandler(xevent_error_aborter);
+  XSetErrorHandler((xevent_error_aborter_ptr)xevent_error_aborter);
 
 #if 0
   XtAppSetFallbackResources(f_application_context, fallbacks);
 <at>  <at>  -620,7 +621,8  <at>  <at>  WindowSystem::init()
 	      parentCvtArg, XtNumber (parentCvtArg), XtCacheNone, NULL);
 #endif /* XmVersion < 1002 */
 
-  XtAddConverter (XtRString, XtRGravity, XmuCvtStringToGravity, NULL, 0);
+  XtAddConverter (XtRString, XtRGravity,
+                  (XmuCvtStringToGravity_ptr)XmuCvtStringToGravity, NULL, 0);
 
 #if XmVersion >= 1002
   XmRepTypeInstallTearOffModelConverter();
 <at>  <at>  -1592,6 +1594,6  <at>  <at>  WindowSystem::interrupt_handler (int /* signal_number */)
   }
 
 #if defined(SVR4) || defined(hpux) || defined(_IBMR2)
-  signal (SIGINT, interrupt_handler);
+  signal (SIGINT, (interrupt_handler_ptr)interrupt_handler);
 #endif
 }
diff --git a/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.hh b/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.hh
index 1df671d..2f6842d 100644
--- a/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Other/WindowSystemMotif.hh
 <at>  <at>  -41,6 +41,33  <at>  <at>  typedef struct _VideoShell
     Boolean silent;
 } VideoShell;
 
+typedef void _DtHelpDeSelectAll_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpDeSelectAll_t * DeSelectAll_ptr;
+typedef void _DtHelpSelectAll_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpSelectAll_t * SelectAll_ptr;
+typedef void _DtHelpActivateLink_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpActivateLink_t * ActivateLink_ptr;
+typedef void _DtHelpCopyAction_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpCopyAction_t * CopyAction_ptr;
+typedef void _DtHelpPageUpOrDown_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpPageUpOrDown_t * PageUpOrDown_ptr;
+typedef void _DtHelpPageLeftOrRight_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpPageLeftOrRight_t * PageLeftOrRight_ptr;
+typedef void _DtHelpNextLink_t(_WidgetRec*,_XEvent*,char**,unsigned*);
+typedef _DtHelpNextLink_t * NextLink_ptr;
+typedef void XmuCvtStringToGravity_t(XrmValue*,unsigned*,XrmValue*,XrmValue*);
+typedef XmuCvtStringToGravity_t * XmuCvtStringToGravity_ptr;
+
+extern "C" 
+{
+  typedef void core_dump_handler_t(int signal_number);
+  typedef core_dump_handler_t * core_dump_handler_ptr;
+  typedef void interrupt_handler_t(int signal_number);
+  typedef interrupt_handler_t * interrupt_handler_ptr;
+  typedef int xevent_error_aborter_t(Display *display,XErrorEvent* error_event);
+  typedef xevent_error_aborter_t * xevent_error_aborter_ptr;
+} 
+
 class WindowGeometry;
 
 class WindowSystem : public WWL, public FolioObject
diff --git a/cde/programs/dtinfo/dtinfo/src/Preferences/Imakefile b/cde/programs/dtinfo/dtinfo/src/Preferences/Imakefile
index ee54e40..d92bff2 100644
--- a/cde/programs/dtinfo/dtinfo/src/Preferences/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Preferences/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/6 1996/08/21 15:43:25 drk $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 MAKEFILEDEPS=Classlist.mk
 
 <at>  <at>  -9,7 +9,7  <at>  <at>  LIBNAME=Preferences
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES)
 
 
 #include "Classlist.mk"
 <at>  <at>  -18,7 +18,9  <at>  <at>  OBJS=$(SRCS:.C=.o)
 
 make_libfiles($(LIBNAME), $(CLASSES))
 
-#if defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+SimpleLibraryT($(LIBNAME), $(OBJS), $(LIBDIR))
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
 SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
 #else
 SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
diff --git a/cde/programs/dtinfo/dtinfo/src/Preferences/UserPreference.C b/cde/programs/dtinfo/dtinfo/src/Preferences/UserPreference.C
index 1072b71..b609d15 100644
--- a/cde/programs/dtinfo/dtinfo/src/Preferences/UserPreference.C
+++ b/cde/programs/dtinfo/dtinfo/src/Preferences/UserPreference.C
 <at>  <at>  -63,7 +63,8  <at>  <at> 
 #include <ctype.h>
 #include <stdio.h>
 #include <unistd.h>
-#if !defined(hpux) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(hpux) && !defined(__osf__) && !defined(USL) && \
+    !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 #include <sysent.h>
 #endif
 #include <sys/types.h>
diff --git a/cde/programs/dtinfo/dtinfo/src/Query/Imakefile b/cde/programs/dtinfo/dtinfo/src/Query/Imakefile
index 6699adf..a9fedbd 100644
--- a/cde/programs/dtinfo/dtinfo/src/Query/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Query/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/7 1996/08/21 15:43:32 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -9,7 +9,7  <at>  <at>  LIBNAME=Query
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Support/Imakefile b/cde/programs/dtinfo/dtinfo/src/Support/Imakefile
index b0f5fce..85f22cb 100644
--- a/cde/programs/dtinfo/dtinfo/src/Support/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Support/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/5 1996/08/21 15:43:45 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -10,7 +10,7  <at>  <at>  LIBDIR=../lib
 
 NormalCplusplusObjectRule()
 
-INCLUDES=-I.. $(EXCEPTIONS_INCLUDES) $(UAS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) $(UAS_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Support/xList.hh b/cde/programs/dtinfo/dtinfo/src/Support/xList.hh
index 1acea26..a54742a 100644
--- a/cde/programs/dtinfo/dtinfo/src/Support/xList.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Support/xList.hh
 <at>  <at>  -49,7 +49,8  <at>  <at>  private:
 };
 
 template <class T>
-#if defined(__uxp__) || defined(_IBMR2) || defined(__osf__) || defined(USL) || defined(linux) || defined(CSRG_BASED)
+#if defined(__uxp__) || defined(_IBMR2) || defined(__osf__) || \
+    defined(USL) || defined(linux) || defined(CSRG_BASED) || defined(sun)
 class xList : public List_base
 #else
 class xList : private List_base
 <at>  <at>  -60,7 +61,8  <at>  <at>  class xList : private List_base
 #ifdef SC3
 friend class List_Iterator<T>;
 #else
-#if !defined(_IBMR2) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(_IBMR2) && !defined(__osf__) && !defined(USL) && \
+    !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 template <class T> friend class List_Iterator;
 #endif
 #endif
 <at>  <at>  -96,7 +98,8  <at>  <at>  public:
 
 
 template <class T>
-#if defined(_IBMR2) || defined(__osf__) || defined(linux) || defined(CSRG_BASED)
+#if defined(_IBMR2) || defined(__osf__) || defined(linux) || \
+    defined(CSRG_BASED) || defined(sun)
 class List_Iterator : public List_Iterator_base
 #else
 class List_Iterator : private List_Iterator_base
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/Base/Imakefile b/cde/programs/dtinfo/dtinfo/src/UAS/Base/Imakefile
index f66be8d..ccf18ab 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/Base/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/Base/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/7 1996/08/21 15:44:17 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -10,7 +10,7  <at>  <at>  LIBDIR=../lib
 
 NormalCplusplusObjectRule()
 
-INCLUDES=-I. -I.. -I../.. -I../Support $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I. -I.. -I../.. -I../Support $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 make_libfiles($(LIBNAME),)
 
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_Exceptions.hh b/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_Exceptions.hh
index d597d94..d369aab 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_Exceptions.hh
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_Exceptions.hh
 <at>  <at>  -11,7 +11,7  <at>  <at>  class UAS_Exception: public Exception {
     protected:
 	UAS_String fMessage;
     public:
-	DECLARE_EXCEPTION(UAS_Exception, Exception);
+	DECLARE_EXCEPTION(UAS_Exception, Exception)
 	UAS_Exception(const UAS_String&m): fMessage(m) {}
 	virtual ~UAS_Exception() {}
 	const UAS_String & message () const { return fMessage; }
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_OQLParser.hh b/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_OQLParser.hh
index 34d0775..f2a12b3 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_OQLParser.hh
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/Base/UAS_OQLParser.hh
 <at>  <at>  -13,7 +13,7  <at>  <at> 
 class UAS_OQLParser_Exception : public UAS_Exception
 {
   public:
-    DECLARE_EXCEPTION(UAS_OQLParser_Exception, Exception);
+    DECLARE_EXCEPTION(UAS_OQLParser_Exception, Exception)
 
     UAS_OQLParser_Exception(const UAS_String &m) : UAS_Exception(m) {};
     virtual ~UAS_OQLParser_Exception() {};
 <at>  <at>  -22,7 +22,7  <at>  <at>  class UAS_OQLParser_Exception : public UAS_Exception
 class UAS_Search_Feature_Unavailable : public UAS_OQLParser_Exception
 {
   public:
-    DECLARE_EXCEPTION(UAS_Search_Feature_Unavailable, Exception);
+    DECLARE_EXCEPTION(UAS_Search_Feature_Unavailable, Exception)
 
     UAS_Search_Feature_Unavailable(const UAS_String &m) :
 					UAS_OQLParser_Exception(m) {};
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/Imakefile b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/Imakefile
index 7f9c548..e9f887d 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/DtSR/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/8 1996/08/21 15:44:56 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -15,7 +15,7  <at>  <at>  DEFINES=-DCDE_NEXT
 
 NormalCplusplusObjectRule()
 
-INCLUDES=-I../.. $(EXCEPTIONS_INCLUDES) $(UAS_INCLUDES) $(DTSEARCH_INCLUDES) $(UTIL_CLASSES_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I../.. $(EXCEPTIONS_INCLUDES) $(UAS_INCLUDES) $(DTSEARCH_INCLUDES) $(UTIL_CLASSES_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 #include "Classlist.mk"
 
diff --git a/cde/programs/dtinfo/dtinfo/src/UAS/MMDB/Imakefile b/cde/programs/dtinfo/dtinfo/src/UAS/MMDB/Imakefile
index 9df31c4..68e7105 100644
--- a/cde/programs/dtinfo/dtinfo/src/UAS/MMDB/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/UAS/MMDB/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/9 1996/08/21 15:45:19 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 MAKEFILEDEPS=Classlist.mk
 <at>  <at>  -17,7 +17,7  <at>  <at>  SEARCHENG_INCLUDES=$(FULCRUM_INCLUDES)
 SEARCHENG_DEFINES=$(FULCRUM_DEFINES)
 #endif
 
-INCLUDES=-I. -I../Base -I../.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) $(SEARCHENG_INCLUDES) $(SEARCHENG_DEFINES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I. -I../Base -I../.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) $(SEARCHENG_INCLUDES) $(SEARCHENG_DEFINES)
 
 make_libfiles($(LIBNAME),)
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Widgets/Imakefile b/cde/programs/dtinfo/dtinfo/src/Widgets/Imakefile
index 593c3b1..53a2002 100644
--- a/cde/programs/dtinfo/dtinfo/src/Widgets/Imakefile
+++ b/cde/programs/dtinfo/dtinfo/src/Widgets/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/6 1996/08/21 15:45:28 drk $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 LIBNAME= Widgets
 LIBDIR = ../lib
 <at>  <at>  -26,9 +26,11  <at>  <at>  OBJS = $(OBJS1) $(OBJS2)
 NormalCplusplusObjectRule()
 NormalLibraryObjectRule()
 
-INCLUDES=$(CDEINCLUDES) $(WWL_INCLUDES) $(EXCEPTIONS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(CDEINCLUDES) $(WWL_INCLUDES) $(EXCEPTIONS_INCLUDES)
 
-#if defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+SimpleLibraryT($(LIBNAME), $(OBJS), $(LIBDIR))
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
 SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
 #else
 SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
diff --git a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WArgList.h b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WArgList.h
index 93f7f3e..5758a04 100644
--- a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WArgList.h
+++ b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WArgList.h
 <at>  <at>  -45,7 +45,7  <at>  <at> 
 #define WArgList_h
 
 // Allow setting of resources by name in arg list
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #define CASTRNAM (char*)
 #define CASTVAL  (void*)(size_t)
 #else
diff --git a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmText.h b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmText.h
index 6b39fd4..f830a00 100644
--- a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmText.h
+++ b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmText.h
 <at>  <at>  -69,7 +69,7  <at>  <at>  inline	XmTextSource	GetSource () const { return XmTextGetSource (widget); }
 inline	char*	GetString () const { return XmTextGetString (widget); }
 inline	XmTextPosition	GetTopCharacter () const { return XmTextGetTopCharacter (widget); }
 inline	void	Insert (XmTextPosition position, char* value) const { XmTextInsert (widget, position, value); }
-inline	Boolean	Paste (Widget widget) const { return XmTextPaste (widget); }
+inline	Boolean	Paste (Widget twidget) const { return XmTextPaste (twidget); }
 inline	Boolean	 PosToXY (XmTextPosition position, Position* x, Position* y) const { return XmTextPosToXY (widget, position, x, y); }
 inline	Boolean	Remove () const { return XmTextRemove (widget); }
 inline	void	Replace (XmTextPosition from, XmTextPosition to, char* s) const { XmTextReplace (widget, from, to, s); }
diff --git a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmTextField.h b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmTextField.h
index 64bddc5..96e64b8 100644
--- a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmTextField.h
+++ b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/WXmTextField.h
 <at>  <at>  -64,7 +64,7  <at>  <at>  inline	char*	GetSelection () const { return XmTextFieldGetSelection (widget); }
 inline	Boolean	GetSelectionPosition (XmTextPosition* left, XmTextPosition* right) const { return XmTextFieldGetSelectionPosition (widget, left, right); }
 inline	char*	GetString () const { return XmTextFieldGetString (widget); }
 inline	void	Insert (XmTextPosition position, char* value) const { XmTextFieldInsert (widget, position, value); }
-inline	Boolean	Paste (Widget widget) const { return XmTextFieldPaste (widget); }
+inline	Boolean	Paste (Widget twidget) const { return XmTextFieldPaste (twidget); }
 inline	Boolean	 PosToXY (XmTextPosition position, Position* x, Position* y) const { return XmTextFieldPosToXY (widget, position, x, y); }
 inline	Boolean	Remove () const { return XmTextFieldRemove (widget); }
 inline	void	Replace (XmTextPosition from, XmTextPosition to, char* s) const { XmTextFieldReplace (widget, from, to, s); }
diff --git a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/wwl.h b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/wwl.h
index c78668f..7808fcc 100644
--- a/cde/programs/dtinfo/dtinfo/wwl/include/WWL/wwl.h
+++ b/cde/programs/dtinfo/dtinfo/wwl/include/WWL/wwl.h
 <at>  <at>  -52,7 +52,7  <at>  <at> 
 // /__   \/     F-91405 ORSAY Cedex                   +33 (1) 69 41 66 29
 
 #include <X11/Intrinsic.h>
-#if !defined(linux) && !defined(CSRG_BASED)
+#if !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 #include <generic.h>
 #else
 #define name2(__n1,__n2)	__paste2(__n1,__n2)
 <at>  <at>  -78,7 +78,7  <at>  <at>  class WComposite;
  typedef void	(* XtProc)();
 #endif
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #define CASTRNAM (char*)
 #define CASTVAL  (void*)(size_t)
 #else
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
index f9ed1a7..8fb04db 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
 <at>  <at>  -54,7 +54,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #endif
 
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h b/cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h
index 1a34d70..fc00393 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h
 <at>  <at>  -45,7 +45,7  <at>  <at>  public:
   const char *msg(void) const { return f_msg; };
   int error_no(void) const { return f_errno; };
   
-  DECLARE_EXCEPTION(PosixError, Exception);
+  DECLARE_EXCEPTION(PosixError, Exception)
   
 private:
   char f_msg[MAXMSG+1];
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile b/cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile
index cfb5edc..ab5fb0e 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $TOG: Imakefile /main/27 1997/09/05 11:29:30 samborn $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_INCLUDES = -DEXPAND_TEMPLATES
 
 NormalCplusplusObjectRule()
 <at>  <at>  -22,7 +22,7  <at>  <at>  INCLUDES=-I/VOB/olias/control/rogue
 ROGUE_LIBS=$(RW_LIBDIR) $(RW_LIB)
 #endif
 
-INCLUDES=$(MMDB_INCLUDES) $(EXCEPTIONS_INCLUDES) \
+INCLUDES=$(CXXDEPENDINCLUDES) $(MMDB_INCLUDES) $(EXCEPTIONS_INCLUDES) \
          $(MISC_INCLUDES) $(GLOBAL_INCLUDES) $(DBUG_INCLUDES) \
 	 $(COMMON_CLASS_INCLUDES) $(LIC_INCLUDES)
 
 <at>  <at>  -158,7 +158,7  <at>  <at>  DTI_CC_OBJS = \
 	$(MMDB_DIR)/dti_cc/CC_String.o		$(MMDB_DIR)/dti_cc/CC_Tokenizer.o \
 	$(MMDB_DIR)/dti_cc/CC_Stack.o		$(MMDB_DIR)/dti_cc/CC_Slist.o
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_HARDCOPY_OBJS = $(MMDB_DIR)/HardCopy/TemplatesAutoNumber.o
 #endif
 
 <at>  <at>  -167,7 +167,7  <at>  <at>  HARDCOPY_OBJS = \
 	$(MMDB_DIR)/HardCopy/autoNumber.o		$(MMDB_DIR)/HardCopy/autoNumberFP.o \
 	$(EXTRA_HARDCOPY_OBJS)
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_STYLESHEET_OBJS = $(MMDB_DIR)/StyleSheet/SSTemplates.o
 #endif
 
 <at>  <at>  -283,14 +283,15  <at>  <at>  CMD_OBJS = $(CMD_SRCS:.C=.o)
 XCOMM #######################################
 XCOMM Template handling
 XCOMM #######################################
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 all::$(CMD_OBJS)
 SimpleLibraryT(OLAFParse,$(OBJS),$(LIBDIR))
 SimpleCPlusPlusProgram(NodeParser, NodeParser.o libOLAFParse.a libOLAFParseT.a,$(Libs))
 SimpleCPlusPlusProgram(NCFGen, NCFGen.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
 SimpleCPlusPlusProgram(MixedGen, MixedGen.o RemoteId.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
 SimpleCPlusPlusProgram(StyleUpdate, StyleUpdate.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
-#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+      defined(SunArchitecture)
 TEMPLATE_OBJS = TKTemplate.o
 RealLibrary(OLAFParse,$(OBJS),$(LIBDIR))
 SimpleCPlusPlusProgram(NodeParser, NodeParser.o $(TEMPLATE_OBJS) libOLAFParse.a,$(Libs))
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
index 16bfba5..bc2fe37 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
 <at>  <at>  -53,7 +53,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 # include <osfcn.h>
 #endif
 
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
index 78c82b7..de608b5 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
 <at>  <at>  -43,7 +43,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #endif
 
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/Task.h b/cde/programs/dtinfo/dtinfogen/infolib/etc/Task.h
index 1c55d73..2ea09de 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/Task.h
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/Task.h
 <at>  <at>  -36,7 +36,7  <at>  <at>  public:
 
   const char *msg(void) { return msg_; };
 
-  DECLARE_EXCEPTION(Unexpected, Exception);
+  DECLARE_EXCEPTION(Unexpected, Exception)
   
 private:
   const char *msg_;
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/Token.h b/cde/programs/dtinfo/dtinfogen/infolib/etc/Token.h
index a64a022..7f8e50f 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/Token.h
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/Token.h
 <at>  <at>  -144,7 +144,7  <at>  <at>  public:
   int f_source;
   int f_severity;
 
-  DECLARE_EXCEPTION(ErrorReported, Exception);
+  DECLARE_EXCEPTION(ErrorReported, Exception)
 };
 
 
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker.c b/cde/programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker.c
index ae89426..5af2584 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker.c
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker.c
 <at>  <at>  -42,6 +42,9  <at>  <at> 
 #endif
 #include <ctype.h>
 #include <signal.h>
+#if !defined(CSRG_BASED)
+#include <sys/sysmacros.h>
+#endif
 #include <sys/param.h>
 #include <sys/stat.h>
 #include <X11/Intrinsic.h>
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
index b22a2f1..36f1dbd 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
 <at>  <at>  -54,7 +54,8  <at>  <at> 
 
 #include <stdlib.h>
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 # include <osfcn.h>
 #else
 # include <unistd.h>
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
index 3c5d626..fb1bf67 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
 <at>  <at>  -42,7 +42,8  <at>  <at> 
 #ifdef __cplusplus
 
 #include <stdlib.h>
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #endif
 
 <at>  <at>  -190,7 +191,8  <at>  <at>  typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #define YY_CHAR unsigned char
 #define INITIAL 0
 
-#if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
+#if !defined(__osf__) && !defined(USL) && !defined(linux) && \
+    !defined(CSRG_BASED) && !defined(sun)
 #include <osfcn.h>
 #else
 #include <unistd.h>
diff --git a/cde/programs/dtinfo/dtinfogen/install/Imakefile b/cde/programs/dtinfo/dtinfogen/install/Imakefile
index 0dcb327..ec02fdc 100644
--- a/cde/programs/dtinfo/dtinfogen/install/Imakefile
+++ b/cde/programs/dtinfo/dtinfogen/install/Imakefile
 <at>  <at>  -25,11 +25,11  <at>  <at>  XCOMM                  Campbell, CA  95008
 XCOMM 
 XCOMM 
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(GLOBAL_INCLUDES) $(MMDB_INCLUDES) $(EXCEPTIONS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(GLOBAL_INCLUDES) $(MMDB_INCLUDES) $(EXCEPTIONS_INCLUDES)
 
 
  
diff --git a/cde/programs/dtinfo/dtinfogen/mmdb/StyleSheet/Imakefile b/cde/programs/dtinfo/dtinfogen/mmdb/StyleSheet/Imakefile
index bbb0c01..304c1de 100644
--- a/cde/programs/dtinfo/dtinfogen/mmdb/StyleSheet/Imakefile
+++ b/cde/programs/dtinfo/dtinfogen/mmdb/StyleSheet/Imakefile
 <at>  <at>  -1,14 +1,14  <at>  <at> 
 XCOMM $TOG: Imakefile /main/14 1997/09/05 11:32:36 samborn $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 NormalCplusplusObjectRule()
 
-INCLUDES=$(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES=$(CXXDEPENDINCLUDES) $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 DEFINES=-DCDE_NEXT
 
-#if defined(CplusplusCompilerMajorVersion) && (CplusplusCompilerMajorVersion == 4)
+#if defined(CplusplusCompilerMajorVersion) && (CplusplusCompilerMajorVersion > 3)
 TEMPLATE_OBJS=
 #else
 TEMPLATE_OBJS=$(OLIAS)/mmdb/StyleSheet/SSTemplates.o
 <at>  <at>  -148,7 +148,7  <at>  <at>  DTI_CC_OBJS = \
 	$(MMDB_DIR)/dti_cc/CC_String.o		$(MMDB_DIR)/dti_cc/CC_Tokenizer.o \
 	$(MMDB_DIR)/dti_cc/CC_Stack.o		$(MMDB_DIR)/dti_cc/CC_Slist.o
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_HARDCOPY_OBJS = $(MMDB_DIR)/HardCopy/TemplatesAutoNumber.o
 #endif
 
 <at>  <at>  -157,7 +157,7  <at>  <at>  HARDCOPY_OBJS = \
 	$(MMDB_DIR)/HardCopy/autoNumber.o		$(MMDB_DIR)/HardCopy/autoNumberFP.o \
 	$(EXTRA_HARDCOPY_OBJS)
 
-#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
+#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion < 4)
 EXTRA_STYLESHEET_OBJS = $(MMDB_DIR)/StyleSheet/SSTemplates.o
 #endif
 
 <at>  <at>  -191,7 +191,7  <at>  <at>  ALL_MMDB_OBJS =	$(API_OBJS)		$(BTREE_OBJS) \
 
 #ifdef AIXArchitecture
 Libs=	$(STATIC) $(ALL_MMDB_OBJS)  $(MATH_LIB) $(DTSVC_LIBRARY) $(TTLIB) $(SYS_LIBRARIES)
-#elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 Libs=	$(STATIC) -L../../../mmdb -lMMDB -lMMDBTemplates $(MATH_LIB) $(SYS_LIBRARIES)
 #else
 Libs=	$(STATIC) -L../../../mmdb -lMMDB $(MATH_LIB) $(SYS_LIBRARIES)
diff --git a/cde/programs/dtinfo/dtinfogen/mmdb/src/Imakefile b/cde/programs/dtinfo/dtinfogen/mmdb/src/Imakefile
index 6d29de4..dd5951f 100644
--- a/cde/programs/dtinfo/dtinfogen/mmdb/src/Imakefile
+++ b/cde/programs/dtinfo/dtinfogen/mmdb/src/Imakefile
 <at>  <at>  -1,10 +1,12  <at>  <at> 
 XCOMM $TOG: Imakefile /main/11 1997/12/31 09:07:38 bill $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 NormalLibraryObjectRule()
 
-INCLUDES  = -I.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
+NormalCplusplusObjectRule()
+
+INCLUDES  = $(CXXDEPENDINCLUDES) -I.. $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
 CINCLUDES = -I..
 
  
 <at>  <at>  -196,7 +198,8  <at>  <at>  Libs_C_API = $(MMDB_LIBS_C_API) $(DTSVCLIB) $(TTLIB) $(XLIB) $(MATH_LIB)
 SimpleCPlusPlusProgram(dbdrv,main.o,$(Libs))
 SimpleCPlusPlusProgram(restore,restore.o,$(Libs))
 
-#if defined(USLArchitecture) || defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(USLArchitecture) || defined(LinuxArchitecture) || \
+    defined(BSDArchitecture) || defined(SunArchitecture)
 SimpleCPlusPlusProgram(dbdrv_c_api,main_c_api.o,$(Libs_C_API))
 #else
 SimpleCProgram(dbdrv_c_api,main_c_api.o,$(Libs_C_API))
diff --git a/cde/programs/dtinfo/mmdb/HardCopy/Imakefile b/cde/programs/dtinfo/mmdb/HardCopy/Imakefile
index 372872b..677540a 100644
--- a/cde/programs/dtinfo/mmdb/HardCopy/Imakefile
+++ b/cde/programs/dtinfo/mmdb/HardCopy/Imakefile
 <at>  <at>  -21,7 +21,7  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 XCOMM Do not put any -g here, will cause the generation of MasterTemplate.c.c
 <at>  <at>  -34,9 +34,10  <at>  <at>  DEFINES=-DCDE_NEXT
 DEFINES=
 #endif
 
-INCLUDES = -I$(DTMMDBSRC)/HardCopy $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/HardCopy $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)
 
-#if defined(CplusplusCompilerMajorVersion) && (CplusplusCompilerMajorVersion == 4)
+#if defined(CplusplusCompilerMajorVersion) && \
+    (CplusplusCompilerMajorVersion == 4) && !defined(SunArchitecture)
 XCOMM need the ptr repository
 CXXEXTRA_DEFINES = -ptr../templates
 #endif
 <at>  <at>  -71,7 +72,8  <at>  <at>  LinkSourceFile(all_tmpls,$(DTMMDBSRC)/HardCopy)
 SpecialCPlusPlusObjectRule(TemplatesAutoNumber.o,,+Tall_tmpls -DEXPAND_TEMPLATES)
 #elif defined(AlphaArchitecture)	
 SpecialCPlusPlusObjectRule(TemplatesAutoNumber.o,,-ptf -DEXPAND_TEMPLATES)
-#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+      defined(SunArchitecture)
 SpecialCPlusPlusObjectRule(TemplatesAutoNumber.o,,-DEXPAND_TEMPLATES)
 SpecialCPlusPlusExpandRule(TemplatesAutoNumber..c,TemplatesAutoNumber.C,-DEXPAND_TEMPLATES)
 #else
diff --git a/cde/programs/dtinfo/mmdb/Imakefile b/cde/programs/dtinfo/mmdb/Imakefile
index 235fb7a..42566db 100644
--- a/cde/programs/dtinfo/mmdb/Imakefile
+++ b/cde/programs/dtinfo/mmdb/Imakefile
 <at>  <at>  -240,7 +240,7  <at>  <at>  XCOMM Variables to switch on debug mode temporarily
 XCOMM CDEBUGFLAGS = -g -DDEBUG
 XCOMM CXXDEBUGFLAGS = -g -DDEBUG
 
-#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
 AllTarget(libMMDBTemplates.a)
 
 libMMDBTemplates.a:
diff --git a/cde/programs/dtinfo/mmdb/StyleSheet/Imakefile b/cde/programs/dtinfo/mmdb/StyleSheet/Imakefile
index facee7e..e2fd7b7 100644
--- a/cde/programs/dtinfo/mmdb/StyleSheet/Imakefile
+++ b/cde/programs/dtinfo/mmdb/StyleSheet/Imakefile
 <at>  <at>  -21,7 +21,7  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 #ifdef DtinfoClient
 <at>  <at>  -30,7 +30,7  <at>  <at>  DEFINES = -DCDE_NEXT
 DEFINES =
 #endif
 
-INCLUDES = -I$(DTMMDBSRC)/StyleSheet $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/StyleSheet $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)
 
 #ifdef RegenParserFiles
 LinkSourceFile(defParser.y,$(DTMMDBSRC)/StyleSheet)
 <at>  <at>  -50,7 +50,8  <at>  <at>  YaccTarget(defParser,defParser)
 #endif
 
 
-#if defined(CplusplusCompilerMajorVersion) && (CplusplusCompilerMajorVersion == 4)
+#if defined(CplusplusCompilerMajorVersion) && \
+    (CplusplusCompilerMajorVersion == 4) && !defined(SunArchitecture)
 XCOMM need the ptr repository
 CXXEXTRA_DEFINES = -ptr../templates
 #endif
 <at>  <at>  -111,7 +112,8  <at>  <at>  LinkSourceFile(all_tmpls,$(DTMMDBSRC)/StyleSheet)
 SpecialCPlusPlusObjectRule(SSTemplates.o,,+Tall_tmpls -DEXPAND_TEMPLATES)
 #elif defined(AlphaArchitecture)
 SpecialCPlusPlusObjectRule(SSTemplates.o,,-ptf -DEXPAND_TEMPLATES)
-#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
+#elif defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+      defined(SunArchitecture)
 SpecialCPlusPlusObjectRule(SSTemplates.o,,-DEXPAND_TEMPLATES)
 SpecialCPlusPlusExpandRule(SSTemplates..c,SSTemplates.C,-DEXPAND_TEMPLATES)
 #else
diff --git a/cde/programs/dtinfo/mmdb/api/Imakefile b/cde/programs/dtinfo/mmdb/api/Imakefile
index 2ec38fc..fdd6f0a 100644
--- a/cde/programs/dtinfo/mmdb/api/Imakefile
+++ b/cde/programs/dtinfo/mmdb/api/Imakefile
 <at>  <at>  -21,10 +21,14  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
+
+#if defined(SunArchitecture)
+EXCEPTION_DEFINES  = -DNATIVE_EXCEPTIONS
+#endif
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/api -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/api -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
 
 LinkSourceFile(base.C,$(DTMMDBSRC)/api)
 LinkSourceFile(info_base.C,$(DTMMDBSRC)/api)
diff --git a/cde/programs/dtinfo/mmdb/btree/Imakefile b/cde/programs/dtinfo/mmdb/btree/Imakefile
index c418131..8839abe 100644
--- a/cde/programs/dtinfo/mmdb/btree/Imakefile
+++ b/cde/programs/dtinfo/mmdb/btree/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/btree -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/btree -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(mmdb_btree.C,$(DTMMDBSRC)/btree)
 
diff --git a/cde/programs/dtinfo/mmdb/btree_berkeley/Imakefile b/cde/programs/dtinfo/mmdb/btree_berkeley/Imakefile
index 0eba885..4ba7b16 100644
--- a/cde/programs/dtinfo/mmdb/btree_berkeley/Imakefile
+++ b/cde/programs/dtinfo/mmdb/btree_berkeley/Imakefile
 <at>  <at>  -20,8 +20,9  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibHeaders	NO
 #define LibCreate	NO
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES  = -DMEMMOVE
-INCLUDES = -I$(DTMMDBSRC)/btree_berkeley -I$(DTMMDBSRC)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/btree_berkeley -I$(DTMMDBSRC)
 
 XCOMM Integretion Berkeley ndbm packege (sun.4.1.3 version) to mmdb:  
 XCOMM 9/15/93.  qfc
diff --git a/cde/programs/dtinfo/mmdb/compression/Imakefile b/cde/programs/dtinfo/mmdb/compression/Imakefile
index 9568241..6ba5743 100644
--- a/cde/programs/dtinfo/mmdb/compression/Imakefile
+++ b/cde/programs/dtinfo/mmdb/compression/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/compression -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) 
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/compression -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) 
 
 LinkSourceFile(abs_agent.C,$(DTMMDBSRC)/compression)
 LinkSourceFile(zip.C,$(DTMMDBSRC)/compression)
diff --git a/cde/programs/dtinfo/mmdb/diskhash/Imakefile b/cde/programs/dtinfo/mmdb/diskhash/Imakefile
index 9466116..4984884 100644
--- a/cde/programs/dtinfo/mmdb/diskhash/Imakefile
+++ b/cde/programs/dtinfo/mmdb/diskhash/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/diskhash -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/diskhash -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(disk_bucket.C,$(DTMMDBSRC)/diskhash)
 LinkSourceFile(bucket_array.C,$(DTMMDBSRC)/diskhash)
diff --git a/cde/programs/dtinfo/mmdb/dstr/Imakefile b/cde/programs/dtinfo/mmdb/dstr/Imakefile
index c3d1920..2908420 100644
--- a/cde/programs/dtinfo/mmdb/dstr/Imakefile
+++ b/cde/programs/dtinfo/mmdb/dstr/Imakefile
 <at>  <at>  -21,14 +21,14  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 #if defined(LinuxArchitecture) || defined(BSDArchitecture)
 EXCEPTION_DEFINES  = -DNATIVE_EXCEPTIONS
 #endif
 
 DEFINES  = $(EXCEPTION_DEFINES)
-INCLUDES = -I$(DTMMDBSRC)/dstr -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/dstr -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(set.C,$(DTMMDBSRC)/dstr)
 LinkSourceFile(bset.C,$(DTMMDBSRC)/dstr)
diff --git a/cde/programs/dtinfo/mmdb/dti_cc/Imakefile b/cde/programs/dtinfo/mmdb/dti_cc/Imakefile
index 34ba9a9..3a995df 100644
--- a/cde/programs/dtinfo/mmdb/dti_cc/Imakefile
+++ b/cde/programs/dtinfo/mmdb/dti_cc/Imakefile
 <at>  <at>  -21,11 +21,11  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 CXXEXTRA_DEFINES = -DEXPAND_TEMPLATES
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/dti_cc $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/dti_cc $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES)
 
 LinkSourceFile(CC_Listbase.C,$(DTMMDBSRC)/dti_cc)
 LinkSourceFile(cc_exceptions.C,$(DTMMDBSRC)/dti_cc)
diff --git a/cde/programs/dtinfo/mmdb/dti_excs/Imakefile b/cde/programs/dtinfo/mmdb/dti_excs/Imakefile
index d4854da..b61a45b 100644
--- a/cde/programs/dtinfo/mmdb/dti_excs/Imakefile
+++ b/cde/programs/dtinfo/mmdb/dti_excs/Imakefile
 <at>  <at>  -21,16 +21,16  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
-EXCEPTION_DEFINES  = -DHAS_TERMINATE
+EXCEPTION_DEFINES  = -DHAS_TERMINATE -DNATIVE_EXCEPTIONS
 #elif defined(LinuxArchitecture) || defined(BSDArchitecture)
 EXCEPTION_DEFINES  = -DNATIVE_EXCEPTIONS
 #endif
 
 DEFINES  = -DCC_VERSION=30 -DCHECK_INITIALIZED $(EXCEPTION_DEFINES)
-INCLUDES = -I$(DTMMDBSRC)/dti_excs
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/dti_excs
 
 LinkSourceFile(Jump_Environment.C,$(DTMMDBSRC)/dti_excs)
 LinkSourceFile(Exceptions.C,$(DTMMDBSRC)/dti_excs)
diff --git a/cde/programs/dtinfo/mmdb/dynhash/Imakefile b/cde/programs/dtinfo/mmdb/dynhash/Imakefile
index 5545802..b9a69e2 100644
--- a/cde/programs/dtinfo/mmdb/dynhash/Imakefile
+++ b/cde/programs/dtinfo/mmdb/dynhash/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = 
-INCLUDES = -I$(DTMMDBSRC)/dynhash -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/dynhash -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(data_t.C,$(DTMMDBSRC)/dynhash)
 LinkSourceFile(imp_bucket.C,$(DTMMDBSRC)/dynhash)
diff --git a/cde/programs/dtinfo/mmdb/hmphf/Imakefile b/cde/programs/dtinfo/mmdb/hmphf/Imakefile
index daf3118..f6d86e2 100644
--- a/cde/programs/dtinfo/mmdb/hmphf/Imakefile
+++ b/cde/programs/dtinfo/mmdb/hmphf/Imakefile
 <at>  <at>  -21,14 +21,14  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 #if defined(LinuxArchitecture) || defined(BSDArchitecture)
 EXCEPTION_DEFINES  = -DNATIVE_EXCEPTIONS
 #endif
 
 DEFINES  = -DPORTABLE_DB $(EXCEPTION_DEFINES)
-INCLUDES = -I$(DTMMDBSRC)/hmphf -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/hmphf -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(buckets.C,$(DTMMDBSRC)/hmphf)
 LinkSourceFile(mphf_funcs.C,$(DTMMDBSRC)/hmphf)
diff --git a/cde/programs/dtinfo/mmdb/index/Imakefile b/cde/programs/dtinfo/mmdb/index/Imakefile
index c2ac85b..15dcbe8 100644
--- a/cde/programs/dtinfo/mmdb/index/Imakefile
+++ b/cde/programs/dtinfo/mmdb/index/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DPORTABLE_DB
-INCLUDES = -I$(DTMMDBSRC)/index -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/index -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(btree_index.C,$(DTMMDBSRC)/index)
 LinkSourceFile(dyn_disk_index.C,$(DTMMDBSRC)/index)
diff --git a/cde/programs/dtinfo/mmdb/mgrs/Imakefile b/cde/programs/dtinfo/mmdb/mgrs/Imakefile
index 1433332..f47be6b 100644
--- a/cde/programs/dtinfo/mmdb/mgrs/Imakefile
+++ b/cde/programs/dtinfo/mmdb/mgrs/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DCOMPACTED_DISK_REP -DPORTABLE_DB
-INCLUDES = -I$(DTMMDBSRC)/mgrs -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/mgrs -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(managers.C,$(DTMMDBSRC)/mgrs)
 LinkSourceFile(misc.C,$(DTMMDBSRC)/mgrs)
diff --git a/cde/programs/dtinfo/mmdb/object/Imakefile b/cde/programs/dtinfo/mmdb/object/Imakefile
index dca2675..13e1f01 100644
--- a/cde/programs/dtinfo/mmdb/object/Imakefile
+++ b/cde/programs/dtinfo/mmdb/object/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DPORTABLE_DB
-INCLUDES = -I$(DTMMBDSRC)/object -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMBDSRC)/object -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(composite.C,$(DTMMDBSRC)/object)
 LinkSourceFile(compressed_pstring.C,$(DTMMDBSRC)/object)
diff --git a/cde/programs/dtinfo/mmdb/oliasdb/Imakefile b/cde/programs/dtinfo/mmdb/oliasdb/Imakefile
index 684aeb8..9b29513 100644
--- a/cde/programs/dtinfo/mmdb/oliasdb/Imakefile
+++ b/cde/programs/dtinfo/mmdb/oliasdb/Imakefile
 <at>  <at>  -21,14 +21,14  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 #ifdef DtinfoClient
 DEFINES= -DNO_DB_LOCK -DCDE_NEXT
 #else
 DEFINES= -DNO_DB_LOCK $(BYTE_ORDER_DEFINES)
 #endif
-INCLUDES = -I$(DTMMDBSRC)/oliasdb -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)/misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/oliasdb -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) $(COMMON_CLASS_INCLUDES) -I$(DTMMDBSRC)/misc
 
 LinkSourceFile(asciiIn_filters.C,$(DTMMDBSRC)/oliasdb)
 LinkSourceFile(collectionIterator.C,$(DTMMDBSRC)/oliasdb)
diff --git a/cde/programs/dtinfo/mmdb/schema/Imakefile b/cde/programs/dtinfo/mmdb/schema/Imakefile
index 1a5b1c0..0fe31d2 100644
--- a/cde/programs/dtinfo/mmdb/schema/Imakefile
+++ b/cde/programs/dtinfo/mmdb/schema/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DPORTABLE_DB
-INCLUDES = -I$(DTMMDBSRC)/schema -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/schema -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
 
 LinkSourceFile(agent_desc.C,$(DTMMDBSRC)/schema)
 LinkSourceFile(container_desc.C,$(DTMMDBSRC)/schema)
diff --git a/cde/programs/dtinfo/mmdb/storage/Imakefile b/cde/programs/dtinfo/mmdb/storage/Imakefile
index 9009d4e..6a8b4f3 100644
--- a/cde/programs/dtinfo/mmdb/storage/Imakefile
+++ b/cde/programs/dtinfo/mmdb/storage/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DPORTABLE_DB
-INCLUDES = -I$(DTMMDBSRC)/storage -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/storage -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES)
 
 LinkSourceFile(abs_storage.C,$(DTMMDBSRC)/storage)
 LinkSourceFile(chunks_index.C,$(DTMMDBSRC)/storage)
diff --git a/cde/programs/dtinfo/mmdb/utility/Imakefile b/cde/programs/dtinfo/mmdb/utility/Imakefile
index 8ca138f..9c53bcf 100644
--- a/cde/programs/dtinfo/mmdb/utility/Imakefile
+++ b/cde/programs/dtinfo/mmdb/utility/Imakefile
 <at>  <at>  -21,10 +21,10  <at>  <at>  XCOMM		.../programs/dtinfo/mmdb/<subdir>/Imakefile
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
+DEPEND_DEFINES = $(DEPENDDEFINES)
 
 DEFINES  = -DPORTABLE_DB
-INCLUDES = -I$(DTMMDBSRC)/utility -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
+INCLUDES = $(CXXDEPENDINCLUDES) -I$(DTMMDBSRC)/utility -I$(DTMMDBSRC) $(EXCEPTIONS_INCLUDES) -I$(DTMMDBSRC)/misc
 
 LinkSourceFile(atoi_fast.C,$(DTMMDBSRC)/utility)
 LinkSourceFile(atoi_larson.C,$(DTMMDBSRC)/utility)
diff --git a/cde/programs/dtksh/Imakefile b/cde/programs/dtksh/Imakefile
index b20ae7a..29aabae 100644
--- a/cde/programs/dtksh/Imakefile
+++ b/cde/programs/dtksh/Imakefile
 <at>  <at>  -2,6 +2,7  <at>  <at>  XCOMM $TOG: Imakefile /main/15 1998/04/07 08:55:29 mgreess $
 DESKTOP_VERSION_STRING = DesktopVersionString
 
 KSH93SRC = ./ksh93
+DEPEND_DEFINES = $(DEPENDDEFINES)
 INCLUDES = -I. -I$(KSH93SRC)/include/ast -I$(KSH93SRC)/src/cmd/ksh93/include -I$(KSH93SRC)/src/cmd/ksh93
 
 /* DEPLIBS contains the list of library depencies for a client.
diff --git a/cde/programs/dtksh/dtkcvt.c b/cde/programs/dtksh/dtkcvt.c
index fe69042..41b47ba 100644
--- a/cde/programs/dtksh/dtkcvt.c
+++ b/cde/programs/dtksh/dtkcvt.c
 <at>  <at>  -68,7 +68,7  <at>  <at> 
 #include "msgs.h"
 
 #if defined(SYSV) || defined(SVR4_0) || defined(SVR4) || defined(DEC) \
-	|| defined(CSRG_BASED) || defined(linux)
+	|| defined(CSRG_BASED) || defined(linux) || defined(sun)
 #define lsprintf sprintf
 #endif
 
diff --git a/cde/programs/dtksh/ksh93/Imakefile b/cde/programs/dtksh/ksh93/Imakefile
index 3677918..91e6f1a 100644
--- a/cde/programs/dtksh/ksh93/Imakefile
+++ b/cde/programs/dtksh/ksh93/Imakefile
 <at>  <at>  -4,6 +4,7  <at>  <at>  SRCS =
 SUBCFLAGS = -O
 UFLAGS = $(SUBCFLAGS)
 ULDFLAGS =
+IFFECDEBUGFLAGS = -O0
 
 #ifdef RsArchitecture
 CCFLAGS = CCFLAGS="   "
 <at>  <at>  -38,6 +39,7  <at>  <at>  SUIDEXECDEFINES = \
 	-DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\"
 
 CCFLAGS = $(CDEBUGFLAGS) $(SUIDEXECDEFINES) $(STD_DEFINES) $(ANSI_DEFINES)
+ICCFLAGS = $(IFFECDEBUGFLAGS) $(STD_DEFINES) $(ANSI_DEFINES)
 
 all:: ksh93src ksh93.o
 
 <at>  <at>  -56,7 +58,7  <at>  <at>  ALL_SUBS = *
 
 ksh93src:
 	$(RM) $(SHIP_DIR)/$(ALL_SUBS)/$(ALL_SUBS)/BUILT; \
-	SHELL=$(KORNSHELL) CC="$(CC)" CCFLAGS="$(CCFLAGS)" $(KORNSHELL) ship/shipin $(FORCE_SHIP)
+	SHELL=$(KORNSHELL) CC="$(CC)" CCFLAGS="$(CCFLAGS)" ICCFLAGS="$(ICCFLAGS)" $(KORNSHELL) ship/shipin $(FORCE_SHIP)
 
 ksh93.o: $(OBJS)
 	$(LD) -r -o $ <at>  $(OBJS)
diff --git a/cde/programs/dtksh/ksh93/src/cmd/ksh93/Mamfile b/cde/programs/dtksh/ksh93/src/cmd/ksh93/Mamfile
index 73de70a..10282e5 100644
--- a/cde/programs/dtksh/ksh93/src/cmd/ksh93/Mamfile
+++ b/cde/programs/dtksh/ksh93/src/cmd/ksh93/Mamfile
 <at>  <at>  -48,18 +48,18  <at>  <at>  setv mam_libdl `(set -; cd /tmp; echo 'main(){return(0);}' > x.${!-$$}.c; ${CC}
 setv mam_libdld `(set -; cd /tmp; echo 'main(){return(0);}' > x.${!-$$}.c; ${CC} ${CCFLAGS}    -o x.${!-$$}.x x.${!-$$}.c -ldld >/dev/null 2>&1 && echo ' -ldld'; rm -f x.${!-$$}.[cox])`
 setv mam_libintl `(set -; cd /tmp; echo 'main(){return(0);}' > x.${!-$$}.c; ${CC} ${CCFLAGS}    -o x.${!-$$}.x x.${!-$$}.c -lintl >/dev/null 2>&1 && echo ' -lintl'; rm -f x.${!-$$}.[cox])`
 setv mam_libast ${mam_cc_L+-last}${mam_cc_L-${INSTALLROOT}/lib/libast.a}
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/externs
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/externs
 done FEATURE/externs generated
 make FEATURE/execargs implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def execargs
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def execargs
 done FEATURE/execargs generated
 make FEATURE/pstat implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def pstat
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def pstat
 done FEATURE/pstat generated
 make FEATURE/time implicit
 make features/time
 done features/time
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/time
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/time
 done FEATURE/time generated
 make include/timeout.h implicit
 done include/timeout.h
 <at>  <at>  -71,14 +71,14  <at>  <at>  make include/jobs.h implicit
 make FEATURE/ttys implicit
 make features/ttys
 done features/ttys
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/ttys
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/ttys
 done FEATURE/ttys dontcare generated
 make FEATURE/options implicit
 make features/options.sh
 make OPTIONS implicit
 done OPTIONS
 done features/options.sh
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/options.sh OPTIONS
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/options.sh OPTIONS
 done FEATURE/options dontcare generated
 done include/jobs.h
 make include/io.h implicit
 <at>  <at>  -89,7 +89,7  <at>  <at>  done ${PACKAGE_ast_INCLUDE}/ast/ast.h
 done include/io.h
 make include/path.h implicit
 make FEATURE/acct implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def acct
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : def acct
 done FEATURE/acct dontcare generated
 make FEATURE/options implicit
 done FEATURE/options dontcare generated
 <at>  <at>  -98,7 +98,7  <at>  <at>  make include/variables.h implicit
 make FEATURE/dynamic implicit
 make features/dynamic
 done features/dynamic
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/dynamic
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/dynamic
 done FEATURE/dynamic dontcare generated
 prev FEATURE/options implicit
 done include/variables.h
 <at>  <at>  -111,12 +111,12  <at>  <at>  make include/fault.h implicit
 make FEATURE/sigfeatures implicit
 make features/sigfeatures
 done features/sigfeatures
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/sigfeatures
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/sigfeatures
 done FEATURE/sigfeatures dontcare generated
 make FEATURE/setjmp implicit
 make features/setjmp
 done features/setjmp
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/setjmp
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/setjmp
 done FEATURE/setjmp dontcare generated
 done include/fault.h
 prev include/history.h implicit
 <at>  <at>  -266,7 +266,7  <at>  <at>  make bltins/sleep.c
 make FEATURE/poll implicit
 make features/poll
 done features/poll
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/poll
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/poll
 done FEATURE/poll generated
 prev FEATURE/time implicit
 prev include/builtins.h implicit
 <at>  <at>  -326,7 +326,7  <at>  <at>  prev FEATURE/time implicit
 make FEATURE/rlimits implicit
 make features/rlimits
 done features/rlimits
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/rlimits
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/rlimits
 done FEATURE/rlimits dontcare generated
 done include/ulimit.h
 prev include/builtins.h implicit
 <at>  <at>  -370,7 +370,7  <at>  <at>  make sh/arith.c
 make FEATURE/locale implicit
 make features/locale
 done features/locale
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/locale
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/locale
 done FEATURE/locale generated
 make include/streval.h implicit
 done include/streval.h
 <at>  <at>  -828,7 +828,7  <at>  <at>  make data/builtins.c
 make FEATURE/cmds implicit
 make features/cmds
 done features/cmds
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/cmds
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_cc_static} ${mam_libm} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libjobs} ${mam_cc_dynamic} ${mam_cc_static} ${mam_libi} ${mam_cc_dynamic} ${mam_libdl} ${mam_libdld} ${mam_cc_static} ${mam_libintl} ${mam_cc_dynamic} ${mam_libast} : run features/cmds
 done FEATURE/cmds dontcare generated
 prev include/name.h implicit
 prev include/shtable.h implicit
diff --git a/cde/programs/dtksh/ksh93/src/cmd/pax/Mamfile b/cde/programs/dtksh/ksh93/src/cmd/pax/Mamfile
index e0f54f1..c2bd921 100644
--- a/cde/programs/dtksh/ksh93/src/cmd/pax/Mamfile
+++ b/cde/programs/dtksh/ksh93/src/cmd/pax/Mamfile
 <at>  <at>  -40,7 +40,7  <at>  <at>  make bio.o
 make bio.c
 make FEATURE/mtio implicit
 setv mam_libast ${mam_cc_L+-last}${mam_cc_L-${INSTALLROOT}/lib/libast.a}
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : def mtio
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : def mtio
 done FEATURE/mtio generated
 make pax.h implicit
 make ${INSTALLROOT}/include/ast/vdb.h implicit
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/Mamfile b/cde/programs/dtksh/ksh93/src/lib/libast/Mamfile
index 0a73868..1ef90b8 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/Mamfile
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/Mamfile
 <at>  <at>  -41,7 +41,7  <at>  <at>  make ast_lib.h implicit
 make FEATURE/lib
 make features/lib
 done features/lib
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/lib
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/lib
 done FEATURE/lib generated
 exec - cmp -s FEATURE/lib ast_lib.h || { rm -f ast_lib.h; cp FEATURE/lib ast_lib.h; }
 done ast_lib.h dontcare generated
 <at>  <at>  -52,12 +52,12  <at>  <at>  prev ast_lib.h implicit
 make FEATURE/types implicit
 make features/types
 done features/types
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/types
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/types
 done FEATURE/types generated
 make /usr/include/sys/types.h implicit
 done /usr/include/sys/types.h
 done features/botch.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I.  ${LDFLAGS}  :   run features/botch.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I.  ${LDFLAGS}  :   run features/botch.c
 done FEATURE/botch generated
 exec - cmp -s FEATURE/botch ast_botch.h || { rm -f ast_botch.h; cp FEATURE/botch ast_botch.h; }
 done ast_botch.h dontcare generated
 <at>  <at>  -102,12 +102,12  <at>  <at>  make conflib.h implicit
 make FEATURE/wait implicit
 make features/wait
 done features/wait
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/wait
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/wait
 done FEATURE/wait generated
 done conflib.h
 prev FEATURE/types implicit
 make FEATURE/unistd.lcl implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   def unistd.lcl
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   def unistd.lcl
 done FEATURE/unistd.lcl generated
 make FEATURE/limits implicit
 make features/limits.c
 <at>  <at>  -118,19 +118,19  <at>  <at>  prev FEATURE/types implicit
 make FEATURE/param implicit
 make features/param.sh
 done features/param.sh
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/param.sh
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/param.sh
 done FEATURE/param generated
 prev FEATURE/unistd.lcl implicit
 make FEATURE/limits.lcl implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   def limits.lcl
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   def limits.lcl
 done FEATURE/limits.lcl generated
 prev FEATURE/lib implicit
 done features/limits.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I.  ${LDFLAGS}  :   run features/limits.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I.  ${LDFLAGS}  :   run features/limits.c
 done FEATURE/limits generated
 prev FEATURE/lib implicit
 done features/unistd.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I.  ${LDFLAGS}  :   run features/unistd.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I.  ${LDFLAGS}  :   run features/unistd.c
 done FEATURE/unistd generated
 exec - cmp -s FEATURE/unistd ast_unistd.h || { rm -f ast_unistd.h; cp FEATURE/unistd ast_unistd.h; }
 done ast_unistd.h dontcare generated
 <at>  <at>  -140,22 +140,22  <at>  <at>  make features/fcntl.c
 make FEATURE/tty implicit
 make features/tty
 done features/tty
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/tty
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/tty
 done FEATURE/tty generated
 prev FEATURE/unistd.lcl implicit
 make FEATURE/fcntl.lcl implicit
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   def fcntl.lcl
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   def fcntl.lcl
 done FEATURE/fcntl.lcl generated
 prev ast_lib.h implicit
 make /usr/include/sys/stat.h implicit
 done /usr/include/sys/stat.h
 done features/fcntl.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I.  ${LDFLAGS}  :   run features/fcntl.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I.  ${LDFLAGS}  :   run features/fcntl.c
 make ast_fs.h implicit
 make FEATURE/fs
 make features/fs
 done features/fs
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/fs
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/fs
 done FEATURE/fs generated
 exec - cmp -s FEATURE/fs ast_fs.h || { rm -f ast_fs.h; cp FEATURE/fs ast_fs.h; }
 done ast_fs.h dontcare generated
 <at>  <at>  -175,7 +175,7  <at>  <at>  make ast_hdr.h implicit
 make FEATURE/hdr
 make features/hdr
 done features/hdr
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/hdr
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/hdr
 done FEATURE/hdr generated
 exec - cmp -s FEATURE/hdr ast_hdr.h || { rm -f ast_hdr.h; cp FEATURE/hdr ast_hdr.h; }
 done ast_hdr.h dontcare generated
 <at>  <at>  -200,7 +200,7  <at>  <at>  done include/modecanon.h
 prev FEATURE/param implicit
 prev FEATURE/limits.lcl implicit
 done features/mode.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I. -Iinclude  ${LDFLAGS}  :   run features/mode.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I. -Iinclude  ${LDFLAGS}  :   run features/mode.c
 done FEATURE/mode generated
 exec - cmp -s FEATURE/mode ast_mode.h || { rm -f ast_mode.h; cp FEATURE/mode ast_mode.h; }
 done ast_mode.h dontcare generated
 <at>  <at>  -508,7 +508,7  <at>  <at>  make ast_time.h implicit
 make FEATURE/time
 make features/time
 done features/time
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/time
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/time
 done FEATURE/time generated
 exec - cmp -s FEATURE/time ast_time.h || { rm -f ast_time.h; cp FEATURE/time ast_time.h; }
 done ast_time.h dontcare generated
 <at>  <at>  -534,7 +534,7  <at>  <at>  make preroot.h implicit
 make FEATURE/preroot
 make features/preroot.sh
 done features/preroot.sh
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/preroot.sh
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/preroot.sh
 done FEATURE/preroot generated
 exec - cmp -s FEATURE/preroot preroot.h || { rm -f preroot.h; cp FEATURE/preroot preroot.h; }
 done preroot.h generated
 <at>  <at>  -723,7 +723,7  <at>  <at>  make align.h implicit
 make FEATURE/align
 make features/align.c
 done features/align.c
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/align.c
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/align.c
 done FEATURE/align generated
 exec - cmp -s FEATURE/align align.h || { rm -f align.h; cp FEATURE/align align.h; }
 done align.h dontcare generated
 <at>  <at>  -733,7 +733,7  <at>  <at>  make FEATURE/int
 make features/int.c
 prev FEATURE/types implicit
 done features/int.c
-exec - iffe set cc ${CC} ${CCFLAGS}  -I.  ${LDFLAGS}  :   run features/int.c
+exec - iffe set cc ${CC} ${ICCFLAGS}  -I.  ${LDFLAGS}  :   run features/int.c
 done FEATURE/int generated
 exec - cmp -s FEATURE/int int.h || { rm -f int.h; cp FEATURE/int int.h; }
 done int.h dontcare generated
 <at>  <at>  -756,7 +756,7  <at>  <at>  make sig.h implicit
 make FEATURE/sig
 make features/sig.sh
 done features/sig.sh
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/sig.sh
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/sig.sh
 done FEATURE/sig generated
 exec - cmp -s FEATURE/sig sig.h || { rm -f sig.h; cp FEATURE/sig sig.h; }
 done sig.h generated
 <at>  <at>  -1008,7 +1008,7  <at>  <at>  make features/signal.c
 make /usr/include/signal.h implicit
 done /usr/include/signal.h
 done features/signal.c
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/signal.c
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/signal.c
 done FEATURE/signal generated
 prev sig.h implicit
 prev include/ast.h implicit
 <at>  <at>  -1275,7 +1275,7  <at>  <at>  make vmalloc/malloc.c
 make FEATURE/vmalloc implicit
 make features/vmalloc
 done features/vmalloc
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/vmalloc
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/vmalloc
 done FEATURE/vmalloc dontcare generated
 prev ast_lib.h implicit
 done vmalloc/malloc.c
 <at>  <at>  -1911,7 +1911,7  <at>  <at>  prev ast_tty.h implicit
 make FEATURE/sfio implicit
 make features/sfio
 done features/sfio
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   run features/sfio
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   run features/sfio
 done FEATURE/sfio dontcare generated
 done sfio/sfhdr.h
 done sfio/sfclose.c
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/feature/lib b/cde/programs/dtksh/ksh93/src/lib/libast/feature/lib
index 19fe806..474f305 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/feature/lib
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/feature/lib
 <at>  <at>  -138,11 +138,12  <at>  <at>  tst	pipe_rw exec{
 tst	real_vfork exec{
 	int		code;
 	extern int	vfork();
+	extern int	_exit(int);
 	main()
 	{
 		code = 1;
 		if (!vfork()) code = 0;
-		return code;
+		_exit(code);
 	}
 }end
 
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/features/lib b/cde/programs/dtksh/ksh93/src/lib/libast/features/lib
index bbe2725..e43cb6e 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/features/lib
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/features/lib
 <at>  <at>  -136,13 +136,14  <at>  <at>  tst	pipe_rw note{ full duplex pipes }end execute{
 tst	real_vfork note{ vfork child shares data with parent }end execute{
 	_BEGIN_EXTERNS_
 	extern int	vfork();
+	extern int	_exit(int);
 	_END_EXTERNS_
 	int		code;
 	main()
 	{
 		code = 1;
 		if (!vfork()) code = 0;
-		return code;
+		_exit(code);
 	}
 }end
 
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h b/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h
index 1176f2f..b9caca8 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h
 <at>  <at>  -156,6 +156,10  <at>  <at> 
 #endif
 #endif /* __cplusplus */
 
+#if defined(sun)
+#define _FILEDEFED	/**/
+#endif
+
 typedef struct _sfio_	Sfile_t, Sfio_t, SFIO;
 typedef struct _sfdc_	Sfdisc_t;
 typedef int		(*Sfread_f)_ARG_((Sfio_t*, Void_t*, int, Sfdisc_t*));
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c b/cde/programs/dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c
index bcc1c80..d947554 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c
 <at>  <at>  -301,7 +301,8  <at>  <at>  loop_fa :
 			GETARG(form,form,argf,args,char*,char*,'1',t_user,n_user);
 			if(!form)
 				form = "";
-#if (defined(CSRG_BASED) && !defined(__LP64__)) || (defined(linux) && !defined(__LP64__))
+#if (defined(CSRG_BASED) && !defined(__LP64__)) || \
+    (defined(linux) && !defined(__LP64__)) || defined(sun)
 			GETARG(argsp,argsp,argf,args,va_list*,va_list*,'2',t_user,n_user);
 			memcpy((Void_t*)(&(fa->args)), (Void_t*)(&args), sizeof(va_list));
 			memcpy((Void_t*)(&args), (Void_t*)argsp, sizeof(va_list));
diff --git a/cde/programs/dtksh/ksh93/src/lib/libcmd/Mamfile b/cde/programs/dtksh/ksh93/src/lib/libcmd/Mamfile
index ca0c72f..6c60341 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libcmd/Mamfile
+++ b/cde/programs/dtksh/ksh93/src/lib/libcmd/Mamfile
 <at>  <at>  -97,7 +97,7  <at>  <at>  exec - set -x
 exec - rm -f 1.${COTEMP}.*
 done cmd.req generated
 setv mam_libast ${mam_cc_L+-last}${mam_cc_L-${INSTALLROOT}/lib/libast.a}
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/symlink
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/symlink
 done FEATURE/symlink generated
 prev ${INSTALLROOT}/include/ast/ftwalk.h implicit
 make /usr/include/ctype.h implicit
 <at>  <at>  -190,7 +190,7  <at>  <at>  make FEATURE/ids implicit
 make features/ids
 done features/ids
 prev cmd.req
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/ids
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/ids
 done FEATURE/ids generated
 prev cmdlib.h implicit
 done id.c
 <at>  <at>  -288,7 +288,7  <at>  <at>  make FEATURE/utsname implicit
 make features/utsname
 done features/utsname
 prev cmd.req
-exec - iffe set cc ${CC} ${CCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/utsname
+exec - iffe set cc ${CC} ${ICCFLAGS}    ${LDFLAGS}  :   ref ${mam_cc_L+-L${INSTALLROOT}/lib} ${mam_libast} : run features/utsname
 done FEATURE/utsname generated
 prev cmdlib.h implicit
 done uname.c
diff --git a/cde/programs/dtksh/xmcmds.c b/cde/programs/dtksh/xmcmds.c
index 351c52d..29d5ff5 100644
--- a/cde/programs/dtksh/xmcmds.c
+++ b/cde/programs/dtksh/xmcmds.c
 <at>  <at>  -3738,7 +3738,7  <at>  <at>  do_catopen(
    nl_catd nlmsg_fd = (nl_catd)-1;
    char * errmsg;
 #if defined(SVR4) || defined (_AIX) || defined(sco) || defined(DEC) || \
-    defined(CSRG_BASED) || defined(linux)
+    defined(CSRG_BASED) || defined(linux) || defined(sun)
    char * nextMatch;
 #endif
 
 <at>  <at>  -3763,7 +3763,7  <at>  <at>  do_catopen(
 
       altCatName = XtMalloc(strlen(catName) + 10);
 #if defined(SVR4) || defined (_AIX) || defined(sco) || defined(DEC) || \
-    defined(CSRG_BASED) || defined(linux)
+    defined(CSRG_BASED) || defined(linux) || defined(sun)
       /* These platforms don't have strrstr() */
       ptr = NULL;
       nextMatch = catName;
diff --git a/cde/programs/dtlogin/Imakefile b/cde/programs/dtlogin/Imakefile
index 7332e46..b0b7911 100644
--- a/cde/programs/dtlogin/Imakefile
+++ b/cde/programs/dtlogin/Imakefile
 <at>  <at>  -106,7 +106,7  <at>  <at>  SYS_LIBRARIES = -lsec
  * 	 on Solaris 2.4 and run on Solaris 2.5.  In Solaris 2.4 some of 
  *       libcmd.a functions are also in libauth.so.  But on Solaris 2.5 
  *       these Sun private functions have been removed from libauth.so. */
-SYS_LIBRARIES = -lm -ldl -lgen -lresolv -lC -lbsm -lcmd $(PAM_LIB)
+SYS_LIBRARIES = -lm -ldl -lgen -lresolv -lbsm -lcmd $(PAM_LIB)
    EXTRA_DEFINES = -DPAM
 
 
 <at>  <at>  -232,6 +232,7  <at>  <at>  INCLUDES = -I$(XPROJECTROOT)/include/freetype2
                   -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
                   -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
 
+ DEPEND_DEFINES = $(DEPENDDEFINES)
 #if defined (HPArchitecture)
         DEFINES = $(DTDEFINES) -D_XPG2 -DAUDIT -DBYPASSLOGIN ServerExtraDefines
 #elif defined (RsArchitecture)
diff --git a/cde/programs/dtlogin/config/Xservers.src b/cde/programs/dtlogin/config/Xservers.src
index 31b0f4a..4d3d14b 100644
--- a/cde/programs/dtlogin/config/Xservers.src
+++ b/cde/programs/dtlogin/config/Xservers.src
 <at>  <at>  -98,7 +98,7  <at>  <at>  XCOMM ##########################################################################
 #elif defined (_AIX)
    :0	Local local <at> console /usr/bin/X11/X -T -force :0
 #elif defined (sun)
-   :0	Local local_uid <at> console root /usr/openwin/bin/Xsun :0 -nobanner
+   :0	Local local_uid <at> console root /usr/openwin/bin/X :0 -nobanner
 #elif defined (__osf__)
 #if defined (_NO_CONSOLE)
 XCOMM   *  Local local_uid <at> console root /usr/bin/X11/X :0 -nice -2
diff --git a/cde/programs/dtlogin/dm.c b/cde/programs/dtlogin/dm.c
index e497197..b26792e 100644
--- a/cde/programs/dtlogin/dm.c
+++ b/cde/programs/dtlogin/dm.c
 <at>  <at>  -62,7 +62,8  <at>  <at> 
 # include	<time.h>
 # include	<utime.h>
 # include	<pwd.h>
-#if defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+    defined(sun)
 # include	<stdarg.h>
 #else
 # include	<varargs.h>
diff --git a/cde/programs/dtlogin/genauth.c b/cde/programs/dtlogin/genauth.c
index 5180cec..8c24268 100644
--- a/cde/programs/dtlogin/genauth.c
+++ b/cde/programs/dtlogin/genauth.c
 <at>  <at>  -230,7 +230,7  <at>  <at>  char	bytes[64];
  *  the OS's random number device.
  */
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #define READ_LIMIT (sizeof (long) * 2)
 
 static sumFile (char *name, long sum[2])
 <at>  <at>  -447,7 +447,7  <at>  <at>  InitCryptoKey( void )
 #if defined(linux) 
     /* non-blocking */
     char    *key_file = "/dev/urandom";
-#elif defined(CSRG_BASED)
+#elif defined(CSRG_BASED) || defined(sun)
     /* non-blocking */
     char    *key_file = "/dev/random";
 #else
diff --git a/cde/programs/dtlogin/pam_svc.c b/cde/programs/dtlogin/pam_svc.c
index 4b25251..622498c 100644
--- a/cde/programs/dtlogin/pam_svc.c
+++ b/cde/programs/dtlogin/pam_svc.c
 <at>  <at>  -182,7 +182,7  <at>  <at>  PamAuthenticate ( char*   prog_name,
 		 audit_login_maxtrys();
 	      }
 	   }
-#endif sun
+#endif
 
 	   if (status != PAM_SUCCESS) {
 	      sleep(PAM_LOGIN_SLEEPTIME);
 <at>  <at>  -327,7 +327,7  <at>  <at>  PamAccounting( char*   prog_name,
 		status = solaris_setutmp_mgmt(user, tty_line, display_name, 
 					 session_type, entry_type, entry_id); 
 	        if (status != SOLARIS_SUCCESS) {
-                    Debug("PamAccounting: LOGIN_PRCESS set_utmp error=%d\n", 
+                    Debug("PamAccounting: LOGIN_PROCESS set_utmp error=%d\n", 
 								status);
  		}
 		break;
diff --git a/cde/programs/dtlogin/pam_svc.h b/cde/programs/dtlogin/pam_svc.h
index 0fb2213..65f1831 100644
--- a/cde/programs/dtlogin/pam_svc.h
+++ b/cde/programs/dtlogin/pam_svc.h
 <at>  <at>  -70,7 +70,7  <at>  <at>  extern int audit_login_success(void);
 extern int audit_login_save_pw(struct passwd *pwd);
 extern int audit_login_bad_pw(void);
 extern int audit_login_maxtrys(void);
-#endif sun
+#endif /* sun */
 
 
 #endif /* _DTLOGIN_PAM_SVC_H */
diff --git a/cde/programs/dtlogin/verify.c b/cde/programs/dtlogin/verify.c
index 8163538..7e0f83f 100644
--- a/cde/programs/dtlogin/verify.c
+++ b/cde/programs/dtlogin/verify.c
 <at>  <at>  -360,8 +360,10  <at>  <at>  userEnv(
 	env = setEnv (env, "USER", user);
 
 #ifdef sun
- 	if ((Def_path = login_defaults(p,d)) != NULL) 
+ 	if ((Def_path = login_defaults(p,d)) != NULL) {
  	  env = setEnv (env, "PATH", Def_path);
+	  free(Def_path);
+	}
 #else
         if (d->userPath && strlen(d->userPath) > 0)
           env = setEnv (env, "PATH", d->userPath);
 <at>  <at>  -457,7 +459,7  <at>  <at>  login_defaults(
         register int  flags;
         register char *ptr;
 	char *Def_path;
-	char final_path[MAXPATHLEN];
+	char *final_path = malloc(MAXPATHLEN);
 	char *element;
  
 
 <at>  <at>  -474,13 +476,13  <at>  <at>  login_defaults(
                 if ((Def_path = defread("SUPATH=")) != NULL)
                         Def_path = strdup(Def_path);
 		else
-			Def_path = DEF_SUPATH;
+                        Def_path = strdup(DEF_SUPATH);
 	      }
 	      else {
                 if ((Def_path = defread("PATH=")) != NULL)
                         Def_path = strdup(Def_path);
 		else
-			Def_path = DEF_PATH;
+			Def_path = strdup(DEF_PATH);
 	      }
 	 }
 
diff --git a/cde/programs/dtmail/MotifApp/Imakefile b/cde/programs/dtmail/MotifApp/Imakefile
index cdf849e..9298d81 100644
--- a/cde/programs/dtmail/MotifApp/Imakefile
+++ b/cde/programs/dtmail/MotifApp/Imakefile
 <at>  <at>  -7,7 +7,7  <at>  <at>  XCOMM $TOG: Imakefile /main/8 1998/08/05 13:24:05 mgreess $
 #define LibHeaders	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/programs/dtmail/MotifApp/InterruptibleCmd.C b/cde/programs/dtmail/MotifApp/InterruptibleCmd.C
index 85beb5b..1d045c2 100644
--- a/cde/programs/dtmail/MotifApp/InterruptibleCmd.C
+++ b/cde/programs/dtmail/MotifApp/InterruptibleCmd.C
 <at>  <at>  -70,7 +70,7  <at>  <at> 
 #include <assert.h>
 
 #if !defined(linux) && !defined(CSRG_BASED)
-extern forceUpdate( Widget );
+extern void forceUpdate( Widget );
 #endif
 
 InterruptibleCmd::InterruptibleCmd ( char *name, char *label, int active ) :
diff --git a/cde/programs/dtmail/dtmail/Imakefile b/cde/programs/dtmail/dtmail/Imakefile
index 210abd5..cd6e89c 100644
--- a/cde/programs/dtmail/dtmail/Imakefile
+++ b/cde/programs/dtmail/dtmail/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $TOG: Imakefile /main/25 1998/02/17 15:18:16 mgreess $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 INCLUDES = -I. -I../include -I../include/MotifApp \
diff --git a/cde/programs/dtmail/dtmailpr/Imakefile b/cde/programs/dtmail/dtmailpr/Imakefile
index a980e4f..d380dd4 100644
--- a/cde/programs/dtmail/dtmailpr/Imakefile
+++ b/cde/programs/dtmail/dtmailpr/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $TOG: Imakefile /main/15 1998/08/05 13:24:40 mgreess $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 INCLUDES = -I. -I../include -I../../dtcompat -I../../../. -I$(CDELIBSRC)
 <at>  <at>  -37,7 +37,7  <at>  <at>  EXTRA_CCOPTIONS	+=	-DSPRO_V2
 EXTRA_C++OPTIONS =	+p +w $(SPRO_V3_OPTIONS)
 MT_LIBS		=	-i $(C++_LIB)  -lm -lw -lc
 
-SYS_LIBRARIES	=	-lintl -lnsl $(MT_LIBS) -lC
+SYS_LIBRARIES	=	-lintl -lnsl $(MT_LIBS)
 #endif /* SunArchitecture */
 
 SRCS = main.C message.C mailbox.C utils.C
diff --git a/cde/programs/dtmail/include/DtMail/DtMail.hh b/cde/programs/dtmail/include/DtMail/DtMail.hh
index 6503d44..566298b 100644
--- a/cde/programs/dtmail/include/DtMail/DtMail.hh
+++ b/cde/programs/dtmail/include/DtMail/DtMail.hh
 <at>  <at>  -26,6 +26,9  <at>  <at> 
 
 #include <stdio.h>
 #include <stdarg.h>
+#if defined(sun)
+#include <iconv.h>
+#endif
 #include <sys/stat.h>
 /*#include <nl_types.h>*/
 #include <DtMail/DtMailError.hh>
 <at>  <at>  -893,7 +896,7  <at>  <at>  class DtMail {
 	    void *			_cb_data;
 	    void *			_obj_mutex;
 	};
-    
+
   private:
     
 friend class MailBox;
 <at>  <at>  -911,4 +914,13  <at>  <at>  friend class Session;
 			DTMailError_t minor_code);
 };
 
+#if defined(sun)
+template <typename T>
+size_t iconv (iconv_t i, const T inbuf, size_t* inleft,
+	       char** outbuf, size_t* outleft)
+{
+    return iconv(i, const_cast<T>(inbuf), inleft, outbuf, outleft);
+};
+#endif
+
 #endif
diff --git a/cde/programs/dtmail/libDtMail/Common/Imakefile b/cde/programs/dtmail/libDtMail/Common/Imakefile
index 266df2c..59fe0bd 100644
--- a/cde/programs/dtmail/libDtMail/Common/Imakefile
+++ b/cde/programs/dtmail/libDtMail/Common/Imakefile
 <at>  <at>  -8,7 +8,7  <at>  <at>  XCOMM $TOG: Imakefile /main/10 1998/11/09 18:30:37 mgreess $
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/programs/dtmail/libDtMail/RFC/Imakefile b/cde/programs/dtmail/libDtMail/RFC/Imakefile
index dda7502..410ea57 100644
--- a/cde/programs/dtmail/libDtMail/RFC/Imakefile
+++ b/cde/programs/dtmail/libDtMail/RFC/Imakefile
 <at>  <at>  -8,7 +8,7  <at>  <at>  XCOMM $TOG: Imakefile /main/8 1998/08/05 13:25:32 mgreess $
 #define LibCreate	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Threads.tmpl>
 
diff --git a/cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C b/cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C
index 9696424..91bc8ec 100644
--- a/cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C
+++ b/cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C
 <at>  <at>  -578,7 +578,7  <at>  <at>  RFCMailBox::alterPageMappingAdvice(MapRegion *map, int advice)
   for (int m = 0; m < me; m++) {
     MapRegion *map_t = _mappings[m];
 
-#if !defined(USL) && !defined(__uxp__) && !defined(linux)
+#if !defined(USL) && !defined(__uxp__) && !defined(linux) && !defined(sun)
     // no madvise on these systems
     if (map_t == map || map == (MapRegion *)-1)
       madvise(map_t->map_region, (size_t) map_t->map_size, advice);
 <at>  <at>  -2261,7 +2261,7  <at>  <at>  RFCMailBox::parseFile(DtMailEnv & error, int map_slot)
     //
     unsigned long pagelimit = _mappings[map_slot]->map_size;
 
-#if !defined(USL) && !defined(__uxp__) && !defined(linux)
+#if !defined(USL) && !defined(__uxp__) && !defined(linux) && !defined(sun)
     // no madvise; dont use optimization
     madvise(
 	(char *)_mappings[map_slot]->map_region,
 <at>  <at>  -2352,7 +2352,7  <at>  <at>  RFCMailBox::parseFile(DtMailEnv & error, int map_slot)
     // At this point we most likely will see random behavior. We will
     // tell the kernel to pull in the minimum number of extra pages.
     //
-#if !defined(USL) && !defined(__uxp__) && !defined(linux)
+#if !defined(USL) && !defined(__uxp__) && !defined(linux) && !defined(sun)
     // no madvise; dont use optimization
     madvise(
 	(char *)_mappings[map_slot]->map_region,
diff --git a/cde/programs/dtpad/Imakefile b/cde/programs/dtpad/Imakefile
index c4affc3..600b2b6 100644
--- a/cde/programs/dtpad/Imakefile
+++ b/cde/programs/dtpad/Imakefile
 <at>  <at>  -1,5 +1,6  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/11 1996/09/14 15:16:29 drk $
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DDT_LITE -DWORDWRAP -UNLS16
 
 DEPLIBS = DepDtClientLibs
diff --git a/cde/programs/dtpdm/Imakefile b/cde/programs/dtpdm/Imakefile
index 1c8ff0c..f990a9c 100644
--- a/cde/programs/dtpdm/Imakefile
+++ b/cde/programs/dtpdm/Imakefile
 <at>  <at>  -5,6 +5,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/7 1996/10/09 14:13:27 drk $
  * USE_libraryname in LOCAL_LIBRARIES is by default empty.
  * It should be set when necessary to the real library macro name.
  */
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" -DI18N_MSG
 INCLUDES = -I.
 
 <at>  <at>  -26,7 +27,7  <at>  <at>  SYS_LIBRARIES = -lmsaa -liconv
 #endif
 
 #if defined (SunArchitecture)
-SYS_LIBRARIES = -lintl -lm -lgen -ldl -lC
+SYS_LIBRARIES = -lintl -lm -lgen -ldl
 #endif
 
 PROGRAMS = dtpdm
diff --git a/cde/programs/dtprintinfo/libUI/MotifUI/Imakefile b/cde/programs/dtprintinfo/libUI/MotifUI/Imakefile
index a99fe4b..2c437e7 100644
--- a/cde/programs/dtprintinfo/libUI/MotifUI/Imakefile
+++ b/cde/programs/dtprintinfo/libUI/MotifUI/Imakefile
 <at>  <at>  -8,7 +8,7  <at>  <at>  XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:52:09 drk $
 #define LibInstall	NO
  
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 INCLUDES = -I. -I..
 
diff --git a/cde/programs/dtsearchpath/dtappg/Imakefile b/cde/programs/dtsearchpath/dtappg/Imakefile
index 60f953a..0db9310 100644
--- a/cde/programs/dtsearchpath/dtappg/Imakefile
+++ b/cde/programs/dtsearchpath/dtappg/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $TOG: Imakefile /main/14 1998/08/05 13:21:24 mgreess $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 INCLUDES = -I. -I../libCliSrv
diff --git a/cde/programs/dtsearchpath/dtappg/Options.C b/cde/programs/dtsearchpath/dtappg/Options.C
index e9ac99f..253ae3b 100644
--- a/cde/programs/dtsearchpath/dtappg/Options.C
+++ b/cde/programs/dtsearchpath/dtappg/Options.C
 <at>  <at>  -31,7 +31,7  <at>  <at> 
 
 #include "Options.h"
 #include <stdlib.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/dtsearchpath/dtappg/dtappgather.C b/cde/programs/dtsearchpath/dtappg/dtappgather.C
index 4d73aba..01a446e 100644
--- a/cde/programs/dtsearchpath/dtappg/dtappgather.C
+++ b/cde/programs/dtsearchpath/dtappg/dtappgather.C
 <at>  <at>  -75,7 +75,7  <at>  <at> 
 #include "dtappgather.h"
 #include "DirIterator.h"
 #include <stdlib.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/dtsearchpath/dtsp/Imakefile b/cde/programs/dtsearchpath/dtsp/Imakefile
index 4e54ecc..8801e86 100644
--- a/cde/programs/dtsearchpath/dtsp/Imakefile
+++ b/cde/programs/dtsearchpath/dtsp/Imakefile
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 XCOMM $TOG: Imakefile /main/15 1998/08/05 13:21:49 mgreess $
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 INCLUDES = -I. -I../libCliSrv
diff --git a/cde/programs/dtsearchpath/dtsp/ManSearchPath.C b/cde/programs/dtsearchpath/dtsp/ManSearchPath.C
index 386466c..d6a1501 100644
--- a/cde/programs/dtsearchpath/dtsp/ManSearchPath.C
+++ b/cde/programs/dtsearchpath/dtsp/ManSearchPath.C
 <at>  <at>  -136,7 +136,7  <at>  <at>  void ManSearchPath::Print()
     }
 }
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 std::ostream & operator<< 
 	(
 	std::ostream & os, 
 <at>  <at>  -150,7 +150,7  <at>  <at>  ostream & operator<<
 	)
 #endif
 {
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
     os << sp.GetEnvVar() << std::endl;
 #else
     os << sp.GetEnvVar() << endl;
diff --git a/cde/programs/dtsearchpath/dtsp/Options.C b/cde/programs/dtsearchpath/dtsp/Options.C
index 9565353..b816013 100644
--- a/cde/programs/dtsearchpath/dtsp/Options.C
+++ b/cde/programs/dtsearchpath/dtsp/Options.C
 <at>  <at>  -33,7 +33,7  <at>  <at> 
 
 #include "Options.h"
 #include <stdlib.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/dtsearchpath/dtsp/SearchPath.C b/cde/programs/dtsearchpath/dtsp/SearchPath.C
index 812922d..590c5da 100644
--- a/cde/programs/dtsearchpath/dtsp/SearchPath.C
+++ b/cde/programs/dtsearchpath/dtsp/SearchPath.C
 <at>  <at>  -387,7 +387,7  <at>  <at>  void SearchPath::Print()
  *
  ****************************************************************/
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 void SearchPath::PrettyPrint
 	(
 	std::ostream & os
 <at>  <at>  -402,14 +402,14  <at>  <at>  void SearchPath::PrettyPrint
     CTokenizedString path (GetSearchPath(), Separator().data());
     CString subpath = path.next();
     while (!subpath.isNull()) {
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 	os << "        " << subpath << std::endl;
 #else
 	os << "        " << subpath << endl;
 #endif
 	subpath = path.next();
     }
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
     os << std::endl;
 #else
     os << endl;
 <at>  <at>  -424,7 +424,7  <at>  <at>  void SearchPath::PrettyPrint
  *
  ****************************************************************/
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 std::ostream & operator<< 
 	(
 	std::ostream & os, 
 <at>  <at>  -438,7 +438,7  <at>  <at>  ostream & operator<<
 	)
 #endif
 {
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
     os << sp.GetEnvVar() << "SEARCHPATH:" << std::endl;
 #else
     os << sp.GetEnvVar() << "SEARCHPATH:" << endl;
diff --git a/cde/programs/dtsearchpath/dtsp/SearchPath.h b/cde/programs/dtsearchpath/dtsp/SearchPath.h
index ea5cc30..669c1dd 100644
--- a/cde/programs/dtsearchpath/dtsp/SearchPath.h
+++ b/cde/programs/dtsearchpath/dtsp/SearchPath.h
 <at>  <at>  -34,7 +34,7  <at>  <at> 
 
 #include "Environ.h"
 #include "cstring.h"
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
 <at>  <at>  -51,7 +51,7  <at>  <at>  class SearchPath {
   virtual void Print();
   virtual void AddPredefinedPath();
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   virtual void PrettyPrint (std::ostream &) const;
 
   friend std::ostream & operator<< (std::ostream &, const SearchPath &);
 <at>  <at>  -186,7 +186,7  <at>  <at>  class ManSearchPath : public SearchPath {
   virtual void    ExportPath ();
   virtual void    Print();
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   friend std::ostream & operator<< (std::ostream &, const ManSearchPath &);
 #else
   friend ostream & operator<< (ostream &, const ManSearchPath &);
diff --git a/cde/programs/dtsearchpath/libCliSrv/Imakefile b/cde/programs/dtsearchpath/libCliSrv/Imakefile
index 83cd42f..c844ed5 100644
--- a/cde/programs/dtsearchpath/libCliSrv/Imakefile
+++ b/cde/programs/dtsearchpath/libCliSrv/Imakefile
 <at>  <at>  -8,13 +8,13  <at>  <at>  XCOMM $TOG: Imakefile /main/5 1998/08/05 13:22:12 mgreess $
 #define LibInstall	NO
 
 #define CplusplusSource	YES
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 INCLUDES = -I.
 
 #ifdef SunArchitecture
 SYS_LIBRARIES = -ldl -lintl
-LAST_LOAD_FLAGS = -Bstatic -lC -Bdynamic -lm -lc -ladm -Bstatic
+LAST_LOAD_FLAGS = -Bstatic -Bdynamic -lm -lc -ladm -Bstatic
 EXTRA_DEFINES = -DIOSTREAMSWORKS
 #endif
 
diff --git a/cde/programs/dtsearchpath/libCliSrv/TTFile.C b/cde/programs/dtsearchpath/libCliSrv/TTFile.C
index d55efac..c8fabfc 100644
--- a/cde/programs/dtsearchpath/libCliSrv/TTFile.C
+++ b/cde/programs/dtsearchpath/libCliSrv/TTFile.C
 <at>  <at>  -95,7 +95,7  <at>  <at>  TTFile & TTFile::operator=
     return *this;
 }
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 std::ostream & operator<<
 	(
 	std::ostream & os,
 <at>  <at>  -110,7 +110,7  <at>  <at>  ostream & operator<<
 #endif
 {
     if (file.ttFileOpFailed())
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 	return os << "Error in filename mapping; status = " 
 		  << file.getStatus() << std::endl;
 #else
 <at>  <at>  -118,7 +118,7  <at>  <at>  ostream & operator<<
 		  << file.getStatus() << endl;
 #endif
     else
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 	return os << file.data() << std::endl;
 #else
 	return os << file.data() << endl;
diff --git a/cde/programs/dtsearchpath/libCliSrv/TTFile.h b/cde/programs/dtsearchpath/libCliSrv/TTFile.h
index 67f3f79..e9ee55d 100644
--- a/cde/programs/dtsearchpath/libCliSrv/TTFile.h
+++ b/cde/programs/dtsearchpath/libCliSrv/TTFile.h
 <at>  <at>  -65,7 +65,7  <at>  <at>  class TTFile : public CString {
   };
 #else
   void TT_Exception (char *);
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   friend std::ostream & operator<< (std::ostream &, TTFile &);
 #else
   friend ostream & operator<< (ostream &, TTFile &);
diff --git a/cde/programs/dtsearchpath/libCliSrv/UnixEnv.C b/cde/programs/dtsearchpath/libCliSrv/UnixEnv.C
index d2f3d5a..add17bf 100644
--- a/cde/programs/dtsearchpath/libCliSrv/UnixEnv.C
+++ b/cde/programs/dtsearchpath/libCliSrv/UnixEnv.C
 <at>  <at>  -37,7 +37,7  <at>  <at> 
 #endif
 #include <stdlib.h>
 #include <string.h>
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/dtsearchpath/libCliSrv/cstring.C b/cde/programs/dtsearchpath/libCliSrv/cstring.C
index da5e5b0..2b1cd90 100644
--- a/cde/programs/dtsearchpath/libCliSrv/cstring.C
+++ b/cde/programs/dtsearchpath/libCliSrv/cstring.C
 <at>  <at>  -566,7 +566,7  <at>  <at>  int i;
     }
 }
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 std::ostream & operator<<
 	(
 	std::ostream &       os,
diff --git a/cde/programs/dtsearchpath/libCliSrv/cstring.h b/cde/programs/dtsearchpath/libCliSrv/cstring.h
index 8133f7f..e79bc1c 100644
--- a/cde/programs/dtsearchpath/libCliSrv/cstring.h
+++ b/cde/programs/dtsearchpath/libCliSrv/cstring.h
 <at>  <at>  -32,7 +32,7  <at>  <at> 
 #ifndef _CSTRING_H_
 #define _CSTRING_H_
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
 <at>  <at>  -72,7 +72,7  <at>  <at>  class CString {
   int       isNull() const;
   void      replace (const CString &, const CString &);
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   friend std::ostream & operator<< (std::ostream &, const CString &);
 #else
   friend ostream & operator<< (ostream &, const CString &);
diff --git a/cde/programs/dtsession/Imakefile b/cde/programs/dtsession/Imakefile
index a13f605..8da6ce0 100644
--- a/cde/programs/dtsession/Imakefile
+++ b/cde/programs/dtsession/Imakefile
 <at>  <at>  -1,7 +1,8  <at>  <at> 
 XCOMM $TOG: Imakefile /main/22 1998/04/06 13:33:41 mgreess $
 
-        DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
-                  -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
+DEPEND_DEFINES = $(DEPENDDEFINES)
+DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
+          -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
 
 #if defined(SunArchitecture)
 DEPLIBS = $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) \
diff --git a/cde/programs/dtstyle/Imakefile b/cde/programs/dtstyle/Imakefile
index 5269b65..4f54ece 100644
--- a/cde/programs/dtstyle/Imakefile
+++ b/cde/programs/dtstyle/Imakefile
 <at>  <at>  -1,9 +1,9  <at>  <at> 
 XCOMM $XConsortium: Imakefile /main/8 1996/09/14 15:25:06 drk $
 
-        DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
-                  -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
-
-       INCLUDES = -I. -I$(DTHELPSRC)/..
+DEPEND_DEFINES = $(DEPENDDEFINES)
+DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
+          -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
+INCLUDES = -I. -I$(DTHELPSRC)/..
 
 DEPLIBS = DepDtClientLibs
 LOCAL_LIBRARIES = DtClientLibs
diff --git a/cde/programs/dtterm/Imakefile b/cde/programs/dtterm/Imakefile
index de00d2e..af4afe0 100644
--- a/cde/programs/dtterm/Imakefile
+++ b/cde/programs/dtterm/Imakefile
 <at>  <at>  -11,6 +11,7  <at>  <at>  SUBDIRS = util
 MakeSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = $(ARCHITECTURE_DEFINES) -DSUN_TERMINAL_SERVER
 
 #ifdef	Build_HpVue
diff --git a/cde/programs/dtudcfonted/libfal/Imakefile b/cde/programs/dtudcfonted/libfal/Imakefile
index 8280370..4b1c8a1 100644
--- a/cde/programs/dtudcfonted/libfal/Imakefile
+++ b/cde/programs/dtudcfonted/libfal/Imakefile
 <at>  <at>  -29,6 +29,7  <at>  <at>  FALOPT1       = -DDTUDCFONTPATH='"'$(XFONTDIR)/misc'"'
         OPT2 = -DFONTC='"'$(BINDIR)/bdftopcf'"'
 #endif
 
+       DEPEND_DEFINES = $(DEPENDDEFINES)
         DEFINES       = $(FALOPT1) $(FALOPT2) $(OPT2) $(FALOPT3)
 
       UDC_INC_PATH1   = -I./include
diff --git a/cde/programs/dtwm/Imakefile b/cde/programs/dtwm/Imakefile
index b46fe1c..fa10741 100644
--- a/cde/programs/dtwm/Imakefile
+++ b/cde/programs/dtwm/Imakefile
 <at>  <at>  -11,6 +11,7  <at>  <at>  MWMDEFINES = $(VFORK_DEFINE) -DLARGECURSORS -DR2_COMPAT -DOPAQUE -DSHAPE \
 
 DTWMDEFINES = -DWSM -DPANELIST
 
+DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = $(MWMDEFINES) $(DTWMDEFINES) -DMULTIBYTE -DMINIMAL_DT
 
 DEPLIBS = DepDtClientLibs
 <at>  <at>  -21,12 +22,6  <at>  <at>  SYS_LIBRARIES = DtClientSysLibs DtClientExtraLibs
 EXTRA_DEFINES = -D_HPUX_SOURCE 
 #endif	/* HPArchitecture */	
 
-#if defined (SunArchitecture)
-/* The OpenWindows AllPlanes extension is not in vanilla X11R6. */
-EXTRA_CCOPTIONS = -xF
-dtwm := LOCAL_LDFLAGS = -M mapfile.reorder
-#endif
-
 SRCSXM = \
         WmCDInfo.c      WmCDecor.c      WmCEvent.c \
         WmCPlace.c      WmColormap.c    WmError.c \
diff --git a/cde/programs/dtwm/WmFunction.c b/cde/programs/dtwm/WmFunction.c
index 8ef8582..4ea0313 100644
--- a/cde/programs/dtwm/WmFunction.c
+++ b/cde/programs/dtwm/WmFunction.c
 <at>  <at>  -109,7 +109,8  <at>  <at>  static unsigned int GetEventInverseMask(XEvent *event);
 
 #ifdef WSM
 
-#if (defined(USL) || defined(__uxp__) || defined(linux) || defined(CSRG_BASED)) && !defined(_NFILE)
+#if (defined(USL) || defined(__uxp__) || defined(linux) || \
+     defined(sun) || defined(CSRG_BASED)) && !defined(_NFILE)
 #define _NFILE FOPEN_MAX
 #endif
 #define CLOSE_FILES_ON_EXEC() \
diff --git a/cde/programs/dtwm/WmResCvt.c b/cde/programs/dtwm/WmResCvt.c
index 6a47eaf..466f0c3 100644
--- a/cde/programs/dtwm/WmResCvt.c
+++ b/cde/programs/dtwm/WmResCvt.c
 <at>  <at>  -1083,7 +1083,11  <at>  <at>  void WmCvtStringToKFocus (XrmValue *args, Cardinal numArgs, XrmValue *fromVal, X
 
     if (!fHit)
     {
+#if defined(sun)
+	cval =  KEYBOARD_FOCUS_POINTER;
+#else
 	cval =  KEYBOARD_FOCUS_EXPLICIT;
+#endif
     }
 
 
diff --git a/cde/programs/dtwm/WmResource.c b/cde/programs/dtwm/WmResource.c
index 59eaa0f..8a03160 100644
--- a/cde/programs/dtwm/WmResource.c
+++ b/cde/programs/dtwm/WmResource.c
 <at>  <at>  -852,7 +852,11  <at>  <at>  XtResource wmGlobalResources[] =
 	sizeof (int),
         XtOffsetOf(WmGlobalData, keyboardFocusPolicy),
 	XtRImmediate,
+#if defined(sun)
+	(XtPointer)KEYBOARD_FOCUS_POINTER
+#else
 	(XtPointer)KEYBOARD_FOCUS_EXPLICIT
+#endif
     },
 
     {
diff --git a/cde/programs/fontaliases/sun/C/fonts.alias b/cde/programs/fontaliases/sun/C/fonts.alias
index a6357d1..4b13446 100644
--- a/cde/programs/fontaliases/sun/C/fonts.alias
+++ b/cde/programs/fontaliases/sun/C/fonts.alias
 <at>  <at>  -155,24 +155,24  <at>  <at> 
 "-dt-application-medium-r-normal-serif-14-140-75-75-p-74-iso8859-1" "-adobe-times-medium-r-normal--14-140-75-75-p-74-iso8859-1"
 "-dt-application-medium-r-normal-serif-18-180-75-75-p-94-iso8859-1" "-adobe-times-medium-r-normal--18-180-75-75-p-94-iso8859-1"
 "-dt-application-medium-r-normal-serif-24-240-75-75-p-124-iso8859-1" "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1"
-"-dt-interface system-medium-r-normal-xxs sans-10-100-72-72-p-59-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-10-100-72-72-p-59-iso8859-1"
-"-dt-interface system-medium-r-normal-xs sans-12-120-72-72-p-71-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-12-120-72-72-p-71-iso8859-1"
-"-dt-interface system-medium-r-normal-s sans-14-140-72-72-p-82-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-14-140-72-72-p-82-iso8859-1"
-"-dt-interface system-medium-r-normal-m sans-17-170-72-72-p-97-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-17-170-72-72-p-97-iso8859-1"
-"-dt-interface system-medium-r-normal-l sans-18-180-72-72-p-106-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-18-180-72-72-p-106-iso8859-1"
-"-dt-interface system-medium-r-normal-xl sans-20-200-72-72-p-114-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-20-200-72-72-p-114-iso8859-1"
-"-dt-interface system-medium-r-normal-xxl sans-24-240-72-72-p-137-iso8859-1" "-b&h-lucida sans-medium-r-normal-sans-24-240-72-72-p-137-iso8859-1"
-"-dt-interface user-bold-r-normal-xxs sans-8-80-72-72-m-50-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-8-80-72-72-m-50-iso8859-1"
-"-dt-interface user-bold-r-normal-xs sans-10-100-72-72-m-60-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-10-100-72-72-m-60-iso8859-1"
-"-dt-interface user-bold-r-normal-s sans-12-120-72-72-m-70-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-12-120-72-72-m-70-iso8859-1"
-"-dt-interface user-bold-r-normal-m sans-14-140-72-72-m-90-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-14-140-72-72-m-90-iso8859-1"
-"-dt-interface user-bold-r-normal-l sans-17-170-72-72-m-100-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-17-170-72-72-m-100-iso8859-1"
-"-dt-interface user-bold-r-normal-xl sans-20-200-72-72-m-120-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-20-200-72-72-m-120-iso8859-1"
-"-dt-interface user-bold-r-normal-xxl sans-24-240-72-72-m-145-iso8859-1" "-b&h-lucida sans typewriter-bold-r-normal-sans-24-240-72-72-m-145-iso8859-1"
-"-dt-interface user-medium-r-normal-xxs sans-8-80-72-72-m-50-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-8-80-72-72-m-50-iso8859-1"
-"-dt-interface user-medium-r-normal-xs sans-10-100-72-72-m-60-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-10-100-72-72-m-60-iso8859-1"
-"-dt-interface user-medium-r-normal-s sans-12-120-72-72-m-70-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-12-120-72-72-m-70-iso8859-1"
-"-dt-interface user-medium-r-normal-m sans-14-140-72-72-m-90-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-14-140-72-72-m-90-iso8859-1"
-"-dt-interface user-medium-r-normal-l sans-17-170-72-72-m-100-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-17-170-72-72-m-100-iso8859-1"
-"-dt-interface user-medium-r-normal-xl sans-20-200-72-72-m-120-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-20-200-72-72-m-120-iso8859-1"
-"-dt-interface user-medium-r-normal-xxl sans-24-240-72-72-m-145-iso8859-1" "-b&h-lucida sans typewriter-medium-r-normal-sans-24-240-72-72-m-145-iso8859-1"
+"-dt-interface system-medium-r-normal-xxs sans-10-100-72-72-p-61-iso8859-1"  "-adobe-helvetica-medium-r-normal--10-*-75-75-p-56-iso8859-1"
+"-dt-interface system-medium-r-normal-xs sans-11-110-72-72-p-64-iso8859-1"   "-adobe-helvetica-medium-r-normal--11-80-100-100-p-56-iso8859-1"
+"-dt-interface system-medium-r-normal-s sans-12-120-72-72-p-73-iso8859-1"    "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1"
+"-dt-interface system-medium-r-normal-m sans-13-130-72-72-p-87-iso8859-1"    "-adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1"
+"-dt-interface system-medium-r-normal-l sans-15-150-72-72-p-100-iso8859-1"   "-adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1"
+"-dt-interface system-medium-r-normal-xl sans-18-180-72-72-p-114-iso8859-1"  "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1"
+"-dt-interface system-medium-r-normal-xxl sans-21-210-72-72-p-123-iso8859-1" "-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1"
+"-dt-interface user-bold-r-normal-xxs sans-8-80-72-72-m-50-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-8-80-72-72-m-50-iso8859-1"
+"-dt-interface user-bold-r-normal-xs sans-10-100-72-72-m-60-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-10-100-72-72-m-60-iso8859-1"
+"-dt-interface user-bold-r-normal-s sans-12-120-72-72-m-70-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-12-120-72-72-m-70-iso8859-1"
+"-dt-interface user-bold-r-normal-m sans-14-140-72-72-m-90-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-14-140-72-72-m-90-iso8859-1"
+"-dt-interface user-bold-r-normal-l sans-17-170-72-72-m-100-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-17-170-72-72-m-100-iso8859-1"
+"-dt-interface user-bold-r-normal-xl sans-20-200-72-72-m-120-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-20-200-72-72-m-120-iso8859-1"
+"-dt-interface user-bold-r-normal-xxl sans-24-240-72-72-m-145-iso8859-1" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-72-72-m-145-iso8859-1"
+"-dt-interface user-medium-r-normal-xxs sans-8-80-72-72-m-50-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-8-80-72-72-m-50-iso8859-1"
+"-dt-interface user-medium-r-normal-xs sans-10-100-72-72-m-60-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-10-100-72-72-m-60-iso8859-1"
+"-dt-interface user-medium-r-normal-s sans-12-120-72-72-m-70-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-12-120-72-72-m-70-iso8859-1"
+"-dt-interface user-medium-r-normal-m sans-14-140-72-72-m-90-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-14-140-72-72-m-90-iso8859-1"
+"-dt-interface user-medium-r-normal-l sans-17-170-72-72-m-100-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-17-170-72-72-m-100-iso8859-1"
+"-dt-interface user-medium-r-normal-xl sans-20-200-72-72-m-120-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-20-200-72-72-m-120-iso8859-1"
+"-dt-interface user-medium-r-normal-xxl sans-24-240-72-72-m-145-iso8859-1" "-b&h-lucidatypewriter-medium-r-normal-sans-24-240-72-72-m-145-iso8859-1"
diff --git a/cde/programs/localized/C/types/_common.dt.tmsg b/cde/programs/localized/C/types/_common.dt.tmsg
index b2b57c2..b930fc6 100644
--- a/cde/programs/localized/C/types/_common.dt.tmsg
+++ b/cde/programs/localized/C/types/_common.dt.tmsg
 <at>  <at>  -1917,7 +1917,7  <at>  <at>  $ Message 10040 - an error message when the file the user provided the Tar
 $    action is not a folder. Don't translate %(File)Arg_1%, it will be
 $    the bad file name when the message is shown to the user.
 $ 
-10040 ERROR: '%(File)Arg_1%' is not a folder.
+10040 ERROR: \\\"%(File)Arg_1%\\\" is not a folder.
 $ 
 $ Messsages 10041 and 10042 are status messages for the user.  These are
 $    shown to the user when the Tar action is creating the tarball.
diff --git a/cde/programs/localized/de_DE.ISO8859-1/types/_common.dt.tmsg b/cde/programs/localized/de_DE.ISO8859-1/types/_common.dt.tmsg
index 1de2f7f..a4f533f 100644
--- a/cde/programs/localized/de_DE.ISO8859-1/types/_common.dt.tmsg
+++ b/cde/programs/localized/de_DE.ISO8859-1/types/_common.dt.tmsg
 <at>  <at>  -2143,7 +2143,7  <at>  <at>  $    action is not a folder. Don't translate %(File)Arg_1%, it will be
 $    the bad file name when the message is shown to the user.
 $ 
 
-10040 "FEHLER: '%(File)Arg_1%' ist kein Ordner."
+10040 "FEHLER: \\\"%(File)Arg_1%\\\" ist kein Ordner."
 $ 
 $ Messsages 10041 and 10042 are status messages for the user.  These are
 $    shown to the user when the Tar action is creating the tarball.
diff --git a/cde/programs/localized/es_ES.ISO8859-1/types/_common.dt.tmsg b/cde/programs/localized/es_ES.ISO8859-1/types/_common.dt.tmsg
index 741f984..39dfc79 100644
--- a/cde/programs/localized/es_ES.ISO8859-1/types/_common.dt.tmsg
+++ b/cde/programs/localized/es_ES.ISO8859-1/types/_common.dt.tmsg
 <at>  <at>  -2154,7 +2154,7  <at>  <at>  $    action is not a folder. Don't translate %(File)Arg_1%, it will be
 $    the bad file name when the message is shown to the user. 
 $  
 
-10040 "ERROR: '%(File)Arg_1%' no es una carpeta."
+10040 "ERROR: \\\"%(File)Arg_1%\\\" no es una carpeta."
 $  
 $ Messsages 10041 and 10042 are status messages for the user.  These are 
 $    shown to the user when the Tar action is creating the tarball. 
diff --git a/cde/programs/localized/fr_FR.ISO8859-1/types/_common.dt.tmsg b/cde/programs/localized/fr_FR.ISO8859-1/types/_common.dt.tmsg
index 633bca3..02e6cee 100644
--- a/cde/programs/localized/fr_FR.ISO8859-1/types/_common.dt.tmsg
+++ b/cde/programs/localized/fr_FR.ISO8859-1/types/_common.dt.tmsg
 <at>  <at>  -2108,7 +2108,7  <at>  <at>  $    action is not a folder. Don't translate %(File)Arg_1%, it will be
 $    the bad file name when the message is shown to the user.
 $ 
 
-10040 "ERREUR: '%(File)Arg_1%' n'est pas un dossier."
+10040 "ERREUR: \\\"%(File)Arg_1%\\\" n'est pas un dossier."
 $ 
 $ Messsages 10041 and 10042 are status messages for the user.  These are
 $    shown to the user when the Tar action is creating the tarball.
diff --git a/cde/programs/localized/it_IT.ISO8859-1/types/_common.dt.tmsg b/cde/programs/localized/it_IT.ISO8859-1/types/_common.dt.tmsg
index 5ebe20d..7e56011 100644
--- a/cde/programs/localized/it_IT.ISO8859-1/types/_common.dt.tmsg
+++ b/cde/programs/localized/it_IT.ISO8859-1/types/_common.dt.tmsg
 <at>  <at>  -1890,7 +1890,7  <at>  <at>  $ Message 10040 - an error message when the file the user provided the Tar
 $    action is not a folder. Don't translate %(File)Arg_1%, it will be
 $    the bad file name when the message is shown to the user.
 $ 
-10040 ERRORE: '%(File)Arg_1%' non  una cartella.
+10040 ERRORE: \\\"%(File)Arg_1%\\\" non  una cartella.
 $ 
 $ Messsages 10041 and 10042 are status messages for the user.  These are
 $    shown to the user when the Tar action is creating the tarball.
diff --git a/cde/programs/nsgmls/CmdLineApp.C b/cde/programs/nsgmls/CmdLineApp.C
index 4ba7cbc..15a042b 100644
--- a/cde/programs/nsgmls/CmdLineApp.C
+++ b/cde/programs/nsgmls/CmdLineApp.C
 <at>  <at>  -58,7 +58,7  <at>  <at> 
 
 #include "ConsoleOutput.h"
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #include <fstream>
 using namespace std;
 <at>  <at>  -292,7 +292,7  <at>  <at>  Boolean CmdLineApp::openFilebufWrite(filebuf &file,
     return 0;
   return file.attach(fd) != 0;
 #else
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   return file.open(filename, ios::out|ios::trunc) != 0;
 #else
   return file.open(filename, ios::out|ios::trunc|IOS_BINARY) != 0;
diff --git a/cde/programs/nsgmls/CmdLineApp.h b/cde/programs/nsgmls/CmdLineApp.h
index 45d505f..ca0621b 100644
--- a/cde/programs/nsgmls/CmdLineApp.h
+++ b/cde/programs/nsgmls/CmdLineApp.h
 <at>  <at>  -43,7 +43,7  <at>  <at> 
 #include <stddef.h>
 #endif
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 using namespace std;
 #else
diff --git a/cde/programs/nsgmls/CodingSystem.C b/cde/programs/nsgmls/CodingSystem.C
index 6f9e520..14994a7 100644
--- a/cde/programs/nsgmls/CodingSystem.C
+++ b/cde/programs/nsgmls/CodingSystem.C
 <at>  <at>  -33,7 +33,7  <at>  <at> 
 #ifdef SP_SHORT_HEADERS
 #include <strstrea.h>
 #else
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <strstream>
 #else
 #include <strstream.h>
 <at>  <at>  -82,7 +82,7  <at>  <at>  String<char> OutputCodingSystem::convertOut(const StringC &str) const
   encoder->output(copy.data(), copy.size(), &stream);
   delete encoder;
   char *s = stream.str();
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   String<char> result(s, stream.pcount());
 #else
   String<char> result(s, stream.out_waiting());
diff --git a/cde/programs/nsgmls/CodingSystem.h b/cde/programs/nsgmls/CodingSystem.h
index 62adbd0..d653a47 100644
--- a/cde/programs/nsgmls/CodingSystem.h
+++ b/cde/programs/nsgmls/CodingSystem.h
 <at>  <at>  -41,7 +41,7  <at>  <at> 
 
 #include <stddef.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <streambuf>
 using namespace std;
 #else
diff --git a/cde/programs/nsgmls/EUCJPCodingSystem.C b/cde/programs/nsgmls/EUCJPCodingSystem.C
index 99ecf24..2632dc5 100644
--- a/cde/programs/nsgmls/EUCJPCodingSystem.C
+++ b/cde/programs/nsgmls/EUCJPCodingSystem.C
 <at>  <at>  -29,7 +29,7  <at>  <at> 
 #ifdef SP_MULTI_BYTE
 
 #include "EUCJPCodingSystem.h"
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/Fixed2CodingSystem.C b/cde/programs/nsgmls/Fixed2CodingSystem.C
index 25dfd2c..0cf3cc5 100644
--- a/cde/programs/nsgmls/Fixed2CodingSystem.C
+++ b/cde/programs/nsgmls/Fixed2CodingSystem.C
 <at>  <at>  -34,7 +34,7  <at>  <at> 
 #include "Fixed2CodingSystem.h"
 #include "macros.h"
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/IdentityCodingSystem.C b/cde/programs/nsgmls/IdentityCodingSystem.C
index cd1b070..490e730 100644
--- a/cde/programs/nsgmls/IdentityCodingSystem.C
+++ b/cde/programs/nsgmls/IdentityCodingSystem.C
 <at>  <at>  -26,7 +26,7  <at>  <at> 
 
 #include "splib.h"
 #include "IdentityCodingSystem.h"
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/Imakefile b/cde/programs/nsgmls/Imakefile
index 206d546..c1a523b 100644
--- a/cde/programs/nsgmls/Imakefile
+++ b/cde/programs/nsgmls/Imakefile
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 XCOMM $TOG: Imakefile /main/13 1998/04/06 13:38:18 mgreess $
 
-DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
+DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 
 #include <Library.tmpl>
 
diff --git a/cde/programs/nsgmls/OutputCharStream.C b/cde/programs/nsgmls/OutputCharStream.C
index 1739437..20f444f 100644
--- a/cde/programs/nsgmls/OutputCharStream.C
+++ b/cde/programs/nsgmls/OutputCharStream.C
 <at>  <at>  -28,7 +28,7  <at>  <at> 
 #include "OutputCharStream.h"
 #include "CodingSystem.h"
 #include "macros.h"
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
 <at>  <at>  -148,7 +148,7  <at>  <at>  void IosOutputCharStream::flush()
     encoder_->output(buf_, ptr_ - buf_, byteStream_);
     ptr_ = buf_;
   }
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   byteStream_->pubsync();
 #else
   byteStream_->sync();
diff --git a/cde/programs/nsgmls/OutputCharStream.h b/cde/programs/nsgmls/OutputCharStream.h
index 7551bfd..6a71a3c 100644
--- a/cde/programs/nsgmls/OutputCharStream.h
+++ b/cde/programs/nsgmls/OutputCharStream.h
 <at>  <at>  -33,7 +33,7  <at>  <at> 
 #include "Owner.h"
 #include "CodingSystem.h"
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <streambuf>
 using namespace std;
 #else
diff --git a/cde/programs/nsgmls/SJISCodingSystem.C b/cde/programs/nsgmls/SJISCodingSystem.C
index a2c8edd..dc9d4e2 100644
--- a/cde/programs/nsgmls/SJISCodingSystem.C
+++ b/cde/programs/nsgmls/SJISCodingSystem.C
 <at>  <at>  -30,7 +30,7  <at>  <at> 
 
 #include "SJISCodingSystem.h"
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/UTF8CodingSystem.C b/cde/programs/nsgmls/UTF8CodingSystem.C
index 3fb39a8..ffd037a 100644
--- a/cde/programs/nsgmls/UTF8CodingSystem.C
+++ b/cde/programs/nsgmls/UTF8CodingSystem.C
 <at>  <at>  -30,7 +30,7  <at>  <at> 
 
 #include "UTF8CodingSystem.h"
 #include "constant.h"
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/UnicodeCodingSystem.C b/cde/programs/nsgmls/UnicodeCodingSystem.C
index 2901063..3630862 100644
--- a/cde/programs/nsgmls/UnicodeCodingSystem.C
+++ b/cde/programs/nsgmls/UnicodeCodingSystem.C
 <at>  <at>  -39,7 +39,7  <at>  <at>  extern "C" {
   void *memmove(void *, const void *, size_t);
 }
 #endif
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #else
 #include <iostream.h>
diff --git a/cde/programs/nsgmls/config.h b/cde/programs/nsgmls/config.h
index 2f7bcc9..9870a18 100644
--- a/cde/programs/nsgmls/config.h
+++ b/cde/programs/nsgmls/config.h
 <at>  <at>  -30,9 +30,9  <at>  <at> 
 #define SP_INCLUDE_UNISTD_H
 #define SP_POSIX_FILENAMES
 
-#ifdef __GNUG__
+#if defined(__GNUG__) || defined(__SunOS)
 // It's not missing, but it pulls in libg++
-#if !defined(linux) && !defined(CSRG_BASED)
+#if !defined(linux) && !defined(CSRG_BASED) && !defined(sun)
 #define SP_NEW_H_MISSING
 // set_new_handler() has to be declared extern "C"
 #define SP_SET_NEW_HANDLER_EXTERN_C
diff --git a/cde/programs/nsgmls/nsgmls.C b/cde/programs/nsgmls/nsgmls.C
index f9490f2..ad3a2c5 100644
--- a/cde/programs/nsgmls/nsgmls.C
+++ b/cde/programs/nsgmls/nsgmls.C
 <at>  <at>  -38,7 +38,7  <at>  <at> 
 #include "sptchar.h"
 #include "macros.h"
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #include <fstream>
 #else
 <at>  <at>  -84,7 +84,7  <at>  <at>  public:
 		    const AppChar *filename,
 		    const StringC &filenameStr,
 		    const OutputCodingSystem *,
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 		    ::Messenger *messenger);
 #else
 		    Messenger *messenger);
 <at>  <at>  -94,7 +94,7  <at>  <at>  public:
   void truncateOutput();
   void allLinkTypesActivated();
 private:
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
   ::Messenger *messenger_;
 #else
   Messenger *messenger_;
 <at>  <at>  -248,7 +248,7  <at>  <at>  XRastEventHandler::XRastEventHandler(SgmlParser *parser,
 				     const AppChar *filename,
 				     const StringC &filenameStr,
 				     const OutputCodingSystem *codingSystem,
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 				     ::Messenger *messenger)
 #else
 				     ::Messenger *messenger)
diff --git a/cde/programs/nsgmls/xnew.h b/cde/programs/nsgmls/xnew.h
index 9659639..8f1bc00 100644
--- a/cde/programs/nsgmls/xnew.h
+++ b/cde/programs/nsgmls/xnew.h
 <at>  <at>  -39,7 +39,7  <at>  <at>  void set_new_handler(VFP);
 
 #else /* not SP_NEW_H_MISSING */
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <new>
 #else
 #include <new.h>
diff --git a/cde/programs/ttsnoop/DtTt.C b/cde/programs/ttsnoop/DtTt.C
index ee000a7..7b6a3bf 100644
--- a/cde/programs/ttsnoop/DtTt.C
+++ b/cde/programs/ttsnoop/DtTt.C
 <at>  <at>  -34,7 +34,7  <at>  <at> 
 #include <fcntl.h>
 #include <unistd.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <strstream>
 #else
 #include <strstream.h>
diff --git a/cde/programs/ttsnoop/callbackChooser_stubs.C.src b/cde/programs/ttsnoop/callbackChooser_stubs.C.src
index 735609e..40852de 100644
--- a/cde/programs/ttsnoop/callbackChooser_stubs.C.src
+++ b/cde/programs/ttsnoop/callbackChooser_stubs.C.src
 <at>  <at>  -40,7 +40,7  <at>  <at> 
  *** Add include files, types, macros, externs, and user functions here.
  ***/
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 #include <strstream>
 #else
diff --git a/cde/programs/ttsnoop/fileChooser_stubs.C.src b/cde/programs/ttsnoop/fileChooser_stubs.C.src
index bc724a4..9cc2c6b 100644
--- a/cde/programs/ttsnoop/fileChooser_stubs.C.src
+++ b/cde/programs/ttsnoop/fileChooser_stubs.C.src
 <at>  <at>  -39,7 +39,7  <at>  <at> 
 #include <sys/wait.h>
 #include <Xm/TextF.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 #include <strstream>
 #else
diff --git a/cde/programs/ttsnoop/messageProps_stubs.C.src b/cde/programs/ttsnoop/messageProps_stubs.C.src
index bd7ac28..213bbc4 100644
--- a/cde/programs/ttsnoop/messageProps_stubs.C.src
+++ b/cde/programs/ttsnoop/messageProps_stubs.C.src
 <at>  <at>  -40,7 +40,7  <at>  <at> 
  *** Add include files, types, macros, externs, and user functions here.
  ***/
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <strstream>
 #else
 #include <strstream.h>
diff --git a/cde/programs/ttsnoop/patternProps_stubs.C.src b/cde/programs/ttsnoop/patternProps_stubs.C.src
index aded915..dd08b3b 100644
--- a/cde/programs/ttsnoop/patternProps_stubs.C.src
+++ b/cde/programs/ttsnoop/patternProps_stubs.C.src
 <at>  <at>  -40,7 +40,7  <at>  <at> 
  *** Add include files, types, macros, externs, and user functions here.
  ***/
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <strstream>
 #else
 #include <strstream.h>
diff --git a/cde/programs/ttsnoop/sessionChooser_stubs.C.src b/cde/programs/ttsnoop/sessionChooser_stubs.C.src
index cc3fde2..b24b23c 100644
--- a/cde/programs/ttsnoop/sessionChooser_stubs.C.src
+++ b/cde/programs/ttsnoop/sessionChooser_stubs.C.src
 <at>  <at>  -42,7 +42,7  <at>  <at> 
 
 #include <Xm/TextF.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 #include <strstream>
 #else
diff --git a/cde/programs/ttsnoop/stringChooser_stubs.C.src b/cde/programs/ttsnoop/stringChooser_stubs.C.src
index daef603..c97e3e6 100644
--- a/cde/programs/ttsnoop/stringChooser_stubs.C.src
+++ b/cde/programs/ttsnoop/stringChooser_stubs.C.src
 <at>  <at>  -42,7 +42,7  <at>  <at> 
 
 #include <Xm/TextF.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 #else
 #include <fstream.h>
diff --git a/cde/programs/ttsnoop/ttChooser_stubs.C.src b/cde/programs/ttsnoop/ttChooser_stubs.C.src
index ed0f854..5d0d98c 100644
--- a/cde/programs/ttsnoop/ttChooser_stubs.C.src
+++ b/cde/programs/ttsnoop/ttChooser_stubs.C.src
 <at>  <at>  -42,7 +42,7  <at>  <at> 
 
 #include <stdio.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <strstream>
 #else
 #include <strstream.h>
diff --git a/cde/programs/ttsnoop/tt_c++.h b/cde/programs/ttsnoop/tt_c++.h
index 931b7d8..a4ae799 100644
--- a/cde/programs/ttsnoop/tt_c++.h
+++ b/cde/programs/ttsnoop/tt_c++.h
 <at>  <at>  -29,7 +29,7  <at>  <at> 
 #ifndef TT_CXX_H
 #define TT_CXX_H
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 using namespace std;
 #else
diff --git a/cde/programs/ttsnoop/ttsnoop.C.src b/cde/programs/ttsnoop/ttsnoop.C.src
index e5fe875..1d7059b 100644
--- a/cde/programs/ttsnoop/ttsnoop.C.src
+++ b/cde/programs/ttsnoop/ttsnoop.C.src
 <at>  <at>  -63,7 +63,7  <at>  <at> 
 #include <sys/stat.h>
 #include <time.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <iostream>
 #include <strstream>
 #include <fstream>
diff --git a/cde/programs/ttsnoop/ttsnoop_stubs.C.src b/cde/programs/ttsnoop/ttsnoop_stubs.C.src
index 3d09389..0be3fc0 100644
--- a/cde/programs/ttsnoop/ttsnoop_stubs.C.src
+++ b/cde/programs/ttsnoop/ttsnoop_stubs.C.src
 <at>  <at>  -37,7 +37,7  <at>  <at> 
 
 #include <unistd.h>
 
-#if defined(linux) || defined(CSRG_BASED)
+#if defined(linux) || defined(CSRG_BASED) || defined(sun)
 #include <fstream>
 #include <strstream>
 #else
diff --git a/cde/programs/types/dtwm.fp.src b/cde/programs/types/dtwm.fp.src
index 69ece3e..59a4c35 100644
--- a/cde/programs/types/dtwm.fp.src
+++ b/cde/programs/types/dtwm.fp.src
 <at>  <at>  -54,7 +54,7  <at>  <at>  CONTROL Date
   POSITION_HINTS	2
   ICON			FpCM
   LABEL                 %|nls-18002-#Calendar#|
-  DATE_FORMAT		%|nls-18022-#%b%n%e#|
+  DATE_FORMAT		%b%n%e
   PUSH_ACTION		Dtcm
   PUSH_RECALL		True
   DROP_ACTION		DtcmInsert
--

-- 
1.7.11.5

------------------------------------------------------------------------------
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Gmane