On 06/13/18 05:09, Matthew R. Trower wrote:
Hi Ulrich,

I'm trying to understand what's going on in the following files:

config/cf/DtInfo.rules
config/cf/DtInfo.tmpl
programs/dtinfo/*/Imakefile


As you have major commits in these areas, you seem like the person to
talk to. >

At the beginning there was an own config directory under dtinfo with
nearly the same content. Since we didn't want to maintain it twice,
I removed it when I started the dtinfo port. Only DtInfo.tmpl and
Dtinfo.rules have been moved to the main config directory.
In the dtinfo main Imakefile is a hint where to find the moved files.

Both files have defines, variables and rules just for dtinfo.
Its similar to cde.tmpl and cde.rules for the rest.


In particular, there are a lot of sections of code like this:


---
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
# define makelibT(libname)                                      @@\
        makelib(libname)                                        @@\
                                                                @@\
Concat3(libname/lib,libname,T.a): FRC                           @@\
        @(cd libname ;  \                                       @@\
            echo STR(*** Making lib libname Templates ***) ; \  @@\
            $(MAKE) Concat3(lib,libname,T.a) ; \                @@\
        )

# define makelibsubsubdir(subdir,libname)                       @@\
                                                                @@\
Concat(subdir/libname/lib,libname.a): FRC                       @@\
        @(cd subdir ;   \                                       @@\
            echo STR(*** Making lib libname ***) ; \            @@\
            $(MAKE) Concat(libname/lib,libname.a) ; \           @@\
        )

# define makelibTsubsubdir(subdir,libname)                      @@\
                                                                @@\
Concat3(subdir/libname/lib,libname,T.a): FRC                    @@\
        @(cd subdir ;   \                                       @@\
            echo STR(*** Making lib libname Templates ***) ; \  @@\
            $(MAKE) Concat3(libname/lib,libname,T.a) ; \        @@\
        )
#else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5 */
# define makelibT(libname)                                      @@\
        makelib(libname)
#endif
---

and this

---
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
SimpleLibraryT($(LIBNAME), $(OBJS), $(LIBDIR))
#elif defined(LinuxArchitecture) || defined(BSDArchitecture)
SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
#else
SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
XCOMM RealLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
#endif
---

Most (but not all) of those sections were changed from "> 3" to "> 5"
when you bumped the SunCC major version default from 3 to 5.  They also
make no distinction between GCC and SunCC.  With SolarisStudio 12.1 at
major version 5.10 (and later releases presumedly still major version
5), and gcc at 4.x for OpenSolaris and old OpenIndiana, this code never
even runs.

My questions, broadly, are as follows:

1) What is DtInfo.tmpl for? (a high level summary)

see above


2) What compiler versions and combinations did you have in mind for
these blocks of code to run under?  Why the special casing for those
compilers?  Is one block of code superior/inferior to the other?  The
SunArchitecture code as stands never runs (until we encounter GCC 6 in
modern OpenIndiana); should it just go away?


Now it's getting hard to answer (long time ago :-) )
Only Solarisstudio 5.1x and gcc 4.x. I've found that both can use the
same flags for compiling and linking. So I disabled some blocks by raising
the numbers. I didn't want to delete them because I didn't knew the reason
for them.
So the never running blocks are intentional. Maybe they could go away now.



There are bugs that surface when this code is actually run (related to
version logic, I believe).  I'll have further questions, and some
suggestions, but I can forumlate them more intelligently after I
understand the above.  Your enlightenment is appreciated.



-- Matthew R. Trower



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


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to