aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Jylänki <jujjyl@gmail.com>2013-06-13 16:10:35 +0300
committerJukka Jylänki <jujjyl@gmail.com>2013-06-13 16:10:35 +0300
commitf06dfed6a60d67360fb2daca0d4bbe02caa0149c (patch)
tree0d12bd32e1974024471619b6170b1a76f001191e
parent886e3158cf5d95a2c2721e5eb9a1c3ac4461f805 (diff)
Improve absolute path warning detection to work on Windows, and make the warning message more informative.
-rwxr-xr-xemcc7
-rwxr-xr-xtests/runner.py2
2 files changed, 5 insertions, 4 deletions
diff --git a/emcc b/emcc
index 2a7e10d0..5ec42869 100755
--- a/emcc
+++ b/emcc
@@ -853,9 +853,10 @@ try:
memory_init_file = int(newargs[i+1])
newargs[i] = ''
newargs[i+1] = ''
- elif newargs[i].startswith(('-I/', '-L/')):
- if not absolute_warning_shown:
- logging.warning ('-I or -L of an absolute path encountered. If this is to a local system header/library, it may cause problems (local system files make sense for compiling natively on your system, but not necessarily to JavaScript)') # Of course an absolute path to a non-system-specific library or header is fine, and you can ignore this warning. The danger are system headers that are e.g. x86 specific and nonportable. The emscripten bundled headers are modified to be portable, local system ones are generally not
+ elif newargs[i].startswith(('-I', '-L')):
+ path_name = newargs[i][2:]
+ if not absolute_warning_shown and os.path.isabs(path_name):
+ logging.warning ('-I or -L of an absolute path "' + newargs[i] + '" encountered. If this is to a local system header/library, it may cause problems (local system files make sense for compiling natively on your system, but not necessarily to JavaScript)') # Of course an absolute path to a non-system-specific library or header is fine, and you can ignore this warning. The danger are system headers that are e.g. x86 specific and nonportable. The emscripten bundled headers are modified to be portable, local system ones are generally not
absolute_warning_shown = True
newargs = [ arg for arg in newargs if arg is not '' ]
diff --git a/tests/runner.py b/tests/runner.py
index 5e101024..2f755edd 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -10507,7 +10507,7 @@ f.close()
(['-Lsubdir/something'], False),
([], False)]:
err = Popen([PYTHON, EMCC, 'main.c'] + args, stderr=PIPE).communicate()[1]
- assert ('-I or -L of an absolute path encountered. If this is to a local system header/library, it may cause problems (local system files make sense for compiling natively on your system, but not necessarily to JavaScript)' in err) == expected, err
+ assert ('encountered. If this is to a local system header/library, it may cause problems (local system files make sense for compiling natively on your system, but not necessarily to JavaScript)' in err) == expected, err
def test_local_link(self):
# Linking a local library directly, like /usr/lib/libsomething.so, cannot work of course since it