seventh and last dtinfo patch

this one fulfills requirements outside of the dtinfo tree.

On BSDs the linking of shared libs is changed. It's now done with gcc
instead of ld. This is necessary because a dtinfo binary suffers from
a problem which is described here:
  http://sourceware.org/ml/binutils/2002-11/msg00310.html
Linux already does it this way.


--
Ulrich Wilkens
Email: m...@uwilkens.de




>From 316efcad1547fc658b1d7fe145eec9ab4ac3538b Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <m...@uwilkens.de>
Date: Sun, 14 Oct 2012 18:26:30 +0200
Subject: [PATCH] dtinfo other requirements

---
 cde/.gitignore                              |  53 ++++
 cde/admin/IntegTools/dbTools/installCDE.src |   2 +-
 cde/config/cf/DtInfo.rules                  | 415 ++++++++++++++++++++++++++
 cde/config/cf/DtInfo.tmpl                   | 445 ++++++++++++++++++++++++++++
 cde/config/cf/FreeBSD.cf                    |   6 +
 cde/config/cf/Imake.tmpl                    |   4 +
 cde/config/cf/README                        |   2 +
 cde/config/cf/X11.tmpl                      |  11 +-
 cde/config/cf/bsdLib.rules                  |   4 +-
 cde/config/cf/linux.cf                      |   7 +
 cde/config/cf/site.def                      |   4 +-
 cde/config/imake/imakemdep.h                |   7 +-
 12 files changed, 952 insertions(+), 8 deletions(-)
 create mode 100644 cde/config/cf/DtInfo.rules
 create mode 100644 cde/config/cf/DtInfo.tmpl

diff --git a/cde/.gitignore b/cde/.gitignore
index 6db7d00..c0f6a23 100644
--- a/cde/.gitignore
+++ b/cde/.gitignore
@@ -300,6 +300,20 @@ config/imake/Makefile.proto
 book.log
 book.out.idx
 book.esis
+doc/C/guides/builderGuide/TOC.sgm
+doc/C/guides/docbookGuide/TOC.sgm
+doc/C/guides/dtkshGuide/TOC.sgm
+doc/C/guides/glossary/TOC.sgm
+doc/C/guides/helpGuide/TOC.sgm
+doc/C/guides/i18nGuide/TOC.sgm
+doc/C/guides/infoAPg/TOC.sgm
+doc/C/guides/infoUGd/TOC.sgm
+doc/C/guides/progGuide/TOC.sgm
+doc/C/guides/progOview/TOC.sgm
+doc/C/guides/sysAdminGuide/TOC.sgm
+doc/C/guides/ttGuide/TOC.sgm
+doc/C/guides/usersGuide/TOC.sgm
+doc/C/cde.dti/
 doc/C/help-sdl/
 doc/C/m-guides/
 doc/C/man/man1/
@@ -542,13 +556,16 @@ programs/dthelp/parser/pass2/util/fclndir
 programs/dtinfo/clients/dtinfo_start/dtinfo_start
 programs/dtinfo/clients/dtinfo_start/dtinfo_start.opnums
 programs/dtinfo/dtinfo/install/lib/fonts/dtinfo.bdf
+programs/dtinfo/dtinfo/install/lib/fonts/dtinfo.pcf
 programs/dtinfo/dtinfo/install/lib/fonts/dtinfo.pcf.gz
 programs/dtinfo/dtinfo/install/lib/fonts/dtinfo.pcf.Z
+programs/dtinfo/dtinfo/install/lib/fonts/fonts.dir
 programs/dtinfo/dtinfo/src/Agents/Agents.d
 programs/dtinfo/dtinfo/src/Agents/Agents.h
 programs/dtinfo/dtinfo/src/Agents/Agents.msg
 programs/dtinfo/dtinfo/src/Basic/Basic.d
 programs/dtinfo/dtinfo/src/Basic/Basic.h
+programs/dtinfo/dtinfo/src/Dtinfo
 programs/dtinfo/dtinfo/src/Graphics/Graphics.d
 programs/dtinfo/dtinfo/src/Graphics/Graphics.h
 programs/dtinfo/dtinfo/src/Managers/Managers.d
@@ -577,12 +594,18 @@ programs/dtinfo/dtinfo/src/UAS/MMDB/MMDB.msg
 programs/dtinfo/dtinfo/src/UAS/UAS.d
 programs/dtinfo/dtinfo/src/UAS/UAS.h
 programs/dtinfo/dtinfo/src/UAS/UAS.msg
+programs/dtinfo/dtinfo/src/dtinfo
 programs/dtinfo/dtinfo/src/dtinfo.cpp
 programs/dtinfo/dtinfo/src/dtinfo.msg.updated
 programs/dtinfo/dtinfogen/infolib/C
 programs/dtinfo/dtinfogen/infolib/etc/C
 programs/dtinfo/dtinfogen/infolib/etc/C.ISO-8859-1
+programs/dtinfo/dtinfogen/infolib/etc/MixedGen
+programs/dtinfo/dtinfogen/infolib/etc/NCFGen
+programs/dtinfo/dtinfogen/infolib/etc/NodeParser
+programs/dtinfo/dtinfogen/infolib/etc/StyleUpdate
 programs/dtinfo/dtinfogen/infolib/etc/de_DE.ISO-8859-1
+programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker
 programs/dtinfo/dtinfogen/infolib/etc/dtsr
 programs/dtinfo/dtinfogen/infolib/etc/es_ES.ISO-8859-1
 programs/dtinfo/dtinfogen/infolib/etc/fr_FR.ISO-8859-1
@@ -591,6 +614,11 @@ programs/dtinfo/dtinfogen/infolib/etc/it_IT.ISO-8859-1
 programs/dtinfo/dtinfogen/infolib/etc/ja_JP.EUC-JP
 programs/dtinfo/dtinfogen/infolib/etc/mmdb.infolib.spec
 programs/dtinfo/dtinfogen/infolib/etc/online.feature.spec
+programs/dtinfo/dtinfogen/install/valBase
+programs/dtinfo/dtinfogen/mmdb/StyleSheet/validator
+programs/dtinfo/dtinfogen/mmdb/src/dbdrv
+programs/dtinfo/dtinfogen/mmdb/src/dbdrv_c_api
+programs/dtinfo/dtinfogen/mmdb/src/restore
 programs/dtinfo/mmdb/HardCopy/FPset.C
 programs/dtinfo/mmdb/HardCopy/HardCopyFP.C
 programs/dtinfo/mmdb/HardCopy/TemplatesAutoNumber.C
@@ -786,6 +814,7 @@ programs/dtinfo/mmdb/utility/randomize.C
 programs/dtinfo/mmdb/utility/rw_lock.C
 programs/dtinfo/mmdb/utility/xtime.C
 programs/dtinfo/tools/misc/dfiles
+programs/dtinfo/tools/misc/msgsets
 programs/dtinfo/tools/misc/pmaker
 
 # program/dtksh
