O Standard BSD Libraries (SBL) é uma suíte modular e moderna de bibliotecas para a linguagem C (padrão C23), projetada no padrão de nomenclatura enxuto SL para ser a "biblioteca padrão" definitiva que elimina as dores de cabeça do desenvolvimento em C.
O nome e conceito são inspirações diretas da STL (Standard Template Library do C++) e da sonoridade da SDL (Simple DirectMedia Layer).
🎮 Integração com SDL: Gráficos (GPU/Vulkan/OpenGL), janelas, áudio, entrada de teclado/mouse e periféricos são delegados à SDL (Simple DirectMedia Layer), com a qual a suíte SBL se integra nativamente sem reinventar a roda.
O projeto é guiado pelas filosofias dos 4 grandes BSDs:
- ⚡ FreeBSD: Foco em eficiência e alto desempenho.
- 🔒 OpenBSD: Foco em simplicidade, auditabilidade e segurança.
- 🌐 NetBSD: Foco em portabilidade universal.
- 🚀 DragonFlyBSD: Foco em paralelismo e concorrência sem travas.
Para entender todos os detalhes da nossa visão, leia o documento PHILOSOPHY.md.
A suíte engloba a biblioteca principal Standard BSD Library (-lsbl) e um conjunto de módulos focados:
- SBL (
-lsbl): Standard BSD Library (biblioteca principal do ecossistema).
- SACL (
-lsacl): Simple Authentication Credential Library. - SDBL (
-lsdbl): Simple DataBase Library. - SEL (
-lsel): Simple Encryption Library (Hashes, Ciphers, CSPRNG, TLS).
- SML (
-lsml): Simple Mathematical Library (Álgebra Linear, Matrizes, Geometria). - SGL (
-lsgl): Simple Graph Library (Grafos, BFS/DFS, Fluxo em Redes, Caminho Mínimo). - SORL (
-lsorl): Simple Operations Research Library (Otimização Linear, Simplex).
- SNL (
-lsnl): Simple Network Library. - SWL (
-lswl): Simple Web Library.
- SCL (
-lscl): Simple Concurrency Library. - SFL (
-lsfl): Simple Filesystem Library.
- SLL (
-lsll): Simple Logging Library. - SPL (
-lspl): Simple Parsing Library. - STL (
-lstl): Simple Terminal Library (Cores ANSI, TUI, CLI prompts). - SUTL (
-lsutl): Simple Unit Testing Library.
- Compilador C: Compatível com o padrão C23 (
-std=c23, ex: GCC 13+ ou Clang 16+). - Sistema de Make:
bmake(omakepadrão do NetBSD / FreeBSD).
# Exemplo de compilação utilizando bmake
bmakeEste projeto é distribuído sob a licença BSD 3-Clause. Veja o arquivo LICENSE para mais detalhes.