Append "exe" suffix to executable files.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 15 Jun 2008 12:01:16 +0000 (12:01 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 15 Jun 2008 12:01:16 +0000 (12:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52285 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ld/llvm-ld.cpp

index 6657c7c7fd276ecbaa305018ccd95be266d9754c..f15281dffdc21d616ba82ce607bc34a89681390f 100644 (file)
@@ -403,7 +403,11 @@ static void EmitShellScript(char **argv) {
   if (llvmstub.isEmpty())
     PrintAndExit("Could not find llvm-stub.exe executable!");
 
-  if (0 != sys::CopyFile(sys::Path(OutputFilename), llvmstub, &ErrMsg))
+  sys::Path OutPath(OutputFilename);
+  if (OutPath.getSuffix() != "exe")
+    OutPath.appendSuffix("exe");
+
+  if (0 != sys::CopyFile(OutPath, llvmstub, &ErrMsg))
     PrintAndExit(ErrMsg);
 
   return;
@@ -532,6 +536,12 @@ int main(int argc, char **argv, char **envp) {
 
     // Generate the bitcode for the optimized module.
     std::string RealBitcodeOutput = OutputFilename;
+
+#if defined(_WIN32) || defined(__CYGWIN__)
+    if (!LinkAsLibrary && sys::Path(OutputFilename).getSuffix() != "exe")
+      RealBitcodeOutput += ".exe";
+#endif
+
     if (!LinkAsLibrary) RealBitcodeOutput += ".bc";
     GenerateBitcode(Composite.get(), RealBitcodeOutput);