@@ -1120,6 +1149,8 @@ programs/localized/C/app-defaults/Dticon
 programs/localized/C/app-defaults/Dticon.nls
 programs/localized/C/app-defaults/Dtimsstart
 programs/localized/C/app-defaults/Dtimsstart.nls
+programs/localized/C/app-defaults/Dtinfo
+programs/localized/C/app-defaults/Dtinfo.nls
 programs/localized/C/app-defaults/Dtlogin
 programs/localized/C/app-defaults/Dtlogin.nls
 programs/localized/C/app-defaults/Dtmail
@@ -1213,7 +1244,9 @@ programs/localized/C/msg/dticon.msg
 programs/localized/C/msg/dtimsstart.cat
 programs/localized/C/msg/dtimsstart.msg
 programs/localized/C/msg/dtinfo.cat
+programs/localized/C/msg/dtinfo.msg
 programs/localized/C/msg/dtinfo_start.cat
+programs/localized/C/msg/dtinfo_start.msg
 programs/localized/C/msg/dtksh.cat
 programs/localized/C/msg/dtksh.msg
 programs/localized/C/msg/dtlogin.cat
@@ -1282,6 +1315,8 @@ programs/localized/de_DE.ISO8859-1/app-defaults/Dticon
 programs/localized/de_DE.ISO8859-1/app-defaults/Dticon.nls
 programs/localized/de_DE.ISO8859-1/app-defaults/Dtimsstart
 programs/localized/de_DE.ISO8859-1/app-defaults/Dtimsstart.nls
+programs/localized/de_DE.ISO8859-1/app-defaults/Dtinfo
+programs/localized/de_DE.ISO8859-1/app-defaults/Dtinfo.nls
 programs/localized/de_DE.ISO8859-1/app-defaults/Dtlogin
 programs/localized/de_DE.ISO8859-1/app-defaults/Dtlogin.nls
 programs/localized/de_DE.ISO8859-1/app-defaults/Dtmail
@@ -1416,6 +1451,9 @@ programs/localized/de_DE.ISO8859-1/types/dthelptag.dt.tmsg
 programs/localized/de_DE.ISO8859-1/types/dtims.dt
 programs/localized/de_DE.ISO8859-1/types/dtims.dt.nls
 programs/localized/de_DE.ISO8859-1/types/dtims.dt.tmsg
+programs/localized/de_DE.ISO8859-1/types/dtinfo.dt
+programs/localized/de_DE.ISO8859-1/types/dtinfo.dt.nls
+programs/localized/de_DE.ISO8859-1/types/dtinfo.dt.tmsg
 programs/localized/de_DE.ISO8859-1/types/dtmail.dt
 programs/localized/de_DE.ISO8859-1/types/dtmail.dt.nls
 programs/localized/de_DE.ISO8859-1/types/dtmail.dt.tmsg
@@ -1466,6 +1504,8 @@ programs/localized/es_ES.ISO8859-1/app-defaults/Dticon
 programs/localized/es_ES.ISO8859-1/app-defaults/Dticon.nls
 programs/localized/es_ES.ISO8859-1/app-defaults/Dtimsstart
 programs/localized/es_ES.ISO8859-1/app-defaults/Dtimsstart.nls
+programs/localized/es_ES.ISO8859-1/app-defaults/Dtinfo
+programs/localized/es_ES.ISO8859-1/app-defaults/Dtinfo.nls
 programs/localized/es_ES.ISO8859-1/app-defaults/Dtlogin
 programs/localized/es_ES.ISO8859-1/app-defaults/Dtlogin.nls
 programs/localized/es_ES.ISO8859-1/app-defaults/Dtmail
@@ -1600,6 +1640,9 @@ programs/localized/es_ES.ISO8859-1/types/dthelptag.dt.tmsg
 programs/localized/es_ES.ISO8859-1/types/dtims.dt
 programs/localized/es_ES.ISO8859-1/types/dtims.dt.nls
 programs/localized/es_ES.ISO8859-1/types/dtims.dt.tmsg
+programs/localized/es_ES.ISO8859-1/types/dtinfo.dt
+programs/localized/es_ES.ISO8859-1/types/dtinfo.dt.nls
+programs/localized/es_ES.ISO8859-1/types/dtinfo.dt.tmsg
 programs/localized/es_ES.ISO8859-1/types/dtmail.dt
 programs/localized/es_ES.ISO8859-1/types/dtmail.dt.nls
 programs/localized/es_ES.ISO8859-1/types/dtmail.dt.tmsg
@@ -1648,6 +1691,8 @@ programs/localized/fr_FR.ISO8859-1/app-defaults/Dthelpview
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dthelpview.nls
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dticon
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dticon.nls
+programs/localized/fr_FR.ISO8859-1/app-defaults/Dtinfo
+programs/localized/fr_FR.ISO8859-1/app-defaults/Dtinfo.nls
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dtimsstart
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dtimsstart.nls
 programs/localized/fr_FR.ISO8859-1/app-defaults/Dtlogin
@@ -1784,6 +1829,9 @@ programs/localized/fr_FR.ISO8859-1/types/dthelptag.dt.tmsg
 programs/localized/fr_FR.ISO8859-1/types/dtims.dt
 programs/localized/fr_FR.ISO8859-1/types/dtims.dt.nls
 programs/localized/fr_FR.ISO8859-1/types/dtims.dt.tmsg
+programs/localized/fr_FR.ISO8859-1/types/dtinfo.dt
+programs/localized/fr_FR.ISO8859-1/types/dtinfo.dt.nls
+programs/localized/fr_FR.ISO8859-1/types/dtinfo.dt.tmsg
 programs/localized/fr_FR.ISO8859-1/types/dtmail.dt
 programs/localized/fr_FR.ISO8859-1/types/dtmail.dt.nls
 programs/localized/fr_FR.ISO8859-1/types/dtmail.dt.tmsg
@@ -1834,6 +1882,8 @@ programs/localized/it_IT.ISO8859-1/app-defaults/Dticon
 programs/localized/it_IT.ISO8859-1/app-defaults/Dticon.nls
 programs/localized/it_IT.ISO8859-1/app-defaults/Dtimsstart
 programs/localized/it_IT.ISO8859-1/app-defaults/Dtimsstart.nls
+programs/localized/it_IT.ISO8859-1/app-defaults/Dtinfo
+programs/localized/it_IT.ISO8859-1/app-defaults/Dtinfo.nls
 programs/localized/it_IT.ISO8859-1/app-defaults/Dtlogin
 programs/localized/it_IT.ISO8859-1/app-defaults/Dtlogin.nls
 programs/localized/it_IT.ISO8859-1/app-defaults/Dtmail
@@ -1970,6 +2020,9 @@ programs/localized/it_IT.ISO8859-1/types/dthelptag.dt.tmsg
 programs/localized/it_IT.ISO8859-1/types/dtims.dt
 programs/localized/it_IT.ISO8859-1/types/dtims.dt.nls
 programs/localized/it_IT.ISO8859-1/types/dtims.dt.tmsg
