• sebmarchand's avatar
    Move the mini_installer_version rule to its own gyp file. · a0ad68e8
    sebmarchand authored
    Having this rule defined in mini_installer.gypi cause the following
    warning:
    
    warning: multiple rules generate mini_installer_exe_version.rc. builds
    involving this target will not be correct
    
    This is because this .gypi gets included both by mini_installer.gyp and
    by mini_installer_syzygy.gypi. So these 2 targets declare
    'mini_installer_exe_version.rc' as one of their output, and for some
    reason the _syzygy one win and becomes the owner of this file.
    This creates the following dependencies (from bottom to top):
    
    syzygy/chrome.dll.pdb
      stamp
        obj/chrome/chrome_dll_syzygy.actions_rules_copies.stamp
          stamp
            obj/chrome/installer/mini_installer_syzygy.actions_depends.stamp
              mini_installer_syzygy_target_mini_installer_version_71edb9637c223314ee6152f2a3daf553
                mini_installer_exe_version.rc
                  rc
                  stamp
                    obj/chrome/installer/mini_installer.mini_installer_exe_version.res
                    obj/chrome/installer/mini_installer.actions_rules_copies.stamp
                      link_embed
                      rc
                      cxx
                      cxx
                      cxx
                      cxx
                      rc
                      cxx
                      cxx
                      cxx
                      cxx
                        mini_installer.exe
                          stamp
                            obj/build/chrome_official_builder_no_unittests.actions_depends.stamp
                              stamp
                                obj/build/chrome_official_builder.actions_depends.stamp
                                  chrome_official_builder
    
    Equivalent to (-> = "depends on"):
    
    chrome_official_builder -> mini_installer.exe -> mini_installer_exe_version.rc -> mini_installer_syzygy -> chrome_dll_syzygy
    
    Having this kind of dependency between mini_installer and the syzygy target cause some
    important build failures on the official builder.
    
    Defining this target in a new gyp file (instead of in a gypi file) fix this redefinition issue
    (i.e. both targets still depends on it but they don't define it).
    
    TBR=gab@chromium.org, grt@chromium.org
    BUG=581525
    
    Review URL: https://codereview.chromium.org/1633343002
    
    Cr-Commit-Position: refs/heads/master@{#371746}
    a0ad68e8
mini_installer.gyp 1.22 KB