Anonymous committed 871f726

Issue 1237

Comments (0)

Files changed (1)


 def wrap_class(class_name):
-	Dynamically subclass the indicated task type, to guarantee correct
-	bubble-up method override behavior nomatter how many times the
- code is imported.
+	Manifest file processing and @response file workaround for command-line length limits on Windows systems
+	The indicated task class is replaced by a subclass to prevent conflicts in case the class is wrapped more than once
 	cls = Task.classes.get(class_name, None)
 	def exec_command(self, *k, **kw):
 		if self.env['CC_NAME'] == 'msvc':
-			return exec_command_msvc(self, *k, **kw)
+			return self.exec_command_msvc(*k, **kw)
 			return super(derived_class, self).exec_command(*k, **kw)
 	# base class API
 	derived_class.exec_response_command = exec_response_command
 	derived_class.quote_response_command = quote_response_command
+	derived_class.exec_command_msvc = exec_command_msvc
 	derived_class.exec_mf = exec_mf
 	return derived_class