FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cefpython/cefpython/cef1/windows/setup/setup.py at cefpython31 · 2php/cefpython · GitHub
2php
cefpython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cefpython
/
cefpython
/
cef1
/
windows
/
setup
/
setup.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
108 lines (85 loc) · 3.59 KB
Breadcrumbs
cefpython
/
cefpython
/
cef1
/
windows
/
setup
/
setup.py
Copy path
File metadata and controls
108 lines (85 loc) · 3.59 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from
distutils
.
core
import
setup
# Use "Extension" from Cython.Distutils so that "cython_directives" works.
# from distutils.extension import Extension
from
Cython
.
Distutils
import
build_ext
,
Extension
import
sys
import
platform
from
Cython
.
Compiler
import
Options
# Stop on first error, otherwise hundreds of errors appear in the console.
Options
.
fast_fail
=
True
# Written to cython_includes/compile_time_constants.pxi
CEF_VERSION
=
1
"""
Building libcef_dll_wrapper
---------------------------
libcef_dll_wrapper needs to be compiled with /MD, otherwise you get linker errors
of type "already defined". When you try to compile using /MD you may get warnings:
warning C4275: non dll-interface class 'stdext::exception' used as base for
dll-interface class 'std::bad_typeid' see declaration of 'stdext::exception'
see declaration of 'std::bad_typeid'
Which results in build errors. To solve it you need to add command line option:
-D_HAS_EXCEPTIONS=1
Enabling C++ exceptions ("/EHsc") is not required.
"""
# Python version string: "27" or "32".
PYTHON_VERSION
=
str
(
sys
.
version_info
.
major
)
+
str
(
sys
.
version_info
.
minor
)
def
CompileTimeConstants
():
print
(
"Generating: cython_includes/compile_time_constants.pxi"
)
with
open
(
"./../../../cython_includes/compile_time_constants.pxi"
,
"w"
)
as
fd
:
fd
.
write
(
'# This file was generated by setup.py
\n
'
)
# A way around Python 3.2 bug: UNAME_SYSNAME is not set.
fd
.
write
(
'DEF UNAME_SYSNAME = "%s"
\n
'
%
platform
.
uname
()[
0
])
fd
.
write
(
'DEF CEF_VERSION = %s
\n
'
%
CEF_VERSION
)
fd
.
write
(
'DEF PY_MAJOR_VERSION = %s
\n
'
%
sys
.
version_info
.
major
)
CompileTimeConstants
()
ext_modules
=
[
Extension
(
"cefpython_py%s"
%
PYTHON_VERSION
,
[
"cefpython.pyx"
],
# Ignore the warning in the console:
# > C:\Python27\lib\distutils\extension.py:133: UserWarning:
# > Unknown Extension options: 'cython_directives' warnings.warn(msg)
cython_directives
=
{
# Any conversion to unicode must be explicit using .decode().
"c_string_type"
:
"bytes"
,
"c_string_encoding"
:
"utf8"
,
},
language
=
'c++'
,
include_dirs
=
[
r'./../'
,
r'./../../'
,
r'./../../../'
,
r'./../../../cython_includes/'
,
],
library_dirs
=
[
r'./'
,
r"c:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86/"
,
r'./../../http_authentication/Release/'
,
r'./../../v8function_handler/Release_py%s/'
%
PYTHON_VERSION
,
r'./../../client_handler/Release_py%s/'
%
PYTHON_VERSION
,
r'./../../../cpp_utils/Release/cpp_utils.lib'
,
],
libraries
=
[
'libcef'
,
'libcef_dll_wrapper'
,
'User32'
,
'Gdi32'
,
'http_authentication'
,
# Build with /MD.
'v8function_handler_py%s'
%
PYTHON_VERSION
,
# Build with /MD.
'client_handler_py%s'
%
PYTHON_VERSION
# Build with /MD.
],
# /EHsc - using STL string, multimap and others that use C++ exceptions.
extra_compile_args
=
[
'/EHsc'
],
# '/ignore:4217' - silence warnings: "locally defined symbol _V8FunctionHandler_Execute
# imported in function "public: virtual bool __thiscall V8FunctionHandler::Execute".
# client_handler or other vcprojects include setup/cefpython.h,
# this is a list of functions with "public" statement that is
# accessible from c++.
extra_link_args
=
[
'/ignore:4217'
],
# Defining macros:
# define_macros = [("UNICODE","1"), ("_UNICODE","1"), ]
)]
setup
(
name
=
'cefpython_py%s'
%
PYTHON_VERSION
,
cmdclass
=
{
'build_ext'
:
build_ext
},
ext_modules
=
ext_modules
)
Back
|
FazBrowse Home
|
New Git URL