Warn when detecting debug with get_option('buildtype')

Build files should always use `get_option('debug')` since `buildtype`
is set to `custom` in many cases.
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index af6eda3..416d26f 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2833,7 +2833,7 @@
 
     @stringArgs
     @noKwargs
-    def func_get_option(self, nodes, args, kwargs):
+    def func_get_option(self, node, args, kwargs):
         if len(args) != 1:
             raise InterpreterException('Argument required for get_option.')
         optname = args[0]
@@ -2843,9 +2843,17 @@
                                        'options of other subprojects.')
         opt = self.get_option_internal(optname)
         if isinstance(opt, coredata.UserFeatureOption):
-            return FeatureOptionHolder(self.environment, optname, opt)
+            opt = FeatureOptionHolder(self.environment, optname, opt)
         elif isinstance(opt, coredata.UserOption):
-            return opt.value
+            opt = opt.value
+        if optname == 'buildtype':
+            class BuildTypeString(str):
+                def startswith(self, token):
+                    if token == 'debug':
+                        mlog.warning("Use get_option('debug') to check whether debugging is enabled "
+                                     "instead of get_option('buildtype').startswith('debug')", location=node)
+                    super().startswith(token)
+            opt = BuildTypeString(opt)
         return opt
 
     @noKwargs
diff --git a/run_unittests.py b/run_unittests.py
index f867f1c..03ada0c 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -4832,6 +4832,11 @@
                                "meson.override_dependency('zlib', declare_dependency())",
                                """Tried to override dependency 'zlib' which has already been resolved or overridden""")
 
+    def test_buildtype_debug_warning(self):
+        self.assertMesonOutputs("get_option('buildtype').startswith('debug')\n",
+                                r"WARNING:.*get_option\('debug'\)")
+
+
 @unittest.skipUnless(is_windows() or is_cygwin(), "requires Windows (or Windows via Cygwin)")
 class WindowsTests(BasePlatformTests):
     '''