OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # coding: utf-8 | 2 # coding: utf-8 |
3 | 3 |
4 import os, sys, subprocess, tempfile; | 4 import os, sys, subprocess, tempfile; |
5 baseDir = os.path.abspath(os.path.dirname(__file__)) | 5 baseDir = os.path.abspath(os.path.dirname(__file__)) |
6 | 6 |
7 def check_curl(): | 7 def check_curl(): |
8 (fd, name) = tempfile.mkstemp(dir=os.path.join(baseDir, 'build'), suffix='.h') | 8 buildDir = os.path.join(baseDir, 'build') |
| 9 if not os.path.exists(buildDir): |
| 10 os.makedirs(buildDir); |
| 11 (fd, name) = tempfile.mkstemp(dir=buildDir, suffix='.h') |
9 try: | 12 try: |
10 handle = os.fdopen(fd, 'wb'); | 13 handle = os.fdopen(fd, 'wb'); |
11 handle.write('#include <curl/curl.h>') | 14 handle.write('#include <curl/curl.h>') |
12 handle.close(); | 15 handle.close(); |
13 | 16 |
14 # This command won't work for Windows or Android build environments but we | 17 # This command won't work for Windows or Android build environments but we |
15 # don't want to use curl there anyway | 18 # don't want to use curl there anyway |
16 command = ['/usr/bin/env', 'gcc', '-E', name]; | 19 command = ['/usr/bin/env', 'gcc', '-E', name]; |
17 process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subproces
s.PIPE) | 20 process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subproces
s.PIPE) |
18 process.communicate() | 21 process.communicate() |
19 | 22 |
20 if process.returncode: | 23 if process.returncode: |
21 # call failed, curl not available | 24 # call failed, curl not available |
22 sys.stdout.write('0') | 25 sys.stdout.write('0') |
23 else: | 26 else: |
24 # call succeeded, curl can be used | 27 # call succeeded, curl can be used |
25 sys.stdout.write('1') | 28 sys.stdout.write('1') |
26 finally: | 29 finally: |
27 os.remove(name) | 30 os.remove(name) |
28 | 31 |
29 if __name__ == '__main__': | 32 if __name__ == '__main__': |
30 check_curl() | 33 check_curl() |
OLD | NEW |