Skip to content

Commit 91a7da1

Browse files
committed
Don't require dependencies to be installed when clean target is executed.
1 parent 10315a6 commit 91a7da1

File tree

1 file changed

+93
-90
lines changed

1 file changed

+93
-90
lines changed

setup.py

Lines changed: 93 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -12,104 +12,107 @@ def check_output(args):
1212
output = subprocess.check_output(args).decode()
1313
return output.rstrip('\n')
1414

15+
ext_modules = []
16+
extra_comp_args = []
1517
linkflags = []
16-
lib_path = os.path.join(check_output([mapnik_config, '--prefix']),'lib')
17-
linkflags.extend(check_output([mapnik_config, '--libs']).split(' '))
18-
linkflags.extend(check_output([mapnik_config, '--ldflags']).split(' '))
19-
linkflags.extend(check_output([mapnik_config, '--dep-libs']).split(' '))
20-
linkflags.extend([
21-
'-lmapnik-wkt',
22-
'-lmapnik-json',
23-
])
2418

25-
# Dynamically make the mapnik/paths.py file
26-
f_paths = open('packaging/mapnik/paths.py', 'w')
27-
f_paths.write('import os\n')
28-
f_paths.write('\n')
19+
if 'clean' not in sys.argv:
20+
lib_path = os.path.join(check_output([mapnik_config, '--prefix']),'lib')
21+
linkflags.extend(check_output([mapnik_config, '--libs']).split(' '))
22+
linkflags.extend(check_output([mapnik_config, '--ldflags']).split(' '))
23+
linkflags.extend(check_output([mapnik_config, '--dep-libs']).split(' '))
24+
linkflags.extend([
25+
'-lmapnik-wkt',
26+
'-lmapnik-json',
27+
])
2928

30-
input_plugin_path = check_output([mapnik_config, '--input-plugins'])
31-
font_path = check_output([mapnik_config, '--fonts'])
29+
# Dynamically make the mapnik/paths.py file
30+
f_paths = open('packaging/mapnik/paths.py', 'w')
31+
f_paths.write('import os\n')
32+
f_paths.write('\n')
3233

33-
if os.environ.get('LIB_DIR_NAME'):
34-
mapnik_lib_path = lib_path + os.environ.get('LIB_DIR_NAME')
35-
else:
36-
mapnik_lib_path = lib_path + "/mapnik"
37-
f_paths.write("mapniklibpath = '{path}'\n".format(path=mapnik_lib_path))
38-
f_paths.write(
39-
"inputpluginspath = '{path}'\n".format(path=input_plugin_path))
40-
f_paths.write(
41-
"fontscollectionpath = '{path}'\n".format(path=font_path))
42-
f_paths.write(
43-
"__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n")
44-
f_paths.close()
34+
input_plugin_path = check_output([mapnik_config, '--input-plugins'])
35+
font_path = check_output([mapnik_config, '--fonts'])
4536

46-
extra_comp_args = check_output([mapnik_config, '--cflags']).split(' ')
47-
extra_comp_args = list(filter(lambda arg: arg != "-fvisibility=hidden", extra_comp_args))
37+
if os.environ.get('LIB_DIR_NAME'):
38+
mapnik_lib_path = lib_path + os.environ.get('LIB_DIR_NAME')
39+
else:
40+
mapnik_lib_path = lib_path + "/mapnik"
41+
f_paths.write("mapniklibpath = '{path}'\n".format(path=mapnik_lib_path))
42+
f_paths.write(
43+
"inputpluginspath = '{path}'\n".format(path=input_plugin_path))
44+
f_paths.write(
45+
"fontscollectionpath = '{path}'\n".format(path=font_path))
46+
f_paths.write(
47+
"__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n")
48+
f_paths.close()
4849

49-
if sys.platform == 'darwin':
50-
pass
51-
else:
52-
linkflags.append('-lrt')
53-
linkflags.append('-Wl,-z,origin')
54-
linkflags.append('-Wl,-rpath=$ORIGIN/lib')
50+
extra_comp_args = check_output([mapnik_config, '--cflags']).split(' ')
51+
extra_comp_args = list(filter(lambda arg: arg != "-fvisibility=hidden", extra_comp_args))
5552

53+
if sys.platform == 'darwin':
54+
pass
55+
else:
56+
linkflags.append('-lrt')
57+
linkflags.append('-Wl,-z,origin')
58+
linkflags.append('-Wl,-rpath=$ORIGIN/lib')
5659

