Commit Graph

81 Commits

Author SHA1 Message Date
Thomas Nagy bc3915c90a
Close process.py for running processes - Issue 1735 2016-04-27 18:35:02 +02:00
Thomas Nagy 304935bb9f
Remove popitem() which was added for the lru cache 2016-04-23 23:02:16 +02:00
Thomas Nagy 3899c150e3
Provide a more performant LRU cache implementation 2016-04-22 19:43:18 +02:00
Thomas Nagy d2cd1ebd0b
Provide our own version of ordered_iter_dict
Python OrderedDict does not provide a C implementation, so it
is just best to use our own implementation by default.
We also want the iteration order from the end for the purposes
of matching files by extension.
2016-04-22 19:36:35 +02:00
Thomas Nagy b87a761ead
Tuples in startswith/endswith (Python 2.5 feature) 2016-04-21 22:30:35 +02:00
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