mirror of
https://github.com/Yonokid/PyTaiko.git
synced 2026-02-04 19:50:12 +01:00
I will lose my mind
This commit is contained in:
57
libs/audio/check_deps.py
Normal file
57
libs/audio/check_deps.py
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
def check_dll_dependencies(dll_path):
|
||||||
|
"""Check DLL dependencies using objdump or dumpbin"""
|
||||||
|
|
||||||
|
print(f"Analyzing: {dll_path}")
|
||||||
|
|
||||||
|
# Try objdump first (from MinGW tools)
|
||||||
|
objdump_cmd = "x86_64-w64-mingw32-objdump"
|
||||||
|
try:
|
||||||
|
result = subprocess.run([objdump_cmd, "-p", dll_path],
|
||||||
|
capture_output=True, text=True, check=True)
|
||||||
|
print("\n=== DLL Dependencies ===")
|
||||||
|
lines = result.stdout.split('\n')
|
||||||
|
in_imports = False
|
||||||
|
for line in lines:
|
||||||
|
if "DLL Name:" in line:
|
||||||
|
print(f" -> {line.strip()}")
|
||||||
|
elif "The Import Tables" in line:
|
||||||
|
in_imports = True
|
||||||
|
elif in_imports and line.strip().startswith("DLL Name:"):
|
||||||
|
print(f" -> {line.strip()}")
|
||||||
|
|
||||||
|
except (subprocess.CalledProcessError, FileNotFoundError):
|
||||||
|
print("objdump not available, trying alternative methods...")
|
||||||
|
|
||||||
|
# Check if file exists and basic info
|
||||||
|
if os.path.exists(dll_path):
|
||||||
|
size = os.path.getsize(dll_path)
|
||||||
|
print(f"\nDLL Size: {size} bytes")
|
||||||
|
else:
|
||||||
|
print(f"ERROR: {dll_path} not found!")
|
||||||
|
|
||||||
|
def check_exports(dll_path):
|
||||||
|
"""Check exported functions"""
|
||||||
|
try:
|
||||||
|
result = subprocess.run(["x86_64-w64-mingw32-objdump", "-p", dll_path],
|
||||||
|
capture_output=True, text=True, check=True)
|
||||||
|
print("\n=== Exported Functions ===")
|
||||||
|
lines = result.stdout.split('\n')
|
||||||
|
for line in lines:
|
||||||
|
if "[" in line and "]" in line and "(" not in line:
|
||||||
|
# This looks like an export entry
|
||||||
|
print(f" {line.strip()}")
|
||||||
|
except:
|
||||||
|
print("Could not check exports")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
dll_path = "libaudio.dll"
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
dll_path = sys.argv[1]
|
||||||
|
|
||||||
|
check_dll_dependencies(dll_path)
|
||||||
|
check_exports(dll_path)
|
||||||
BIN
libs/audio/libwinpthread-1.dll
Normal file
BIN
libs/audio/libwinpthread-1.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user