Source

pygame / config / clangccompiler.py

"""A simple Intel C compiler class for Unix-based systems."""
import os
from distutils.unixccompiler import UnixCCompiler
import distutils.sysconfig  as sysconfig

class ClangCCompiler(UnixCCompiler):
    """ClangCCompiler (verbose=0, dry_run=0, force=0) -> ClangCCompiler
    
    A simple compiler class for the clang frontend of the LLVM Compiler
    infrastructure.
    """
    compiler_type = 'clang'

    def __init__ (self, verbose=0, dry_run=0, force=0):
        UnixCCompiler.__init__ (self, verbose, dry_run, force)
        cc = 'clang'

        cflags = sysconfig.get_config_var ('CFLAGS') or ""
        cflags += os.getenv('CFLAGS', '')
        cshared = sysconfig.get_config_var ('CCSHARED') or ""
        ldflags = sysconfig.get_config_var ('LDFLAGS') or ""
        ldflags += os.getenv('LDFLAGS', '')
        cppflags = os.getenv ('CPPFLAGS', '')

        cargs = ' ' + cflags + ' ' + cppflags
        soargs = ' ' + cflags + ' ' + cshared
        ldargs = ' ' + ldflags
        
        self.set_executables(compiler=cc + cargs,
                             compiler_so=cc + soargs,
                             compiler_cxx=cc,
                             linker_exe=cc + ldflags,
                             linker_so=cc + ' -shared')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.