39 lines
1.7 KiB
Diff
39 lines
1.7 KiB
Diff
diff --git gyp/generator/ninja.py gyp/generator/ninja.py
|
|
index 907542b..4d77af4 100644
|
|
--- gyp/generator/ninja.py
|
|
+++ gyp/generator/ninja.py
|
|
@@ -745,7 +745,16 @@ class NinjaWriter(object):
|
|
for path in copy['files']:
|
|
# Normalize the path so trailing slashes don't confuse us.
|
|
path = os.path.normpath(path)
|
|
- basename = os.path.split(path)[1]
|
|
+ (parent_path, basename) = os.path.split(path)
|
|
+
|
|
+ # Xcode uses .lproj directories for localized resources. Add a special
|
|
+ # case to maintain the localization directory component if present.
|
|
+ if parent_path != '':
|
|
+ parent_basename = os.path.basename(parent_path)
|
|
+ (parent_root, parent_ext) = os.path.splitext(parent_basename)
|
|
+ if parent_ext == '.lproj':
|
|
+ basename = os.path.join(parent_basename, basename)
|
|
+
|
|
src = self.GypPathToNinja(path, env)
|
|
dst = self.GypPathToNinja(os.path.join(copy['destination'], basename),
|
|
env)
|
|
diff --git gyp/msvs_emulation.py gyp/msvs_emulation.py
|
|
index ca67b12..a3fd903 100644
|
|
--- gyp/msvs_emulation.py
|
|
+++ gyp/msvs_emulation.py
|
|
@@ -1027,8 +1027,10 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags,
|
|
args = vs.SetupScript(arch)
|
|
args.extend(('&&', 'set'))
|
|
popen = subprocess.Popen(
|
|
- args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
|
+ args, shell=True, stdout=subprocess.PIPE)
|
|
variables, _ = popen.communicate()
|
|
+ if popen.returncode != 0:
|
|
+ raise Exception('Error invoking setup script: ' + repr(args))
|
|
env = _ExtractImportantEnvironment(variables)
|
|
|
|
# Inject system includes from gyp files into INCLUDE.
|