| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
lex and yacc tools both got two new construction variables for specifying
side-effect creation of additional files, this method avoids the user
embedding the options in LEXFLAGS and YACCFLAGS - the latter lets
the commands generate the files, but the paths would not be properly
relocated by SCons, so if the build was initiated in a subdirectory,
the generated files would go into the top directory instead.
Fixes #4154
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The mocked tools mylex.py and myyacc.py now understand the file-generation
options, and generate a dummy file with predictable contents, for
checking. This allows more testing of the path through the SCons support
for these two without needing live commands.
New tests added which invoke the file-generation options, and make
sure the extra files are created, and that SCons detects and tracks
the added targets. Work is done in a subdirectory, which exposes some
existing known inconsistent behavior (the regular generated file goes
in the subdir per the LEXCOM and YACCOM generated line, while the ones
generated from commandline options go in the topdir) - but we're going
to allow that behavior to continue for backwards compat.
Same fix applied to yacc tool that PR #4168 did for lex - do subst_list()
instead of subst() to preserve spaces in paths. That fix left the lex
tool unable to pass the new test, as it could not see the individual
arguments in the FLAGS variable, which was solved by indexing into the
subst'd list so we can iterate over the args again.
Test and tool cleanup; add DefaultEnvironment calls, etc.
Note this mentions, but does not address the problem described in issue 4154.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Apparently, the zipimport code was not intended to load modules
(platform, tool) that were stored in individual zipfiles;
instead it was added to support scons itself running inside a
zipfile in the form of a py2exe bundle. Undid the changes which
tried to find a modulename.zip file and load it, and the test
in Platform that actually verfied it works, no need to add a
new feature nobody is asking for.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
zipimport was updated later, the find_spec and exec_module routines
were only added here in 3.10, as opposed to 3.4 for importlib.
So we need to fall back to the "old way" using load_module if
we don't have those routines available - SCons still supposed back
to Python 3.6.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
importlib.load_module is deprecated since 3.10 and scheduled for removal
in the 2023 Python release (3.12) - this makes the tests somewhat noisy.
The zip import code was reworked, to use exec_module. A test was added
in the Platform code - there's now a dummy platform module inside a zip
file that the PlatformTests unittest uses.
The tool import code finally dropped the fallback to Python2-style
importing, and the zip import section matches the (now tested) Platform
version. Not sure this is needed at all: the regular import machinery
ought to find a zipfile without extra steps, since here it uses sys.path
(the platform code does *not* use sys.path).
sconsign now just uses import_module, the "my_import" function is no
longer needed but was left in for now. sconsign actually used the "imp"
module, which is deprecated since 3.4.
A little cleaup in the three scripts/ files.
Fixes #4162
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \
| | | |
| | | | |
Updated lex emitter to respect escaped spaces when climbing out of the SConscript dir
|
| | | |
| | | |
| | | |
| | | | |
what's fixed. Address a few lint issues in the lex.py file
|
| |\ \ \
| | | |/
| | |/| |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
SCosncript dir
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Remove leftover debugging debris.
Fix sider complaint
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The documentation suggested $FORTRANFLAGS was included in the build
lines for all variants, but it was not. Turns out the test suite
quite explicitly checks that FORTRANFLAGS doesn't leak through to other
variants, so instead define a new FORTRANCOMMONFLAGS to serve the purpose
of a flag that applies to all variants.
Assorted cleanup. And f-strings.
Fixes #2257
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \
| | | | |
| | | | | |
trivial fortran cleanups.
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | | |
True/False for support_module
|
| | | |
| | | |
| | | |
| | | | |
sconstruct
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | | | |
| | | | | |
[NINJA] Added new alias 'shutdown-ninja-scons-daemon' to allow ninja to shutdown the daemon
|
| | | | |
| | | | |
| | | | |
| | | | | |
Added note to CHANGES.txt/RELEASE.txt that psutil is required for the new test for this function
|
| | |\ \ \ |
|
| | | | | | |
|
| | | |/ /
| | |/| |
| | | | |
| | | | | |
daemon
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Many tools contain a stanza like this, usually for the Windows case,
where installed programs are rarely added to the "standard" path
in SCons' execution environment (i.e. env['ENV']["PATH']):
javac = SCons.Tool.find_program_path(env, 'javac', default_paths=paths)
if javac:
javac_bin_dir = os.path.dirname(javac)
env.AppendENVPath('PATH', javac_bin_dir)
This change adds a keyword argument add_path to find_program_path() to
instruct it to add the path a program was discovered in, if it was in the
extra paths passed in. The default is False, retaining the existing behavior.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | |
|
| |\ \ \
| | | |/
| | |/| |
|
| | |\ \ |
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
FORTRANCOM and SHFORTRANCOM don't add the C preprocessor variables
by default, the docs suggest they do. The PP variants, which run
through the preprocessor, do add these. Adjust docs.
Fixes #2128
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
get_msvc_notfound_policy
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
(default global setting)
|
| | | | |
| | | | |
| | | | |
| | | | | |
Rework debug statement contents and formatting for notfound policy. Make comment for internal class a docstring per request.
|
| | | | | |
|
| | |\ \ \ |
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Manually resolved conflicts in SCons/Tool/MSCommon/vc.py
|
| | | | | | | |
|
| | |\ \ \ \ \ |
|
| | |\ \ \ \ \ \ |
|