Ejemplo n.º 1
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (
        get_cxx_std_flag, try_add_flag, try_compile, has_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    std_flag = get_cxx_std_flag(build_ext._cxx_compiler)
    if std_flag is not None:
        args.append(std_flag)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        try_add_flag(args, cc, '-fvisibility=hidden')

        has_pthreads = try_compile(cc, code='#include <pthread.h>\n'
                                   'int main(int argc, char **argv) {}')
        if has_pthreads:
            ext.define_macros.append(('POCKETFFT_PTHREADS', None))

        min_macos_flag = '-mmacosx-version-min=10.9'
        import sys
        if sys.platform == 'darwin' and has_flag(cc, min_macos_flag):
            args.append(min_macos_flag)
            ext.extra_link_args.append(min_macos_flag)
Ejemplo n.º 2
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (
        get_cxx_std_flag, try_add_flag, try_compile, has_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    std_flag = get_cxx_std_flag(cc)
    if std_flag is not None:
        args.append(std_flag)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        # Use pthreads if available
        has_pthreads = try_compile(cc, code='#include <pthread.h>\n'
                                   'int main(int argc, char **argv) {}')
        if has_pthreads:
            ext.define_macros.append(('POCKETFFT_PTHREADS', None))
            if has_flag(cc, '-pthread'):
                args.append('-pthread')
                ext.extra_link_args.append('-pthread')
            else:
                raise RuntimeError("Build failed: System has pthreads header "
                                   "but could not compile with -pthread option")

        # Don't export library symbols
        try_add_flag(args, cc, '-fvisibility=hidden')
        # Set min macOS version
        min_macos_flag = '-mmacosx-version-min=10.9'
        import sys
        if sys.platform == 'darwin' and has_flag(cc, min_macos_flag):
            args.append(min_macos_flag)
            ext.extra_link_args.append(min_macos_flag)
Ejemplo n.º 3
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (set_cxx_flags_hook,
                                                    try_add_flag, try_compile,
                                                    has_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    set_cxx_flags_hook(build_ext, ext)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        # Use pthreads if available
        has_pthreads = try_compile(cc,
                                   code='#include <pthread.h>\n'
                                   'int main(int argc, char **argv) {}')
        if has_pthreads:
            ext.define_macros.append(('POCKETFFT_PTHREADS', None))
            if has_flag(cc, '-pthread'):
                args.append('-pthread')
                ext.extra_link_args.append('-pthread')
            else:
                raise RuntimeError(
                    "Build failed: System has pthreads header "
                    "but could not compile with -pthread option")

        # Don't export library symbols
        try_add_flag(args, cc, '-fvisibility=hidden')
Ejemplo n.º 4
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (set_cxx_flags_hook,
                                                    try_add_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    set_cxx_flags_hook(build_ext, ext)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        try_add_flag(args, cc, '-fvisibility=hidden')
Ejemplo n.º 5
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (set_cxx_flags_hook,
                                                    try_add_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    set_cxx_flags_hook(build_ext, ext)

    if cc.compiler_type == 'msvc':
        # Ignore "structured exceptions" which are non-standard MSVC extensions
        args.append('/EHsc')
    else:
        # Don't export library symbols
        try_add_flag(args, cc, '-fvisibility=hidden')
Ejemplo n.º 6
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (get_cxx_std_flag,
                                                    try_add_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    std_flag = get_cxx_std_flag(build_ext._cxx_compiler)
    if std_flag is not None:
        args.append(std_flag)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        try_add_flag(args, cc, '-fvisibility=hidden')

        import sys
        if sys.platform == 'darwin':
            args.append('-mmacosx-version-min=10.7')
            try_add_flag(args, cc, '-stdlib=libc++')
Ejemplo n.º 7
0
def pre_build_hook(build_ext, ext):
    from scipy._build_utils.compiler_helper import (get_cxx_std_flag, has_flag,
                                                    try_add_flag)
    cc = build_ext._cxx_compiler
    args = ext.extra_compile_args

    std_flag = get_cxx_std_flag(cc)
    if std_flag is not None:
        args.append(std_flag)

    if cc.compiler_type == 'msvc':
        args.append('/EHsc')
    else:
        try_add_flag(args, cc, '-fvisibility=hidden')

        min_macos_flag = '-mmacosx-version-min=10.9'
        import sys
        if sys.platform == 'darwin' and has_flag(cc, min_macos_flag):
            args.append(min_macos_flag)
            ext.extra_link_args.append(min_macos_flag)