|
1 | | -# π VibeScript Build Instructions d |
| 1 | +# VibeScript Build Instructions |
2 | 2 |
|
3 | | -Welcome! This guide will help you build VibeScript step by step. Don't worry if you're new to this - we'll explain everything! |
| 3 | +This guide provides comprehensive instructions for building VibeScript from source. The following steps will walk you through the build process and requirements. |
4 | 4 |
|
5 | | -## π What You'll Need |
| 5 | +## Prerequisites |
6 | 6 |
|
7 | | -Before we start, you need to install two tools on your computer: |
| 7 | +Before building VibeScript, you need to install the required build tools: |
8 | 8 |
|
9 | 9 | ### 1. Install Darwin (Build Tool) |
10 | | -Darwin is a tool that helps us build the project. Think of it like a smart assistant that knows how to compile code. |
| 10 | +Darwin is the primary build system used for compiling VibeScript. It manages the build process and handles cross-platform compilation. |
11 | 11 |
|
12 | | -**On Linux, copy and paste this command in your terminal:** |
| 12 | + |
| 13 | +### Linux Installation |
| 14 | +```bash |
| 15 | +curl -L https://github.com/OUIsolutions/Darwin/releases/download/0.13.0/darwin_linux_bin.out -o darwin.out && chmod +x darwin.out && mv darwin.out /usr/local/bin/darwin |
| 16 | +``` |
| 17 | +### Mac-Os Instalation |
13 | 18 | ```bash |
14 | | -curl -L https://github.com/OUIsolutions/Darwin/releases/download/0.3.0/darwin.out -o darwin.out && sudo chmod +x darwin.out && sudo mv darwin.out /usr/bin/darwin |
| 19 | +curl -L https://github.com/OUIsolutions/Darwin/releases/download/0.13.0/darwin.c -o darwin.c && gcc darwin.c -o darwin.out && sudo mv darwin.out /usr/local/bin/darwin && rm darwin.c |
15 | 20 | ``` |
16 | 21 |
|
17 | | -If you want to create builds for different operating systems or customize the build process: |
| 22 | +## Build Options |
| 23 | + |
| 24 | +For customizing the build process or creating builds for different platforms: |
18 | 25 |
|
19 | | -#### Create Your Own Amalgamation File |
| 26 | +#### Generate Amalgamation File |
20 | 27 | ```bash |
21 | 28 | darwin run_blueprint build/ --mode folder amalgamation_build |
22 | 29 | ``` |
23 | | -**What this does:** Creates a fresh `amalgamation.c` file in the `release` folder. |
| 30 | +This command creates a fresh `amalgamation.c` file in the `release` folder. |
| 31 | +the **amalgamation.c** file contains all the VibeScript source code combined into a single file, making it easier to compile and distribute. |
24 | 32 |
|
25 | | -#### Test Build for Linux Only |
| 33 | + |
| 34 | +#### Local Linux Build |
| 35 | +```bash |
| 36 | +darwin run_blueprint build/ --mode folder local_linux_build |
26 | 37 | ```bash |
27 | 38 | darwin run_blueprint build/ --mode folder local_linux_build |
28 | 39 | ``` |
29 | | -**What this does:** Creates a `vibescript` program that only works on Linux. |
| 40 | +This creates a `vibescript` executable optimized for the local Linux environment. |
30 | 41 |
|
31 | | -#### Build for All Platforms (Windows, Linux, etc.) |
| 42 | +#### Cross-Platform Build |
32 | 43 | ```bash |
33 | 44 | darwin run_blueprint build/ --mode folder amalgamation_build alpine_static_build windowsi32_build windows64_build rpm_static_build debian_static_build --contanizer podman |
34 | 45 | ``` |
35 | 46 |
|
36 | | -**What this creates:** |
37 | | -- `release/vibescript64.exe` - For 64-bit Windows |
38 | | -- `release/vibescripti32.exe` - For 32-bit Windows |
39 | | -- `release/vibescript.out` - For Linux |
40 | | -- `release/vibescript.deb` - For Debian/Ubuntu Linux |
41 | | -- `release/vibescript.rpm` - For RedHat/CentOS Linux |
| 47 | +This comprehensive build creates the following executables: |
| 48 | +- `release/vibescript64.exe` - Windows 64-bit executable |
| 49 | +- `release/vibescripti32.exe` - Windows 32-bit executable |
| 50 | +- `release/vibescript.out` - Linux executable |
| 51 | +- `release/vibescript.deb` - Debian/Ubuntu package |
| 52 | +- `release/vibescript.rpm` - RedHat/CentOS package |
42 | 53 |
|
43 | | -**Note:** You need Docker or Podman installed for this option. |
| 54 | +**Note:** Docker or Podman is required for cross-platform builds. |
44 | 55 |
|
45 | | -## β
Step 3: Test Your Build |
| 56 | +## Build Verification |
46 | 57 |
|
47 | | -After building, test if everything works: |
| 58 | +After completing the build process, verify the installation: |
48 | 59 |
|
49 | 60 | ```bash |
50 | | -# Make sure your program can run |
| 61 | +# Verify the build was successful |
51 | 62 | ./vibescript --help |
52 | 63 | ``` |
53 | 64 |
|
54 | | -If you see help text, congratulations! π You've successfully built VibeScript! |
| 65 | +A successful build will display the help documentation. |
55 | 66 |
|
56 | | -## βοΈ Advanced Configuration (Optional) |
| 67 | +## Configuration |
57 | 68 |
|
58 | | -You can customize build settings by editing `build/config.lua`. The most important settings are: |
| 69 | +Build settings can be customized by modifying `build/config.lua`. Key configuration options include: |
59 | 70 |
|
60 | 71 | ```lua |
61 | | -PROJECT_NAME = "vibescript" -- Name of your program |
| 72 | +PROJECT_NAME = "vibescript" -- Project name |
62 | 73 | VERSION = "0.0.9" -- Version number |
63 | | -CONTANIZER = "podman" -- Use "docker" or "podman" |
| 74 | +CONTANIZER = "podman" -- Container engine (docker or podman) |
64 | 75 | ``` |
65 | 76 |
|
66 | | -## π Need Help? |
67 | | - |
68 | | -- **"Command not found" error?** Make sure you installed Darwin and KeyObfuscate correctly |
69 | | -- **Permission denied?** Try adding `sudo` before the command |
70 | | -- **Build fails?** Make sure you created all three security keys in the `keys/` folder |
71 | | - |
72 | | -## π Summary |
73 | | - |
74 | | -1. β
Install Darwin and KeyObfuscate tools |
75 | | -2. β
Create security keys with KeyObfuscate |
76 | | -3. β
Choose Option A (Quick) or Option B (Advanced) |
77 | | -4. β
Run the build command |
78 | | -5. β
Test your new VibeScript program! |
79 | | - |
80 | | -That's it! You now have a working VibeScript build. Happy coding! π |
81 | | - |
82 | | - |
0 commit comments