| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Compiler: Add early error for output path being a directory. | Jeroen van Rijn | 2022-04-24 | 1 | -80/+72 |
| | | | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions. | ||||
| * | Add -help to CI tests. | Jeroen van Rijn | 2022-04-05 | 1 | -2/+10 |
| | | |||||
| * | Give build/run/check/test/doc a `-file` flag. | Jeroen van Rijn | 2022-04-05 | 1 | -88/+123 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A package has canonically always been a directory, but odin allowing you to build a single-file package confused newcomers who didn't understand why they could then not access variables and procedures from another file in the same directory. This change disallows building single-file packages by default, requiring the `-file` flag to acknowledge you understand the nuance. `-help` for these commands also clarifies the difference. ``` W:\Odin>odin build -help odin is a tool for managing Odin source code Usage: odin build [arguments] build Compile directory of .odin files as an executable. One must contain the program's entry point, all must be in the same package. Use `-file` to build a single file instead. Examples: odin build . # Build package in current directory odin build <dir> # Build package in <dir> odin build filename.odin -file # Build single-file package, must contain entry point. Flags -file Tells `odin build` to treat the given file as a self-contained package. This means that `<dir>/a.odin` won't have access to `<dir>/b.odin`'s contents. ``` ``` W:\Odin>odin run examples\demo\demo.odin ERROR: `odin run` takes a package as its first argument. Did you mean `odin run examples\demo\demo.odin -file`? The `-file` flag tells it to treat a file as a self-contained package. ``` | ||||
| * | Add extra help line for define/config. | Jeroen van Rijn | 2022-04-03 | 1 | -0/+1 |
| | | |||||
| * | Merge pull request #1671 from colrdavidson/add_nocrt | gingerBill | 2022-03-30 | 1 | -0/+4 |
| |\ | | | | | Make no crt work on Linux | ||||
| | * | Make no crt work on Linux | Colin Davidson | 2022-03-30 | 1 | -0/+4 |
| | | | |||||
| * | | Use `WIFEXITED()` and `WEXITSTATUS()` on Unix `system()` exit code | gitlost | 2022-03-24 | 1 | -0/+3 |
| |/ | | | | | (ensures Odin run returns correct exit code of built executable) Adds test "tests/core/os/test_core_os_exit.odin" (Unix only) | ||||
| * | Merge branch 'master' into freestanding_amd64 | gingerBill | 2022-03-14 | 1 | -37/+43 |
| |\ | |||||
| | * | Fix typo | gingerBill | 2022-03-09 | 1 | -1/+1 |
| | | | |||||
| | * | Fix typo | gingerBill | 2022-03-09 | 1 | -1/+1 |
| | | | |||||
| | * | Replace `#if` with `if` where possible | gingerBill | 2022-03-08 | 1 | -16/+16 |
| | | | |||||
| | * | Refactor link flag creation for nix systems | gingerBill | 2022-03-08 | 1 | -26/+31 |
| | | | |||||
| | * | Linux: allow 'foreign import' of object files | kstrb | 2022-03-05 | 1 | -2/+2 |
| | | | |||||
| | * | openbsd: defaults to PIE executable | Sébastien Marie | 2022-02-28 | 1 | -1/+2 |
| | | | | | | | | | | | | | OpenBSD uses PIE code by default to allow the system to load the binary at a random location. don't pass -no-pie to preserve this behaviour, and build objects with -fPIC (LLVMRelocPIC). | ||||
| * | | `-target-features:<string>` | gingerBill | 2022-02-28 | 1 | -1/+9 |
| | | | | | | | | | This just passes a string directly to the LLVM features string | ||||
| * | | Commit rest of code for `-disallow-rtti` | gingerBill | 2022-02-28 | 1 | -0/+7 |
| | | | |||||
| * | | Merge branch 'master' into freestanding_amd64 | gingerBill | 2022-02-28 | 1 | -8/+10 |
| |\| | |||||
| | * | Merge pull request #1545 from AquaGeneral/master | gingerBill | 2022-02-24 | 1 | -8/+10 |
| | |\ | | | | | | | Added options to help, and improved wording | ||||
| | | * | Added options to help, and improved wording | Jesse Stiller | 2022-02-24 | 1 | -8/+10 |
| | | | | |||||
| * | | | Replace local `@(no_red_zone)` with global `-disable-red-zone` | gingerBill | 2022-02-23 | 1 | -0/+8 |
| | | | | |||||
| * | | | Add help docs for `-reloc-mode:<string>` | gingerBill | 2022-02-23 | 1 | -0/+9 |
| | | | | |||||
| * | | | Add `-reloc-mode:<string>` | gingerBill | 2022-02-20 | 1 | -0/+26 |
| | | | | |||||
| * | | | Add `-foreign-error-procedures` | gingerBill | 2022-02-20 | 1 | -0/+12 |
| |/ / | |||||
| * / | Minimize memory usage by having an arena per thread rather than an arena per ↵ | gingerBill | 2022-02-18 | 1 | -1/+1 |
| |/ | | | | file | ||||
| * | Merge pull request #1482 from odin-lang/objc-intrinsics | gingerBill | 2022-02-15 | 1 | -31/+1 |
| |\ | | | | | Improve support Objective-C code through intrinsics and Metal API | ||||
| | * | Merge branch 'master' into objc-intrinsics | gingerBill | 2022-02-14 | 1 | -1/+1 |
| | |\ | |||||
| | * | | Add more objc attributes | gingerBill | 2022-02-11 | 1 | -31/+1 |
| | | | | |||||
| * | | | Add 'odin run -help' info for specifying args | Phil H | 2022-02-14 | 1 | -0/+1 |
| | |/ |/| | |||||
| * | | Set the macOS minimum version to 12 for ARM CPUs | gingerBill | 2022-02-14 | 1 | -1/+1 |
| |/ | |||||
| * | Fix invalid linker flags passed to clang on macOS | oskarnp | 2022-01-14 | 1 | -3/+3 |
| | | |||||
| * | more fixes | Dale Weiler | 2022-01-13 | 1 | -4/+5 |
| | | |||||
| * | Add `dynamic` to error message for `-build-mode` | gingerBill | 2022-01-12 | 1 | -1/+1 |
| | | |||||
| * | Correct `-init` for *nix | gingerBill | 2022-01-12 | 1 | -3/+3 |
| | | |||||
| * | disable this warning | Dale Weiler | 2022-01-10 | 1 | -62/+62 |
| | | |||||
| * | shared library fixes | Dale Weiler | 2022-01-10 | 1 | -26/+25 |
| | | |||||
| * | use '___$startup_runtime' for MacOS | Wes Hardee | 2021-12-18 | 1 | -1/+2 |
| | | | | | MacOS needs 3 underscores unlike the 2 needed by Linux. | ||||
| * | Allow `.asm`, `.s`, and `.S` as valid assembly file extensions | gingerBill | 2021-11-26 | 1 | -2/+2 |
| | | |||||
| * | Move nasm.exe to windows/nasm.exe, etc | gingerBill | 2021-11-26 | 1 | -1/+1 |
| | | |||||
| * | Add `-extra-assembler-flags` | gingerBill | 2021-11-24 | 1 | -5/+16 |
| | | |||||
| * | Allow for multiple .asm files | gingerBill | 2021-11-24 | 1 | -15/+7 |
| | | |||||
| * | Add basic support for `foreign import "foo.asm"` on Windows with `nasm.exe` | gingerBill | 2021-11-24 | 1 | -12/+54 |
| | | |||||
| * | Removed '--help' from help string as per request. | DYSEQTA | 2021-11-24 | 1 | -1/+1 |
| | | |||||
| * | Improve compiler help output with regard to command specific help. | cybermancer | 2021-11-16 | 1 | -2/+2 |
| | | |||||
| * | Allow both `-help` and `--help` if passed as `init_filename` | gingerBill | 2021-11-15 | 1 | -1/+2 |
| | | |||||
| * | [timings-export] Style fixes. | Jeroen van Rijn | 2021-11-10 | 1 | -48/+26 |
| | | |||||
| * | [timings-export] Improve help messages | Jeroen van Rijn | 2021-11-09 | 1 | -69/+78 |
| | | | | | Also make `clang` happy as concerns the build settings switch/case. | ||||
| * | Fix Linux warnings. | Jeroen van Rijn | 2021-11-09 | 1 | -29/+35 |
| | | |||||
| * | [timings-export] Implement JSON + CSV timngs export. | Jeroen van Rijn | 2021-11-09 | 1 | -5/+111 |
| | | |||||
| * | [timings-export] Add `-export-timings:format` + `-export-timings-file:filename`. | Jeroen van Rijn | 2021-11-09 | 1 | -0/+56 |
| | | |||||
| * | Correct `wasm-ld` path for non-Windows platforms | gingerBill | 2021-11-09 | 1 | -1/+7 |
| | | |||||