|
13 | 13 | from binding_generator import _generate_bindings, _get_file_list, get_file_list
|
14 | 14 | from build_profile import generate_trimmed_api
|
15 | 15 |
|
| 16 | +from binding_generator import scons_generate_bindings, scons_emit_files |
| 17 | +from doc_source_generator import scons_generate_doc_source |
16 | 18 |
|
17 | 19 | def add_sources(sources, dir, extension):
|
18 | 20 | for f in os.listdir(dir):
|
@@ -377,51 +379,6 @@ def options(opts, env):
|
377 | 379 | tool.options(opts)
|
378 | 380 |
|
379 | 381 |
|
380 |
| -def make_doc_source(target, source, env): |
381 |
| - import zlib |
382 |
| - |
383 |
| - dst = str(target[0]) |
384 |
| - g = open(dst, "w", encoding="utf-8") |
385 |
| - buf = "" |
386 |
| - docbegin = "" |
387 |
| - docend = "" |
388 |
| - for src in source: |
389 |
| - src_path = str(src) |
390 |
| - if not src_path.endswith(".xml"): |
391 |
| - continue |
392 |
| - with open(src_path, "r", encoding="utf-8") as f: |
393 |
| - content = f.read() |
394 |
| - buf += content |
395 |
| - |
396 |
| - buf = (docbegin + buf + docend).encode("utf-8") |
397 |
| - decomp_size = len(buf) |
398 |
| - |
399 |
| - # Use maximum zlib compression level to further reduce file size |
400 |
| - # (at the cost of initial build times). |
401 |
| - buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION) |
402 |
| - |
403 |
| - g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") |
404 |
| - g.write("\n") |
405 |
| - g.write("#include <godot_cpp/godot.hpp>\n") |
406 |
| - g.write("\n") |
407 |
| - |
408 |
| - g.write('static const char *_doc_data_hash = "' + str(hash(buf)) + '";\n') |
409 |
| - g.write("static const int _doc_data_uncompressed_size = " + str(decomp_size) + ";\n") |
410 |
| - g.write("static const int _doc_data_compressed_size = " + str(len(buf)) + ";\n") |
411 |
| - g.write("static const unsigned char _doc_data_compressed[] = {\n") |
412 |
| - for i in range(len(buf)): |
413 |
| - g.write("\t" + str(buf[i]) + ",\n") |
414 |
| - g.write("};\n") |
415 |
| - g.write("\n") |
416 |
| - |
417 |
| - g.write( |
418 |
| - "static godot::internal::DocDataRegistration _doc_data_registration(_doc_data_hash, _doc_data_uncompressed_size, _doc_data_compressed_size, _doc_data_compressed);\n" |
419 |
| - ) |
420 |
| - g.write("\n") |
421 |
| - |
422 |
| - g.close() |
423 |
| - |
424 |
| - |
425 | 382 | def generate(env):
|
426 | 383 | # Default num_jobs to local cpu count if not user specified.
|
427 | 384 | # SCons has a peculiarity where user-specified options won't be overridden
|
@@ -554,7 +511,7 @@ def generate(env):
|
554 | 511 | env.Append(
|
555 | 512 | BUILDERS={
|
556 | 513 | "GodotCPPBindings": Builder(action=Action(scons_generate_bindings, "$GENCOMSTR"), emitter=scons_emit_files),
|
557 |
| - "GodotCPPDocData": Builder(action=make_doc_source), |
| 514 | + "GodotCPPDocData": Builder(action=scons_generate_doc_source), |
558 | 515 | }
|
559 | 516 | )
|
560 | 517 | env.AddMethod(_godot_cpp, "GodotCPP")
|
|
0 commit comments