tarball: Updated for version 0.44.15
[sdk] / installer / src / installer.ec
index 5750ff3..fb05b35 100644 (file)
@@ -1,5 +1,5 @@
-static define versionString = "Ecere SDK v0.44.10";
-static define dateString = $"July 12th, 2014";
+static define versionString = "Ecere SDK v0.44.15";
+static define dateString = $"August 3, 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/ecere-ide",              "bin",      null, true,  true, true, bits64 },
+   { "Ecere IDE",       "ecere-sdk32/ecere-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 },
@@ -302,13 +302,15 @@ Array<Component> coreSDK
 
 public enum AdditionalID
 {
-   eda, eda32, vanilla, vanilla32, extras, upx, gnurx, gnurx32, /*pthreads, */cpp, /*w32api, gcci18n, gdbi18n, makei18n, binutilsi18n, */none
+   eda, eda32, audio, audio32, vanilla, vanilla32, extras, upx, gnurx, gnurx32, /*pthreads, */cpp, /*w32api, gcci18n, gdbi18n, makei18n, binutilsi18n, */none
 };
 
 Array<Component> additional
 { [
    { $"Data Access",     "ecere-sdk/eda",                 "bin",      null, false, true, true, bits64 },
    { $"Data Access",     "ecere-sdk32/eda",               "bin",      null, false, true, true, bits32 },
+   { $"Ecere Audio",     "ecere-sdk/EcereAudio.dll",      "bin",      null, false, true, true, bits64 },
+   { $"Ecere Audio",     "ecere-sdk32/EcereAudio.dll",    "bin",      null, false, true, true, bits32 },
    { $"Ecere Vanilla",   "ecere-sdk/libecereVanilla.a",   "lib",      null, false, true, true, bits64 },
    { $"Ecere Vanilla",   "ecere-sdk32/libecereVanilla.a", "lib",      null, false, true, true, bits32 },
    { $"Ecere Extras",    "extras",                        "extras",   null, false, true, true, none },
@@ -444,7 +446,7 @@ class Installer : Window
    tabCycle = true;
    clientSize = { 636, 476 };
    icon = { ":icon.png" };
-   caption = $"Ecere Software Development Kit Setup - v0.44.10 \"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;
@@ -1192,7 +1194,7 @@ class Installer : Window
 
 class InstallProgress : Window
 {
-   caption = $"Ecere Software Development Kit Setup - v0.44.10 \"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;
@@ -1351,7 +1353,7 @@ void ModifyPath(char * systemPath, char * userPath)
          if((c != eda && c != eda32 && c != upx) && (!pathOptions[PathOptions::AddMinGWPaths].available || !pathOptions[PathOptions::AddMinGWPaths].selected))
             continue;
          additional[c].GetFullPath(path, false);
-         if(c != eda && c != eda32 && c != upx)
+         if(c != eda && c != eda32 && c != upx && c != audio && c != audio32)
             PathCat(path, "bin");
          AddPath(sysPaths, sysCount, paths, &count, oldPath, userPath ? userPath : systemPath, path);
       }
@@ -1426,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
          {
@@ -1440,7 +1443,9 @@ class InstallThread : Thread
          ((GuiApplication)__thisModule).SignalEvent();
 
          settingsContainer.Load();
-         compiler = settings.GetCompilerConfig(defaultCompilerName);
+         configs.read(settingsContainer);
+
+         compiler = configs.GetCompilerConfig(defaultCompilerName);
          if(compiler)
          {
             {
@@ -1458,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)
@@ -1535,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();
@@ -1780,7 +1791,7 @@ class InstallThread : Thread
             associateOptions[AssociateOptions::AssociateIMG].selected)
          {
             ((GuiApplication)__thisModule).Lock();
-            installProgress.installing.caption = $"Resgistering File Types...";
+            installProgress.installing.caption = $"Registering File Types...";
             ((GuiApplication)__thisModule).Unlock();
             ((GuiApplication)__thisModule).SignalEvent();