Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: docs/LanguageSpecification.md

Issue 1292053003: Lots of documentation cleanup (Closed) Base URL: https://chromium.googlesource.com/external/gyp@md-pages
Patch Set: update w/ note about "fetch gyp" Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # GYP (Generate Your Projects) Language Specification 1 # Language Specification
2 2
3 Status: Draft (as of 2009-01-30)
4
5 Mark Mentovai <mark@chromium.org> _et al._
6
7 Modified: 2009-02-10
8
9 [TOC] 3 [TOC]
10 4
11 ## Objective 5 ## Objective
12 6
13 Create a tool for the Chromium project that generates native Visual Studio, 7 Create a tool for the Chromium project that generates native Visual Studio,
14 Xcode and SCons and/or make build files from a platform-independent input 8 Xcode and SCons and/or make build files from a platform-independent input
15 format. Make the input format as reasonably general as possible without 9 format. Make the input format as reasonably general as possible without
16 spending extra time trying to "get everything right," except where not doing so 10 spending extra time trying to "get everything right," except where not doing so
17 would likely lead Chromium to an eventual dead end. When in doubt, do what 11 would likely lead Chromium to an eventual dead end. When in doubt, do what
18 Chromium needs and don't worry about generalizing the solution. 12 Chromium needs and don't worry about generalizing the solution.
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 384
391 * `Projects`: 385 * `Projects`:
392 * `WebsiteProperties`: 386 * `WebsiteProperties`:
393 * `ProjectDependencies`: 387 * `ProjectDependencies`:
394 * `Global`: 388 * `Global`:
395 * `SolutionConfigurationPlatforms`: 389 * `SolutionConfigurationPlatforms`:
396 * `ProjectConfigurationPlatforms`: 390 * `ProjectConfigurationPlatforms`:
397 * `SolutionProperties`: 391 * `SolutionProperties`:
398 * `NestedProjects`: 392 * `NestedProjects`:
399 393
400 ## Code Location
401
402 Here! http://gyp.googlecode.com/
403
404 ## Group Members
405
406 |:-----------------|:---------------------------------|
407 | Darin Fisher | Overall approval of final design |
408 | Elliot Glaysher | Approval of Linux build functionality. |
409 | Alex Harper | |
410 | Steven Knight | Language specification.<br />Code for generating Scons file s from `.gyp` files. |
411 | Mark Mentovai | Input language design and implementation.<br />Code for gen erating Xcode files from `.gyp` files.<br />Approval of Mac (Xcode) build functi onality. |
412 | Bradley Nelson | Code for generating Visual Studio files from `.gyp` files. |
413 | Randall Spangler | |
414 | Nicolas Sylvain | Approval of Windows build functionality. |
415
416 ## Caveats 394 ## Caveats
417 395
418 TODO(sgk): Notes/Question from very first prototype draft of the language. 396 Notes/Question from very first prototype draft of the language.
419 Make sure these issues are addressed somewhere before deleting. 397 Make sure these issues are addressed somewhere before deleting.
420 398
421 * Libraries are easy, application abstraction is harder 399 * Libraries are easy, application abstraction is harder
422 * Applications involves resource compilation 400 * Applications involves resource compilation
423 * Applications involve many inputs 401 * Applications involve many inputs
424 * Applications include transitive closure of dependencies 402 * Applications include transitive closure of dependencies
425 * Specific use cases like cc\_library 403 * Specific use cases like cc\_library
426 * Mac compiles more than just .c/.cpp files (specifically, .m and .mm 404 * Mac compiles more than just .c/.cpp files (specifically, .m and .mm
427 files) 405 files)
428 * Compiler options vary by: 406 * Compiler options vary by:
429 * File type 407 * File type
430 * Target type 408 * Target type
431 * Individual file 409 * Individual file
432 * Files may have custom settings per file per platform, but we probably 410 * Files may have custom settings per file per platform, but we probably
433 don't care or need to support this in gyp. 411 don't care or need to support this in gyp.
434 * Will all linked non-Chromium projects always use the same versions of every 412 * Will all linked non-Chromium projects always use the same versions of every
435 subsystem? 413 subsystem?
436 * Variants are difficult. We've identified the following variants (some 414 * Variants are difficult. We've identified the following variants (some
437 specific to Chromium, some typical of other projects in the same ballpark): 415 specific to Chromium, some typical of other projects in the same ballpark):
438 * Target platform 416 * Target platform
439 * V8 vs. JSC 417 * V8 vs. JSC
440 * Debug vs. Release 418 * Debug vs. Release
441 * Toolchain (VS version, gcc, version) 419 * Toolchain (VS version, gcc, version)
442 * Host platform 420 * Host platform
443 * L10N 421 * L10N
444 * Vendor 422 * Vendor
445 * Purify / Valgrind 423 * Purify / Valgrind
446 * Will everyone upgrade VS at once? 424 * Will everyone upgrade VS at once?
447 * What does a dylib dependency mean? 425 * What does a dylib dependency mean?
448
449 ## Testing Plan
450
451 _What are the sub-units of your system that will be independently testable?
452 Tests must be approved by the code reviewer, and must follow the guidelines in
453 the unittesting document as far as possible. See What Is A Design Document for
454 criteria for whole system tests on servers. If there are changes envisaged in
455 your future work, would your tests verify the base functionality? If some of
456 your tests cannot be easily automated (e.g. UI tests), how will you document
457 the needed special procedures?_
458
459 ## Documentation Plan
460
461 Documentation via this wiki: http://code.google.com/p/gyp
462
463 ## Work Estimates
464
465 _Estimates of how long each phase will take (please be detailed; subtask
466 granularity should be roughly one week)_
467
468 ## Launch Plans
469
470 _What are the launch plans for your project? This includes, but is not limited
471 to:
472 * What visible changes your project will cause on the site.
473 * What will be the impact on production and/or search partners.
474 * What new servers will be introduced.
475 * Rough timeline for releasing your project._
OLDNEW
« docs/Hacking.md ('K') | « docs/Hacking.md ('k') | docs/Source.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698