diff options
author | Steven Knight <knight@baldmt.com> | 2008-06-10 05:18:40 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2008-06-10 05:18:40 (GMT) |
commit | 75c8da49710889712b5ec6d006a154f790503cad (patch) | |
tree | 157829194403f92142df5686c6754b9ca5836a8d /test/mingw.py | |
parent | 9decbb777df6302706e35c2b1de3cc24ed996fc7 (diff) | |
download | SCons-75c8da49710889712b5ec6d006a154f790503cad.zip SCons-75c8da49710889712b5ec6d006a154f790503cad.tar.gz SCons-75c8da49710889712b5ec6d006a154f790503cad.tar.bz2 |
Merged revisions 2949-2953,2955-3056 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
................
r2955 | stevenknight | 2008-05-18 07:48:43 -0700 (Sun, 18 May 2008) | 2 lines
Update lines for next development cycle.
................
r2956 | GregNoel | 2008-05-19 14:24:39 -0700 (Mon, 19 May 2008) | 1 line
Fix typo in Mkdir() description
................
r2957 | cournape | 2008-05-19 22:37:17 -0700 (Mon, 19 May 2008) | 1 line
sunc++ tool: do not parse pkgchk output if no output available (Fix for #2060).
................
r2958 | cournape | 2008-05-19 23:34:01 -0700 (Mon, 19 May 2008) | 6 lines
Do not set cppcPath to CXX if CXX has no dirname. This caused weird behaviour,
because cppcPath and cxx were joined together, and scons used things like CC/CC
as CXX.
................
r2960 | cournape | 2008-05-20 22:23:12 -0700 (Tue, 20 May 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-2959" from
http://scons.tigris.org/svn/scons/branches/pyext
................
r2971 | stevenknight | 2008-05-22 16:01:11 -0700 (Thu, 22 May 2008) | 4 lines
Issue 2056: Fix scons.bat so that it returns the SCons exit status even
though we're using setlocal + endlocal to avoid polluting the calling
user's %PATH% variable.
................
r2972 | stevenknight | 2008-05-22 16:35:00 -0700 (Thu, 22 May 2008) | 2 lines
Move generic windows tests from the test/ subdirectory into test/Win32.
................
r2973 | stevenknight | 2008-05-22 18:58:35 -0700 (Thu, 22 May 2008) | 2 lines
Fix scoping under Python 1.5 / 2.0 / 2.1.
................
r2976 | cournape | 2008-05-23 04:10:37 -0700 (Fri, 23 May 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-2975" from
http://scons.tigris.org/svn/scons/branches/libwithcontext
................
r2978 | GregNoel | 2008-05-23 12:39:42 -0700 (Fri, 23 May 2008) | 1 line
script to convert XML issues into CSV spreadsheet
................
r2987 | GregNoel | 2008-05-25 10:57:14 -0700 (Sun, 25 May 2008) | 1 line
trivial typo
................
r2989 | pankrat | 2008-05-25 14:42:53 -0700 (Sun, 25 May 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-2988" from
http://scons.tigris.org/svn/scons/branches/heapmonitor
................
r2992 | belley | 2008-05-27 08:23:34 -0700 (Tue, 27 May 2008) | 41 lines
Fixed the detection of Intel C++ Compiler for EMT64
The table used to check the registry keys for installed versions of
the Intel C++ compiler for EMT64 seems erroneous. I have double check
using the Intel C++ compiler versions 9.1 and 10.0 on both Windows XP
32-bit and Windows Server2003 64-bits.
The registry keys have the form
HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\Compilers\C++\100.025\IA32
HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\Compilers\C++\100.025\IA64
HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\Compilers\C++\100.025\EMT64
Benoit
Index: src/engine/SCons/Tool/intelc.py
===================================================================
*** src/engine/SCons/Tool/intelc.py (revision 2991)
--- src/engine/SCons/Tool/intelc.py (working copy)
***************
*** 101,108 ****
valid_abis = {'ia32' : 'ia32',
'x86' : 'ia32',
'ia64' : 'ia64',
! 'em64t' : 'ia32e',
! 'amd64' : 'ia32e'}
if is_linux:
valid_abis = {'ia32' : 'ia32',
'x86' : 'ia32',
--- 101,108 ----
valid_abis = {'ia32' : 'ia32',
'x86' : 'ia32',
'ia64' : 'ia64',
! 'em64t' : 'em64t',
! 'amd64' : 'em64t'}
if is_linux:
valid_abis = {'ia32' : 'ia32',
'x86' : 'ia32',
................
r2993 | stevenknight | 2008-05-27 16:22:35 -0700 (Tue, 27 May 2008) | 3 lines
Issue 2062: Fix --interactive mode getting "stuck" reporting failures
for every build after the first one that fails.
................
r2997 | stevenknight | 2008-05-28 18:18:36 -0700 (Wed, 28 May 2008) | 4 lines
Fix the closing message on interrupt to report "building terminated
because of errors." Add a missing test.pass_test() call to the
end of test/KeyboardInterrupt.py.
................
r2998 | stevenknight | 2008-05-29 08:14:47 -0700 (Thu, 29 May 2008) | 2 lines
Issue 2075: Fix the ability to call the Node.FS.File.File() method.
................
r2999 | stevenknight | 2008-05-29 14:12:07 -0700 (Thu, 29 May 2008) | 2 lines
Issue 2063: On Mac OS X, install under /usr/local by default.
................
r3017 | stevenknight | 2008-05-30 08:05:26 -0700 (Fri, 30 May 2008) | 3 lines
Get the fix for File.File() right this time. Apply the same fix
to File.Dir() and File.Entry(), too.
................
r3022 | stevenknight | 2008-06-02 18:52:42 -0700 (Mon, 02 Jun 2008) | 3 lines
Fix "deprecated conversion from string constant to char *" warnings in
various C++ tests.
................
r3045 | garyo | 2008-06-05 06:05:37 -0700 (Thu, 05 Jun 2008) | 8 lines
This fix uses Python sequence comparison to compare the dotted version
numbers used in .NET version numbers rather than comparing each
element of the list individually. It's more robust and also more
correct. I also fixed a Python 1.5.2 compatibility issue (strings
didn't have the split method).
Original reporter confirms this fixes his issue.
................
r3046 | garyo | 2008-06-05 20:35:27 -0700 (Thu, 05 Jun 2008) | 1 line
Minor doc tweaks to Users Guide.
................
r3050 | stevenknight | 2008-06-06 11:38:38 -0700 (Fri, 06 Jun 2008) | 21 lines
Merged revisions 2877,2879-2978,2980-3019,3021-3048 via svnmerge from
http://scons.tigris.org/svn/scons/branches/fortran_refactor
........
r2980 | cournape | 2008-05-23 21:56:19 -0700 (Fri, 23 May 2008) | 1 line
Emit a warning and use as a linker when fortran and c++ codes are mixed.
........
r3000 | cournape | 2008-05-29 21:29:37 -0700 (Thu, 29 May 2008) | 1 line
Improve warning when mixing c++ and fortran.
........
r3048 | stevenknight | 2008-06-06 11:30:25 -0700 (Fri, 06 Jun 2008) | 6 lines
Issue 2047: update the warning text to make it less alarming.
Move the warning classes so they can be suppressed.
Add a test of the warning (and suppression) behavior
Only issue one warning per SCons invocation, not one per built executable.
Update CHANGES.txt and RELEASE.txt.
........
................
r3051 | stevenknight | 2008-06-07 08:11:46 -0700 (Sat, 07 Jun 2008) | 3 lines
Fix the Fortran/C++ link test for deprecation warnings
under earlier Python version.
................
r3052 | stevenknight | 2008-06-07 08:12:22 -0700 (Sat, 07 Jun 2008) | 2 lines
Add Benoit's EMT64 change that will be released in 0.98.5.
................
r3053 | stevenknight | 2008-06-07 08:21:50 -0700 (Sat, 07 Jun 2008) | 2 lines
Update lines for 0.98.5 release.
................
r3054 | stevenknight | 2008-06-07 08:26:04 -0700 (Sat, 07 Jun 2008) | 2 lines
Update 0.98.4 versions to 0.98.5.
................
Diffstat (limited to 'test/mingw.py')
-rw-r--r-- | test/mingw.py | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/test/mingw.py b/test/mingw.py deleted file mode 100644 index fac8910..0000000 --- a/test/mingw.py +++ /dev/null @@ -1,203 +0,0 @@ -""" -This tests the MinGW C/C++ compiler support. -""" - -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -import TestSCons -import sys -import os.path -import os -import TestCmd -import time -import string - -test = TestSCons.TestSCons(match = TestCmd.match_re_dotall) - -# MinGW is Windows only: -if sys.platform != 'win32': - msg = "Skipping mingw test on non-Windows platform '%s'\n" % sys.platform - test.skip_test(msg) - -# This test requires MinGW to be installed: -test.write('SConstruct',""" -from SCons.Tool.mingw import exists -import sys -env = Environment() -if exists(env): - print 'mingw exists' -sys.exit(0) -""") - -test.run() -if string.find(test.stdout(), 'mingw exists') == -1: - test.skip_test("No MinGW on this system, skipping test.\n") - -test.subdir('header') - -# Do the actual testing: -test.write('SConstruct',""" -env=Environment(tools=['mingw']) -assert env['CC'] == 'gcc' -env.StaticLibrary('static', 'static.cpp') -env.SharedLibrary('shared', 'shared.cpp') -env.SharedLibrary('cshared', ['cshared.c', 'cshared.def']) -env.Program('test', ['test.cpp', env.RES('resource.rc', CPPPATH=['header'])], LIBS=['static', 'shared', 'cshared'], LIBPATH=['.']) -""") - -test.write('test.cpp', ''' -#include <stdio.h> -#include <windows.h> -#include "resource.h" - -void shared_func(void); -void static_func(void); -extern "C" void cshared_func(void); - -int main(void) -{ - printf("%s\\n", "test.cpp"); - shared_func(); - static_func(); - cshared_func(); - - char test[1024]; - LoadString(GetModuleHandle(NULL), IDS_TEST, test, sizeof(test)); - printf("%d %s\\n", IDS_TEST, test); - - return 0; -} -''') - -test.write('resource.rc', ''' -#include "resource.h" -#include <resource2.h> - -STRINGTABLE DISCARDABLE -BEGIN - IDS_TEST RESOURCE_RC -END -''') - -test.write('resource.h', ''' -#define IDS_TEST 2001 -''') - -test.write('static.cpp', ''' -#include <stdio.h> - -void static_func(void) -{ - printf("%s\\n", "static.cpp"); -} -''') - -test.write('shared.cpp', ''' -#include <stdio.h> - -void shared_func(void) -{ - printf("%s\\n", "shared.cpp"); -} -''') - -test.write('cshared.c', ''' -#include <stdio.h> - -void cshared_func(void) -{ - printf("%s\\n", "cshared.c"); -} -''') - -test.write('cshared.def', ''' -EXPORTS -cshared_func -''') - - - -test.write('header/resource2.h', ''' -#define RESOURCE_RC "resource.rc" -''') - -# the mingw linker likes to print "Creating library file: libfoo.a" to stderr, but -# we'd like for this test to pass once this bug is fixed, so match anything at all -# that comes out of stderr: -test.run(arguments='test.exe', stderr='.*') -# ensure the source def for cshared.def got used, and there wasn't a target def for chshared.dll: -test.fail_test(string.find(test.stdout(), 'cshared.def') == -1) -test.fail_test(string.find(test.stdout(), '-Wl,--output-def,cshared.def') != -1) -# ensure the target def got generated for the shared.dll: -test.fail_test(not os.path.exists(test.workpath('shared.def'))) -test.run(program=test.workpath('test.exe'), stdout='test.cpp\nshared.cpp\nstatic.cpp\ncshared.c\n2001 resource.rc\n') - -# ensure that modifying the header causes the resource to be rebuilt: -test.write('resource.h', ''' -#define IDS_TEST 2002 -''') -test.run(arguments='test.exe', stderr='.*') -test.run(program=test.workpath('test.exe'), stdout='test.cpp\nshared.cpp\nstatic.cpp\ncshared.c\n2002 resource.rc\n') - -# Test with specifying the default tool to make sure msvc setting doen't ruin it -# for mingw: -test.write('SConstruct',""" -env=Environment(tools=['default', 'mingw']) -assert env['CC'] == 'gcc' -env.SharedLibrary('shared', 'shared.cpp') -env.Program('test', 'test.cpp', LIBS=['static', 'shared', 'cshared'], LIBPATH=['.']) -""") - -test.write('test.cpp', ''' -#include <stdio.h> - -void shared_func(void); - -int main(void) -{ - printf("%s\\n", "test.cpp2"); - shared_func(); - return 0; -} -''') - -test.write('shared.cpp', ''' -#include <stdio.h> - -void shared_func(void) -{ - printf("%s\\n", "shared.cpp2"); -} -''') - -# the mingw linker likes to print "Creating library file: libfoo.a" to stderr, but -# we'd like for this test to pass once this bug is fixed, so match anything at all -# that comes out of stderr: -test.run(arguments='test.exe', stderr='.*') -test.run(program=test.workpath('test.exe'), stdout='test.cpp2\nshared.cpp2\n') - -test.pass_test() |