Commit Graph

126 Commits

Author SHA1 Message Date
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