summaryrefslogtreecommitdiff
path: root/winbuild
diff options
context:
space:
mode:
authorwinbuild <winbuild@example.com>2020-01-29 20:20:07 -0500
committerwinbuild <winbuild@example.com>2020-01-29 20:20:07 -0500
commitc2de8c8416a2d4b0932db5c9ceee22de118ec062 (patch)
treee8b0d1c203448dcc62057147dbb42cda13e7ef8a /winbuild
parent826d7bea680e68809caeef2e88dc1765ecf5f2c8 (diff)
downloadpycurl-c2de8c8416a2d4b0932db5c9ceee22de118ec062.tar.gz
nghttp2 build via gmake
Diffstat (limited to 'winbuild')
-rw-r--r--winbuild/nghttp_cmake.py (renamed from winbuild/nghttp.py)0
-rw-r--r--winbuild/nghttp_gmake.py22
-rw-r--r--winbuild/utils.py2
3 files changed, 23 insertions, 1 deletions
diff --git a/winbuild/nghttp.py b/winbuild/nghttp_cmake.py
index fe57934..fe57934 100644
--- a/winbuild/nghttp.py
+++ b/winbuild/nghttp_cmake.py
diff --git a/winbuild/nghttp_gmake.py b/winbuild/nghttp_gmake.py
new file mode 100644
index 0000000..5dba20c
--- /dev/null
+++ b/winbuild/nghttp_gmake.py
@@ -0,0 +1,22 @@
+import shutil
+from .builder import *
+
+class Nghttp2Builder(StandardBuilder):
+ def build(self):
+ nghttp2_dir = self.standard_fetch_extract(
+ 'https://github.com/nghttp2/nghttp2/releases/download/v%(my_version)s/nghttp2-%(my_version)s.tar.gz')
+
+ with in_dir(os.path.join(nghttp2_dir, 'lib')):
+ with self.execute_batch() as b:
+
+ b.add('"%s" -f Makefile.msvc' % self.bconf.gmake_path)
+
+ # assemble dist
+ b.add('mkdir ..\\dist ..\\dist\\include ..\\dist\\include\\nghttp2 ..\\dist\\lib')
+ b.add('cp msvc_obj/*.lib ../dist/lib')
+ b.add('cp includes/nghttp2/*.h ../dist/include/nghttp2')
+
+ # libcurl expects nghttp2_static.lib apparently, the makefile
+ # gives a different name to the static library
+ if not os.path.exists('../dist/lib/nghttp2_static.lib'):
+ shutil.copy('../dist/lib/nghttp2-static.lib', '../dist/lib/nghttp2_static.lib')
diff --git a/winbuild/utils.py b/winbuild/utils.py
index 5620c78..0e043d8 100644
--- a/winbuild/utils.py
+++ b/winbuild/utils.py
@@ -1,4 +1,4 @@
-import os.path, subprocess, sys, os, glob, re, contextlib
+import os.path, subprocess, sys, os, glob, re, contextlib, shutil
try:
from urllib.request import urlopen
except ImportError: