Speed up AFL/PFL changes for large sessions
[ardour.git] / gtk2_ardour / bundle_env_linux.cc
index 54404b14fb7fa83ae5376432edb54965926ee54e..80830964b4e9f50be6bd16adeb19d2bc1a0c6a83 100644 (file)
@@ -17,7 +17,6 @@
 
 */
 
-#include <fstream>
 #include <string>
 #include <vector>
 #include <cerrno>
 #include "pbd/pathexpand.h"
 #include "pbd/file_utils.h"
 
+#include "ardour_http.h"
 #include "bundle_env.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace PBD;
 using namespace ARDOUR;
 using namespace std;
 
 void
-fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir)
+fixup_bundle_environment (int /*argc*/, char* argv[], string & localedir)
 {
        /* THIS IS FOR LINUX - its just about the only place where its
         * acceptable to build paths directly using '/'.
@@ -60,17 +60,23 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir)
 
        std::string path;
        std::string dir_path = Glib::path_get_dirname (Glib::path_get_dirname (argv[0]));
+#if defined WINDOWS_VST_SUPPORT
+       // argv[0] will be "wine"
+       if (g_getenv ("INSTALL_DIR")) {
+               dir_path = g_getenv ("INSTALL_DIR");
+       }
+#endif
 
 #ifdef ENABLE_NLS
        if (!ARDOUR::translations_are_enabled ()) {
-               (*localedir) = "/this/cannot/exist";
+               localedir = "/this/cannot/exist";
        } else {
                /* force localedir into the bundle */
                vector<string> lpath;
                lpath.push_back (dir_path);
                lpath.push_back ("share");
                lpath.push_back ("locale");
-               (*localedir) = canonical_path (Glib::build_filename (lpath)).c_str();
+               localedir = canonical_path (Glib::build_filename (lpath)).c_str();
        }
 #endif
 
@@ -89,10 +95,10 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir)
        g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
        g_setenv ("PATH", (dir_path + "/bin:" + std::string(g_getenv ("PATH"))).c_str(), 1);
 
-       /* unset GTK_RC_FILES so that we only load the RC files that we define
+       /* unset GTK2_RC_FILES so that we only load the RC files that we define
         */
 
-       g_unsetenv ("GTK_RC_FILES");
+       g_unsetenv ("GTK2_RC_FILES");
 
        /* Tell fontconfig where to find fonts.conf. Use the system version
           if it exists, otherwise use the stuff we included in the bundle
@@ -105,15 +111,16 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir)
                error << _("No fontconfig file found on your system. Things may looked very odd or ugly") << endmsg;
        }
 
-        /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack
-           from looking outside the bundle to find the charset.alias file.
-        */
-        g_setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
+       /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack
+                from looking outside the bundle to find the charset.alias file.
+                */
+       g_setenv ("CHARSETALIASDIR", dir_path.c_str(), 1);
 
+       ArdourCurl::HttpGet::setup_certificate_paths ();
 }
 
-void 
-load_custom_fonts() 
+void
+load_custom_fonts()
 {
        std::string ardour_mono_file;