Quellcode durchsuchen

optimize compile time

blueloveTH vor 1 Jahr
Ursprung
Commit
1d32d2b42a
3 geänderte Dateien mit 26 neuen und 9 gelöschten Zeilen
  1. 0 1
      include/pocketpy/_generated.h
  2. 21 8
      prebuild.py
  3. 5 0
      src/_generated.cpp

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 1
include/pocketpy/_generated.h


+ 21 - 8
prebuild.py

@@ -1,6 +1,6 @@
 import os
 
-def generate_python_sources():
+def get_sources():
     sources = {}
     for file in sorted(os.listdir("python")):
         if not file.endswith(".py"):
@@ -17,18 +17,31 @@ def generate_python_sources():
         const_char_array.append('0')
         const_char_array = ','.join(const_char_array)
         sources[key] = '{' + const_char_array + '}'
+    return sources
 
-    header = '''#pragma once
+sources = get_sources()
+
+# use LF line endings instead of CRLF
+with open("include/pocketpy/_generated.h", "wt", encoding='utf-8', newline='\n') as f:
+    data = '''#pragma once
 // generated by prebuild.py
 
 namespace pkpy{
 '''
     for key in sorted(sources.keys()):
         value = sources[key]
-        header += f'    inline const char kPythonLibs_{key}[] = {value};\n'
-    header += '}\n'
-    return header
+        data += f'    extern const char kPythonLibs_{key}[];\n'
+    data += '}    // namespace pkpy\n'
+    f.write(data)
 
-# use LF line endings instead of CRLF
-with open("include/pocketpy/_generated.h", "wt", encoding='utf-8', newline='\n') as f:
-    f.write(generate_python_sources())
+with open("src/_generated.cpp", "wt", encoding='utf-8', newline='\n') as f:
+    data = '''// generated by prebuild.py
+#include "pocketpy/_generated.h"
+
+namespace pkpy{
+'''
+    for key in sorted(sources.keys()):
+        value = sources[key]
+        data += f'    const char kPythonLibs_{key}[] = {value};\n'
+    data += '}    // namespace pkpy\n'
+    f.write(data)

Datei-Diff unterdrückt, da er zu groß ist
+ 5 - 0
src/_generated.cpp


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.