57-
ext_modules = [
58-
Pybind11Extension(
59-
"mapnik._mapnik",
60-
[
61-
"src/mapnik_python.cpp",
62-
"src/mapnik_layer.cpp",
63-
"src/mapnik_query.cpp",
64-
"src/mapnik_map.cpp",
65-
"src/mapnik_color.cpp",
66-
"src/mapnik_composite_modes.cpp",
67-
"src/mapnik_coord.cpp",
68-
"src/mapnik_envelope.cpp",
69-
"src/mapnik_expression.cpp",
70-
"src/mapnik_datasource.cpp",
71-
"src/mapnik_datasource_cache.cpp",
72-
"src/mapnik_gamma_method.cpp",
73-
"src/mapnik_geometry.cpp",
74-
"src/mapnik_feature.cpp",
75-
"src/mapnik_featureset.cpp",
76-
"src/mapnik_font_engine.cpp",
77-
"src/mapnik_fontset.cpp",
78-
"src/mapnik_grid.cpp",
79-
"src/mapnik_grid_view.cpp",
80-
"src/mapnik_image.cpp",
81-
"src/mapnik_image_view.cpp",
82-
"src/mapnik_projection.cpp",
83-
"src/mapnik_proj_transform.cpp",
84-
"src/mapnik_rule.cpp",
85-
"src/mapnik_symbolizer.cpp",
86-
"src/mapnik_debug_symbolizer.cpp",
87-
"src/mapnik_markers_symbolizer.cpp",
88-
"src/mapnik_polygon_symbolizer.cpp",
89-
"src/mapnik_polygon_pattern_symbolizer.cpp",
90-
"src/mapnik_line_symbolizer.cpp",
91-
"src/mapnik_line_pattern_symbolizer.cpp",
92-
"src/mapnik_point_symbolizer.cpp",
93-
"src/mapnik_raster_symbolizer.cpp",
94-
"src/mapnik_scaling_method.cpp",
95-
"src/mapnik_style.cpp",
96-
"src/mapnik_logger.cpp",
97-
"src/mapnik_placement_finder.cpp",
98-
"src/mapnik_text_symbolizer.cpp",
99-
"src/mapnik_palette.cpp",
100-
"src/mapnik_parameters.cpp",
101-
"src/python_grid_utils.cpp",
102-
"src/mapnik_raster_colorizer.cpp",
103-
"src/mapnik_label_collision_detector.cpp",
104-
"src/mapnik_dot_symbolizer.cpp",
105-
"src/mapnik_building_symbolizer.cpp",
106-
"src/mapnik_shield_symbolizer.cpp",
107-
"src/mapnik_group_symbolizer.cpp"
108-
],
109-
extra_compile_args=extra_comp_args,
110-
extra_link_args=linkflags,
111-
)
112-
]
60+
ext_modules = [
61+
Pybind11Extension(
62+
"mapnik._mapnik",
63+
[
64+
"src/mapnik_python.cpp",
65+
"src/mapnik_layer.cpp",
66+
"src/mapnik_query.cpp",
67+
"src/mapnik_map.cpp",
68+
"src/mapnik_color.cpp",
69+
"src/mapnik_composite_modes.cpp",
70+
"src/mapnik_coord.cpp",
71+
"src/mapnik_envelope.cpp",
72+
"src/mapnik_expression.cpp",
73+
"src/mapnik_datasource.cpp",
74+
"src/mapnik_datasource_cache.cpp",
75+
"src/mapnik_gamma_method.cpp",
76+
"src/mapnik_geometry.cpp",
77+
"src/mapnik_feature.cpp",
78+
"src/mapnik_featureset.cpp",
79+
"src/mapnik_font_engine.cpp",
80+
"src/mapnik_fontset.cpp",
81+
"src/mapnik_grid.cpp",
82+
"src/mapnik_grid_view.cpp",
83+
"src/mapnik_image.cpp",
84+
"src/mapnik_image_view.cpp",
85+
"src/mapnik_projection.cpp",
86+
"src/mapnik_proj_transform.cpp",
87+
"src/mapnik_rule.cpp",
88+
"src/mapnik_symbolizer.cpp",
89+
"src/mapnik_debug_symbolizer.cpp",
90+
"src/mapnik_markers_symbolizer.cpp",
91+
"src/mapnik_polygon_symbolizer.cpp",
92+
"src/mapnik_polygon_pattern_symbolizer.cpp",
93+
"src/mapnik_line_symbolizer.cpp",
94+
"src/mapnik_line_pattern_symbolizer.cpp",
95+
"src/mapnik_point_symbolizer.cpp",
96+
"src/mapnik_raster_symbolizer.cpp",
97+
"src/mapnik_scaling_method.cpp",
98+
"src/mapnik_style.cpp",
99+
"src/mapnik_logger.cpp",
100+
"src/mapnik_placement_finder.cpp",
101+
"src/mapnik_text_symbolizer.cpp",
102+
"src/mapnik_palette.cpp",
103+
"src/mapnik_parameters.cpp",
104+
"src/python_grid_utils.cpp",
105+
"src/mapnik_raster_colorizer.cpp",
106+
"src/mapnik_label_collision_detector.cpp",
107+
"src/mapnik_dot_symbolizer.cpp",
108+
"src/mapnik_building_symbolizer.cpp",
109+
"src/mapnik_shield_symbolizer.cpp",
110+
"src/mapnik_group_symbolizer.cpp"
111+
],
112+
extra_compile_args=extra_comp_args,
113+
extra_link_args=linkflags,
114+
)
115+
]
113116

114117
if os.environ.get("CC", False) == False:
115118
os.environ["CC"] = check_output([mapnik_config, '--cxx'])

0 commit comments

Comments
 (0)