Markus,

We used to have separate packages for all the LLVM tools in Spack.  I actually 
did the initial packaging on that.  Some of them have CMake builds that can 
refer to an external LLVM install, and they’ll build find as stand-alone tools 
linked with LLVM.  I believe Clang even built ok this way.  AFAICT, though, not 
many of the clang developers actually build this way, and support for 
standalone builds was pretty spotty.  We eventually switched to a model where 
Clang just has variants for all the plugin tools.  It’s been easier to maintain 
as a monolithic thing, although I still think it’s kind of unwieldy for the 
user.

I am not sure what to do about the module issues you mention below.  In Spack 
things can be compilers and dependencies, and we’re moving towards making 
compilers more like regular dependencies.  The module issue below seems like an 
issue with EB’s toolchain/package distinction.

-Todd


On 10/10/16, 7:42 AM, "easybuild-requ...@lists.ugent.be on behalf of Markus 
Geimer" <easybuild-requ...@lists.ugent.be on behalf of m.gei...@fz-juelich.de> 
wrote:

    Hi folks,
    
    So far, I've always considered Clang to be a compiler.  However, it
    also comes with a bunch of libraries that can be used for writing
    tools that need to do source-code parsing etc.  Does anyone know
    whether it is possible to just build the tooling libraries and later
    direct a separate Clang compiler build to use those?
    
    Motivation:
    In a hierarchical module naming scheme I would build Clang with
    GCCcore.  In the current EasyBuild scheme, the "real" compiler
    module for it would then be ClangGCC, residing on the same level
    as GCC (potentially both with a 'family("compiler")' in the
    modulefile.  This would allow loading the Clang module for other
    software on the GCCcore level and also in other branches of the
    hierarchy that may use the tooling libraries (e.g., Doxygen).
    But in my particular case, I don't care about Fortran, i.e., Clang
    would actually be the compiler module.  Also, the current situation will
    instantly change as soon as Clang itself comes with a Fortran
    frontend (which is under development, afaik).  Then ClangGCC would
    disappear, the 'family("compiler")' would move into the Clang module,
    and it couldn't be loaded for anything needing the tooling libraries
    in GCCcore or any other branch of the hierarchy.
    
    Any ideas?  Thoughts?
    
    Markus
    
    --
    Dr. Markus Geimer
    Juelich Supercomputing Centre
    Institute for Advanced Simulation
    Forschungszentrum Juelich GmbH
    52425 Juelich, Germany
    
    Phone:  +49-2461-61-1773
    Fax:    +49-2461-61-6656
    E-Mail: m.gei...@fz-juelich.de
    WWW:    http://www.fz-juelich.de/jsc
    
    
    
------------------------------------------------------------------------------------------------
    
------------------------------------------------------------------------------------------------
    Forschungszentrum Juelich GmbH
    52425 Juelich
    Sitz der Gesellschaft: Juelich
    Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
    Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
    Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
    Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
    Prof. Dr. Sebastian M. Schmidt
    
------------------------------------------------------------------------------------------------
    
------------------------------------------------------------------------------------------------
    
    

Reply via email to