Example #1
0
def get_link_args(unwind):
    platform_val = chpl_platform.get('target')
    osx = platform_val.startswith('darwin')

    # Mac OS X supports libunwind in the C library
    # it's not actually a special library.
    if osx:
        return []

    libs = []
    # Get the link arguments (e.g. -lunwind)
    if unwind == 'system':
        # Try using pkg-config to get the libraries to link
        # libunwind with.
        libs = third_party_utils.pkgconfig_get_link_args('libunwind',
                                                         system=True,
                                                         static=True)
    elif unwind == 'bundled':
        # the pkg-config file for libunwind is nice, but as of 1.1
        # it doesn't include -lzma when it probably should.
        # So try to get the libraries out of libunwind.la.
        libs = third_party_utils.default_get_link_args(
            'libunwind', libs=['libunwind.la', 'libunwind-x86_64.la'])

    # add -ldl so that we can call dladdr
    if "-ldl" not in libs:
        libs.append("-ldl")

    return libs
Example #2
0
def get_link_args(libfabric=get()):
    libs = []
    if libfabric == 'bundled':
        return third_party_utils.default_get_link_args('libfabric',
                                                       ucp=get_uniq_cfg_path(),
                                                       libs=['libfabric.la'],
                                                       add_L_opt=True)
    elif libfabric == 'system':
        # Allow overriding pkg-config via LIBFABRIC_DIR, for platforms
        # without pkg-config.
        libfab_dir_val = overrides.get('LIBFABRIC_DIR')
        if libfab_dir_val:
            libs.extend(['-L' + libfab_dir_val + '/lib',
                         '-Wl,-rpath,' + libfab_dir_val + '/lib',
                         '-lfabric'])
        else:
            # Try using pkg-config to get the libraries to link
            # libfabric with.
            pclibs = third_party_utils.pkgconfig_get_link_args('libfabric',
                                                               system=True)
            for pcl in pclibs:
                libs.append(pcl)
                if pcl.startswith('-L'):
                    libs.append(pcl.replace('-L', '-Wl,-rpath,', 1))

    return libs
Example #3
0
def get_link_args():
    # Qthreads may call back to the runtime, so re-search libchpl after.
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread.la',
                                                      '-lchpl'])
    return link_args
def get_link_args():
    link_args = third_party_utils.default_get_link_args(
        "qthread", ucp=get_uniq_cfg_path(), libs=["libqthread_chpl.la", "-lchpl", "libqthread.la"]
    )
    compiler_val = chpl_compiler.get("target")
    if compiler_val == "cray-prgenv-cray" or (compiler_is_prgenv(compiler_val) and chpl_llvm.get() != "none"):
        link_args.append("-lrt")
    return link_args
Example #5
0
def get_link_args():
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread_chpl.la',
                                                      '-lchpl',
                                                      'libqthread.la'])
    if (chpl_compiler.get('target').startswith('cray-prgenv')
            and chpl_llvm.get() != 'none'):
        link_args.append('-lrt')
    return link_args
def get_link_args():
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread_chpl.la',
                                                      '-lchpl',
                                                      'libqthread.la'])
    if ( chpl_compiler.get('target').startswith('cray-prgenv') and
         chpl_llvm.get() != 'none' ):
        link_args.append('-lrt')
    return link_args
def get_link_args():
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread_chpl.la',
                                                      '-lchpl',
                                                      'libqthread.la'])
    compiler_val = chpl_compiler.get('target')
    if compiler_val == 'cray-prgenv-cray':
        link_args.append('-lrt')

    return link_args
def get_link_args():
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread_chpl.la',
                                                      '-lchpl',
                                                      'libqthread.la'])
    compiler_val = chpl_compiler.get('target')
    if ( compiler_val == 'cray-prgenv-cray' or
         (compiler_is_prgenv(compiler_val) and chpl_llvm.get() != 'none' )):
        link_args.append('-lrt')
    return link_args
def get_link_args():
    # Qthreads may call back to the runtime, so re-search libchpl after.
    link_args = \
        third_party_utils.default_get_link_args('qthread',
                                                ucp=get_uniq_cfg_path(),
                                                libs=['libqthread.la',
                                                      '-lchpl'])
    compiler_val = chpl_compiler.get('target')
    if compiler_val == 'cray-prgenv-cray':
        link_args.append('-lrt')

    return link_args
