Changes between Version 1 and Version 2 of April 2012 Reducing build systems
- Timestamp:
- Apr 20, 2012, 11:42:00 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
April 2012 Reducing build systems
v1 v2 1 Reducing build systems 1 [[PageOutline]] 2 3 = Reducing build systems = 2 4 3 5 Moderator: Eric Seidel, Scribe: Daniel Bates … … 7 9 Currently WebKit has 7 build systems: 8 10 9 * XCode (Mac)10 * Visual Studio (Win, WinCairo)11 * QMake (Qt)12 * AutoMake (Gtk)13 * CMake (EFL, Blackberry, WinCE)14 * GYP (Chromium Mac/Win/Linux/Android/etc.)15 * WAF (WX)11 * XCode (Mac) 12 * Visual Studio (Win, WinCairo) 13 * QMake (Qt) 14 * AutoMake (Gtk) 15 * CMake (EFL, Blackberry, WinCE) 16 * GYP (Chromium Mac/Win/Linux/Android/etc.) 17 * WAF (WX) 16 18 17 19 Problems with our current build systems: 18 * Duplication of logic19 *Difficulty adding files20 * Duplication of logic 21 * Difficulty adding files 20 22 21 23 = Additional notes = … … 23 25 Eric Seidel: My goal a year from now not to have 7 but to have 6, more aggressive goal is to have 5 or 4. 24 26 25 Eric Seidel: How many people have added a file to webkit? 26 (Majority raised our hands.) 27 Eric Seidel: How many people have added a file to webkit? (Majority of room raised hands) 27 28 28 29 Q: Why to get rid of build systems? 30 29 31 Eric Seidel: Remove build systems for simplicity. 30 32 … … 36 38 37 39 Q: Are there other solutions than just reducing them? Could we share more? 40 38 41 A: We could theoretically share more for systems that have a functional make. Having tooling, say add-build-file, to automate adding of new files to all build systems. Two people, related to Chromium, have written Xcode editing Python scripts that have been put up for review but haven't landed. 39 42 40 43 Q: Would there be alternative to having 6 files that list all files? 44 41 45 A: Xcode cannot read a newline delimited text file of source files. 42 46 … … 54 58 55 59 Q: What's blocking the Chromium Python patches? 60 56 61 Dirk Pranke: Waiting to be broken up into logical chunks and reviewed. 57 62 58 Dirk Pranke: Have you thought of a script to pull data from gyp file to qmake? 63 Dirk Pranke: Have you thought of a script to pull data from gyp file to quake? 64 59 65 Tor Arne Vestbø: Would be possible to auto generate the list. 60 66 … … 63 69 Tor Arne Vestbø: When integrating with Qt can't have dependencies on Python. 64 70 65 Eric Seidel: Do you see theqmake pull a list of files from some other central repo/sys?71 Eric Seidel: Do you see qmake pull a list of files from some other central repo/sys? 66 72 67 73 Tor Arne Vestbø: Yes. Qmake has support for reading an arbitrary text file for source files...Need some kind of if/def logic to include platform-specific files and exclude others … … 70 76 71 77 Eric Seidel: Have you started? 78 72 79 Steve Falkenburg (Paraphrase): Part of the problem of both Apple ports is that we don't think we can run CMake for official builds. 73 80 … … 76 83 == Another approach: scripts; requirements for such scripts == 77 84 78 1. Want add file, remove file, move file79 2. Central list of feature defines; "don't know a way to get there" (Eric Seidel)80 3. Ability to add/remove feature defines81 4. Change include paths82 5. Change file paths85 1. Want add file, remove file, move file 86 2. Central list of feature defines; "don't know a way to get there" (Eric Seidel) 87 3. Ability to add/remove feature defines 88 4. Change include paths 89 5. Change file paths