+programs/localized/it_IT.ISO8859-1/types/dtinfo.dt
+programs/localized/it_IT.ISO8859-1/types/dtinfo.dt.nls
+programs/localized/it_IT.ISO8859-1/types/dtinfo.dt.tmsg
 programs/localized/it_IT.ISO8859-1/types/dtmail.dt
 programs/localized/it_IT.ISO8859-1/types/dtmail.dt.nls
 programs/localized/it_IT.ISO8859-1/types/dtmail.dt.tmsg
diff --git a/cde/admin/IntegTools/dbTools/installCDE.src 
b/cde/admin/IntegTools/dbTools/installCDE.src
index 9531ee8..31a05a0 100755
--- a/cde/admin/IntegTools/dbTools/installCDE.src
+++ b/cde/admin/IntegTools/dbTools/installCDE.src
@@ -212,7 +212,7 @@ CleanDaemons()
       true
     elif [ "$PLATFORM" = freebsd ]
     then
-      ps axo pid,comm | grep $i > /tmppsout
+      ps axo pid,comm | grep $i > /tmp/tmppsout
       if [ -s /tmp/tmppsout ]
       then
         awk '{print "kill " $1}' /tmp/tmppsout | /bin/csh -f
diff --git a/cde/config/cf/DtInfo.rules b/cde/config/cf/DtInfo.rules
new file mode 100644
index 0000000..ad6f053
--- /dev/null
+++ b/cde/config/cf/DtInfo.rules
@@ -0,0 +1,415 @@
+XCOMM $TOG: DtInfo.rules /main/21 1997/09/05 11:31:01 samborn $
+
+/* Note whether we are the top level project. */
+#ifndef SeenTopLevelProject
+# define SeenTopLevelProject           YES
+# define DtInfoIsTopLevelProject       YES
+#else
+# define DtInfoIsTopLevelProject       NO
+#endif
+
+/* Chain project rules files. */
+#include <cde.rules>
+
+/* Include our favorites in PROJECT_DEFINES. */
+#ifndef DtInfoProjectDefines
+# define DtInfoProjectDefines  $(DTINFO_DEFINES) $(WIDEC_DEFINES) 
$(I18N_DEFINES) $(SEARCH_DEFINES) $(DLOPEN_DEFINES) $(LM_DEFINES) 
$(BYTE_ORDER_DEFINES)
+#endif
+#ifdef ProjectDefines
+# undef ProjectDefines
+#endif
+#define ProjectDefines         \
+       X11ProjectDefines MotifProjectDefines CdeProjectDefines 
DtInfoProjectDefines
+
+/* Ditto for CXXPROJECT_DEFINES. */
+#ifndef DtInfoCplusplusProjectDefines
+# define DtInfoCplusplusProjectDefines DtInfoProjectDefines
+#endif
+#ifdef CplusplusProjectDefines
+# undef CplusplusProjectDefines
+#endif
+#define CplusplusProjectDefines        \
+       X11CplusplusProjectDefines MotifCplusplusProjectDefines 
CdeCplusplusProjectDefines DtInfoCplusplusProjectDefines
+
+
+/*
+ * library building stuff
+ */
+
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+# define makelibT(libname)                                     @@\
+       makelib(libname)                                        @@\
+                                                               @@\
+libname/lib/**/libname/**/T.a: FRC                             @@\
+       @(cd libname ;  \                                       @@\
+               echo "### Making lib libname Templates ###" ; \ @@\
+               $(MAKE) lib/**/libname/**/T.a ; \               @@\
+       )                                                       
+
+# define makelibsubsubdir(subdir,libname)                      @@\
+                                                               @@\
+subdir/libname/lib/**/libname.a: FRC                           @@\
+       @(cd subdir ;   \                                       @@\
+               echo "### Making lib libname ###" ; \           @@\
+               $(MAKE) libname/lib/**/libname.a ; \            @@\
+       )                                               
+       
+# define makelibTsubsubdir(subdir,libname)                     @@\
+                                                               @@\
+subdir/libname/lib/**/libname/**/T.a: FRC                      @@\
+       @(cd subdir ;   \                                       @@\
+               echo "### Making lib libname Templates ###" ; \ @@\
+               $(MAKE) libname/lib/**/libname/**/T.a ; \       @@\
+       )                                                       
+#else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3 */
+# define makelibT(libname)                                     @@\
+       makelib(libname)
+#endif
+
+#define makelib(libname)                                       @@\
+       makelibd(libname,)
+
+#define makelibd(libname, deps)                                        @@\
+libname/lib/**/libname.a: deps FRC                             @@\
+       @(cd libname; \                                         @@\
+               echo "### Making lib libname ###" ; \           @@\
+               $(MAKE) lib/**/libname.a ; \                    @@\
+               if [ -d "$(TEMPLATE_DB)" ]; then \              @@\
+                   $(MAKE) lib/**/libname/**/T.a ; \           @@\
+               fi \                                            @@\
+       )                                                       @@\
+libname/libname.d:     libname/Classlist.mk                    @@\
+       @(cd libname; \                                         @@\
+               echo "### Making dfiles in libname ###" ; \     @@\
+               $(MAKE) libname.d ;\                            @@\
+       )                                                       @@\
+libname/libname.h:     libname/Classlist.mk                    @@\
+       @(cd libname; \                                         @@\
+               echo "### Making dfiles in libname ###" ; \     @@\
+               $(MAKE) libname.h ;\                            @@\
+       )                                                       @@\
+libname/libname.msg:   libname/Classlist.mk                    @@\
+       @(cd libname; \                                         @@\
+               echo "### Making msgs in libname ###" ; \       @@\
+               $(MAKE) libname.msg ;\                          @@\
+       )                                                       @@\
+                                                               @@\
+FRC:                                                           @@\
+
+
+XCOMM
+XCOMM makes toplevel Prelude.h
+XCOMM
+#define make_prelude(libraries, deps)                          @@\
+Prelude.h: deps                                                        @@\
+       @$(RM) $@                                               @@\
+       $(OLIAS)/tools/misc/pmaker libraries
+
+
+XCOMM
+XCOMM build .d and .h files within a library
+XCOMM
+#define make_libfiles(library,classes)                         @@\
+dfiles:: Concat(library,.d) Concat(library,.h)                 @@\
+Concat(library,.d) : Classlist.mk                              @@\
+       $(RM) $@                                                @@\
+       $(OLIAS)/tools/misc/dfiles d library classes            @@\
+Concat(library,.h) : Classlist.mk                              @@\
+       $(RM) $@                                                @@\
+       $(OLIAS)/tools/misc/dfiles h library classes            @@\
+clean::                                                                @@\
+       $(RM) Concat(library,.d) Concat(library,.h)
+
+#define make_msgs(library, msgs)                               @@\
+messages:: Concat(library,.msg)                                        @@\
+Concat(library,.msg) : Classlist.mk msgs                       @@\
+       $(RM) $@                                                @@\
+       cat msgs > Concat(library,.msg)                         @@\
+clean::                                                                @@\
+       $(RM) Concat(library,.msg)
+
+XCOMM Build a library
+XCOMM *NOTE* SimpleLibrary does *not* build a real ar-style
+XCOMM library; it merely uses ld -r -o to concatenate a set
+XCOMM of .o's together. Use RealLibrary to build an honest-
+XCOMM -to-gosh ranlib'd library. Unless you really need true
+XCOMM library behavior (partial selection of contents, etc.),
+XCOMM SimpleLibrary is the better choice.
+
+#define SimpleLibraryWithAddedObjs(libname,objlist,libdir,objlist1)    @@\
+AllTarget(Concat(lib,libname.a))                               @@\
+                                                               @@\
+Concat(lib,libname.a): objlist                                 @@\
+       $(RM) $@                                                @@\
+       @echo "### Making SimpleLibraryWithAddedObjs libname.a" @@\
+       $(LD) -r -o $@ objlist objlist1
+
+#define SimpleLibrary(libname,objlist,libdir)                  @@\
+AllTarget(Concat(lib,libname.a))                               @@\
+                                                               @@\
+Concat(lib,libname.a): objlist                                 @@\
+       $(RM) $@                                                @@\
+       @echo "### Making SimpleLibrary libname.a"              @@\
+       $(LD) -r -o $@ objlist
+
+
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#define SimpleLibraryT(libname,objlist,libdir)                 @@\
+SimpleLibrary(libname,objlist,libdir)                          @@\
+                                                               @@\
+AllTarget(Concat(lib,libname/**/T.a))                          @@\
+                                                               @@\
+Concat(lib,libname/**/T.a):                                    @@\
+       $(RM) $@                                                @@\
+       @echo "### Making SimpleLibraryT libname Templates"     @@\
+       find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $@ @@\
+                                                               @@\
+clean::                                                                @@\
+       ptclean
+#else
+#define SimpleLibraryT(libname,objlist,libdir)                 @@\
+SimpleLibrary(libname,objlist,libdir)                          @@\
+                                                               @@\
+AllTarget(Concat(lib,libname/**/T.a))                          @@\
+                                                               @@\
+Concat(lib,libname/**/T.a): TemplateObjs                       @@\
+       $(RM) $@                                                @@\
+       @echo "### Making SimpleLibraryT libname Templates"     @@\
+       $(AR) $@ TemplateObjs                                   @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) -r $(TEMPLATE_DB)
+#endif
+
+#define RealLibrary(libname,objlist,libdir)                    @@\
+AllTarget(Concat(lib,libname.a))                               @@\
+                                                               @@\
+Concat(lib,libname.a): objlist                                 @@\
+       $(RM) $@                                                @@\
+       @echo "### Making RealLibrary libname.a"                @@\
+       ar cq $@ objlist                                        @@\
+       RanLibrary($@)
+
+#define NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)   @@\
+AllTarget(Concat(lib,libname.a))                               @@\
+                                                               @@\
+Concat(lib,libname.a): objlist otherdeps                       @@\
+       $(RM) $@                                                @@\
+       @echo "### Making NotSoSimpleLibrary libname.a"         @@\
+       $(LD) -r -o $@ objlist
+
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+#define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps)  @@\
+NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)           @@\
+                                                               @@\
+AllTarget(Concat(lib,libname/**/T.a))                          @@\
+                                                               @@\
+Concat(lib,libname/**/T.a):                                    @@\
+       $(RM) $@                                                @@\
+       @echo "### Making NotSoSimpleLibraryT libname Templates"@@\
+       find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $@ @@\
+                                                               @@\
+clean::                                                                @@\
+       ptclean
+#else
+#define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps)  @@\
+NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)           @@\
+                                                               @@\
+AllTarget(Concat(lib,libname/**/T.a))                          @@\
+                                                               @@\
+Concat(lib,libname/**/T.a):                                    @@\
+       $(RM) $@                                                @@\
+       @echo "### Making NotSoSimpleLibraryT libname Templates"@@\
+       $(AR) $@ TemplateObjs                                   @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) -r $(TEMPLATE_DB)
+#endif
+
+#define do_subdirs_imakefile(subdirs) /* nothing */
+#define do_subdirs(subdirs) /* nothing */
+
+#define foreach_subdirs(name, subdirs)                         @@\
+NamedTargetSubdirs(name,subdirs,name,NullParameter,name)
+
+/* Yacc and Lex Support */
+
+#define SimpleCPlusPlusLexTarget(lexname)                      @@\
+lexname.o : lexname.l                                          @@\
+       $(RM) lexname.C                                         @@\
+       $(FLEX) $(LFLAGS) -t lexname.l  > lexname.C             @@\
+       $(CXX) -c $(CXXFLAGS) lexname.C
+
+#define LexTarget(lexname, parsename)                          @@\
+lexname.o : lexname.l                                          @@\
+       $(RM) lexname.C lex.yy.c lexname.o                      @@\
+       $(FLEX) $(LFLAGS) lexname.l                             @@\
+       sed 's/yy/parsename/g' lex.yy.c | sed 's/YY/parsename/g' > lexname.C @@\
+       $(CXX)  -c $(CXXFLAGS) lexname.C                        @@\
+       $(RM) lexname.C lex.yy.c
+
+#define YaccTarget(file, parser)                               @@\
+file.o: file.y                                                 @@\
+       $(RM) file.tab.h file.C y.tab.h y.tab.c file.o          @@\
+       $(BYACC) $(YFLAGS) file.y                               @@\
+       sed 's/yy/parser/g' y.tab.h > file.tab.h                @@\
+       sed 's/yy/parser/g' y.tab.c | sed 's/YY/parser/g' > file.C      @@\
+       $(CXX) $(CXXFLAGS) -c  file.C                           @@\
+       $(RM) file.C y.tab.h y.tab.c
+
+/*
+ * C++ Support (from here down...)
+ */
+
+/*
+ *  On hp, *..c files need to be removed
+ */
+#ifdef HPArchitecture
+#  define CplusObjectCompile(options) $(RM) $*..c $*.o $*.prep @@\
+       ObjectCplusplusCompile(options)
+#else /* not defined(HPArchitecture) */
+# define CplusObjectCompile(options) ObjectCplusplusCompile(options)
+#endif
+
+#define CplusIntermediateCompile(options) $(RM) $@             @@\
+       $(CXX) +i -c $(CXXFLAGS) options `basename $@ .c`CCsuf
+
+/* need to remove this and "C++*", and use default from r6, with "CXX*": */
+#ifdef  NormalCplusplusObjectRule
+# undef  NormalCplusplusObjectRule
+#endif
+#define NormalCplusplusObjectRule()                            @@\
+.SUFFIXES: .C .o                                               @@\
+                                                               @@\
+.C.o:                                                          @@\
+       CplusObjectCompile($(_NOOP_))
+
+#define HPchatr(program)                                       @@\
+install::                                                      @@\
+       chatr +s enable program
+               
+/*
+ * Total bogosity with error codes:
+ *     if [ `chatr $@ | grep 'libftft'` -gt 0 ] ; then \       @@\
+ *             chatr -l `chatr $@ | grep 'libftft' | \         @@\
+ *             sed -e 's|[^/]*\(/VOB/.*\)|\1|'` +s enable $@;\ @@\
+ *     fi                                                      @@\
+ *     echo "chatr checked"                                    @@\
+ */
+
+#define ComplexCPlusPlusProgram(program)                       @@\
+PROGRAM = program                                              @@\
+                                                               @@\
+AllTarget(program)                                             @@\
+                                                               @@\
+program: $(OBJS) $(DEPLIBS)                                    @@\
+       RemoveTargetProgram($@)                                 @@\
+       $(CXXLINK) -o $@ $(OBJS) $(CXXLDOPTIONS) $(STATIC) $(LOCAL_LIBRARIES) 
$(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) $(SYS_LIBRARIES) @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) $(PROGRAM)                                        @@\
+
+#define CPlusPlusProgram(program,objects,libs)                 @@\
+program: objects                                               @@\
+       RemoveTargetProgram($@)                                 @@\
+       $(CXXLINK) -o $@ objects $(CXXLDOPTIONS) $(STATIC) libs $(LDLIBS) 
$(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) program
+
+#define SimpleCPlusPlusProgram(program,objects,libs)           @@\
+       AllTarget(program)                                      @@\
+       CPlusPlusProgram(program,objects,libs)  
+
+
+
+#define SpecialCPlusPlusObjectRule(objs,depends,options)       @@\
+objs:  depends                                                 @@\
+       CplusObjectCompile(options)                             @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) *..c
+
+#define SpecialCPlusPlusExpandRule(expn,depends,options)       @@\
+expn:  depends                                                 @@\
+       CplusIntermediateCompile(options)
+
+XCOMM
+XCOMM  CProgram is required by C modules in build-tools
+XCOMM
+#define CProgram(program,objects,libs)                         @@\
+program: objects                                               @@\
+       RemoveTargetProgram($@)                                 @@\
+       $(CCLINK) -o $@ objects $(LDOPTIONS) $(STATIC) libs $(LDLIBS) 
$(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) @@\
+                                                               @@\
+clean::                                                                @@\
+       $(RM) program
+
+XCOMM 
+XCOMM SimpleCProgram is required by the C modules in buildtools to build
+XCOMM statically
+XCOMM
+#define SimpleCProgram(program,objects,libs)                   @@\
+       AllTarget(program)                                      @@\
+       CProgram(program,objects,libs)
+
+
+XCOMM
+XCOMM platform dependent executables, shell scripts
+XCOMM
+#define InstallLibFile(filename)                               @@\
+       InstallNonExecFile(filename,$(INSTALL_LIB_DIR))
+
+
+XCOMM The following macros are used by the build tools
+
+/*
+ * InstallBuildToolsBinary - generate rules to install an executable
+ *     program in build tools.
+ */
+#ifndef InstallBuildToolsBinary 
+# define InstallBuildToolsBinary(program)                      @@\
+install_buildtools::                                           @@\
+       MakeDir($(INSTALL_PLATFORM_ETC_DIR))                    @@\
+       $(INSTALL) -c $(INSTPGMFLAGS) program $(INSTALL_PLATFORM_ETC_DIR)
+#endif /* InstallBuildToolsBinary */
+
+/*
+ * InstallBuildToolsScript - generate rules for installing scripts
+ */
+#ifndef InstallBuildToolsScript
+# define InstallBuildToolsScript(program)                      @@\
+install_buildtools:: program                                   @@\
+       MakeDir($(INSTALL_BIN_DIR))                             @@\
+       $(INSTALL) -c $(INSTBINFLAGS) program $(INSTALL_BIN_DIR)
+#endif /* InstallBuildToolsScript */
+
+/*
+ * InstallPlatformBuildToolsScript - generate rules for installing
+ *     scripts in platform specific directory.
+ */
+#ifndef InstallPlatformBuildToolsScript
+# define InstallPlatformBuildToolsScript(program)              @@\
+install_buildtools:: program                                   @@\
+       MakeDir($(INSTALL_PLATFORM_ETC_DIR))                    @@\
+       $(INSTALL) -c $(INSTBINFLAGS) program $(INSTALL_PLATFORM_ETC_DIR)
+#endif /* InstallPlatformBuildToolsScript */
+
+
+XCOMM 
+XCOMM only use this for files that are platform independent
+XCOMM /* this is based upon InstallScript in Imake.rules */
+XCOMM
+#define InstallShellProg(progname)                             @@\
+install:: progname                                             @@\
+       MakeDir($(DESTDIR)$(INSTALL_BIN_DIR))                   @@\
+       $(INSTALL) -c $(INSTBINFLAGS) progname 
$(DESTDIR)$(INSTALL_BIN_DIR)/progname
+
+XCOMM
+XCOMM don't depend on built-in .C.o rules
+XCOMM
+
+
+XCOMM
+XCOMM forcing old C to be used
+XCOMM
diff --git a/cde/config/cf/DtInfo.tmpl b/cde/config/cf/DtInfo.tmpl
new file mode 100644
index 0000000..d9bafe3
--- /dev/null
+++ b/cde/config/cf/DtInfo.tmpl
@@ -0,0 +1,445 @@
+XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
+XCOMM OLIAS project common makefile
+
+/* Chain project template files. */
+#include <cde.tmpl>
+
+#define CdeDesktop
+XCOMM #define BuildOutsideCde
+
+#ifdef  BuildOutsideCde
+XCOMM These are set by default when building outside of the CDE source
+XCOMM tree. Some use-installed support needs to be implemented for all
+XCOMM cases, however, once CDE build integration and revamped CDE Imake
+XCOMM config based on X11R6 is complete.
+# ifndef UseInstalledCde
+XCOMM      build using installed Motif and CDE libs and headers
+#  define UseInstalledCde
+# endif
+# ifndef UseInstalled
+XCOMM      build using installed X11 libs and headers
+#  define UseInstalled
+# endif
+# ifndef BuildLocalInfolibs
+XCOMM      infolib(s) built from local subtree 
+#  define BuildLocalInfolibs
+# endif
+# ifndef BuildStandalonePackaging
+XCOMM      provide for independent (non-cde) packaging
+#  define BuildStandalonePackaging
+# endif
+# ifndef InstallMultiPlatform
+XCOMM      have multiple platforms run out of the same install tree,
+XCOMM      sharing everything except binary parts
+#  define InstallMultiPlatform
+# endif
+#endif
+
+
+#ifdef CdeDesktop
+XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
+XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
+# define DtinfoClient
+# define UseMotifXpm
+# define UseTooltalk
+XCOMM      X11 R6 session management
+# define UseSessionMgmt
+#endif
+
+#ifdef DtinfoClient
+XCOMM Turn off all flags not applicable to CDE dtinfo client,
+XCOMM and turn on those that are:
+XCOMM     -- search engine
+# define UseDtSearch
+# ifdef UseQSearch
+#  undef UseQSearch
+# endif
+# ifdef UseFulcrum
+#  undef UseFulcrum
+# endif
+XCOMM     -- canvas and/or rendering engine
+# define UseDtCanvas
+# ifdef UseTmlRenderer
+#  undef UseTmlRenderer
+# endif
+XCOMM     -- remote connections
+# ifdef UsePython
+#  undef UsePython
+# endif
+XCOMM     -- specific license managers
+# ifdef DoLicenseManagement
+#  undef DoLicenseManagement
+# endif
+XCOMM     -- special libraries
+# ifdef UseRWClasses
+#  undef UseRWClasses
+# endif
+#endif
+
+#define WideCharSupport
+#define UseWideChars
+#define Internationalize
+#define JapaneseLocal
+
+
+#ifdef DtinfoClient
+DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
+#elif defined(CdeDesktop)
+DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
+#else
+DTINFO_DEFINES=
+#endif
+
+#ifdef UseWideChars
+WIDEC_DEFINES=-DUseWideChars
+#else
+WIDEC_DEFINES=
+#endif
+
+#ifdef Internationalize
+I18N_DEFINES=-DInternationalize
+#else
+I18N_DEFINES=
+#endif
+
+#ifdef UseQSearch
+XCOMM  The QSearch Japanese-language search engine is available only on
+XCOMM  Solaris, so only enable it there.
+SEARCH_DEFINES=-DUseQSearch
+#elif defined(UseDtSearch)
+SEARCH_DEFINES=-DDTSEARCH
+#else
+SEARCH_DEFINES=-DFULCRUM
+#endif
+
+#ifdef UseDlOpen
+DLOPEN_DEFINES=-DUseDlOpen
+#else
+DLOPEN_DEFINES=
+#endif
+
+#ifdef DoLicenseManagement
+LM_DEFINES=
+LM_INCLUDES=
+#else
+LM_DEFINES=
+LM_INCLUDES=
+#endif
+
+#ifdef Purify
+XCOMM if Purify is defined then set the variable PURIFY - cso 941215
+PURIFY=PurifyCmd
+#endif
+
+#ifdef SunArchitecture
+STATIC=-Bstatic
+DYNAMIC=-Bdynamic
+# if (OSMajorVersion == 5)
+EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
+# endif
+# if (OSMajorVersion == 4)
+#  define BuildPython
+# endif
+#endif
+
+#ifdef UXPArchitecture
+STATIC=-Bstatic
+DYNAMIC=-Bdynamic
+EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lgen
+#endif
+
+#ifdef HPArchitecture
+STATIC=-Wl,-a,archive
+DYNAMIC=-Wl,-a,shared
+# define NeedLocalAlloca
+#endif
+
+
+XCOMM set platform subdir finder
+#ifdef  HAL32V7Architecture
+PLATFORM=halos 
+# define DoLicenseManagement
+#elif defined(HPArchitecture)
+PLATFORM=hpux
+#elif defined(AIXArchitecture)
+PLATFORM=aix
+#elif defined(UXPArchitecture)
+PLATFORM=uxpds
+#elif defined(AlphaArchitecture)
+PLATFORM=digital
+#elif defined(USLArchitecture)
+PLATFORM=usl
+#elif defined(SVR4Architecture) && defined(i386Architecture)
+PLATFORM=usl
+#elif defined(SystemV4) && defined(i386)
+PLATFORM=solaris-386
+#elif defined(SystemV4)
+PLATFORM=solaris
+#else
+PLATFORM=sunos
+#endif
+XCOMM end set platform subdir finder
+
+
+OLIAS = $(PROGRAMSRC)/dtinfo
+CONTROL=$(OLIAS)/control
+LIBRARY = $(OLIAS)/library
+#ifdef UseTmlRenderer
+TML = $(OLIAS)/tml
+#endif
+WWL = $(OLIAS)/dtinfo/wwl
+MMDB = $(CDELIBSRC)/DtMmdb
+EXCEPTIONS = $(MMDB)/dti_excs
+TOOLS = $(OLIAS)/tools
+UAS = $(OLIAS)/dtinfo/src/UAS
+LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
+
+#ifdef UsePython
+XCOMM
+XCOMM  Python-related definitions
+XCOMM
+PYTHON_ROOT = $(LIBRARY)/python/unix
+PYTHON = $(PYTHON_ROOT)/python
+PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
+PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python 
-L$(PYTHON_ROOT)/Objects \
+                 -L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
+PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython 
-lObjects -lParser -lreadline
+PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
+#endif
+
+#ifdef UseTmlRenderer
+TML_INCLUDES = -I$(TML)/include
+TML_LIBS=-L$(TML)/src -ltml
+#endif
+WWL_INCLUDES = -I$(WWL)/include
+WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
+EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
+MMDB_INCLUDES = -I$(MMDB)
+UAS_INCLUDES = -I$(UAS)/Base
+
+#ifdef UseFulcrum
+FULCRUM_INCLUDES = FulcrumIncludes
+FULCRUM_DEFINES = FulcrumDefines
+FULCRUM_LIBDIR = FulcrumLibDir
+#endif
+#ifdef UseQSearch
+QSEARCH_LIBDIR = QSearchLibDir
+#endif
+#ifdef UseDtSearch
+# ifdef UseInstalledCde
+DTSEARCH_INCLUDES = $(CDEINCLUDES)
+DTSEARCH_LIBDIR = /usr/dt/lib
+# elif defined(BuildOutsideCde)
+DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
+DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
+# else
+DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
+DTSEARCH_LIBDIR = $(TOP)/exports/lib
+# endif
+#endif
+
+XCOMM BuildTools Include macros
+GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
+
+#ifdef UseFulcrum
+# if defined(AIXArchitecture) || defined(RsArchitecture)
+XCOMM -- Need to add something here to circumvent lack of
+XCOMM -- LD_LIBRARY_PATH on aix - SWM
+FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
+# else
+FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
+# endif
+#else
+# ifdef UseQSearch
+QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
+# elif defined(UseDtSearch)
+DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
+# endif
+#endif
+
+MISC_INCLUDES = -I$(MMDB)/misc
+
+DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
+DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
+
+#ifdef  BuildOutsideCde
+DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
+DTHELP_INCLUDES=$(OLIAS)/../../exports/include
+TREE_INCLUDES=-I$(OLIAS)/../../exports/include 
-I$(OLIAS)/../../exports/include/Misc 
+#else
+DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
+DTHELP_INCLUDES=$(TOP)/exports/include
+DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
+
+TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
+#endif
+#ifdef UseInstalledCde
+CDEINCLUDES = -I/usr/dt/include
+CDE_LIBS = -L/usr/dt/lib
+#else
+CDEINCLUDES = -I$(TOP)/exports/include
+CDE_LIBS = -L$(TOP)/exports/lib
+#endif
+MTFLIBDIR = $(TOP)/imports/motif/lib
+
+
+BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) 
$(TREE_INCLUDES) $(CDEINCLUDES)
+
+#ifdef UseRWClasses
+RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
+RW_LIB=-lrwtool
+RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
+#endif
+
+COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
+COMMON_CLASS_LIB=-lcommon_class
+COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
+
+DBUG_INCLUDES=
+DBUG_LIBS=
+
+STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
+
+
+TREERES=$(TOOLS)/misc/treeres
+
+XCOMM exceptions library
+EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
+EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
+
+MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
+MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
+
+#ifdef UseFulcrum
+UAS_LIBS = \
+$(UAS)/Base/libBase.a \
+$(UAS)/MMDB/libMMDB.a \
+$(UAS)/Fulcrum/libFulcrum.a
+#endif
+
+MATH_LIB=$(DYNAMIC) -lm
+MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
+
+#ifdef DoLicenseManagement
+XCOMM Licensing libraries and Include macros
+XCOMM LICENSE_LROOT is the root of local libraries
+XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
+
+LICENSE_LROOT=LicenseLocalLibDir
+LICENSE_FROOT=LicenseForeignLibDir
+
+XCOMM Force-load the Mech*.o files so their static initializers get called,
+XCOMM tying the mechanisms into the licensing system
+LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
+
+LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
+-L$(LICENSE_LROOT)/libdes -loliasdes
+LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
+LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
+#endif
+
+XCOMM
+XCOMM project specific includes go into EXTRA_INCLUDES
+XCOMM
+
+CEXT = c
+
+XCOMM
+XCOMM Installation stuff
+XCOMM
+XCOMM
+
+PLATFORM_BIN_DIR=$(PLATFORM)
+PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
+
+INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
+XCOMM the browser binary uses the following, and must not install to
+XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
+INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
+INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
+INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
+INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
+INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
+#ifdef InstallMultiPlatform
+INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
+INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
+INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
+#else
+INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
+INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
+INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
+#endif
+INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
+INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
+
+XCOMM When installing into the following, the lang value must be inserted
+XCOMM as the next directory level, due to language-specific content.
+INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
+INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
+INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
+INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
+#ifdef InstallMultiPlatform
+XCOMM message catalogs as binaries
+INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
+#else
+INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
+#endif
+
+#define BigEndianDefines -DOLIAS_BIG_ENDIAN
+#define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
+#define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
+
+#ifndef TemplateDB
+#define TemplateDB     Templates.DB
+#endif
+
+XCOMM      Following X11 and Mtf defines should be replaced w/ std config
+#ifndef X11Includes
+# define X11Includes -I$(TOP)/imports/x11/include
+#endif
+#ifndef MtfIncludes
+# define MtfIncludes -I$(TOP)/imports/motif/include
+#endif
+#ifndef MtfLibraries
+# define MtfLibraries  $(DYNAMIC) $(XMLIB)
+#endif
+#ifndef X11Libraries
+# define X11Libraries   $(DYNAMIC) $(XTOOLLIB) $(XPLIB) $(XMULIB) $(XLIB)
+#endif
+
+X11_INCLUDES=X11Includes
+X11_LIBRARIES=X11Libraries
+MTF_INCLUDES=MtfIncludes
+MTF_LIBRARIES=MtfLibraries
+XMLIB = -L$(MTFLIBDIR) -lXm
+XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
+
+#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
+NO_EXC=-noex
+TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
+TEMPLATE_DB=*.o.ptrep
+#elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2 
+NO_EXC=-noex
+TEMPLATE_DB=TemplateDB
+TEMPLATE_OBJS=TemplateDB//**/*.o
+#endif
+
+#define TemplateObjs $(TEMPLATE_OBJS)
+
+#if defined(i386Architecture) || defined(AMD64Architecture) || 
defined(AlphaArchitecture)
+# define ByteOrderDefines LittleEndianDefines
+#elif defined(HAL32V7Architecture) || defined(SunArchitecture) || 
defined(AIXArchitecture) || defined(HPArchitecture) || defined(UXPArchitecture)
+# define ByteOrderDefines BigEndianDefines
+#else
+# define ByteOrderDefines DefaultEndianDefines
+#endif
+
+BYTE_ORDER_DEFINES=ByteOrderDefines
+
+/*
+ *  The following stuffs are default rules required by build_tools
+ *
+ */
+
+install_buildtools::
+
diff --git a/cde/config/cf/FreeBSD.cf b/cde/config/cf/FreeBSD.cf
index fc73902..e57082b 100644
--- a/cde/config/cf/FreeBSD.cf
+++ b/cde/config/cf/FreeBSD.cf
@@ -148,6 +148,12 @@ XCOMM operating system:  OSName 
(OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 # define OptimizedCDebugFlags -O2 -fno-strict-aliasing
 #endif
 
+#ifdef HasGcc2
+CXXDEPENDINCLUDE != CppCmd -x c++ -Wp,-v < /dev/null \
+                   2>&1 | sed -n 's/ \(.*[cg]++.*\)/-I\1/p'
+#define CplusplusDependIncludes        $(CXXDEPENDINCLUDE)
+#endif
+
 #define ServerExtraDefines     GccGasOption XFree86ServerDefines
 
 #define StandardDefines                -DCSRG_BASED
diff --git a/cde/config/cf/Imake.tmpl b/cde/config/cf/Imake.tmpl
index fc8b419..db4a1b9 100644
--- a/cde/config/cf/Imake.tmpl
+++ b/cde/config/cf/Imake.tmpl
@@ -399,6 +399,9 @@ XCOMM the platform-specific parameters - edit site.def to 
change
 #define DependDir $(CONFIGSRC)/makedepend
 #endif
 #endif
+#ifndef DependDefines
+#define DependDefines /**/
+#endif
 #ifndef UNCOMPRESSPATH
 #define UNCOMPRESSPATH /usr/ucb/uncompress
 #endif
@@ -904,6 +907,7 @@ XCOMM the platform-specific parameters - edit site.def to 
change
         CONFIGSRC = ConfigSrc
          IMAKESRC = $(CONFIGSRC)/imake
         DEPENDSRC = DependDir
+    DEPENDDEFINES = DependDefines
 
           INCROOT = IncRoot            /* base of where to put header files */
         USRLIBDIR = UsrLibDir          /* nonshared libraries */
diff --git a/cde/config/cf/README b/cde/config/cf/README
index ecbabcd..95ccb10 100644
--- a/cde/config/cf/README
+++ b/cde/config/cf/README
@@ -24,6 +24,7 @@ Imake.tmpl provides defaults for the following variables:
        ConstructMFLAGS         System V option to set MFLAGS make variable
        CpCmd                   command to copy one file to another
        CplusplusCmd            command to run C++ compiler
+       CplusplusDependIncludes additional -I's for makedepend
        CplusplusFilt           command to run C++ name demangler
        CplusplusYaccCmd        command to produce C++ source from yacc source
        CppCmd                  command to run C preprocessor
@@ -33,6 +34,7 @@ Imake.tmpl provides defaults for the following variables:
        DefaultCDebugFlags      debug/optimize flags for programs
        DefaultUsrBin           program directory used even if PATH not set
        DependFlags             extra makedepend flags
+       DependDefines           additional -D's for makedepend
        DoRanlibCmd             boolean for system uses ranlib
        EqnCmd                  command used for eqn
        ExecableScripts         boolean for systems that can exec() #!/bin/sh
diff --git a/cde/config/cf/X11.tmpl b/cde/config/cf/X11.tmpl
index 6befd6c..b5c354d 100644
--- a/cde/config/cf/X11.tmpl
+++ b/cde/config/cf/X11.tmpl
@@ -737,10 +737,18 @@ XCOMM X Window System make variables; these need to be 
coordinated with rules
 
      INSTAPPFLAGS = $(INSTDATFLAGS)    /* XXX - this should go away - XXX */
 
+#ifdef X11ProjectRoot
+     XPROJECTROOT = X11ProjectRoot
+#endif
+
 #if UseInstalledX11
               RGB = $(BINDIR)/rgb
             FONTC = $(BINDIR)/bdftopcf
         MKFONTDIR = $(BINDIR)/mkfontdir
+#elif defined(X11ProjectRoot)
+              RGB = $(XPROJECTROOT)/bin/rgb
+            FONTC = $(XPROJECTROOT)/bin/bdftopcf
+        MKFONTDIR = $(XPROJECTROOT)/bin/mkfontdir
 #else
               RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
             FONTC = $(CLIENTENVSETUP) $(XBUILDBINDIR)/bdftopcf
@@ -767,9 +775,6 @@ XCOMM X Window System make variables; these need to be 
coordinated with rules
         EXTINCSRC = $(XTOP)/include/extensions
      TRANSCOMMSRC = $(LIBSRC)/xtrans
    TRANS_INCLUDES = -I$(TRANSCOMMSRC)
-#ifdef X11ProjectRoot
-     XPROJECTROOT = X11ProjectRoot
-#endif
 #ifdef BuildLibPathVar
 # ifdef SystemBuildLibPath
   SYSTEMENVLIBDIR = SystemBuildLibPath
diff --git a/cde/config/cf/bsdLib.rules b/cde/config/cf/bsdLib.rules
index f2fff8c..c55b67c 100644
--- a/cde/config/cf/bsdLib.rules
+++ b/cde/config/cf/bsdLib.rules
@@ -20,7 +20,7 @@ XCOMM $XConsortium: bsdLib.rules /main/3 1996/09/28 16:09:18 
rws $
 #define ShLibIncludeFile <bsdLib.tmpl>
 #endif
 #ifndef SharedLibraryLoadFlags
-#define SharedLibraryLoadFlags -Bshareable
+#define SharedLibraryLoadFlags -shared
 #endif
 #ifndef PositionIndependentCFlags
 #define PositionIndependentCFlags -fpic
@@ -49,7 +49,7 @@ AllTarget(Concat(lib,libname.so.rev))                         
        @@\
                                                                        @@\
 Concat(lib,libname.so.rev):  solist $(EXTRALIBRARYDEPS)                        
@@\
        $(RM) $@~                                                       @@\
-       (cd down; $(LD) -o up/$@~ -soname $@ $(SHLIBLDFLAGS) solist 
$(REQUIREDLIBS)) @@\
+       (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@ solist 
$(REQUIREDLIBS)) @@\
        $(RM) $@                                                        @@\
        $(MV) $@~ $@                                                    @@\
        $(RM) Concat(lib,libname.so)                                    @@\
diff --git a/cde/config/cf/linux.cf b/cde/config/cf/linux.cf
index 12e848e..c217dbd 100644
--- a/cde/config/cf/linux.cf
+++ b/cde/config/cf/linux.cf
@@ -224,6 +224,13 @@ TIRPCLIB =
 # define StandardCppDefines      -traditional 
 #endif /* Mc68020Architecture */
 
+#ifdef HasGcc2
+CXXDEPENDINCLUDE = $(shell CppCmd -x c++ -Wp,-v < /dev/null \
+                  2>&1 | sed -n 's/ \(.*[cg]++.*\)/-I\1/p')
+#define CplusplusDependIncludes        $(CXXDEPENDINCLUDE)
+#endif
+#define DependDefines          -D_SYS_RESOURCE_H -D_SYS_UTSNAME_H
+
 #define StandardDefines                -Dlinux LinuxMachineDefines 
LinuxSourceDefines
 
 #define ConnectionFlags                -DUNIXCONN -DTCPCONN
diff --git a/cde/config/cf/site.def b/cde/config/cf/site.def
index 1c7643b..4dce9f0 100644
--- a/cde/config/cf/site.def
+++ b/cde/config/cf/site.def
@@ -69,8 +69,10 @@ XCOMM site:  $TOG: site.def /main/23 1998/03/19 18:43:26 
mgreess $
 #ifndef X11ProjectRoot
 # if defined(LinuxArchitecture)
 #  define X11ProjectRoot       /usr
-#elif defined(FreeBSDArchitecture)
+# elif defined(FreeBSDArchitecture)
 #  define X11ProjectRoot       /usr/local
+# elif defined(OpenBSDArchitecture)
+#  define X11ProjectRoot       /usr/X11R6
 # else
 #  define X11ProjectRoot       /X11
 # endif
diff --git a/cde/config/imake/imakemdep.h b/cde/config/imake/imakemdep.h
index 56f3a0b..8cbaa1e 100644
--- a/cde/config/imake/imakemdep.h
+++ b/cde/config/imake/imakemdep.h
@@ -662,6 +662,11 @@ char *cpp_argv[ARGUMENTS] = {
  *     them to the the following table.  The definition of struct symtab is
  *     in util/makedepend/def.h.
  */
+#undef DEF_EVALUATE
+#undef DEF_STRINGIFY
+#define DEF_EVALUATE(__x) #__x
+#define DEF_STRINGIFY(_x) DEF_EVALUATE(_x)
+
 struct symtab  predefs[] = {
 #ifdef apollo
        {"apollo", "1"},
@@ -742,7 +747,7 @@ struct symtab       predefs[] = {
        {"mc68020", "1"},
 #endif
 #ifdef __GNUC__
-       {"__GNUC__", "1"},
+       {"__GNUC__", DEF_STRINGIFY(__GNUC__)},
 #endif
 #if __STDC__
        {"__STDC__", "1"},
-- 
1.7.11.5




------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to