Message244853
Here's how I can build the regex module on Windows 8.1, 64-bit, using only MinGW64.
For Python 3.5, I can link against "python35.dll", but for earlier versions, including Python 2.7, I need "libpython??.a".
I have built regex module for all of the 16 supported versions of Python (2.5-2.7, 3.1-3.5, 64-bit and 32-bit) and they have all passed the tests.
rem For Python 3.5, 64-bit.
rem Can link against the Python DLL.
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-64\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.5-64\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-64\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.5-64\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m64 -shared -s
"D:\mrab-regex\release\3.5-64\_regex_unicode.o"
"D:\mrab-regex\release\3.5-64\_regex.o" -L"C:\Python35" -lpython35 -o
"D:\mrab-regex\release\3.5-64\_regex.pyd"
rem For Python 3.5, 32-bit.
rem Can link against the Python DLL.
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-32\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.5-32\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-32\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.5-32\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m32 -shared -s
"D:\mrab-regex\release\3.5-32\_regex_unicode.o"
"D:\mrab-regex\release\3.5-32\_regex.o" -L"C:\Python35-32" -lpython35 -o
"D:\mrab-regex\release\3.5-32\_regex.pyd"
rem For Python 3.4, 64-bit.
rem Need to link against the Python .a file.
rem Make libpython34.a
"C:\MinGW64\x86_64-w64-mingw32\bin\gendef.exe" -
"C:\Windows\System32\python34.dll" >"C:\Python34-64\libs\libpython34.def"
"C:\MinGW64\bin\dlltool.exe" --dllname python34.dll --def
"C:\Python34-64\libs\libpython34.def" --output-lib
"C:\Python34-64\libs\libpython34.a"
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-64\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.4-64\_regex_unicode.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-64\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.4-64\_regex.o"
"C:\MinGW64\bin\gcc.exe" -m64 -shared -s
"D:\mrab-regex\release\3.4-64\_regex_unicode.o"
"D:\mrab-regex\release\3.4-64\_regex.o" -L"C:\Python34-64\libs"
-lpython34 -o "D:\mrab-regex\release\3.4-64\_regex.pyd"
rem For Python 3.4, 32-bit.
rem Need to link against the Python .a file.
rem Make libpython34.a
"C:\MinGW64\x86_64-w64-mingw32\bin\gendef.exe" -
"C:\Windows\SysWOW64\python34.dll" >"C:\Python34-32\libs\libpython34.def"
"C:\MinGW64\x86_64-w64-mingw32\bin\dlltool.exe" --as-flags=--32 -m i386
--dllname python34.dll --def "C:\Python34-32\libs\libpython34.def"
--output-lib "C:\Python34-32\libs\libpython34.a"
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-32\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.4-32\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-32\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.4-32\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m32 -shared -s
"D:\mrab-regex\release\3.4-32\_regex_unicode.o"
"D:\mrab-regex\release\3.4-32\_regex.o" -L"C:\Python34-32\libs"
-lpython34 -o "D:\mrab-regex\release\3.4-32\_regex.pyd"
rem For earlier versions of Python, follow the pattern of Python 3.4. |
|
Date |
User |
Action |
Args |
2015-06-05 02:46:06 | mrabarnett | set | recipients:
+ mrabarnett, paul.moore, tim.golden, bgilbert, zach.ware, steve.dower, jaharkes |
2015-06-05 02:46:06 | mrabarnett | set | messageid: <1433472366.22.0.0203450466556.issue24385@psf.upfronthosting.co.za> |
2015-06-05 02:46:06 | mrabarnett | link | issue24385 messages |
2015-06-05 02:46:04 | mrabarnett | create | |
|