5050
5151EXCLUDED_FILES = {
5252 'pyshellext' ,
53+ 'pyshellext_d'
54+ }
55+
56+ INCLUDED_FILES = {
57+ 'libcrypto-1_1' ,
58+ 'libssl-1_1' ,
5359}
5460
5561def is_debug (p ):
62+ if p .stem .lower () in INCLUDED_FILES :
63+ return True
64+
5665 if p .stem .lower () in EXCLUDED_FILES :
5766 return False
5867
@@ -165,10 +174,13 @@ def copy_to_layout(target, rel_sources):
165174 pass
166175
167176 if dest .is_file ():
168- dest .chmod (stat .S_IWRITE )
177+ timeNotEqual = True if s .stat ().st_mtime != dest .stat ().st_mtime else False
178+ sizeNotEqual = True if s .stat ().st_size != dest .stat ().st_size else False
169179
170- shutil .copy2 (str (s ), str (dest ))
171- count += 1
180+ if not dest .is_file () or timeNotEqual or sizeNotEqual :
181+ print (dest )
182+ shutil .copy2 (str (s ), str (dest ))
183+ count += 1
172184
173185 return count
174186
@@ -188,6 +200,7 @@ def main():
188200 global includeTest
189201
190202 parser = argparse .ArgumentParser ()
203+ parser .add_argument ('-c' , '--clean' , help = 'Clean output directory' , action = 'store_true' , default = False )
191204 parser .add_argument ('-d' , '--debug' , help = 'Include debug files' , action = 'store_true' , default = False )
192205 parser .add_argument ('-p' , '--platform' , metavar = 'dir' , help = 'One of win32, amd64, or arm32' , type = Path , default = None )
193206 parser .add_argument ('-t' , '--test' , help = 'Include test files' , action = 'store_true' , default = False )
@@ -215,11 +228,13 @@ def main():
215228 print ('source = {}' .format (source ))
216229 print ('output = {}' .format (output ))
217230
218- print ('clean output directory' )
219- shutil .rmtree (output )
231+ if ns .clean :
232+ print ('clean output directory' )
233+ shutil .rmtree (output )
220234
221- print ('create output directory' )
222- os .mkdir (output )
235+ if not output .is_dir ():
236+ print ('create output directory' )
237+ os .mkdir (output )
223238
224239 assert isinstance (repo , Path )
225240 assert isinstance (source , Path )
0 commit comments