Author: Matti Picus <[email protected]>
Branch: py3.5
Changeset: r93830:f3013f4a60ea
Date: 2018-02-19 19:13 +0200
http://bitbucket.org/pypy/pypy/changeset/f3013f4a60ea/
Log: test, fix for compiling main.c, wmain.c if using precompiled headers
diff --git a/rpython/translator/platform/test/test_makefile.py
b/rpython/translator/platform/test/test_makefile.py
--- a/rpython/translator/platform/test/test_makefile.py
+++ b/rpython/translator/platform/test/test_makefile.py
@@ -85,7 +85,8 @@
txt = '#include <stdio.h>\n'
for i in range(ncfiles):
txt += "int func%03d();\n" % i
- txt += "\nint main(int argc, char * argv[])\n"
+ txt += "\n__declspec(dllexport) int\n"
+ txt += "pypy_main_startup(int argc, char * argv[])\n"
txt += "{\n int i=0;\n"
for i in range(ncfiles):
txt += " i += func%03d();\n" % i
@@ -119,7 +120,7 @@
clean = ('clean', '', 'rm -f $(OBJECTS) $(TARGET) ')
get_time = time.time
#write a non-precompiled header makefile
- mk = self.platform.gen_makefile(cfiles, eci, path=tmpdir)
+ mk = self.platform.gen_makefile(cfiles, eci, path=tmpdir, shared=True)
mk.rule(*clean)
mk.write()
t0 = get_time()
@@ -128,7 +129,7 @@
t_normal = t1 - t0
self.platform.execute_makefile(mk, extra_opts=['clean'])
# Write a super-duper makefile with precompiled headers
- mk = self.platform.gen_makefile(cfiles, eci, path=tmpdir,
+ mk = self.platform.gen_makefile(cfiles, eci, path=tmpdir, shared=True,
headers_to_precompile=cfiles_precompiled_headers,)
mk.rule(*clean)
mk.write()
diff --git a/rpython/translator/platform/windows.py
b/rpython/translator/platform/windows.py
--- a/rpython/translator/platform/windows.py
+++ b/rpython/translator/platform/windows.py
@@ -384,7 +384,8 @@
if len(headers_to_precompile)>0:
if shared:
- no_precompile_cfiles += ['main.c', 'wmain.c']
+ no_precompile_cfiles += [m.makefile_dir / 'main.c',
+ m.makefile_dir / 'wmain.c']
stdafx_h = path.join('stdafx.h')
txt = '#ifndef PYPY_STDAFX_H\n'
txt += '#define PYPY_STDAFX_H\n'
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit