Skip to content
This repository was archived by the owner on Feb 12, 2025. It is now read-only.

Commit f7b3fdd

Browse files
committed
Officially deprecate this iteration of the NoBuild idea.
1 parent a2924b0 commit f7b3fdd

File tree

1 file changed

+2
-40
lines changed

1 file changed

+2
-40
lines changed

README.md

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,8 @@
22

33
Header only library for writing build recipes in C.
44

5-
## Main idea
6-
7-
The idea is that you should not need anything but a C compiler to build a C project. No make, no cmake, no shell, no cmd, no PowerShell etc. Only C compiler. So with the C compiler you bootstrap your build system and then you use the build system to build everything else.
8-
9-
Try it out right here:
10-
11-
```console
12-
$ cc ./nobuild.c -o nobuild
13-
$ ./nobuild
14-
```
15-
16-
Explore [nobuild.c](./nobuild.c) file and the [examples](./examples) folder to learn more.
17-
18-
## This is an Experimental Project
19-
20-
I'm not sure if this is even a good idea myself. This is why I'm implementing it. This is a research project. I'm not making any claims about suitability of this approach to any project.
21-
22-
Right now I'm actively using nobuild only in [bm](https://github.com/tsoding/bm). It works quite well for me there.
23-
24-
## It's likely Not Suitable for Your Project
25-
26-
If you are using [cmake](https://cmake.org/) with tons of modules to manage and find tons of dependencies you probably don't want to use this tool. nobuild is more like writting shell scripts but in C.
27-
28-
## Advantages of nobuild
29-
30-
- Extremely portable builds across variety of systems including (but not limited to) Linux, MacOS, Windows, FreeBSD, etc. This is achieved by reducing the amount of dependencies to just a C compiler, which exists pretty much for any platform these days.
31-
- You end up using the same language for developing and building your project. Which may enable some interesting code reusage strategies. The build system can use the code of the project itself directly and the project can use the code of the build system also directly.
32-
- You get to use C more.
33-
- ...
34-
35-
## Disadvantages of nobuild
36-
37-
- You need to be comfortable with C and implementing things yourself. As mentioned above this is like writing shell scripts but in C.
38-
- It probably does not make any sense outside of C/C++ projects.
39-
- You get to use C more.
40-
- ...
41-
42-
## Why is it called "nobuild" when it's clearly a build tool?
43-
44-
You know all these BS movements that supposedly remove the root cause of your problems? Things like [NoSQL](https://en.wikipedia.org/wiki/NoSQL), [No-code](https://en.wikipedia.org/wiki/No-code_development_platform), [Serverless](https://en.wikipedia.org/wiki/Serverless_computing), etc. This is the same logic. I had too many problems with the process of building C projects. So there is nobuild anymore.
5+
> [!WARNING]
6+
> This library is DEPRECATED! Use [https://github.com/tsoding/nob.h] instead
457
468
## How to use the library in your own project
479

0 commit comments

Comments
 (0)