MINGW-packages/mingw-w64-python-setuptools/0011-add-support-for-windmc.patch
2025-03-30 13:28:03 +02:00

31 lines
1.3 KiB
Diff

--- setuptools-78.1.0/setuptools/_distutils/compilers/C/cygwin.py.orig 2025-03-25 23:49:14.000000000 +0100
+++ setuptools-78.1.0/setuptools/_distutils/compilers/C/cygwin.py 2025-03-30 09:07:37.718193800 +0200
@@ -111,6 +111,18 @@
self.spawn(["windres", "-i", src, "-o", obj])
except DistutilsExecError as msg:
raise CompileError(msg)
+ elif ext == '.mc':
+ h_dir = os.path.dirname(src)
+ rc_dir = os.path.dirname(obj)
+ try:
+ # first compile .mc to .rc and .h file
+ self.spawn(['windmc'] + ['-h', h_dir, '-r', rc_dir] + [src])
+ base, _ = os.path.splitext(os.path.basename(src))
+ rc_file = os.path.join(rc_dir, base + '.rc')
+ # then compile .rc to .res file
+ self.spawn(['windres', '-i', rc_file, '-o', obj])
+ except DistutilsExecError as msg:
+ raise CompileError(msg)
else: # for other files use the C-compiler
try:
if self.detect_language(src) == 'c++':
@@ -236,7 +248,7 @@
"""
return {
**super().out_extensions,
- **{ext: ext + self.obj_extension for ext in ('.res', '.rc')},
+ **{ext: ext + self.obj_extension for ext in ('.res', '.rc', '.mc')},
}