AaronRobinsonMSFT / AaronRobinsonMSFT/DNNE

Consider using Zig as a C/C++ compiler to enable cross-compilation scenarios

Aberta
#128 1 comentário 2 reações 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
C#
Estrelas
488
Forks
46
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

I noticed that DNNE doesn't currently support cross-compilation for all the usual reasons that cross-compilation is a nightmare.

The [Zig](https://ziglang.org) compiler supports cross-compilation out of the box across a wide range of platforms, and it contains an embedded Clang along with libc headers and/or sources for many platforms, allowing you to use `zig cc`/`zig c++` as a C/C++ compiler. Cross-compilation basically Just Works. This is one of the reasons I developed my [Zig SDK](https://docs.vezel.dev/zig-sdk) project.

It seems to me that using the Zig compiler as a C/C++ compiler for DNNE would be a ~perfect fit.

(FWIW, if this seems like a sensible thing to do, you could make use of the [Zig toolset packages](https://www.nuget.org/packages?q=vezel.zig.toolsets) I publish on NuGet with every Zig release.)

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Look at how DNNE currently invokes the C/C++ compiler for native exports. Investigate the Zig SDK and its toolset packages on NuGet to understand how to integrate `zig cc`/`zig c++` as a cross-compiler. Check the build scripts or project files in the repository to see where compiler toolchains are configured. The goal is to modify the build process to optionally use Zig for cross-compilation scenarios.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
c, cpp, zig
Domínio
build-system, tooling
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.