 (defn get-dll-names [bits]
   (map dll-name (device-adapter-dlls (dll-dir bits))))
 
-(def helper-vcprojs #{"DEClientLib" "DEMessaging"})
+(def helper-vcxprojs #{"DEClientLib" "DEMessaging"})
 
 (defn missing-device-adapters [bits]
   (let [dll-names (get-dll-names bits)
         project-names (map project-name (filter #(not (.. % getAbsolutePath (contains "_ATTIC")))
-                                          (device-vcproj-files)))]
+                                          (device-vcxproj-files)))]
     (sort (clojure.set/difference (set project-names)
                                   #{nil}
                                   (set dll-names)
                                   (do-not-build)
-                                  helper-vcprojs))))
+                                  helper-vcxprojs))))
 
 (defn all-devices []
   (let [dll-names (get-dll-names 32)]
         (clojure.set/difference
           (clojure.set/union (set non-windows-device-adapters)
-                             (missing-vcproj)
+                             (missing-vcxproj)
                              (set dll-names))
           (do-not-build))))
 

        (if installer64-ok "Yes." "No. (build missing)\n")
        "\n\nIs Mac installer download available on website?\n"
        (if mac-ok "Yes." "No. (build missing)\n")
        (report-segment "Missing .vcproj files" missing-vcproj-files)
        (report-segment "Uncompiled device adapters (Win32)" (missing-device-adapters 32))
        (report-segment "Uncompiled device adapters (x64)" (missing-device-adapters 64))
        (report-segment "Missing device links" missing-links)

  (dorun (map #(replace-in-file! % pat new-val) files)))

(defn fix-output-file-tags!
  "Fix the dll output path specified in all vcxproj files."
  []
  (replace-in-files! (device-vcxproj-files)
                    #"\$\(OutDir\)/.+?\.dll" "\\$(OutDir)/mmgr_dal_\\$(ProjectName).dll"))
    
(defn find-copy-step [vcxproj]
  (re-find #"\"copy .+?\"" (slurp vcxproj)))

(defn bad-copy-step [vcxproj]
  (not (.contains (or (find-copy-step vcxproj) "PlatformName") "PlatformName")))

(defn all-bad-copy-steps
  "Find all vcxproj files with a bad post-build copy step"
  []
  (filter bad-copy-step (device-vcxproj-files)))

(defn find-pdb [vcxproj]
  (re-find #"\".*?\.pdb\"" (slurp vcxproj)))

(defn fix-pdb-file-tags!
  "Fix the pdb file path specified in all vcxproj files."
  []
  (replace-in-files! (device-vcxproj-files)
                    #"\".*?\.pdb\"" "\"\\$(OutDir)/\\$(ProjectName).pdb\""))


