aboutsummaryrefslogtreecommitdiff
path: root/src/linker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `-linker:<string>` to replace `-lld` and `-radlink`gingerBill2024-11-141-8/+13
|
* Add `-radlink`gingerBill2024-11-141-20/+41
|
* Revert further simplifiction0dminnimda2024-11-041-1/+1
|
* Simplify further0dminnimda2024-11-041-1/+1
|
* Simplify use of pie0dminnimda2024-11-041-20/+9
|
* Add support for linking as pie0dminnimda2024-11-041-2/+22
|
* quote the dsymutil argumentLaytan Laats2024-10-251-1/+1
| | | | Fixes #4417
* support the rpath changes on macosLaytan Laats2024-09-051-6/+6
|
* add -no-rpathLaytan2024-09-041-3/+5
|
* set -rpath to \$ORIGIN and expect libraries next to executable just like WindowsLaytan2024-09-041-6/+8
|
* add support for linux_riscv64 and freestanding_riscv64Laytan2024-08-201-8/+21
|
* Allow precompiled resources with -resource:foo.resJeroen van Rijn2024-07-101-8/+3
| | | | And add them to the magic new feature.
* Allow using precompiled .res file.Jeroen van Rijn2024-07-101-20/+25
|
* #3892 - Use temporary directory for asm file generationgingerBill2024-07-091-2/+31
|
* wasm: add foreign import and linking of wasm object filesLaytan Laats2024-07-021-0/+14
|
* Fix #3819gingerBill2024-06-281-2/+16
|
* Allow `ODIN_CLANG_PATH=clang-path` overridesJeroen van Rijn2024-06-271-1/+8
| | | | | | Link using `clang`, unless overridden by `ODIN_CLANG_PATH` environment variable. Fixes #3783
* Fix `rc.exe` bug with double-quoted `.res` path.Jeroen van Rijn2024-06-161-2/+6
|
* orca windowslaytan2024-06-051-6/+4
|
* improve orca targetLaytan Laats2024-06-051-10/+26
|
* Add experimental target `orca_wasm32`gingerBill2024-05-301-4/+16
|
* Reimplement `-build-mode:static`/`-build-mode:lib`gingerBill2024-05-161-7/+24
|
* Merge pull request #3369 from joakin/fix-dynamic-library-from-vendor-on-linuxgingerBill2024-05-031-1/+1
|\ | | | | Fix vendor dynamic libraries not working on Linux
| * Recognize dynamic library names like libraylib.so.5.0.0joakin2024-04-191-1/+1
| |
* | Fix minor buggingerBill2024-04-261-1/+1
|/
* fix nasm checkLaytan Laats2024-04-081-1/+1
|
* Remove consecutive linking librariesgingerBill2024-04-041-1/+13
|
* Default to "smart" linker behaviour; Add `-min-link-libs` to use minimize ↵gingerBill2024-04-041-33/+27
| | | | link libs if wanted
* darwin: fix linker warning when building dynamic libraryLaytan Laats2024-03-261-2/+4
| | | | | Trying to fix all linker warnings that macOS comes up with, when building a dynamic library it currently emits `ld: warning: ignoring -e, not used for output type`
* darwin: be less annoying about "incompatible" library versionsLaytan Laats2024-03-251-1/+4
| | | | | | | | | | | | | After #3316 we set a default minimum version, now this will warn if you link with a library that is targeting later versions. This might be a bit annoying, especially when the user hasn't actually given Odin a minimum target. So this PR makes these warnings only show when you explicitly give a target version (afaik that is the only thing that -mmacosx-min-version actually does for us because we don't use it to compile anything, just to link).
* darwin: fix ld warnings and set minimum os versionLaytan Laats2024-03-231-2/+3
|
* linker improvementsLaytan Laats2024-03-191-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `path_to_fullpath` did different things on Windows&Unix, an attempt to bring them closer together was made here. This was prompted by the compiler completely ignoring `foreign import "foo.dylib"` when `foo.dylib` does not exist (because `path_to_fullpath` returns an empty string). Causing just unresolved symbol errors, when on Windows it would pass along the path to the linker and actually say it doesn't exist, which is now also the case for Unix. This also fixes some checker errors that relied on the Windows behaviour, for example: `Error: File name, , cannot be as a library name as it is not a valid identifier`. Made `-no-crt` require either `-default-to-nil-allocator` or `-default-to-panic-allocator` on Unix, the current default allocators rely on libc and this was not obvious and would immediately bring up unresolved symbol errors for the linked memory management functions, or just link with libc anyways because it was foreign imported. Added a suggestion to install `nasm` with the user's package manager when assembling using `nasm` fails on Unix, I saw some confusion about it in the Discord. Ignore explicit foreign imports of libc. It is already linked in later on in the linking process and would otherwise (at least on macOS) cause linker warnings for duplicate libraries. This also makes it so when using `-no-crt` and importing something that requires libc, linker errors are given (like I would expect), instead of silently still linking with libc because it was foreign imported.
* Merge pull request #3230 from avanspector/haikugingerBill2024-03-081-2/+2
|\ | | | | Add Haiku OS support
| * Improve Haiku supportavanspector2024-02-251-2/+2
| |
* | Merge pull request #3069 from pcleavelin/mastergingerBill2024-03-061-1/+6
|\ \ | |/ |/| Respect `-lld` CLI arg on non-windows machines
| * Merge branch 'odin-lang:master' into masterPatrick Cleavelin2024-01-271-5/+15
| |\
| * | respect -lld CLI argPatrick Cleavelin2024-01-041-1/+6
| | |
* | | fix -no-crt on LinuxLaytan2024-02-081-18/+14
| |/ |/|
* | Expand -subsystem option on WindowsJeroen van Rijn2024-01-181-5/+4
| | | | | | | | | | | | | | | | W:\Odin>odin run sketch.odin -file -subsystem:foo Invalid -subsystem string, got oo. Expected one of: BOOT_APPLICATION, CONSOLE (default), EFI_APPLICATION, EFI_BOOT_SERVICE_DRIVER, EFI_ROM, EFI_RUNTIME_DRIVER, NATIVE, POSIX, WINDOWS (or WINDOW), WINDOWSCE We now also set the constant ODIN_WINDOWS_SUBSYSTEM, which is "" for non-Windows targets.
* | darwin: add library paths for default Homebrew and MacPorts locationsLaytan Laats2024-01-131-0/+11
|/
* darwin: actually honor no-crt by not linking with `-lSystem -lm`Laytan Laats2024-01-021-3/+6
|
* Fixed Typo / Added check for 1Platin212024-01-021-1/+1
|
* Adds missing spacePlatin212024-01-021-1/+1
|
* Fixed git issue..Platin212024-01-021-0/+2
|
* Adds new flag for linker to know if it should link the system library or notPlatin212024-01-021-1/+17
|
* Removes macOS min version and supports default latestPlatin212024-01-021-4/+0
|
* Fixing a pdb linker error when the path contains spacesThomas Louis2023-12-271-1/+1
|
* -no-crt and assembly compilation on darwinLaytan Laats2023-11-151-14/+28
|
* implemented foreign asm imports on linux/osxflysand72023-10-151-40/+87
|
* Hook up Tilde to the linker codegingerBill2023-07-241-0/+33
|