mirror of
https://github.com/The-OpenROAD-Project/OpenROAD.git
synced 2026-06-02 01:08:34 +08:00
79 lines
2.1 KiB
Python
79 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
import os
|
|
|
|
|
|
def swap_prefix(file, old, new):
|
|
with open(file, "r") as f:
|
|
lines = f.read()
|
|
lines = lines.replace(old, new)
|
|
with open(file, "wt") as f:
|
|
f.write(lines)
|
|
|
|
|
|
# modify ../include/ord/OpenROAD.hh
|
|
swap_prefix(
|
|
"../include/ord/OpenRoad.hh",
|
|
"namespace dft {\nclass Dft;\n}",
|
|
"namespace dft {\nclass Dft;\n}\n\nnamespace tool{\nclass Tool;\n}",
|
|
)
|
|
|
|
swap_prefix(
|
|
"../include/ord/OpenRoad.hh",
|
|
"dft::Dft* getDft() { return dft_; }",
|
|
"dft::Dft* getDft() { return dft_; }\n tool::Tool* getTool() { return tool_; }",
|
|
)
|
|
|
|
swap_prefix(
|
|
"../include/ord/OpenRoad.hh",
|
|
"dft::Dft* dft_ = nullptr;",
|
|
"dft::Dft* dft_ = nullptr;\n tool::Tool* tool_ = nullptr;",
|
|
)
|
|
|
|
# modify ../src/CMakeLists.txt
|
|
swap_prefix(
|
|
"../src/CMakeLists.txt",
|
|
"add_subdirectory(dft)",
|
|
"add_subdirectory(dft)\nadd_subdirectory(tool)",
|
|
)
|
|
|
|
swap_prefix("../src/CMakeLists.txt", "pdn\n dft", "pdn\n dft\n tool")
|
|
|
|
# modify ../src/OpenROAD.cc
|
|
swap_prefix(
|
|
"../src/OpenRoad.cc",
|
|
'#include "utl/MakeLogger.h"',
|
|
'#include "utl/MakeLogger.h"\n#include "tool/MakeTool.hh"',
|
|
)
|
|
|
|
swap_prefix(
|
|
"../src/OpenRoad.cc",
|
|
"dft_ = dft::makeDft();",
|
|
"dft_ = dft::makeDft();\n tool_ = makeTool();",
|
|
)
|
|
|
|
swap_prefix(
|
|
"../src/OpenRoad.cc",
|
|
"dft::deleteDft(dft_);",
|
|
"dft::deleteDft(dft_);\n deleteTool(tool_);",
|
|
)
|
|
|
|
swap_prefix(
|
|
"../src/OpenRoad.cc",
|
|
"dft::initDft(this);",
|
|
"dft::initDft(this);\n initTool(this);",
|
|
)
|
|
|
|
# create a patch file
|
|
_ = os.popen("git add ../include/ord/OpenRoad.hh").read()
|
|
_ = os.popen("git add ../src/CMakeLists.txt").read()
|
|
_ = os.popen("git add ../src/OpenRoad.cc").read()
|
|
_ = os.popen("git diff --cached > misc/AddTool.patch").read()
|
|
|
|
# restore all changes except patch
|
|
_ = os.popen("git reset ../include/ord/OpenRoad.hh").read()
|
|
_ = os.popen("git reset ../src/CMakeLists.txt").read()
|
|
_ = os.popen("git reset ../src/OpenRoad.cc").read()
|
|
_ = os.popen("git restore ../include/ord/OpenRoad.hh").read()
|
|
_ = os.popen("git restore ../src/CMakeLists.txt").read()
|
|
_ = os.popen("git restore ../src/OpenRoad.cc").read()
|