FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/fabscript at develop · boostorg/python · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
boostorg
/
python
Public
Notifications
You must be signed in to change notification settings
Fork
223
Star
537
Code
Issues
173
Pull requests
34
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
fabscript
Copy path
More file actions
More file actions
Latest commit
History
History
History
83 lines (73 loc) · 2.24 KB
Breadcrumbs
python
/
fabscript
Copy path
File metadata and controls
83 lines (73 loc) · 2.24 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# -*- python -*-
#
# Copyright (c) 2016 Stefan Seefeld
# All rights reserved.
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
from
faber
.
feature
import
set
from
faber
.
types
import
cxx
from
faber
.
tools
.
compiler
import
cxxflags
,
define
,
include
from
faber
.
tools
.
python
import
python
from
faber
.
config
import
report
,
cxx_checks
from
faber
.
config
.
try_run
import
try_run
features
+=
include
(
'include'
)
features
+=
define
(
'BOOST_ALL_NO_LIB'
)
# disable auto-linking
features
+=
define
(
'BOOST_NO_AUTO_PTR'
)
boost_include
=
options
.
get_with
(
'boost-include'
)
if
boost_include
:
features
+=
include
(
boost_include
)
python
=
python
.
instance
()
py_suffix
=
'{}{}'
.
format
(
*
python
.
version
.
split
(
'.'
)[:
2
])
features
|=
set
(
python
.
include
,
python
.
linkpath
,
python
.
libs
)
class
has_numpy
(
try_run
):
src
=
r"""
// If defined, enforces linking against PythonXXd.lib, which
// is usually not included in Python environments.
#undef _DEBUG
#include "Python.h"
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
#include "numpy/arrayobject.h"
#if PY_VERSION_HEX >= 0x03000000
void *initialize() { import_array();}
#else
void initialize() { import_array();}
#endif
int main()
{
int result = 0;
Py_Initialize();
initialize();
if (PyErr_Occurred())
{
result = 1;
}
else
{
npy_intp dims = 2;
PyObject * a = PyArray_SimpleNew(1, &dims, NPY_INT);
if (!a) result = 1;
Py_DECREF(a);
}
Py_Finalize();
return result;
}
"""
def
__init__
(
self
,
features
=
()):
inc
=
''
try
:
inc
=
python
.
check_python
(
'import numpy; print(numpy.get_include())'
)
features
|=
include
(
inc
)
except
Exception
:
# ignore errors, the check will fail during compilation...
pass
try_run
.
__init__
(
self
,
'has_numpy'
,
has_numpy
.
src
,
cxx
,
features
,
if_
=
(
include
(
inc
),
define
(
'HAS_NUMPY'
)))
checks
=
[
cxx_checks
.
has_cxx11
(
features
,
define
(
'HAS_CXX11'
)),
has_numpy
(
features
)]
config
=
report
(
'config'
,
checks
)
src
=
module
(
'src'
,
features
=
features
|
config
.
use
)
test
=
module
(
'test'
,
features
=
features
|
config
.
use
)
doc
=
module
(
'doc'
,
features
=
features
|
config
.
use
)
default
=
src
.
default
Back
|
FazBrowse Home
|
New Git URL