summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorJohan Dahlin <zilch@src.gnome.org>2003-02-27 00:35:05 +0000
committerJohan Dahlin <zilch@src.gnome.org>2003-02-27 00:35:05 +0000
commitf832981c5b8623e8368a381101934050e715e36c (patch)
treefed24ffdfc868ff09f1872909d6ce9331f5f5703 /setup.py
parent2f755cf90328b503b1b39d63e449ffdc7e6188f3 (diff)
downloadpygtk-f832981c5b8623e8368a381101934050e715e36c.tar.gz
Added win32 support and some rearrangements. Largely based upon patch by
* setup.py, dsextras.py: Added win32 support and some rearrangements. Largely based upon patch by Cedric Gustin.
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py31
1 files changed, 25 insertions, 6 deletions
diff --git a/setup.py b/setup.py
index 79e8abd4..565dca0f 100755
--- a/setup.py
+++ b/setup.py
@@ -11,15 +11,15 @@
PyGTK is a set of bindings for the GTK widget set. It provides an object oriented interface that is slightly higher level than the C one. It automatically does all the type casting and reference counting that you would have to do normally with the C API. You can find out more on the official homepage, http://www.daa.com.au/~james/pygtk/"""
-from commands import getoutput
from distutils.command.build import build
from distutils.core import setup
+import glob
import os
import sys
-from dsextras import list_files, have_pkgconfig, GLOBAL_INC, GLOBAL_MACROS
-from dsextras import InstallLib, BuildExt, PkgConfigExtension
-from dsextras import Template, TemplateExtension
+from dsextras import getoutput, have_pkgconfig, list_files, \
+ GLOBAL_INC, GLOBAL_MACROS, InstallLib, BuildExt, \
+ PkgConfigExtension, Template, TemplateExtension
MAJOR_VERSION = 1
MINOR_VERSION = 99
@@ -40,11 +40,15 @@ PYGTK_SUFFIX = '2.0'
PYGTK_SUFFIX_LONG = 'gtk-' + PYGTK_SUFFIX
GLOBAL_INC += ['.', 'gtk']
-GLOBAL_MACROS += [('VERSION', '"%s"' % VERSION),
- ('PYGTK_MAJOR_VERSION', MAJOR_VERSION),
+GLOBAL_MACROS += [('PYGTK_MAJOR_VERSION', MAJOR_VERSION),
('PYGTK_MINOR_VERSION', MINOR_VERSION),
('PYGTK_MICRO_VERSION', MICRO_VERSION)]
+if sys.platform == 'win32':
+ GLOBAL_MACROS.append(('VERSION', '\\\"%s\\\"' % VERSION))
+else:
+ GLOBAL_MACROS.append(('VERSION', '"%s"' % VERSION))
+
DEFS_DIR = os.path.join('share', 'pygtk', PYGTK_SUFFIX, 'defs')
CODEGEN_DIR = os.path.join('share', 'pygtk', PYGTK_SUFFIX, 'codegen')
INCLUDE_DIR = os.path.join('include', 'pygtk-%s' % PYGTK_SUFFIX)
@@ -143,6 +147,8 @@ gtk = TemplateExtension(name='gtk', pkc_name='gtk+-2.0',
override='gtk/gtk.override',
defs='gtk/gtk.defs')
gtk.templates.append(gdk_template)
+if sys.platform == 'win32':
+ gtk.sources.append('gtk/gtk-fake-win32.c')
gtkgl = TemplateExtension(name='gtkgl', pkc_name='gtkgl-2.0',
pkc_version=LIBGLADE_REQUIRED,
@@ -202,6 +208,19 @@ if gtk.can_build():
if libglade.can_build():
ext_modules.append(libglade)
data_files.append((DEFS_DIR, ('gtk/libglade.defs',)))
+
+ if sys.platform == 'win32':
+ # We suppose the libglade and xml DLLs are somewhere in the PATH
+ dlls = []
+ for path in os.environ['PATH'].split(";"):
+ dlls += glob.glob(os.path.normpath(
+ os.path.join(path,"libglade*.dll")))
+ dlls += glob.glob(os.path.normpath(
+ os.path.join(path,"libxml2*.dll")))
+ # We want to install those DLLs in (guess what ?) the DLLs python
+ # directory
+ data_files.append(("DLLs", dlls))
+
if gtkgl.can_build():
ext_modules.append(gtkgl)
data_files.append((DEFS_DIR, ('gtk/gtkgl.defs',)))