setup: Collect top-level code together

Move most of the top-level code together, with the classes and functions
above, for easier reading.

The srcdir is left where it is for now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Message-ID: <20240811150248.7537-4-sjg@chromium.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/setup.py b/setup.py
index eb0963c..be3cf90 100755
--- a/setup.py
+++ b/setup.py
@@ -47,6 +47,15 @@
         return sys.argv.pop(index)
     return srcdir
 
+
+class BuildPy(_build_py):
+    """Small class to run the build_ext command"""
+    def run(self):
+        self.run_command("build_ext")
+        return super().run()
+
+
+version, long_description = scan_for_info(srcdir)
 top_builddir = get_top_builddir()
 
 libfdt_module = Extension(
@@ -60,14 +69,6 @@
 )
 
 
-class BuildPy(_build_py):
-    """Small class to run the build_ext command"""
-    def run(self):
-        self.run_command("build_ext")
-        return super().run()
-
-version, long_description = scan_for_info(srcdir)
-
 setup(
     name='libfdt',
     version=version,