diff --git a/README.md b/README.md
index 546cd001..d4f4c493 100644
--- a/README.md
+++ b/README.md
@@ -210,9 +210,9 @@ support old operating systems then choose the v31 release.
OS | Py2 | Py3 | 32bit | 64bit | Requirements
--- | --- | --- | --- | --- | ---
-Windows | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 | Yes | Yes | Windows 7+
-Linux | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 | Yes | Yes | Debian 8+, Ubuntu 14.04+,
Fedora 24+, openSUSE 13.3+
-Mac | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 | No | Yes | MacOS 10.9+
+Windows | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 / 3.8 | Yes | Yes | Windows 7+
+Linux | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 3.8 | Yes | Yes | Debian 8+, Ubuntu 14.04+,
Fedora 24+, openSUSE 13.3+
+Mac | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 / 3.8 | No | Yes | MacOS 10.9+
These platforms are not supported yet:
- ARM - see [Issue #267](../../issues/267)
diff --git a/src/client_handler/Makefile b/src/client_handler/Makefile
index d217660e..25e645ff 100644
--- a/src/client_handler/Makefile
+++ b/src/client_handler/Makefile
@@ -37,6 +37,7 @@ INC = -I./../ -I./../common/ -I$(PYTHON_INCLUDE) \
-I/usr/include/glib-2.0 \
-I/usr/include/cairo \
-I/usr/include/pango-1.0 \
+ -I/usr/include/harfbuzz \
-I/usr/include/gdk-pixbuf-2.0 \
-I/usr/include/atk-1.0 \
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include \
diff --git a/src/common/cefpython_public_api.h b/src/common/cefpython_public_api.h
index 53ad62c6..8e4ff60b 100644
--- a/src/common/cefpython_public_api.h
+++ b/src/common/cefpython_public_api.h
@@ -46,6 +46,8 @@
#include "../../build/build_cefpython/cefpython_py36_fixed.h"
#elif PY_MINOR_VERSION == 7
#include "../../build/build_cefpython/cefpython_py37_fixed.h"
+#elif PY_MINOR_VERSION == 8
+#include "../../build/build_cefpython/cefpython_py38_fixed.h"
#endif // PY_MINOR_VERSION
#endif // PY_MAJOR_VERSION
diff --git a/src/cpp_utils/Makefile b/src/cpp_utils/Makefile
index 338fd960..e6a6a2fe 100644
--- a/src/cpp_utils/Makefile
+++ b/src/cpp_utils/Makefile
@@ -7,7 +7,7 @@ OUT = libcpp_utils.a
INC = -I./../ -I/usr/include/gtk-2.0 \
-I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include \
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo \
- -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 \
+ -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 \
-I/usr/include/atk-1.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include \
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include \
-I/usr/lib64/glib-2.0/include -I/usr/lib64/gtk-2.0/include \
diff --git a/src/subprocess/Makefile b/src/subprocess/Makefile
index f52b72df..adc34fca 100644
--- a/src/subprocess/Makefile
+++ b/src/subprocess/Makefile
@@ -11,6 +11,7 @@ INC = -I./../ -I./../common/ -I$(PYTHON_INCLUDE) \
-I/usr/include/glib-2.0 \
-I/usr/include/cairo \
-I/usr/include/pango-1.0 \
+ -I/usr/include/harfbuzz \
-I/usr/include/gdk-pixbuf-2.0 \
-I/usr/include/atk-1.0 \
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include \
diff --git a/src/subprocess/Makefile-libcefpythonapp b/src/subprocess/Makefile-libcefpythonapp
index 23fbde39..e8a6b852 100644
--- a/src/subprocess/Makefile-libcefpythonapp
+++ b/src/subprocess/Makefile-libcefpythonapp
@@ -36,6 +36,7 @@ INC = -I./../ -I./../common/ -I$(PYTHON_INCLUDE) \
-I/usr/include/glib-2.0 \
-I/usr/include/cairo \
-I/usr/include/pango-1.0 \
+ -I/usr/include/harfbuzz \
-I/usr/include/gdk-pixbuf-2.0 \
-I/usr/include/atk-1.0 \
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include \
diff --git a/tools/build.py b/tools/build.py
index 522a9b08..b3bc9920 100644
--- a/tools/build.py
+++ b/tools/build.py
@@ -293,7 +293,7 @@ def setup_environ():
print("[build.py] PYTHON_INCLUDE: {python_include}"
.format(python_include=os.environ["PYTHON_INCLUDE"]))
- os.environ["CEF_CCFLAGS"] = "-std=gnu++11 -DNDEBUG -Wall -Werror"
+ os.environ["CEF_CCFLAGS"] = "-std=gnu++11 -DNDEBUG -Wall -Werror -Wno-deprecated-declarations"
if FAST_FLAG:
os.environ["CEF_CCFLAGS"] += " -O0"
else:
diff --git a/tools/build_distrib.py b/tools/build_distrib.py
index e0a5bde1..f452bc0d 100644
--- a/tools/build_distrib.py
+++ b/tools/build_distrib.py
@@ -80,7 +80,7 @@
ALLOW_PARTIAL = False
# Python versions
-SUPPORTED_PYTHON_VERSIONS = [(2, 7), (3, 4), (3, 5), (3, 6), (3, 7)]
+SUPPORTED_PYTHON_VERSIONS = [(2, 7), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8)]
# Python search paths. It will use first Python found for specific version.
# Supports replacement of one environment variable in path eg.: %ENV_KEY%.
diff --git a/tools/common.py b/tools/common.py
index 113bcd9e..226fd391 100644
--- a/tools/common.py
+++ b/tools/common.py
@@ -473,6 +473,8 @@ def get_msvs_for_python(vs_prefix=False):
return "VS2015" if vs_prefix else "2015"
elif sys.version_info[:2] == (3, 7):
return "VS2015" if vs_prefix else "2015"
+ elif sys.version_info[:2] == (3, 8):
+ return "VS2015" if vs_prefix else "2015"
else:
print("ERROR: This version of Python is not supported")
sys.exit(1)
diff --git a/tools/cython_setup.py b/tools/cython_setup.py
index 4f0cafc6..52482cba 100644
--- a/tools/cython_setup.py
+++ b/tools/cython_setup.py
@@ -318,6 +318,7 @@ def get_include_dirs():
'/usr/include/gtk-unix-print-2.0',
'/usr/include/cairo',
'/usr/include/pango-1.0',
+ '/usr/include/harfbuzz',
'/usr/include/gdk-pixbuf-2.0',
'/usr/include/atk-1.0',
# Fedora
@@ -337,6 +338,7 @@ def get_include_dirs():
'/usr/include/gtk-unix-print-2.0',
'/usr/include/cairo',
'/usr/include/pango-1.0',
+ '/usr/include/harfbuzz',
'/usr/include/gdk-pixbuf-2.0',
'/usr/include/atk-1.0',
# Ubuntu
diff --git a/tools/installer/cefpython3.__init__.py b/tools/installer/cefpython3.__init__.py
index fc00000d..794f4941 100644
--- a/tools/installer/cefpython3.__init__.py
+++ b/tools/installer/cefpython3.__init__.py
@@ -60,5 +60,8 @@
elif sys.version_info[:2] == (3, 7):
# noinspection PyUnresolvedReferences
from . import cefpython_py37 as cefpython
+elif sys.version_info[:2] == (3, 8):
+ # noinspection PyUnresolvedReferences
+ from . import cefpython_py38 as cefpython
else:
raise Exception("Python version not supported: " + sys.version)
diff --git a/tools/installer/cefpython3.setup.py b/tools/installer/cefpython3.setup.py
index 6814cbb7..2a926913 100644
--- a/tools/installer/cefpython3.setup.py
+++ b/tools/installer/cefpython3.setup.py
@@ -148,6 +148,7 @@ def main():
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
"Topic :: Desktop Environment",
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP",
diff --git a/tools/requirements.txt b/tools/requirements.txt
index 81ebc0c5..4b083579 100644
--- a/tools/requirements.txt
+++ b/tools/requirements.txt
@@ -1,4 +1,4 @@
-Cython == 0.28.4
+Cython == 0.29.21
docopt >= 0.6.2
setuptools
wheel