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