aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove `_test.odin` filtergingerBill2025-09-271-8/+0
|
* Support `-linker:mold`gingerBill2025-09-191-0/+2
|
* More improvements to minimize code gen sizegingerBill2025-09-181-0/+1
|
* Try moving parapoly procs into a separate module when doing weak ↵gingerBill2025-09-181-0/+1
| | | | monomorphization
* Multithread "check all scope usages"gingerBill2025-09-101-1/+1
|
* Minimize more thread contentiongingerBill2025-09-101-1/+1
|
* Minor clean up of permanent/temporary arena usagegingerBill2025-09-101-5/+5
|
* Add `-integer-division-by-zero:all-bits`gingerBill2025-08-101-5/+14
|
* Add `#+feature global-context`gingerBill2025-08-101-0/+7
| | | | This allows to use of `context` in the global scope on a per file basis.
* Add `-integer-division-by-zero:self`gingerBill2025-08-081-1/+6
|
* Add `#+feature integer-division-by-zero:<string>`gingerBill2025-08-081-0/+12
|
* Define the behaviour of integer division by zerogingerBill2025-08-081-0/+7
|
* Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-4/+4
|
* fix flagLaytan2025-07-291-1/+1
|
* saner stack linker flags for WASMLaytan2025-07-291-0/+7
| | | | Supersedes #5425
* Merge pull request #5081 from Lperlind/vet-explicit-allocatorsgingerBill2025-07-221-0/+3
|\ | | | | Add -vet-explicit-allocators
| * Add -vet-explicit-allocatorsLucas Perlind2025-04-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This vet flag will make it so that allocators must be explicitly used in places where context.allocator and context.temp_allocator are a procedure parameter. The goal of this flag is to prevent using the context.allocator in cases where a different allocator was meant to be used. Some code bases default context.allocator to nil/panic allocator to catch this at runtime. This effectively makes it a compile time error instead.
* | Check for invalid subtargets.Harold Brenes2025-07-201-11/+20
| | | | | | | | | | | | | | | | - Add 'ios' pseudo-subtarget which triggets with either iPhone or iPhoneSimulator subtargets. - Treat an explicit 'default' subtarget as exclusive only to the default subtarget, not an other platform-compatible subtargets. - 'generic' continues to resolve to true for any platform-compatible subtarget as it names appears to imply such behavior.
* | Missing rename in panic stringHarold Brenes2025-07-141-1/+1
| |
* | Rename `iOS` subtarget to `iPhone` for consistency.Harold Brenes2025-07-141-5/+5
| | | | | | | | | | Add `ODIN_PLATFORM_SUBTARGET_IOS` builtin constant which evaluated to `true` when the platform is `Darwin` and the subtarget it either `iPhone` or `iPhoneSimulator`
* | Fix correct versioned target triplet for iphonesimulator subtargetHarold Brenes2025-07-141-1/+10
| | | | | | | | - Always set the `-m*-version-min` linker flag for non-macOS Darwin subtargets
* | Provide default minimum version for iOS and apply its target triplet.Harold Brenes2025-07-141-4/+8
| | | | | | | | - Fix incorrect clang_path override for iOS during link stage.
* | Updated iOS/iPhoneSimulator build supportHarold Brenes2025-07-131-10/+25
| |
* | [source-code-locations] - added options to show, obfuscate, and hide source ↵Hayden Gray2025-06-261-1/+8
| | | | | | | | code locations (#5412)
* | Typo fixJeroen van Rijn2025-06-011-1/+1
| |
* | Also clean up .dSym on DarwinJeroen van Rijn2025-06-011-10/+18
| |
* | Allow overriding object extension in `-build-mode:obj`Feoramund2025-05-301-7/+35
| |
* | Remove trailing whitespaceFeoramund2025-05-301-1/+1
| |
* | Always provide /PDB option to linker if generating debug info.Jeroen van Rijn2025-05-291-4/+12
| | | | | | | | | | | | | | radlink by default places the .PDB file in the working directory, even if /OUT says to place it elsewhere, unlike link.exe, which places it next to the executable by default. So, if compiling using -debug, we generate a PDB path even if -pdb-name wasn't used to override it.
* | Add comments to `builtin.odin`, documenting ODIN_* constants. (#5218)Jeroen van Rijn2025-05-261-67/+68
| | | | | | And document constants not previously listed.
* | Rename -keep-test-executable to -keep-executableJeroen van Rijn2025-05-231-1/+1
| |
* | Tweak #5202Jeroen van Rijn2025-05-231-1/+0
| | | | | | | | Back out the new `-build-only` for tests in favor of the more established `-build-mode:test`, but retain the new `-keep-test-executable` option and default cleanup of test executables.
* | Enable all sanitizers on FreeBSDFeoramund2025-05-221-6/+6
| |
* | Delete test executable after running, add `-keep-test-executable`Feoramund2025-05-221-0/+1
| |
* | Add `-build-only` for `odin test` commandFeoramund2025-05-221-0/+1
| | | | | | | | This allows test executables to be only built, not run too.
* | Only trim `.odin` from build filenamesFeoramund2025-05-221-3/+26
| |
* | -dynamic-literalsJeroen van Rijn2025-05-191-0/+1
| |
* | Re-enable static map calls on AMD64 SysVFeoramund2025-05-181-6/+0
|/
* Support subtargets in build tags: `#build darwin:generic` and `#build ↵gingerBill2025-04-101-4/+30
| | | | linux:android, darwin:ios`
* Fix `init_android_values` SDK check for `odin check`gingerBill2025-04-101-1/+1
|
* android bundling improvementsIllusionMan12122025-04-051-17/+0
| | | | | | | | | | | | | | replace `jarsigner` with build tools' `apksigner` which is capable of using newer signature schemes remove the `android-manifest` flag and assume the file exists in the directory we're bundling make `android-keystore-alias` and `android-keystore-password` optional. The former is not needed if there's only one key in the keystore, and the latter will be prompted by `apksigner` if missing don't change the working directory to the bundled directory to prevent confusion when passing a relative path to `android-keystore` add the `res`, `assets`, and `lib` directories to the bundle if they exist in the bundled directory
* fix: cross-compilation for android on linuxIllusionMan12122025-04-051-24/+24
| | | | | | | add `-nodefaultlibs` when cross-linking for android to prevent clang from linking with libgcc check build mode first before calling `init_android_values` to prevent printing a message that tells the user to set `-android-keystore` if its not set and build mode is exe
* feat: added a `-android-keystore-password` option to pass a password for the ↵IllusionMan12122025-04-041-0/+5
| | | | keystore instead of hardcoding it as `android`
* fix: strip trailing slashes for android keystore and jarsigner pathsIllusionMan12122025-04-041-0/+2
| | | | The `system()` call on linux was failing to execute the `jarsigner` command because its path had a trailing slash
* Command `package` -> `bundle`gingerBill2025-03-281-2/+8
|
* Use working directory for `aapt` commandsgingerBill2025-03-271-4/+0
|
* Use `u64` for the command kind just in casegingerBill2025-03-271-1/+1
|
* `odin package android`gingerBill2025-03-271-2/+2
|
* Begin work on `odin package-android` commandgingerBill2025-03-261-106/+111
|
* Disable `-build-mode:exe` for `-subtarget:android`gingerBill2025-03-261-2/+2
|