Example #10
0
def get_link_args(hwloc):
    if hwloc == 'hwloc':
        return third_party_utils.default_get_link_args('hwloc',
                                                       ucp=get_uniq_cfg_path())
    elif hwloc == 'system':
        # Check that hwloc version is OK
        okversions = ('1.11.5', '1.11.6', '1.11.7')
        vers = third_party_utils.pkgconfig_get_system_version('hwloc')
        if not vers in okversions:
          err = "CHPL_HWLOC=system but unsupported version {0} was found.\nPlease use one of the following versions {1}\n".format(vers, ' '.join(okversions))
          error(err, ValueError)

        return ['-lhwloc']
    else:
        return []
Example #11
0
def get_link_args(hwloc):
    if hwloc == 'hwloc':
        return third_party_utils.default_get_link_args('hwloc',
                                                       ucp=get_uniq_cfg_path())
    elif hwloc == 'system':
        # Check that hwloc version is OK
        okversions = ('1.11.5', '1.11.6', '1.11.7', '1.11.8', '1.11.9', '1.11.10')
        vers = third_party_utils.pkgconfig_get_system_version('hwloc')
        if not vers in okversions:
          err = "CHPL_HWLOC=system but unsupported version {0} was found.\nPlease use one of the following versions {1}\n".format(vers, ' '.join(okversions))
          error(err, ValueError)

        return ['-lhwloc']
    else:
        return []
def get_link_args(unwind):
    platform_val = chpl_platform.get('target')
    osx = platform_val.startswith('darwin')

    # Mac OS X supports libunwind in the C library
    # it's not actually a special library.
    if osx:
      return []

    libs = []
    # Get the link arguments (e.g. -lunwind)
    if unwind == 'system':
      # Try using pkg-config to get the libraries to link
      # libunwind with.
      libs = third_party_utils.pkgconfig_get_link_args(
                       'libunwind', system=True, static=True)
    elif unwind == 'libunwind':
      # the pkg-config file for libunwind is nice, but as of 1.1
      # it doesn't include -lzma when it probably should.
      # So try to get the libraries out of libunwind.la.
      libs = third_party_utils.default_get_link_args(
                       'libunwind', libs=['libunwind.la'])

    return libs
Example #13
0
def get_link_args():
    return third_party_utils.default_get_link_args('re2',
                                                   libs=['-lre2', '-lpthread'])
def get_link_args():
    return third_party_utils.default_get_link_args('massivethreads',
                                                   libs=['libmyth-native.la'])
def get_link_args():
    return third_party_utils.default_get_link_args("re2", libs=["-lre2", "-lpthread"])
def get_link_args():
    return third_party_utils.default_get_link_args('dlmalloc',
                                                   libs=['-ldlmalloc'])
def get_link_args():
    return third_party_utils.default_get_link_args("tcmalloc", libs=["libtcmalloc_minimal.la"])
Example #18
0
def get_link_args(gmp):
    if gmp == 'bundled':
        return third_party_utils.default_get_link_args('gmp')
    elif gmp == 'system':
        return ['-lgmp']
    return []
Example #19
0
def get_link_args():
    return third_party_utils.default_get_link_args('tcmalloc',
                                                   libs=['libtcmalloc_minimal.la'])
Example #20
0
def get_link_args():
    # We have to manually link libpthread since we build statically and .a's
    # don't have a way to specify dependencies.
    return third_party_utils.default_get_link_args('jemalloc',
                                                   libs=['-ljemalloc', '-lpthread'])
def get_link_args(gmp):
    if gmp == "gmp":
        return third_party_utils.default_get_link_args("gmp")
    elif gmp == "system":
        return ["-lgmp"]
    return []
Example #22
0
def get_link_args():
    return third_party_utils.default_get_link_args(
        'tcmalloc', libs=['libtcmalloc_minimal.la'])
Example #23
0
def get_link_args():
    return third_party_utils.default_get_link_args('massivethreads',
                                                   libs=['libmyth-native.la'])
def get_link_args(gmp):
    if gmp == 'gmp':
        return third_party_utils.default_get_link_args('gmp')
    elif gmp == 'system':
        return ['-lgmp']
    return []
Example #25
0
def get_link_args():
    # We have to manually link libpthread since we build statically and .a's
    # don't have a way to specify dependencies.
    return third_party_utils.default_get_link_args(
        'jemalloc', libs=['-ljemalloc', '-lpthread'])
Example #26
0
def get_link_args():
    return third_party_utils.default_get_link_args('hwloc')