Changes between Version 4 and Version 5 of ImprovingLifeOnWindows


Ignore:
Timestamp:
Aug 19, 2009 9:21:23 AM (15 years ago)
Author:
Adam Roben
Comment:

Moved some content to MakingTheWindowsBuildSystemMoreMaintainable

Legend:

Unmodified
Added
Removed
Modified
  • ImprovingLifeOnWindows

    v4 v5  
    2323The `WebKitOutputDir` and `WebKitLibrariesDir` environment variables have to be set to be able to build inside Visual Studio. We should set these automatically as part of running `update-webkit` (maybe by tickling `HKCU\Environment` directly). This would fix BuildingOnWindows#WebKitLibrariesDir and obviate BuildingOnWindows#BuildingfromwithinVisualStudio.
    2424
    25 == Use `.vsprops` files more ==
    26 
    27 `.vsprops` files allow us to reduce setting duplication within and between `.vcproj` files. Using `.vsprops` files more would make it easier and less error-prone to modify the Windows build files.
    28 
    29 == Consolidate or eliminate Release and Debug `.def` files ==
    30 
    31 A common build mistake is to only update the Release or only update the Debug `.def` file for JavaScriptCore or WebKit. By consolidating these files we could eliminate this kind of error. Consolidation would probably require the use of a script, which would unfortunately make the build more complicated, but the extra complexity might be worth the reduction in user-error.
    32 
    33 Another option would be to eliminate the `.def` files completely by using `__declspec(dllexport)` and `__declspec(dllimport)`.
    34 
    3525== Make "Clean Solution" clean everything ==
    3626
    3727"Clean Solution" in Visual Studio currently leaves behind lots of files, such as autogenerated bindings, so the next build isn't really "clean". We should make "Clean Solution" really clean everything.
    3828
    39 == Switch to using `gyp` ==
     29== Make the build system more maintainable ==
    4030
    41 [http://code.google.com/p/gyp/ gyp] is a project-file-generation tool that can be used to generate `.vcproj` and `.sln` files (and `.xcodeproj`, etc.). It has a much easier to read format than `.vcproj`, and might be more easily modified by hand than `.vcproj` files. The Chromium port is already using `gyp`, so we'd have some extra help in maintaining the files (assuming we could share `gyp` files with them). If we switched Mac to using `gyp`, too, then we'd really reduce the likelihood of someone forgetting to add a new file to a `.vcproj`.
     31See MakingTheWindowsBuildSystemMoreMaintainable.
    4232
    4333= Running/Debugging =