aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation on non-windows platformsgingerBill2022-07-091-0/+2
|
* Fix wasm compilation in windowsgingerBill2022-07-091-2/+2
|
* Merge pull request #1807 from odin-lang/simd-devgingerBill2022-05-311-2/+116
|\ | | | | Generic #simd type and intrinsics
| * `@(require_target_feature=<string>)` `@(enable_target_feature=<string>)`gingerBill2022-05-301-2/+107
| | | | | | | | | | require_target_feature - required by the target micro-architecture enable_target_feature - will be enabled for the specified procedure only
| * Add `intrinsics.x86_cpuid` and `intrinsics.x86_xgetbv`gingerBill2022-05-281-0/+9
| |
* | Additional cleanup of microsoft_craziness.h.Jeroen van Rijn2022-05-271-0/+10
| |
* | Refactor ms_craziness.hJeroen van Rijn2022-05-271-11/+5
|/
* Fix `odin build examples\demo\` trailing slash handling.Jeroen van Rijn2022-05-241-1/+6
|
* Begin to add support for experimental wasm64gingerBill2022-05-211-1/+11
|
* Fix typogingerBill2022-05-211-1/+1
|
* Fix building issues with arm32gingerBill2022-05-011-17/+27
|
* Add basic arm32 ABI support (linux_arm32)gingerBill2022-05-011-1/+14
|
* Address edge cases.Jeroen van Rijn2022-04-261-7/+35
|
* Remove redundant bit for non-Windows.Jeroen van Rijn2022-04-241-14/+0
|
* Compiler: Allow -out: to not have an extension on *nix for executables (only).Jeroen van Rijn2022-04-241-1/+3
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-28/+192
| | | | | | | | | | | | - 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.
* Give build/run/check/test/doc a `-file` flag.Jeroen van Rijn2022-04-051-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ```
* Merge branch 'master' into freestanding_amd64gingerBill2022-03-141-12/+57
|\
| * rename architecture from 386 to i386Sébastien Marie2022-03-031-9/+9
| |
| * openbsd: poor man implementation for getting executable pathSébastien Marie2022-02-261-3/+30
| | | | | | | | it tries to get executable path from argv[0]. it is unreliable and unsecure, but should be fine enough for the considered use-case. it still doesn't address all possible cases.
| * internal_odin_root_dir: readlink could failSébastien Marie2022-02-251-1/+1
| |
| * initial OpenBSD supportSébastien Marie2022-02-251-0/+18
| |
* | Enforce `-no-entry-point` on freestanding targetsgingerBill2022-02-281-7/+12
| |
* | `-target-features:<string>`gingerBill2022-02-281-0/+1
| | | | | | | | This just passes a string directly to the LLVM features string
* | Only allow `-disallow-rtti` on freestanding targetsgingerBill2022-02-281-0/+5
| |
* | Commit rest of code for `-disallow-rtti`gingerBill2022-02-281-1/+2
| |
* | Change target name to `freestanding_amd64_sysv`gingerBill2022-02-231-5/+5
| |
* | Replace local `@(no_red_zone)` with global `-disable-red-zone`gingerBill2022-02-231-0/+8
| |
* | Add help docs for `-reloc-mode:<string>`gingerBill2022-02-231-1/+1
| |
* | Add `-reloc-mode:<string>`gingerBill2022-02-201-0/+9
| |
* | Add `-foreign-error-procedures`gingerBill2022-02-201-0/+2
| |
* | Add `freestanding_amd64_gnu`gingerBill2022-02-201-4/+32
|/
* Add `ODIN_ERROR_POS_STYLE` constant and change ↵gingerBill2022-01-261-0/+2
| | | | `runtime.print_caller_location` based on that constant
* Remove spurious `)`gingerBill2022-01-261-2/+2
|
* Add ODIN_ERROR_POS_STYLE environment variablegingerBill2022-01-261-1/+50
| | | | | | | | Allowing for two different error message styles: default or odin path(line:column) message unix path:line:column: message
* `ODIN_ENDIAN` changed to an enum constant; `ODIN_ENUM_STRING` is the new ↵gingerBill2022-01-151-11/+9
| | | | string version of the old constant
* Rename architecture `386` to `i386`gingerBill2022-01-151-15/+15
|
* Make `ODIN_BUILD_MODE` a enum typegingerBill2022-01-151-20/+3
|
* Disable `DEFAULT_TO_THREADED_CHECKER` until race condition is foundgingerBill2022-01-111-1/+1
|
* src: Add preliminary support for Linux AArch64Yawning Angel2021-12-231-0/+14
| | | | | Tested via `tests/core`, on a Raspberry Pi 4 running the latest 64-bit Raspberry Pi OS image (LLVM 11).
* Allow `.asm`, `.s`, and `.S` as valid assembly file extensionsgingerBill2021-11-261-0/+12
|
* Add `-extra-assembler-flags`gingerBill2021-11-241-0/+1
|
* [timings-export] Add `-export-timings:format` + `-export-timings-file:filename`.Jeroen van Rijn2021-11-091-1/+7
|
* Improve matrix->matrix casting implementationgingerBill2021-11-081-15/+26
|
* Increase usage of `PtrMap`gingerBill2021-11-051-1/+1
|
* Add `ODIN_BUILD_MODE`gingerBill2021-11-041-0/+19
|
* Improve `wasm-import` semantics to allow procedures from different import pathsgingerBill2021-11-021-0/+2
|
* Merge pull request #1252 from Kelimion/bug-reportgingerBill2021-10-311-7/+8
|\ | | | | Add new `odin report` command.
| * Add `odin report` command to help with bug reports.Jeroen van Rijn2021-10-311-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new Odin command, `odin report`, which prints information helpful to resolving or reporting a bug. ``` W:\Odin> odin report Where to find more information and get into contact when you encounter a bug: Website: https://odin-lang.org GitHub: https://github.com/odin-lang/Odin/issues Useful information to add to a bug report: Odin: dev-2021-10:256bebfe OS: Windows 10 Professional (version: 20H2), build 19042.1266 CPU: AMD Ryzen 7 1800X Eight-Core Processor RAM: 65469 MiB W:\Odin> TODO: - CPU name on ARM/ARM64 ```
* | Disable `wasm64`gingerBill2021-10-311-1/+1
| |