@@ -114,143 +114,146 @@ def run(self):
114
114
mason_build = False
115
115
116
116
117
+ extra_comp_args = []
117
118
linkflags = []
118
- lib_path = os .path .join (check_output ([mapnik_config , '--prefix' ]),'lib' )
119
- linkflags .extend (check_output ([mapnik_config , '--libs' ]).split (' ' ))
120
- linkflags .extend (check_output ([mapnik_config , '--ldflags' ]).split (' ' ))
121
- linkflags .extend (check_output ([mapnik_config , '--dep-libs' ]).split (' ' ))
122
- linkflags .extend ([
123
- '-lmapnik-wkt' ,
124
- '-lmapnik-json' ,
125
- ] + ['-l%s' % i for i in get_boost_library_names ()])
126
-
127
- # Dynamically make the mapnik/paths.py file
128
- f_paths = open ('mapnik/paths.py' , 'w' )
129
- f_paths .write ('import os\n ' )
130
- f_paths .write ('\n ' )
131
-
132
- input_plugin_path = check_output ([mapnik_config , '--input-plugins' ])
133
- font_path = check_output ([mapnik_config , '--fonts' ])
134
-
135
- if mason_build :
136
- try :
137
- if sys .platform == 'darwin' :
138
- base_f = 'libmapnik.dylib'
139
- else :
140
- base_f = 'libmapnik.so'
141
- f = os .path .join (lib_path , base_f )
142
- if not os .path .exists (os .path .join ('mapnik' , 'lib' )):
143
- os .makedirs (os .path .join ('mapnik' , 'lib' ))
144
- shutil .copyfile (f , os .path .join ('mapnik' , 'lib' , base_f ))
145
- except shutil .Error :
146
- pass
147
- input_plugin_files = os .listdir (input_plugin_path )
148
- input_plugin_files = [os .path .join (
149
- input_plugin_path , f ) for f in input_plugin_files ]
150
- if not os .path .exists (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'input' )):
151
- os .makedirs (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'input' ))
152
- for f in input_plugin_files :
153
- try :
154
- shutil .copyfile (f , os .path .join (
155
- 'mapnik' , 'lib' , 'mapnik' , 'input' , os .path .basename (f )))
156
- except shutil .Error :
157
- pass
158
- font_files = os .listdir (font_path )
159
- font_files = [os .path .join (font_path , f ) for f in font_files ]
160
- if not os .path .exists (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'fonts' )):
161
- os .makedirs (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'fonts' ))
162
- for f in font_files :
119
+
120
+ if 'clean' not in sys .argv :
121
+ lib_path = os .path .join (check_output ([mapnik_config , '--prefix' ]),'lib' )
122
+ linkflags .extend (check_output ([mapnik_config , '--libs' ]).split (' ' ))
123
+ linkflags .extend (check_output ([mapnik_config , '--ldflags' ]).split (' ' ))
124
+ linkflags .extend (check_output ([mapnik_config , '--dep-libs' ]).split (' ' ))
125
+ linkflags .extend ([
126
+ '-lmapnik-wkt' ,
127
+ '-lmapnik-json' ,
128
+ ] + ['-l%s' % i for i in get_boost_library_names ()])
129
+
130
+ # Dynamically make the mapnik/paths.py file
131
+ f_paths = open ('mapnik/paths.py' , 'w' )
132
+ f_paths .write ('import os\n ' )
133
+ f_paths .write ('\n ' )
134
+
135
+ input_plugin_path = check_output ([mapnik_config , '--input-plugins' ])
136
+ font_path = check_output ([mapnik_config , '--fonts' ])
137
+
138
+ if mason_build :
163
139
try :
164
- shutil .copyfile (f , os .path .join (
165
- 'mapnik' , 'lib' , 'mapnik' , 'fonts' , os .path .basename (f )))
140
+ if sys .platform == 'darwin' :
141
+ base_f = 'libmapnik.dylib'
142
+ else :
143
+ base_f = 'libmapnik.so'
144
+ f = os .path .join (lib_path , base_f )
145
+ if not os .path .exists (os .path .join ('mapnik' , 'lib' )):
146
+ os .makedirs (os .path .join ('mapnik' , 'lib' ))
147
+ shutil .copyfile (f , os .path .join ('mapnik' , 'lib' , base_f ))
166
148
except shutil .Error :
167
149
pass
168
- f_paths .write (
169
- 'mapniklibpath = os.path.join(os.path.dirname(os.path.realpath(__file__)), "lib")\n ' )
170
- f_paths .write ("inputpluginspath = os.path.join(mapniklibpath, 'mapnik', 'input')\n " )
171
- f_paths .write ("fontscollectionpath = os.path.join(mapniklibpath, 'mapnik', 'fonts')\n " )
172
- f_paths .write (
173
- "__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n " )
174
- f_paths .close ()
175
- else :
176
- if os .environ .get ('LIB_DIR_NAME' ):
177
- mapnik_lib_path = lib_path + os .environ .get ('LIB_DIR_NAME' )
150
+ input_plugin_files = os .listdir (input_plugin_path )
151
+ input_plugin_files = [os .path .join (
152
+ input_plugin_path , f ) for f in input_plugin_files ]
153
+ if not os .path .exists (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'input' )):
154
+ os .makedirs (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'input' ))
155
+ for f in input_plugin_files :
156
+ try :
157
+ shutil .copyfile (f , os .path .join (
158
+ 'mapnik' , 'lib' , 'mapnik' , 'input' , os .path .basename (f )))
159
+ except shutil .Error :
160
+ pass
161
+ font_files = os .listdir (font_path )
162
+ font_files = [os .path .join (font_path , f ) for f in font_files ]
163
+ if not os .path .exists (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'fonts' )):
164
+ os .makedirs (os .path .join ('mapnik' , 'lib' , 'mapnik' , 'fonts' ))
165
+ for f in font_files :
166
+ try :
167
+ shutil .copyfile (f , os .path .join (
168
+ 'mapnik' , 'lib' , 'mapnik' , 'fonts' , os .path .basename (f )))
169
+ except shutil .Error :
170
+ pass
171
+ f_paths .write (
172
+ 'mapniklibpath = os.path.join(os.path.dirname(os.path.realpath(__file__)), "lib")\n ' )
173
+ f_paths .write ("inputpluginspath = os.path.join(mapniklibpath, 'mapnik', 'input')\n " )
174
+ f_paths .write ("fontscollectionpath = os.path.join(mapniklibpath, 'mapnik', 'fonts')\n " )
175
+ f_paths .write (
176
+ "__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n " )
177
+ f_paths .close ()
178
178
else :
179
- mapnik_lib_path = lib_path + "/mapnik"
180
- f_paths .write ("mapniklibpath = '{path}'\n " .format (path = mapnik_lib_path ))
181
- f_paths .write ('mapniklibpath = os.path.normpath(mapniklibpath)\n ' )
182
- f_paths .write (
183
- "inputpluginspath = '{path}'\n " .format (path = input_plugin_path ))
184
- f_paths .write (
185
- "fontscollectionpath = '{path}'\n " .format (path = font_path ))
186
- f_paths .write (
187
- "__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n " )
188
- f_paths .close ()
189
-
190
-
191
- if mason_build :
192
-
193
- share_dir = 'share'
194
-
195
- for dep in ['icu' ,'gdal' ,'proj' ]:
196
- share_path = os .path .join ('mapnik' , share_dir , dep )
197
- if not os .path .exists (share_path ):
198
- os .makedirs (share_path )
199
-
200
- icu_path = 'mason_packages/.link/share/icu/*/*.dat'
201
- icu_files = glob .glob (icu_path )
202
- if len (icu_files ) != 1 :
203
- raise Exception ("Failed to find icu dat file at " + icu_path )
204
- for f in icu_files :
205
- shutil .copyfile (f , os .path .join (
206
- 'mapnik' , share_dir , 'icu' , os .path .basename (f )))
207
-
208
- gdal_path = 'mason_packages/.link/share/gdal/'
209
- gdal_files = os .listdir (gdal_path )
210
- gdal_files = [os .path .join (gdal_path , f ) for f in gdal_files ]
211
- for f in gdal_files :
212
- try :
179
+ if os .environ .get ('LIB_DIR_NAME' ):
180
+ mapnik_lib_path = lib_path + os .environ .get ('LIB_DIR_NAME' )
181
+ else :
182
+ mapnik_lib_path = lib_path + "/mapnik"
183
+ f_paths .write ("mapniklibpath = '{path}'\n " .format (path = mapnik_lib_path ))
184
+ f_paths .write ('mapniklibpath = os.path.normpath(mapniklibpath)\n ' )
185
+ f_paths .write (
186
+ "inputpluginspath = '{path}'\n " .format (path = input_plugin_path ))
187
+ f_paths .write (
188
+ "fontscollectionpath = '{path}'\n " .format (path = font_path ))
189
+ f_paths .write (
190
+ "__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n " )
191
+ f_paths .close ()
192
+
193
+
194
+ if mason_build :
195
+
196
+ share_dir = 'share'
197
+
198
+ for dep in ['icu' ,'gdal' ,'proj' ]:
199
+ share_path = os .path .join ('mapnik' , share_dir , dep )
200
+ if not os .path .exists (share_path ):
201
+ os .makedirs (share_path )
202
+
203
+ icu_path = 'mason_packages/.link/share/icu/*/*.dat'
204
+ icu_files = glob .glob (icu_path )
205
+ if len (icu_files ) != 1 :
206
+ raise Exception ("Failed to find icu dat file at " + icu_path )
207
+ for f in icu_files :
213
208
shutil .copyfile (f , os .path .join (
214
- 'mapnik' , share_dir , 'gdal' , os .path .basename (f )))
215
- except shutil .Error :
216
- pass
217
-
218
- proj_path = 'mason_packages/.link/share/proj/'
219
- proj_files = os .listdir (proj_path )
220
- proj_files = [os .path .join (proj_path , f ) for f in proj_files ]
221
- for f in proj_files :
209
+ 'mapnik' , share_dir , 'icu' , os .path .basename (f )))
210
+
211
+ gdal_path = 'mason_packages/.link/share/gdal/'
212
+ gdal_files = os .listdir (gdal_path )
213
+ gdal_files = [os .path .join (gdal_path , f ) for f in gdal_files ]
214
+ for f in gdal_files :
215
+ try :
216
+ shutil .copyfile (f , os .path .join (
217
+ 'mapnik' , share_dir , 'gdal' , os .path .basename (f )))
218
+ except shutil .Error :
219
+ pass
220
+
221
+ proj_path = 'mason_packages/.link/share/proj/'
222
+ proj_files = os .listdir (proj_path )
223
+ proj_files = [os .path .join (proj_path , f ) for f in proj_files ]
224
+ for f in proj_files :
225
+ try :
226
+ shutil .copyfile (f , os .path .join (
227
+ 'mapnik' , share_dir , 'proj' , os .path .basename (f )))
228
+ except shutil .Error :
229
+ pass
230
+
231
+ extra_comp_args = check_output ([mapnik_config , '--cflags' ]).split (' ' )
232
+
233
+ extra_comp_args = list (filter (lambda arg : arg != "-fvisibility=hidden" , extra_comp_args ))
234
+
235
+ if os .environ .get ("PYCAIRO" , "false" ) == "true" :
222
236
try :
223
- shutil .copyfile (f , os .path .join (
224
- 'mapnik' , share_dir , 'proj' , os .path .basename (f )))
225
- except shutil .Error :
226
- pass
227
-
228
- extra_comp_args = check_output ([mapnik_config , '--cflags' ]).split (' ' )
229
-
230
- extra_comp_args = list (filter (lambda arg : arg != "-fvisibility=hidden" , extra_comp_args ))
231
-
232
- if os .environ .get ("PYCAIRO" , "false" ) == "true" :
233
- try :
234
- extra_comp_args .append ('-DHAVE_PYCAIRO' )
235
- dist = pkg_resources .get_distribution ('pycairo' )
236
- print (dist .location )
237
- print ("-I%s/cairo/include" .format (dist .location ))
238
- extra_comp_args .append ("-I{0}/cairo/include" .format (dist .location ))
239
- #extra_comp_args.extend(check_output(["pkg-config", '--cflags', 'pycairo']).strip().split(' '))
240
- #linkflags.extend(check_output(["pkg-config", '--libs', 'pycairo']).strip().split(' '))
241
- except :
242
- raise Exception ("Failed to find compiler options for pycairo" )
243
-
244
- if sys .platform == 'darwin' :
245
- extra_comp_args .append ('-mmacosx-version-min=13.0' )
246
- # silence warning coming from boost python macros which
247
- # would is hard to silence via pragma
248
- extra_comp_args .append ('-Wno-parentheses-equality' )
249
- linkflags .append ('-mmacosx-version-min=13.0' )
250
- else :
251
- linkflags .append ('-lrt' )
252
- linkflags .append ('-Wl,-z,origin' )
253
- linkflags .append ('-Wl,-rpath=$ORIGIN/lib' )
237
+ extra_comp_args .append ('-DHAVE_PYCAIRO' )
238
+ dist = pkg_resources .get_distribution ('pycairo' )
239
+ print (dist .location )
240
+ print ("-I%s/cairo/include" .format (dist .location ))
241
+ extra_comp_args .append ("-I{0}/cairo/include" .format (dist .location ))
242
+ #extra_comp_args.extend(check_output(["pkg-config", '--cflags', 'pycairo']).strip().split(' '))
243
+ #linkflags.extend(check_output(["pkg-config", '--libs', 'pycairo']).strip().split(' '))
244
+ except :
245
+ raise Exception ("Failed to find compiler options for pycairo" )
246
+
247
+ if sys .platform == 'darwin' :
248
+ extra_comp_args .append ('-mmacosx-version-min=13.0' )
249
+ # silence warning coming from boost python macros which
250
+ # would is hard to silence via pragma
251
+ extra_comp_args .append ('-Wno-parentheses-equality' )
252
+ linkflags .append ('-mmacosx-version-min=13.0' )
253
+ else :
254
+ linkflags .append ('-lrt' )
255
+ linkflags .append ('-Wl,-z,origin' )
256
+ linkflags .append ('-Wl,-rpath=$ORIGIN/lib' )
254
257
255
258
if os .environ .get ("CC" , False ) == False :
256
259
os .environ ["CC" ] = check_output ([mapnik_config , '--cxx' ])
0 commit comments