Skip to content

Commit d4addc0

Browse files
committed
docs: improve description of library, data type and toolchain build variables
1 parent 970e48e commit d4addc0

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

docs/build_system.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ if they are not set in the environment.
7979
- `CC`: `TARGET` C compiler used for compilation (can be cross-toolchains).
8080
- `FC`: `TARGET` Fortran compiler used for compilation (can be cross-toolchains,
8181
set `NOFORTRAN=1` if the used cross-toolchain has no Fortran compiler).
82+
- `COMMON_OPT`: flags to add to all invocations of the target C and Fortran compilers
83+
(overrides `CFLAGS`/`FFLAGS` - prefer using `COMMON_OPT`)
84+
- `CCOMMON_OPT`: flags to add to all invocations of the target C compiler
85+
(overrides `CFLAGS`)
86+
- `FCOMMON_OPT`: flags to add to all invocations of the target Fortran compiler
87+
(overrides `FFLAGS`)
88+
- `LDFLAGS`: flags to add to all target linker invocations
8289
- `AR`, `AS`, `LD`, `RANLIB`: `TARGET` toolchain helpers used for compilation
8390
(can be cross-toolchains).
8491
- `HOSTCC`: compiler of build machine, needed to create proper config files for
@@ -92,11 +99,13 @@ if they are not set in the environment.
9299

93100
- `BINARY`: whether to build a 32-bit or 64-bit library (default is `64`, set
94101
to `32` on a 32-bit platform).
95-
- `BUILD_SHARED`: create a shared library
96-
- `BUILD_STATIC`: create a static library
97102
- `INTERFACE64`: build with 64-bit (ILP64) integer representations to support
98103
large array index values (incompatible with the standard 32-bit integer (LP64) API).
99104

105+
Note that both shared and static libraries will be built with the Make-based
106+
build. The CMake build provides `BUILD_SHARED_LIBS`/`BUILD_STATIC_LIBS`
107+
variables to allow building only one of the two.
108+
100109
#### Data type options
101110

102111
- `BUILD_SINGLE`: build the single-precision real functions of BLAS and (if
@@ -105,9 +114,8 @@ if they are not set in the environment.
105114
- `BUILD_COMPLEX`: build the single-precision complex functions
106115
- `BUILD_COMPLEX16`: build the double-precision complex functions
107116
- `BUILD_BFLOAT16`: build the "half precision brainfloat" real functions
108-
- `EXPRECISION`: obsolete option to use float80 of SSE on BSD-like systems
109-
- `QUAD_PRECISION`: enable support for IEEE quad precision (largely
110-
unimplemented leftover from GotoBLAS, do not use)
117+
- `EXPRECISION`: (do not use, this is a work in progress) option to use `long
118+
double` functions
111119

112120
By default, the single- and double-precision real and complex floating-point
113121
functions are included in the build, while the half- and extended-precision

0 commit comments

Comments
 (0)