| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
| |
In commit c3a31666, "dev-" prefix was dropped unintentionally. This commit fixes
that.
|
| |
|
|
|
|
|
| |
Fixes #2688
This commit updates `build_odin.sh` and `build.bat` so that date of the commit
is used for the version tag, instead of the build time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `build_odin` flags include the option `release-native`.
The current `EXTRAFLAGS` set however don't work for Arm CPUs as they dont support `-march=native`.
Added code to detect CPU and either set the preferred flag for Arm CPUs (ie `-mcpu=native`) or keep the current default.
Information on preferred Arm CPU optimisation flag taken from here: https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/compiler-flags-across-architectures-march-mtune-and-mcpu
Changes tested on an Apple Silicon M1 CPU (arm64) using HomeBrew installed llvm as follows:
```
Homebrew clang version 14.0.6
Target: arm64-apple-darwin22.5.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm@14/bin
```
|
| | |
|
| | |
|
| |
|
|
|
|
| |
The function have_witch failed because which is an alias in my environment.
This change makes the function work even if which command is an alias.
|
| | |
|
| |
|
| |
appeared in https://github.com/odin-lang/Odin/commit/b22d71a74e5cd9ad6f810a2a7d155523bb7c0782
|
| |
|
| |
appends a check for llvm-config-14 on linux
|
| |
|
|
| |
Closes 2451
|
| |
|
|
|
|
|
|
| |
Done:
- use ARCH variable properly
- refactor have_which() to use POSIX compliant command - ref
- use command instead of which for the same reason as above.
- run shfmt for consistency.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Signed-off-by: cui fliter <imcusg@gmail.com>
|
| |\
| |
| | |
Allow passing config options to build script
|
| | | |
|
| |/
|
|
| |
This change doesn't break compatibility on Linux or Darwin
|
| |
|
|
|
| |
This reverts commit a40a53b10447c9223c24cccf565a95f1773d3922, reversing
changes made to 5422a3b17eae821df4adf869960995e922eb0e76.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
```
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|