annotate setup_windows.py @ 54:6e31278d3433 MySQLdb

There's no good reason to delay imports when the module is (1) useless without it or (2) you do the same late import more than once.
author kylev
date Mon, 23 Feb 2009 23:52:44 +0000
parents 7c7a89123d65
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
1 def get_config():
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
2 import os, sys, _winreg
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
3 from setup_common import get_metadata_and_options, enabled, create_release_file
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
4
9
0e37ee00beb7 Merge changes from 1.2 branch (r470:483): Mostly build-related.
adustman
parents: 5
diff changeset
5 metadata, options = get_metadata_and_options()
0e37ee00beb7 Merge changes from 1.2 branch (r470:483): Mostly build-related.
adustman
parents: 5
diff changeset
6
0e37ee00beb7 Merge changes from 1.2 branch (r470:483): Mostly build-related.
adustman
parents: 5
diff changeset
7 serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
5
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
8 mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
9
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
10 extra_objects = []
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
11 static = enabled(options, 'static')
9
0e37ee00beb7 Merge changes from 1.2 branch (r470:483): Mostly build-related.
adustman
parents: 5
diff changeset
12 # XXX static doesn't actually do anything on Windows
5
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
13 if enabled(options, 'embedded'):
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
14 client = "mysqld"
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
15 else:
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
16 client = "mysqlclient"
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
17
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
18 library_dirs = [ os.path.join(mysql_root, r'lib\opt') ]
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
19 libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
20 include_dirs = [ os.path.join(mysql_root, r'include') ]
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
21 extra_compile_args = [ '/Zl' ]
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
22
17
7c7a89123d65 egg names already include python versoin, so don't add it to package name.
adustman
parents: 9
diff changeset
23 name = "MySQL-python"
5
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
24 if enabled(options, 'embedded'):
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
25 name = name + "-embedded"
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
26 metadata['name'] = name
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
27
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
28 define_macros = [
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
29 ('version_info', metadata['version_info']),
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
30 ('__version__', metadata['version']),
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
31 ]
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
32 create_release_file(metadata)
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
33 del metadata['version_info']
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
34 ext_options = dict(
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
35 name = "_mysql",
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
36 library_dirs = library_dirs,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
37 libraries = libraries,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
38 extra_compile_args = extra_compile_args,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
39 include_dirs = include_dirs,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
40 extra_objects = extra_objects,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
41 define_macros = define_macros,
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
42 )
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
43 return metadata, ext_options
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
44
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
45 if __name__ == "__main__":
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
46 print """You shouldn't be running this directly; it is used by setup.py."""
b70cce9bd065 Merge changes from 1.2 branch r456-468
adustman
parents:
diff changeset
47