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.


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)

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?



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

------------------------------------------------------------------------------
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