BLD: Add support for Darwin system
This commit is contained in:
parent
834041cb0c
commit
38090aa779
|
@ -1,6 +1,5 @@
|
||||||
name: meson build
|
name: meson build
|
||||||
|
|
||||||
#on: [push, pull_request]
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -21,11 +20,12 @@ permissions:
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
if: "github.repository == 'HaoZeke/OpenBLAS'"
|
if: "github.repository == 'HaoZeke/OpenBLAS'"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-13]
|
||||||
build: [meson]
|
build: [meson]
|
||||||
fortran: [gfortran]
|
fortran: [gfortran]
|
||||||
openmp: [0]
|
openmp: [0]
|
||||||
|
@ -37,7 +37,14 @@ jobs:
|
||||||
|
|
||||||
- name: Print system information
|
- name: Print system information
|
||||||
run: |
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
cat /proc/cpuinfo
|
cat /proc/cpuinfo
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
sysctl -a | grep machdep.cpu
|
||||||
|
else
|
||||||
|
echo "::error::$RUNNER_OS not supported"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
|
@ -46,7 +53,17 @@ jobs:
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
sudo apt-get install -y gfortran libtinfo5
|
sudo apt-get install -y gfortran libtinfo5
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
|
||||||
|
brew reinstall gcc
|
||||||
|
brew install coreutils
|
||||||
|
brew install llvm
|
||||||
|
else
|
||||||
|
echo "::error::$RUNNER_OS not supported"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
python -m pip install meson ninja
|
python -m pip install meson ninja
|
|
@ -513,8 +513,8 @@ foreach _kop : driver_kops
|
||||||
|
|
||||||
# Add standard flags for naming conventions
|
# Add standard flags for naming conventions
|
||||||
_ext_cargs += [
|
_ext_cargs += [
|
||||||
f'-DASMNAME=@sym_name@',
|
f'-DASMNAME=@asm_name_prefix@@sym_name@',
|
||||||
f'-DASMFNAME=@sym_underscored@',
|
f'-DASMFNAME=@asm_name_prefix@@sym_underscored@',
|
||||||
f'-DNAME=@sym_underscored@',
|
f'-DNAME=@sym_underscored@',
|
||||||
f'-DCNAME=@sym_name@',
|
f'-DCNAME=@sym_name@',
|
||||||
f'-DCHAR_NAME="@sym_underscored@"',
|
f'-DCHAR_NAME="@sym_underscored@"',
|
||||||
|
|
|
@ -438,8 +438,8 @@ foreach _kop : driver_kops
|
||||||
|
|
||||||
# Add standard flags for naming conventions
|
# Add standard flags for naming conventions
|
||||||
_ext_cargs += [
|
_ext_cargs += [
|
||||||
f'-DASMNAME=@sym_name@',
|
f'-DASMNAME=@asm_name_prefix@@sym_name@',
|
||||||
f'-DASMFNAME=@sym_underscored@',
|
f'-DASMFNAME=@asm_name_prefix@@sym_underscored@',
|
||||||
f'-DNAME=@sym_underscored@',
|
f'-DNAME=@sym_underscored@',
|
||||||
f'-DCNAME=@sym_name@',
|
f'-DCNAME=@sym_name@',
|
||||||
f'-DCHAR_NAME="@sym_underscored@"',
|
f'-DCHAR_NAME="@sym_underscored@"',
|
||||||
|
|
|
@ -52,12 +52,12 @@ foreach op : others_ops
|
||||||
|
|
||||||
# Add standard flags for naming conventions
|
# Add standard flags for naming conventions
|
||||||
c_args += [
|
c_args += [
|
||||||
'-DASMNAME=@0@'.format(sym_name),
|
f'-DASMNAME=@asm_name_prefix@@sym_name@',
|
||||||
'-DASMFNAME=@0@_'.format(sym_name),
|
f'-DASMFNAME=@asm_name_prefix@@sym_name@_',
|
||||||
'-DNAME=@0@_'.format(sym_name),
|
f'-DNAME=@sym_name@_',
|
||||||
'-DCNAME=@0@'.format(sym_name),
|
f'-DCNAME=@sym_name@',
|
||||||
'-DCHAR_NAME="@0@_"'.format(sym_name),
|
f'-DCHAR_NAME="@sym_name@_"',
|
||||||
'-DCHAR_CNAME="@0@"'.format(sym_name)
|
f'-DCHAR_CNAME="@sym_name@"',
|
||||||
]
|
]
|
||||||
|
|
||||||
# Append the current configuration
|
# Append the current configuration
|
||||||
|
|
|
@ -626,12 +626,12 @@ foreach conf : _blas_roots
|
||||||
sources: [conf['fname'], config_h],
|
sources: [conf['fname'], config_h],
|
||||||
include_directories: _inc,
|
include_directories: _inc,
|
||||||
c_args: compiler_args + [
|
c_args: compiler_args + [
|
||||||
f'-DASMNAME=@sym_name@',
|
f'-DASMNAME=@asm_name_prefix@@sym_name@',
|
||||||
f'-DASMFNAME=@sym_underscored@',
|
f'-DASMFNAME=@asm_name_prefix@@sym_underscored@',
|
||||||
f'-DNAME=@sym_underscored@',
|
f'-DNAME=@sym_underscored@',
|
||||||
f'-DCNAME=@sym_name@',
|
f'-DCNAME=@sym_name@',
|
||||||
f'-DCHAR_NAME="@sym_underscored@"',
|
f'-DCHAR_NAME="@sym_underscored@"',
|
||||||
f'-DCHAR_CNAME="@sym_name@"'
|
f'-DCHAR_CNAME="@sym_name@"',
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
_interface_libs += lib
|
_interface_libs += lib
|
||||||
|
@ -649,12 +649,12 @@ foreach conf : _blas_roots
|
||||||
include_directories: _inc,
|
include_directories: _inc,
|
||||||
c_args: compiler_args + [
|
c_args: compiler_args + [
|
||||||
'-DCBLAS',
|
'-DCBLAS',
|
||||||
f'-DASMNAME=@cblas_sym_name@',
|
f'-DASMNAME=@asm_name_prefix@@cblas_sym_name@',
|
||||||
f'-DASMFNAME=@cblas_sym_underscored@',
|
f'-DASMFNAME=@asm_name_prefix@@cblas_sym_underscored@',
|
||||||
f'-DNAME=@cblas_sym_underscored@',
|
f'-DNAME=@cblas_sym_underscored@',
|
||||||
f'-DCNAME=@cblas_sym_name@',
|
f'-DCNAME=@cblas_sym_name@',
|
||||||
f'-DCHAR_NAME="@cblas_sym_underscored@"',
|
f'-DCHAR_NAME="@cblas_sym_underscored@"',
|
||||||
f'-DCHAR_CNAME="@cblas_sym_name@"'
|
f'-DCHAR_CNAME="@cblas_sym_name@"',
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
_interface_libs += cblas_lib
|
_interface_libs += cblas_lib
|
||||||
|
|
|
@ -1486,8 +1486,8 @@ foreach _kop : base_kops
|
||||||
sym_name = base.replace('?', mode) + ext
|
sym_name = base.replace('?', mode) + ext
|
||||||
sym_underscored = f'@sym_name@_'
|
sym_underscored = f'@sym_name@_'
|
||||||
_ext_cargs += [
|
_ext_cargs += [
|
||||||
f'-DASMNAME=@sym_name@',
|
f'-DASMNAME=@asm_name_prefix@@sym_name@',
|
||||||
f'-DASMFNAME=@sym_underscored@',
|
f'-DASMFNAME=@asm_name_prefix@@sym_underscored@',
|
||||||
f'-DNAME=@sym_underscored@',
|
f'-DNAME=@sym_underscored@',
|
||||||
f'-DCNAME=@sym_name@',
|
f'-DCNAME=@sym_name@',
|
||||||
f'-DCHAR_NAME="@sym_underscored@"',
|
f'-DCHAR_NAME="@sym_underscored@"',
|
||||||
|
|
11
meson.build
11
meson.build
|
@ -67,12 +67,21 @@ max_stack_alloc = get_option('max_stack_alloc')
|
||||||
quad_prec = get_option('quad_precision')
|
quad_prec = get_option('quad_precision')
|
||||||
exprecision = get_option('exprecision')
|
exprecision = get_option('exprecision')
|
||||||
|
|
||||||
if host_machine.system() == 'linux'
|
is_linux = host_machine.system() == 'linux'
|
||||||
|
is_darwin = host_machine.system() == 'darwin'
|
||||||
|
|
||||||
|
if is_linux or is_darwin
|
||||||
no_affinity = true
|
no_affinity = true
|
||||||
else
|
else
|
||||||
no_affinity = false
|
no_affinity = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if cc_id == 'clang'
|
||||||
|
asm_name_prefix = '_'
|
||||||
|
else
|
||||||
|
asm_name_prefix = ''
|
||||||
|
endif
|
||||||
|
|
||||||
_check_prefix = []
|
_check_prefix = []
|
||||||
conf_data = configuration_data()
|
conf_data = configuration_data()
|
||||||
is_win = host_machine.system() == 'windows' or host_machine.system() == 'cygwin'
|
is_win = host_machine.system() == 'windows' or host_machine.system() == 'cygwin'
|
||||||
|
|
Loading…
Reference in New Issue