aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2280 from DragosPopse/mastergingerBill2023-01-011-0/+19
|\ | | | | Fixed empty output_path.name when building a folder with no subfolders
| * Patched empty output_path.name when building a folderDragos2022-12-261-0/+19
| |
* | Remove a few `TODO`sgingerBill2022-12-221-2/+1
| |
* | Add missing `gb_internal`gingerBill2022-12-181-1/+1
| |
* | Remove dead code in the compilergingerBill2022-12-181-5/+1
| |
* | `gb_internal` a lotgingerBill2022-12-181-41/+42
| |
* | Replace compiler for loops for the hash-table types to simplify code usagegingerBill2022-12-091-4/+7
|/
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-0/+2
| | | | add `runtime.map_get`
* `-default-to-nil-allocator` also enables `-no-dynamic-literals`gingerBill2022-11-071-0/+5
|
* Add -minimum-os-version flagJeroen van Rijn2022-11-011-7/+7
| | | | | Allow for Darwin targets to specify the minimum OS version: e.g. -minimum-os-version:12.0.0
* Revert "Fix #2112"Jeroen van Rijn2022-10-081-10/+30
|
* Fix #2112Jeroen van Rijn2022-10-081-30/+10
|
* fix target features to make wasm intrinsics happyColin Davidson2022-09-211-2/+5
|
* Correct `get_fullpath_relative` to remove all trailing path separators (`/` ↵gingerBill2022-09-211-0/+9
| | | | and `\`)
* Fix `ODIN_BUILD_PROJECT_NAME`gingerBill2022-09-121-6/+6
|
* Add `ODIN_BUILD_PROJECT_NAME` and `//+build-project-name`gingerBill2022-09-081-0/+7
| | | | | | | | | | | | This allows for condition inclusion of files, similar to `+build` or `ODIN_BUILD`, but relies on the directory name of the project to be the same as specified Example: odin build foo/bar/baz ODIN_BUILD_PROJECT_NAME == "baz" //+build_project_name baz
* Allow Odin to find itself if it's in PATH on OpenBSD, because reasons.Jeroen van Rijn2022-09-041-3/+66
|
* Correct max alignment handling throughout the llvm backendgingerBill2022-08-241-10/+12
|
* Add extra max alignment parameter for metrics (specifically for SIMD)gingerBill2022-08-241-52/+29
|
* EXPERIMENTAL `intrinsics.valgrind_client_request`gingerBill2022-08-171-0/+3
|
* find windows sdk bin path for rc.exeIan Lilley2022-08-071-4/+4
|
* 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
| |