Skip to content

Commit 7a8b484

Browse files
committed
[int] slightly rewrite config-darwin
1 parent a0e015b commit 7a8b484

File tree

1 file changed

+34
-38
lines changed

1 file changed

+34
-38
lines changed

src/config-darwin.lisp

+34-38
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,47 @@
44
(:documentation "Configures macOS operating systems.")
55
(:use #:cl
66
#:cl-ppcre
7-
#:py4cl2-cffi/config))
7+
#:py4cl2-cffi/config)
8+
(:import-from #:py4cl2-cffi/config
9+
#:return-value-as-list))
810
(in-package #:py4cl2-cffi/config-darwin)
911

1012
(defun python-system ()
1113
"The path to the Python install or where the virtual environment originates."
12-
(read-from-string
13-
(with-output-to-string (stream)
14-
(uiop:run-program "python3 -c \"
14+
(values-list (return-value-as-list "python3 -c \"
1515
import sys
16-
print(f'(:base-exec-prefix \\\"{sys.base_exec_prefix}\\\"' +
17-
f' :exec-prefix \\\"{sys.exec_prefix}\\\")')\""
18-
:output stream)
19-
stream)))
16+
print(sys.base_exec_prefix)
17+
print(sys.exec_prefix)\"")))
2018

2119
(defun configure ()
22-
(let* ((ps (python-system))
23-
(prefix (getf ps :base-exec-prefix))
24-
(path (format nil "~A" prefix))
25-
(search-path (getf ps :exec-prefix))
26-
(python-version (ppcre:register-groups-bind (version)
27-
("^.+\/(.+)?$" prefix :sharedp t)
28-
version)))
29-
(setq py4cl2-cffi/config:*python-ldflags*
30-
(list (format nil "-L'~A' -L'lib/~A' -l'~A'"
31-
(make-pathname :name search-path)
32-
path
33-
(format nil "python~A" python-version)))
34-
35-
py4cl2-cffi/config:*python-compile-command*
36-
(concatenate
37-
'string
38-
"gcc ~A -c -Wall -Werror -fpic py4cl-utils.c && "
39-
(format
40-
nil
41-
"gcc -L'~A/lib-dynload' -L'~A/lib' -framework CoreFoundation -dynamiclib -o libpy4cl-utils.dylib py4cl-utils.o -lpython~A"
42-
path path python-version))
43-
44-
py4cl2-cffi/config:*python-numpy-compile-command*
45-
(concatenate
46-
'string
47-
"gcc ~A -I'~A' -c -Wall -Werror -fpic py4cl-numpy-utils.c && "
48-
(format
49-
nil
50-
"gcc -L'~A/lib-dynload' -L'~A/lib' -framework CoreFoundation -dynamiclib -o libpy4cl-numpy-utils.dylib py4cl-numpy-utils.o -lpython~A"
51-
path path python-version)))))
20+
(multiple-value-bind (base-exec-prefix exec-prefix)
21+
(python-system)
22+
(let* ((python-version (ppcre:register-groups-bind (version)
23+
("^.+\/(.+)?$" base-exec-prefix :sharedp t)
24+
version)))
25+
(setq py4cl2-cffi/config:*python-ldflags*
26+
(list (format nil "-L'~A' -L'lib/~A' -l'~A'"
27+
exec-prefix
28+
base-exec-prefix
29+
(format nil "python~A" python-version)))
30+
31+
py4cl2-cffi/config:*python-compile-command*
32+
(concatenate
33+
'string
34+
"gcc ~A -c -Wall -Werror -fpic py4cl-utils.c && "
35+
(format
36+
nil
37+
"gcc -L'~A/lib-dynload' -L'~A/lib' -framework CoreFoundation -dynamiclib -o libpy4cl-utils.dylib py4cl-utils.o -lpython~A"
38+
base-exec-prefix base-exec-prefix python-version))
39+
40+
py4cl2-cffi/config:*python-numpy-compile-command*
41+
(concatenate
42+
'string
43+
"gcc ~A -I'~A' -c -Wall -Werror -fpic py4cl-numpy-utils.c && "
44+
(format
45+
nil
46+
"gcc -L'~A/lib-dynload' -L'~A/lib' -framework CoreFoundation -dynamiclib -o libpy4cl-numpy-utils.dylib py4cl-numpy-utils.o -lpython~A"
47+
base-exec-prefix base-exec-prefix python-version))))))
5248

5349

5450

0 commit comments

Comments
 (0)