Thomas Nagy
8520dd65bb
Code cleanup
2016-04-19 22:00:21 +02:00
Thomas Nagy
c917e1af63
Remove empty entries in windows path splitting
2016-03-27 21:41:21 +02:00
Thomas Nagy
1fb3645493
Simplifications
2016-03-18 18:26:25 +01:00
Thomas Nagy
b63ae9b2ef
Code simplification
2016-03-16 22:37:18 +01:00
Thomas Nagy
333aec0b96
Removed Utils.nogc as it is unused
2016-03-05 11:45:16 +01:00
Thomas Nagy
0ab704f5a4
Minor optimization in Utils.h_list
2016-02-29 18:40:44 +01:00
Thomas Nagy
b4437f3b51
Exception handling enhancements
2016-02-28 14:23:54 +01:00
Thomas Nagy
3ced4c6695
Utils.ex_stack is the same as traceback.format_exc as we are no longer on Python 2.3
2016-02-28 12:23:18 +01:00
Thomas Nagy
220ac6de5e
Pre-fork processes for Python2
2016-02-28 00:12:50 +01:00
Thomas Nagy
1f95d2c4cb
Popen objects provide pid (not getpid)
2016-02-26 21:23:49 +01:00
Thomas Nagy
5bf16d51d8
Lockless list of processes
2016-02-26 21:09:50 +01:00
Thomas Nagy
1ee5adc3b3
Error handling enhancements
2016-02-26 20:11:58 +01:00
Thomas Nagy
d131a37ac9
No new processes needed on IronPython
2016-02-26 18:52:43 +01:00
Thomas Nagy
75e9735a22
Python3 fixes
2016-02-26 18:36:38 +01:00
Thomas Nagy
023c540b80
Simplifications - child processes will exit on broken pipes
2016-02-25 22:58:11 +01:00
Thomas Nagy
e0b080b7c6
Jython fix
2016-02-25 22:28:00 +01:00
Thomas Nagy
b2bcee43cb
Python 3 fixes
2016-02-25 21:53:17 +01:00
Thomas Nagy
8207a878a9
Enable multiprocessing for faster subprocess execution
2016-02-25 20:03:07 +01:00
Thomas Nagy
0bafa590f3
Trim less in lru_cache
2016-02-15 23:23:34 +01:00
Thomas Nagy
0441d01545
Added the missing __getitem__ method on lru_cache
2016-02-15 21:13:48 +01:00
Thomas Nagy
4e09a1bc5a
New lru caches in preproc.py to limit memory overconsumption
2016-02-15 00:46:44 +01:00
Thomas Nagy
6bbcce206b
Better value for Utils.SIG_NIL
2016-02-14 11:15:52 +01:00
Thomas Nagy
5580e8c69f
Use subprocess32 when possible
2016-02-10 23:46:55 +01:00
Thomas Nagy
6648d3e6e7
Docs
2015-12-24 18:36:45 +01:00
Thomas Nagy
6ecd0d22c3
Let run_once process a list of arguments
2015-12-23 17:55:44 +01:00
Thomas Nagy
c5b1aa4a33
Decorators @conf and @run_once must provide function wrappers having the same names as the original
...
The following will now work; mind the order of the wrappers:
@Configure.conf
@Utils.run_once
def print_it(self):
print('hello')
def configure(ctx):
ctx.print_it()
ctx.print_it()
2015-11-05 02:01:32 +01:00
Thomas Nagy
971b2d32b7
More Msys2 fun!
2015-10-16 22:45:27 +02:00
Thomas Nagy
0357db5156
Fail faster on invalid install_files inputs - Issue 1639
2015-10-15 20:07:05 +02:00
Thomas Nagy
78403e3fbc
Enable relative paths to be processed in the --top and --out options
2015-10-10 17:05:13 +02:00
Thomas Nagy
f5b7209b02
Visual Studio detection in IronPython
2015-10-07 00:13:09 +02:00
Thomas Nagy
a6b467d73e
Moved the command hashing logic into a utility function
2015-10-03 09:12:08 +02:00
Thomas Nagy
47cf5cecaa
Issue 1552 - attempt to fix the installation path regression on 32-bit Ubuntu caused by Issue 1536
2015-04-03 21:24:46 +02:00
Thomas Nagy
d1f7f7c78d
Miscellaneous platform support
2015-03-14 03:02:01 +01:00
Thomas Nagy
7f05ab7290
Optimizations
2015-03-08 18:30:57 +01:00
Thomas Nagy
ea8ff1c6ab
Jython detection enhancements
2015-03-06 22:02:10 +01:00
Thomas Nagy
823b4cd2dc
Issue 1536 - default 64 suffix for Redhat systems
2015-02-19 13:46:18 +01:00
Thomas Nagy
8c0ead0ca1
Python 2.5 is definitely required
2014-10-04 13:49:28 +02:00
Thomas Nagy
388d94cca2
Ensure that Python scripts are read in the desired encoding
2014-09-28 01:30:00 +02:00
Thomas Nagy
32d2f0e1da
merged the os2 case in Utils.is_win32
2014-08-09 18:08:39 +02:00
Thomas Nagy
ffb298fabc
Define all platform-specific functions in Utils.py so that they can be replaced again later
2014-04-09 22:27:17 +02:00
Thomas Nagy
7cc366513f
fixed the case: CC='ccache gcc' waf configure build
2014-04-07 22:10:56 +02:00
Thomas Nagy
afd9d8fae9
Issue 1412 - reduce multiple underscores to one in computed define names
2014-02-22 10:47:19 +01:00
Thomas Nagy
fbb7a0e720
Merge from Jerome's branch
2014-01-16 02:03:53 +01:00
Jérôme Carretero
0e7df22ad5
Utils: check_exe() to return an absolute path so it can be called
...
Because there cases where subprocess.Popen'ing the [result] can fail.
2014-01-08 01:58:11 -05:00
Thomas Nagy
85bfd3eded
Minor changes in the logging system
2014-01-05 10:51:24 +01:00
Thomas Nagy
4ce22a6fa2
Typo
2014-01-04 12:15:21 +01:00
Thomas Nagy
2f7d561cb0
Runtime improvements in Runner.py by using deques by default (python >= 2.4)
2014-01-02 23:35:17 +01:00
Thomas Nagy
6fb96036f0
Issue 1382, hash randomization on python 3.3 causes reconfigurations
2013-11-28 20:00:50 +01:00
Thomas Nagy
12cade1ec8
typo
2013-10-28 21:05:57 +01:00
Thomas Nagy
b13e98f1e4
Match file extensions in the order of declaration
2013-10-27 12:42:41 +01:00
Thomas Nagy
50737b138a
Python 3.4 now provides non-inheritable file handles by default
2013-10-21 20:58:00 +02:00
Jérôme Carretero
24cc97f42e
Utils: remove str_to_dict
2013-08-30 10:23:10 -04:00
Jérôme Carretero
2e08d80fce
Utils: shave a few bytes from Timer
2013-08-30 01:10:29 -04:00
Thomas Nagy
20ae777428
disabled the check_exe validation by default and enabled invalid name detection
2013-08-17 18:19:10 +02:00
Jérôme Carretero
b32ab8c7c5
utils: fix "typo" in check_exe()
...
Yeah, I was returning the directory name in some cases...
2013-08-14 17:57:26 -04:00
Jérôme Carretero
f3f9e9f99d
provide a clearer error message in case Popen'ed executable is not executable
...
subprocess.Popen() will give a proper error message if the first
argument is an absolute path, but if it's a bare command name, it will
complain with a "Permission Denied" error.
This change provides a clear error every time.
If speed is proven to have an impact on this code, we could add
the "Logs.verbose > 0" precondition or add memoization.
2013-08-12 20:00:47 -04:00
Thomas Nagy
072edeb396
possible fix for python 3 IO issues on windows
2012-12-05 01:23:52 +01:00
Thomas Nagy
220c438320
Issue 1193
2012-08-29 18:23:29 +02:00
Jerome Carretero
28b5d25a55
readf_win32: fix small typo
2012-06-14 22:51:54 -04:00
Thomas Nagy
f19e7cb3c8
typo
2012-06-07 17:32:01 +02:00
Thomas Nagy
1d0f1c9b21
Python 3 makes the 'encoding' parameter mandatory on all I/O operations
2012-06-05 04:31:31 +02:00
Thomas Nagy
87255223ad
cleanup
2012-05-22 18:43:28 +02:00
Thomas Nagy
fb1addeaf2
cleanup
2012-05-21 20:23:43 +02:00
Thomas Nagy
0927ddde28
Provide safer readf/writef/h_file functions on win32
2012-05-19 10:29:44 +02:00
Thomas Nagy
5d6c12be1f
cleanup on the write functions
2012-05-17 13:49:09 +02:00
Thomas Nagy
661127acf3
Issue 1135
2012-04-13 23:11:17 +02:00
Thomas Nagy
2ed4e80f83
Issue 1146
2012-04-13 18:49:28 +02:00
Thomas Nagy
ef0c80e3b6
Added Utils.writef (counterpart of Utils.readf)
2012-02-12 15:27:38 +01:00
Thomas Nagy
adf2225f76
remove as many bare 'except:' statements as possible
2012-02-11 13:43:47 +01:00
Thomas Nagy
8144fc74f9
we do not need a custom subprocess module anymore
2012-02-08 21:27:29 +01:00
Jerome Carretero
a30aa80dcc
Revert "cleanup"
...
This reverts commit 3fa197298b
.
Trying to import extras/subprocess first fails on Python 3.{1,2}.
2012-02-08 00:43:12 -05:00
Thomas Nagy
3fa197298b
cleanup
2012-02-06 02:21:37 +01:00
Thomas Nagy
250a8c699c
The previous change breaks the powerpc builds
...
The compiler detection often relies on functions named gcc_xxx_platform,
if powerpc is left, then all the functions must be added in all those
modules.
2011-12-03 21:44:38 +01:00
Johan Boule
469742d18a
powerpc doesn't mean darwin
2011-12-03 20:35:55 +01:00
Thomas Nagy
e6f8d1e9ee
evil osx stuff
2011-11-19 13:21:02 +01:00
Thomas Nagy
44a967e326
Initial commit
2011-09-10 11:13:51 +02:00