Closes #15307: symlinks now work on  OS X with framework Python builds. Patch by Ronald Oussoren.
diff --git a/Modules/main.c b/Modules/main.c
index 64bac6e..e86aa77 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -616,7 +616,29 @@
         Py_SetProgramName(buffer);
         /* buffer is now handed off - do not free */
     } else {
+#ifdef WITH_NEXT_FRAMEWORK
+        char* pyvenv_launcher = getenv("__PYVENV_LAUNCHER__");
+
+        if (pyvenv_launcher && *pyvenv_launcher) {
+            /* Used by Mac/Tools/pythonw.c to forward
+             * the argv0 of the stub executable
+             */
+            wchar_t* wbuf = _Py_char2wchar(pyvenv_launcher, NULL);
+
+            if (wbuf == NULL) {
+                Py_FatalError("Cannot decode __PYVENV_LAUNCHER__");
+            }
+            Py_SetProgramName(wbuf);
+
+            /* Don't free wbuf, the argument to Py_SetProgramName
+             * must remain valid until the Py_Finalize is called.
+             */
+        } else {
+            Py_SetProgramName(argv[0]);
+        }
+#else
         Py_SetProgramName(argv[0]);
+#endif
     }
 #else
     Py_SetProgramName(argv[0]);