Bindings: Improved FreeGLUT support for MinGW (#3004)

diff --git a/examples/example_glut_opengl2/Makefile b/examples/example_glut_opengl2/Makefile
index c381c0c..70576b8 100644
--- a/examples/example_glut_opengl2/Makefile
+++ b/examples/example_glut_opengl2/Makefile
@@ -41,7 +41,13 @@
 
 ifeq ($(findstring MINGW,$(UNAME_S)),MINGW)
 	ECHO_MESSAGE = "MinGW"
-	LIBS += -lgdi32 -lopengl32 -limm32 -lglut
+	LIBS += -lgdi32 -lopengl32 -limm32
+ifeq ($(shell pkg-config freeglut --exists 2> /dev/null && echo yes || echo no),yes)
+	CXXFLAGS += $(shell pkg-config freeglut --cflags)
+	LIBS += $(shell pkg-config freeglut --libs)
+else
+	LIBS += -lglut
+endif
 	CFLAGS = $(CXXFLAGS)
 endif
 
diff --git a/examples/example_glut_opengl2/main.cpp b/examples/example_glut_opengl2/main.cpp
index 03db3fc..d36c1f8 100644
--- a/examples/example_glut_opengl2/main.cpp
+++ b/examples/example_glut_opengl2/main.cpp
@@ -6,8 +6,8 @@
 // !!! Nowadays, prefer using GLFW or SDL instead!
 
 #include "imgui.h"
-#include "../imgui_impl_glut.h"
-#include "../imgui_impl_opengl2.h"
+#include "imgui_impl_glut.h"
+#include "imgui_impl_opengl2.h"
 #ifdef __APPLE__
     #include <GLUT/glut.h>
 #else
diff --git a/examples/imgui_impl_glut.cpp b/examples/imgui_impl_glut.cpp
index fe519d9..3c17bbf 100644
--- a/examples/imgui_impl_glut.cpp
+++ b/examples/imgui_impl_glut.cpp
@@ -39,7 +39,12 @@
 bool ImGui_ImplGLUT_Init()
 {
     ImGuiIO& io = ImGui::GetIO();
+
+#ifdef FREEGLUT
+    io.BackendPlatformName ="imgui_impl_glut (freeglut)";
+#else
     io.BackendPlatformName ="imgui_impl_glut";
+#endif
 
     g_Time = 0;