From 6b69fd5640871fb3d10a861f3eb3c9b4469794d6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 5 May 2015 00:25:06 +0200 Subject: [PATCH] NSM preparation for OSX and windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note that on those platforms the application name is a full path. This is permitted by the specs: “executable_name MUST be the executable name that the program was launched with. For C programs, this is simply the value of argv[0]” [http://non.tuxfamily.org/nsm/API.html#n:1.2.1.1.] but the current implementation of nsm expects the basename only and searched $PATH. --- gtk2_ardour/bundle_env_mingw.cc | 9 +++++++++ tools/osx_packaging/startup_script | 2 ++ 2 files changed, 11 insertions(+) diff --git a/gtk2_ardour/bundle_env_mingw.cc b/gtk2_ardour/bundle_env_mingw.cc index f53c461299..0d977cabba 100644 --- a/gtk2_ardour/bundle_env_mingw.cc +++ b/gtk2_ardour/bundle_env_mingw.cc @@ -123,6 +123,15 @@ fixup_bundle_environment (int, char* [], string & localedir) Glib::setenv ("VAMP_PATH", path, true); Glib::setenv ("SUIL_MODULE_DIR", Glib::build_filename(ardour_dll_directory(), "suil"), true); + + /* XXX this should really be PRODUCT_EXE see tools/x-win/package.sh + * ardour on windows does not have a startup wrapper script. + * + * then again, there's probably nobody using NSM on windows. + * because neither nsmd nor the GUI is currently available for windows. + * furthermore it'll be even less common for derived products. + */ + Glib::setenv ("ARDOUR_SELF", Glib::build_filename(ardour_dll_directory(), "ardour.exe"), true); } static __cdecl void diff --git a/tools/osx_packaging/startup_script b/tools/osx_packaging/startup_script index 75ed7200d1..ba9cf18e47 100644 --- a/tools/osx_packaging/startup_script +++ b/tools/osx_packaging/startup_script @@ -19,6 +19,8 @@ end tell' exit 1 fi +export ARDOUR_SELF="$0" + # this needs to be set so that we can restore the environment when we want to find JACK (or similar) export PREBUNDLE_ENV="$(env)"