aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉloi Rivard <azmeuk@gmail.com>2013-04-27 10:41:49 +0200
committerÉloi Rivard <azmeuk@gmail.com>2013-04-27 10:49:40 +0200
commitff5cad0ba476f74ee4743fb91bf4e256dfccde04 (patch)
tree977665591f2f274df7b98de84ec9868bcb5b1b53
parent1796e1798ec0664d937644308f016d65af7b216a (diff)
* Added symlink support.
-rwxr-xr-xemcc6
1 files changed, 5 insertions, 1 deletions
diff --git a/emcc b/emcc
index b96c6341..ec6e8457 100755
--- a/emcc
+++ b/emcc
@@ -913,8 +913,12 @@ try:
prev = newargs[i-1]
if prev in ['-MT', '-install_name', '-I', '-L']: continue # ignore this gcc-style argument
- if not arg.startswith('-') and (arg.endswith(SOURCE_SUFFIXES + BITCODE_SUFFIXES + DYNAMICLIB_SUFFIXES + ASSEMBLY_SUFFIXES) or shared.Building.is_ar(arg)): # we already removed -o <target>, so all these should be inputs
+ if not arg.startswith('-') and (arg.endswith(SOURCE_SUFFIXES + BITCODE_SUFFIXES + DYNAMICLIB_SUFFIXES + ASSEMBLY_SUFFIXES) or shared.Building.is_ar(arg) or (os.path.islink(arg) and os.path.realpath(arg).endswith(SOURCE_SUFFIXES + BITCODE_SUFFIXES + DYNAMICLIB_SUFFIXES + ASSEMBLY_SUFFIXES))): # we already removed -o <target>, so all these should be inputs
newargs[i] = ''
+
+ if (os.path.islink(arg) and os.path.realpath(arg).endswith(SOURCE_SUFFIXES + BITCODE_SUFFIXES + DYNAMICLIB_SUFFIXES + ASSEMBLY_SUFFIXES)):
+ arg = os.path.realpath(arg)
+
if os.path.exists(arg):
if arg.endswith(SOURCE_SUFFIXES):
input_files.append(arg)