diff --git a/pylib/gyp/__init__.py b/pylib/gyp/__init__.py index 6790ef96..de5a4b7b 100755 --- a/pylib/gyp/__init__.py +++ b/pylib/gyp/__init__.py @@ -103,6 +103,18 @@ def Load( for (key, val) in generator.generator_default_variables.items(): default_variables.setdefault(key, val) + output_dir = params["options"].generator_output or params["options"].toplevel_dir + if default_variables["GENERATOR"] == "ninja": + default_variables.setdefault( + "PRODUCT_DIR_ABS", + os.path.join(output_dir, "out", default_variables["build_type"]), + ) + else: + default_variables.setdefault( + "PRODUCT_DIR_ABS", + os.path.join(output_dir, default_variables["CONFIGURATION_NAME"]), + ) + # Give the generator the opportunity to set additional variables based on # the params it will receive in the output phase. if getattr(generator, "CalculateVariables", None): @@ -663,4 +675,4 @@ def script_main(): if __name__ == "__main__": - sys.exit(script_main()) + sys.exit(script_main()) \ No newline at end of file