From 9b4fe61ea4e703ba1e10953360155feb483420d4 Mon Sep 17 00:00:00 2001 From: Ulrich Wilkens 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 | 444 ++++++++++++++++++++ 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, 951 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 6db7d002..c0f6a234 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 9531ee82..31a05a0d 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 00000000..227df689 --- /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 + +/* 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 00000000..25c5d581 --- /dev/null +++ b/cde/config/cf/DtInfo.tmpl @@ -0,0 +1,444 @@ +XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $ +XCOMM OLIAS project common makefile + +/* Chain project template files. */ +#include + +#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 fc739029..e57082ba 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 fc8b419a..db4a1b93 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 ecbabcdf..95ccb10b 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 6befd6c7..b5c354d7 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 f2fff8cd..c55b67c6 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 #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 12e848ea..c217dbdd 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 1c7643ba..4dce9f0e 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 56f3a0bf..8cbaa1ed 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"}, -- 2.25.1