From 77cd988ac855a00fc3104623f1893a5a17f1a484 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Mon, 15 Jun 2020 19:48:30 +0530
Subject: [PATCH] gst-env: Copy instead of symlink on Windows

os.symlink needs admin privs in most cases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/160>
---
 gst-env.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gst-env.py b/gst-env.py
index d91381a731..d95b2e9be2 100755
--- a/gst-env.py
+++ b/gst-env.py
@@ -160,8 +160,11 @@ def setup_gdb(options):
             python_paths.add(str(bdir / gdb_path))
             python_paths.add(os.path.join(options.srcdir, gdb_path))
             try:
-                os.symlink(gdb_helper, str(autoload_path / os.path.basename(gdb_helper)))
-            except FileExistsError:
+                if os.name == 'nt':
+                    shutil.copy(gdb_helper, str(autoload_path / os.path.basename(gdb_helper)))
+                else:
+                    os.symlink(gdb_helper, str(autoload_path / os.path.basename(gdb_helper)))
+            except (FileExistsError, shutil.SameFileError):
                 pass
 
     gdbinit_line = 'add-auto-load-scripts-directory {}\n'.format(bdir / 'gdb-auto-load')