installer: Fixed extra bin/bin path
[sdk] / installer / src / installer.ec
index 406878c..15a8360 100644 (file)
@@ -1,5 +1,5 @@
-static define versionString = "Ecere SDK v0.44.12";
-static define dateString = $"December 10th, 2015";
+static define versionString = "Ecere SDK v0.44.15";
+static define dateString = $"August 4, 2016";
 static define builtOnString = $"built on ";
 static define withoutMinGW = $" (Without MinGW)";
 
@@ -286,11 +286,11 @@ public enum CoreSDKID
 
 Array<Component> coreSDK
 { [
-   { "Ecere IDE",       "ecere-sdk/ide",                 "bin",      null, true,  true, true, bits64 },
-   { "Ecere IDE",       "ecere-sdk32/ide",                 "bin",      null, true,  true, true, bits32 },
-   { $"Runtime Library", "ecere-sdk/ecere.dll",           "bin",      null, true,  true, true, bits64 },
+   { "Ecere IDE",       "ecere-sdk/ide",                    "bin",      null, true,  true, true, bits64 },
+   { "Ecere IDE",       "ecere-sdk32/ide",                  "bin",      null, true,  true, true, bits32 },
+   { $"Runtime Library", "ecere-sdk/ecere.dll",             "bin",      null, true,  true, true, bits64 },
    { $"Runtime Library", "ecere-sdk32/ecere.dll",           "bin",      null, true,  true, true, bits32 },
-   { $"eC Compiler",     "ecere-sdk/compiler",            "bin",      null, true,  true, true, bits64 },
+   { $"eC Compiler",     "ecere-sdk/compiler",              "bin",      null, true,  true, true, bits64 },
    { $"eC Compiler",     "ecere-sdk32/compiler",            "bin",      null, true,  true, true, bits32 },
    { $"GNU C Compiler",  "tdm/gcc/core",   "tdm", null, true, true, minGWIncluded, none },
    { $"GNU Debugger",    "tdm/gdb",        "tdm", null, true, true, minGWIncluded, none },
@@ -446,7 +446,7 @@ class Installer : Window
    tabCycle = true;
    clientSize = { 636, 476 };
    icon = { ":icon.png" };
-   caption = $"Ecere Software Development Kit Setup - v0.44.12 \"Ryōan-ji\" 64 Bit Edition";
+   caption = $"Ecere Software Development Kit Setup - v0.44.15 \"Ryōan-ji\" Web Edition";
 
    // clientSize = { 796, 576 };
    bool loaded;
@@ -1194,7 +1194,7 @@ class Installer : Window
 
 class InstallProgress : Window
 {
-   caption = $"Ecere Software Development Kit Setup - v0.44.12 \"Ryōan-ji\" 64 Bit Edition";
+   caption = $"Ecere Software Development Kit Setup - v0.44.15 \"Ryōan-ji\" Web Edition";
    background = activeBorder;
    borderStyle = fixed;
    hasMinimize = true;
@@ -1428,6 +1428,7 @@ class InstallThread : Thread
 
          // Configure IDE
          IDESettings settings = null; // Don't instantiate yet so we can pick up old settings
+         CompilerConfigs configs { };
 
          IDESettingsContainer settingsContainer
          {
@@ -1442,7 +1443,9 @@ class InstallThread : Thread
          ((GuiApplication)__thisModule).SignalEvent();
 
          settingsContainer.Load();
-         compiler = settings.GetCompilerConfig(defaultCompilerName);
+         configs.read(settingsContainer);
+
+         compiler = configs.GetCompilerConfig(defaultCompilerName);
          if(compiler)
          {
             {
@@ -1460,7 +1463,7 @@ class InstallThread : Thread
                   if((c == ide && osIS64bit) || (c == ide32 && !osIS64bit))
                   {
                      coreSDK[c].GetFullPath(idePath, false);
-                     PathCat(idePath, "ide.exe");
+                     PathCat(idePath, "ecere-ide.exe");
                   }
 
                   if(c == runtime || c == runtime32)
@@ -1478,7 +1481,7 @@ class InstallThread : Thread
                   char path[MAX_LOCATION];
                   if(c == extras || !additional[c].selected || !additional[c].available) continue;
                   additional[c].GetFullPath(path, false);
-                  if(c != upx && c != eda && c != vanilla && c != eda32 && c != vanilla32)
+                  if(c != upx && c != eda && c != vanilla && c != eda32 && c != vanilla32 && c != audio && c != audio32)
                      PathCat(path, "bin");
                   MakeSlashPath(path);
                   if(c == vanilla || c == vanilla32)
@@ -1537,8 +1540,14 @@ class InstallThread : Thread
          }
 
          settingsContainer.Save();
+         {
+            AVLTree<String> cfgsToWrite { [ compiler.name ] };
+            configs.write(settingsContainer, cfgsToWrite);
+            delete cfgsToWrite;
+         }
          delete settingsContainer;
          delete settings;
+         delete configs;
 
          // Set up Uninstaller
          ((GuiApplication)__thisModule).Lock();