@@ -20,3 +20,39 @@ np.array([1,2,3], dtype=QuadPrecDType("sleef"))
2020# using longdouble backend
2121np.array([1 ,2 ,3 ], dtype = QuadPrecDType(" longdouble" ))
2222```
23+
24+ ## Install from source
25+
26+ The code needs the quad precision pieces of the sleef library, which
27+ is not available on most systems by default, so we have to generate
28+ that first. The below assumes one has the required pieces to build
29+ sleef (cmake and libmpfr-dev), and that one is in the package
30+ directory locally.
31+
32+ ```
33+ git clone https://github.com/shibatch/sleef.git
34+ cd sleef
35+ cmake -S . -B build -DSLEEF_BUILD_QUAD:BOOL=ON -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
36+ cmake --build build/ --clean-first -j
37+ cd ..
38+ ```
39+
40+ In principle, one can now install this system-wide, but easier would
41+ seem to use the version that was just created, as follows:
42+ ```
43+ export SLEEF_DIR=$PWD/sleef/build
44+ export LIBRARY_PATH=$SLEEF_DIR/lib
45+ export C_INCLUDE_PATH=$SLEEF_DIR/include
46+ export CPLUS_INCLUDE_PATH=$SLEEF_DIR/include
47+ python3 -m venv temp
48+ source temp/bin/activate
49+ pip install meson-python numpy pytest
50+ pip install -e . -v --no-build-isolation
51+ export LD_LIBRARY_PATH=$SLEEF_DIR/lib
52+ ```
53+
54+ Here, we created an editable install on purpose, so one can just work
55+ from the package directory if needed, e.g., to run the tests with,
56+ ```
57+ python -m pytest
58+ ```
0 commit comments