Este projeto utiliza LLVM/Clang para extrair definições de código C/C++ (por exemplo, funções, typedefs, estruturas, etc.). A seguir estão as instruções para configurar o ambiente e compilar o projeto em Linux e em Windows (nativamente).
Em distribuições baseadas no Ubuntu, por exemplo, execute:
sudo apt update
sudo apt install build-essential clang llvm clang-tools-extra cmake libxml2-dev- build-essential: Inclui gcc, g++, make e outras ferramentas básicas de compilação.
- clang & llvm: Fornecem o compilador Clang e as ferramentas LLVM.
- clang-tools-extra: Ferramentas extras para o Clang.
- cmake: Para gerar os arquivos de build.
- libxml2-dev: Dependência para algumas funcionalidades.
-
Clone o repositório (incluindo submódulos):
git clone https://github.com/moschiel/clang-code-extractor.git cd clang-code-extractor -
Compile o projeto:
python3 build.py
O executável será gerado em build/extractor
-
Execute a funcionalidade com o script extract.py:
python3 extract.py <type> <name> <source_file> [extra_args]
-
Instale o MSYS2:
Baixe e instale o MSYS2. -
Atualize o MSYS2:
Abra o terminal MSYS2 MinGW 64-bit e execute:
pacman -Syu
-
Instale as ferramentas necessárias:
No terminal MSYS2, execute:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-clang mingw-w64-x86_64-clang-tools-extra mingw-w64-x86_64-llvm mingw-w64-x86_64-make
- mingw-w64-x86_64-gcc: Compilador GCC do MinGW.
- mingw-w64-x86_64-clang: Compilador Clang para Windows.
- mingw-w64-x86_64-clang-tools-extra: Ferramentas extras para o Clang.
- mingw-w64-x86_64-llvm: LLVM e arquivos de configuração (por exemplo,
LLVMConfig.cmake). - mingw-w64-x86_64-make: Fornece o
mingw32-make.exe.
-
Instale o CMake:
Baixe e instale o CMake. -
Verifique o PATH para MINGW64 e Cmake:
Certifique-se de que o diretório do MINGW64(
C:\msys64\mingw64\bin) e do CMake(C:\Program Files\CMake\bin) estão no PATH do sistema.Então execute o comando pra verificar se funciona.
cmake --version
-
Clone o repositório (incluindo submódulos):
git clone https://github.com/moschiel/clang-code-extractor.git cd clang-code-extractor -
Compile o projeto:
python build.py
O executável será gerado em build/extractor.exe
-
Execute a funcionalidade com o script extract.py:
python extract.py <type> <name> <source_file> [extra_args]
Observação:
No Windows, os caminhos paraLLVM_DIReClang_DIRdevem corresponder à sua instalação MSYS2. Se os caminhos forem diferentes, atualize as configurações do arquivo 'windows-config.cmake' .