| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "tools/gn/build_settings.h" | 5 #include "tools/gn/build_settings.h" |
| 6 #include "tools/gn/filesystem_utils.h" | 6 #include "tools/gn/filesystem_utils.h" |
| 7 #include "tools/gn/functions.h" | 7 #include "tools/gn/functions.h" |
| 8 #include "tools/gn/parse_tree.h" | 8 #include "tools/gn/parse_tree.h" |
| 9 #include "tools/gn/scope.h" | 9 #include "tools/gn/scope.h" |
| 10 #include "tools/gn/settings.h" | 10 #include "tools/gn/settings.h" |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 " # might produce \"../../project/myfile.txt\".\n" | 176 " # might produce \"../../project/myfile.txt\".\n" |
| 177 "\n" | 177 "\n" |
| 178 " # Convert a file to be system absolute:\n" | 178 " # Convert a file to be system absolute:\n" |
| 179 " foo = rebase_path(\"myfile.txt\")\n" | 179 " foo = rebase_path(\"myfile.txt\")\n" |
| 180 " # Might produce \"D:\\source\\project\\myfile.txt\" on Windows or\n" | 180 " # Might produce \"D:\\source\\project\\myfile.txt\" on Windows or\n" |
| 181 " # \"/home/you/source/project/myfile.txt\" on Linux.\n" | 181 " # \"/home/you/source/project/myfile.txt\" on Linux.\n" |
| 182 "\n" | 182 "\n" |
| 183 " # Typical usage for converting to the build directory for a script.\n" | 183 " # Typical usage for converting to the build directory for a script.\n" |
| 184 " action(\"myscript\") {\n" | 184 " action(\"myscript\") {\n" |
| 185 " # Don't convert sources, GN will automatically convert these to be\n" | 185 " # Don't convert sources, GN will automatically convert these to be\n" |
| 186 " # relative to the build directory when it contructs the command\n" | 186 " # relative to the build directory when it constructs the command\n" |
| 187 " # line for your script.\n" | 187 " # line for your script.\n" |
| 188 " sources = [ \"foo.txt\", \"bar.txt\" ]\n" | 188 " sources = [ \"foo.txt\", \"bar.txt\" ]\n" |
| 189 "\n" | 189 "\n" |
| 190 " # Extra file args passed manually need to be explicitly converted\n" | 190 " # Extra file args passed manually need to be explicitly converted\n" |
| 191 " # to be relative to the build directory:\n" | 191 " # to be relative to the build directory:\n" |
| 192 " args = [\n" | 192 " args = [\n" |
| 193 " \"--data\",\n" | 193 " \"--data\",\n" |
| 194 " rebase_path(\"//mything/data/input.dat\", root_build_dir),\n" | 194 " rebase_path(\"//mything/data/input.dat\", root_build_dir),\n" |
| 195 " \"--rel\",\n" | 195 " \"--rel\",\n" |
| 196 " rebase_path(\"relative_path.txt\", root_build_dir)\n" | 196 " rebase_path(\"relative_path.txt\", root_build_dir)\n" |
| 197 " ] + sources\n" | 197 " ] + rebase_path(sources, root_build_dir)\n" |
| 198 " }\n"; | 198 " }\n"; |
| 199 | 199 |
| 200 Value RunRebasePath(Scope* scope, | 200 Value RunRebasePath(Scope* scope, |
| 201 const FunctionCallNode* function, | 201 const FunctionCallNode* function, |
| 202 const std::vector<Value>& args, | 202 const std::vector<Value>& args, |
| 203 Err* err) { | 203 Err* err) { |
| 204 Value result; | 204 Value result; |
| 205 | 205 |
| 206 // Argument indices. | 206 // Argument indices. |
| 207 static const size_t kArgIndexInputs = 0; | 207 static const size_t kArgIndexInputs = 0; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 } | 263 } |
| 264 return result; | 264 return result; |
| 265 } | 265 } |
| 266 | 266 |
| 267 *err = Err(function->function(), | 267 *err = Err(function->function(), |
| 268 "rebase_path requires a list or a string."); | 268 "rebase_path requires a list or a string."); |
| 269 return result; | 269 return result; |
| 270 } | 270 } |
| 271 | 271 |
| 272 } // namespace functions | 272 } // namespace functions |
| OLD | NEW |