aboutsummaryrefslogtreecommitdiff
path: root/archivers/py-pyliblzma/files/patch-setup.py
blob: d4baf46700b13ebc2dc5c84c04a6bf68fcde5d5d (plain) (blame)
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
# allow building without pkg-config
# https://bugs.launchpad.net/pyliblzma/+bug/613837
# https://bazaar.launchpad.net/~proyvind/pyliblzma/trunk/revision/494

--- setup.py.orig	2010-04-13 21:06:43 UTC
+++ setup.py
@@ -24,6 +24,7 @@
 import sys, os, subprocess
 from warnings import warn
 from setuptools import setup, Extension
+from distutils.ccompiler import get_default_compiler
 
 descr = "Python bindings for liblzma"
 long_descr = """PylibLZMA provides a python interface for the liblzma library
@@ -41,21 +42,26 @@ for i in xrange(len(c_files)):
     c_files[i] = os.path.join('src', c_files[i])
 
 compile_args = []
-warnflags = ['-Wall', '-Wextra', '-pedantic', '-Wswitch-enum', '-Wswitch-default']
-compile_args.extend(warnflags)
 link_args = []
-if not subprocess.Popen('touch gnu99-test.c; gcc -std=gnu99 -E gnu99-test.c > /dev/null; rm -f gnu99-test.c',
-		shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True).stdout.read():
-    compile_args.append('-std=gnu99')
+libraries = ['lzma']
 
-pc_cflags = subprocess.Popen("pkg-config --cflags liblzma", shell=True, stdout=subprocess.PIPE, close_fds=True).stdout.readline().strip()
-if(pc_cflags):
-	compile_args.extend(pc_cflags.split(' '))
-pc_libs = subprocess.Popen("pkg-config --libs liblzma", shell=True, stdout=subprocess.PIPE, close_fds=True).stdout.readline().strip()
-if(pc_libs):
-	link_args.extend(pc_libs.split(' '))
+if get_default_compiler() in ('cygwin', 'emx', 'mingw32', 'unix'):
+    warnflags = ['-Wall', '-Wextra', '-pedantic', '-Wswitch-enum', '-Wswitch-default']
+    compile_args.extend(warnflags)
 
-extens=[Extension('lzma', c_files, extra_compile_args=compile_args, extra_link_args=link_args, define_macros=version_define)]
+    if not subprocess.Popen('touch gnu99-test.c; gcc -std=gnu99 -E gnu99-test.c > /dev/null; rm -f gnu99-test.c',
+            shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True).stdout.read():
+        compile_args.append('-std=gnu99')
+    
+    pc_cflags = subprocess.Popen("pkg-config --cflags liblzma", shell=True, stdout=subprocess.PIPE, close_fds=True).stdout.readline().strip()
+    if(pc_cflags):            
+        compile_args.extend(pc_cflags.split(' '))
+
+    pc_libs = subprocess.Popen("pkg-config --libs liblzma", shell=True, stdout=subprocess.PIPE, close_fds=True).stdout.readline().strip()
+    if(pc_libs):
+        link_args.extend(pc_libs.split(b' '))
+
+extens=[Extension('lzma', c_files, extra_compile_args=compile_args, libraries=libraries, extra_link_args=link_args, define_macros=version_define)]
 
 setup(
     name = "pyliblzma",