Commit Graph

76 Commits

Author SHA1 Message Date
Feoramund
1fc390146f Let -no-entry-point work for Windows DLLs
Fixes #4660
2025-06-10 08:54:28 -04:00
Jeroen van Rijn
405bf7cd55 Also clean up .dSym on Darwin 2025-06-01 15:59:38 +02:00
Jeroen van Rijn
0d0f311df1 Always provide /PDB option to linker if generating debug info.
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.
2025-05-29 19:02:46 +02:00
Jeroen van Rijn
229c734820 Add comments to builtin.odin, documenting ODIN_* constants. (#5218)
And document constants not previously listed.
2025-05-26 18:58:59 +02:00
Feoramund
6c5b96948e Enable all sanitizers on FreeBSD 2025-05-22 21:39:35 -04:00
Feoramund
c090a28b9d Add /usr/local/lib to FreeBSD linker path 2025-05-20 18:56:18 -04:00
Feoramund
591118c688 Use --sysroot instead of -Wl,-syslibroot on Darwin
This keeps the linker from using the wrong SDK and mirrors how we build
the Odin compiler itself in `build_odin.sh`.
2025-05-18 11:11:02 -04:00
Romāns Potašovs
dc75ee72ae add quotes for absolute path 2025-04-09 15:31:34 +03:00
IllusionMan1212
af91dd7c7a android: always link liblog 2025-04-08 01:30:55 +02:00
IllusionMan1212
7d2a8dc8ee fix: use the clang binary that's provided by the android NDK
always link against libandroid because it's needed by the glue code.
2025-04-07 13:02:14 +02:00
Hisham Aburaqibah
106427b127 fix(android): pass --sysroot when compiling the android glue code
This prevents a `function-like macro '__GLIBC_USE' is not defined`
compilation error from happening with newer NDK versions (I tried r28)
2025-04-05 15:18:27 +02:00
IllusionMan1212
2328e84077 fix cross compilation for linux_riscv 2025-04-05 15:18:21 +02:00
IllusionMan1212
44950d5f37 fix: cross-compilation for android on linux
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
2025-04-05 02:20:06 +02:00
gingerBill
edf97bdb03 Merge pull request #4970 from odin-lang/bill/android-subtarget
Very Very Rudimentary Support for Android
2025-03-28 09:02:26 +00:00
Dave Voutila
5274aa53b3 Fix linker invocation on OpenBSD.
Firstly, we need to explicitly request pthreads and also need to
mind the fact ports (like SDL2) install in /usr/local/lib.

Secondly, since OpenBSD 7.4 the system enforces indirect branch
targets on hardware platforms that support it. Until the LLVM
integration in Odin can be changed to emit proper branch targets
(e.g. endbr64 on amd64), we need to request the linker make the
resulting program opt-out of enforcement.
2025-03-27 10:37:36 -04:00
gingerBill
f13a075cd1 Begin work on odin package-android command 2025-03-26 18:03:36 +00:00
gingerBill
eee450516e Improve bodge for android execute build 2025-03-26 17:45:04 +00:00
gingerBill
45ecafd7b1 Really bodgy android packing system for odin build 2025-03-26 17:33:10 +00:00
gingerBill
8e884c6292 Remove _PATH on android environment variables 2025-03-26 16:50:35 +00:00
gingerBill
d48e7bb0b8 Migrate ODIN_ANDROID_* constants to build_settings.cpp; -minimum-os-version:<int> for -subtarget:android 2025-03-26 16:05:21 +00:00
gingerBill
518634405c Add -show-more-timings for Android stuff 2025-03-26 13:28:57 +00:00
gingerBill
e6718fcfcc Very very rudimentary support for -target:linux_arm64 -subtarget:android 2025-03-26 13:09:39 +00:00
gingerBill
4b64317296 Make things rely less on #if guards 2025-03-26 09:41:23 +00:00
gingerBill
15ece42e74 Print frameworks first on Darwin targets 2025-01-28 10:34:41 +00:00
gingerBill
d6633639dc Remove duplicates of .framework/.dynlib/.so in linker 2025-01-22 13:01:06 +00:00
gingerBill
b9886dfcc7 Add -linker:<string> to replace -lld and -radlink 2024-11-14 17:04:45 +00:00
gingerBill
21a25bddde Add -radlink 2024-11-14 16:32:26 +00:00
0dminnimda
5e308cef5e Revert further simplifiction 2024-11-04 15:50:43 +03:00
0dminnimda
8ad5e46ff8 Simplify further 2024-11-04 15:44:07 +03:00
0dminnimda
c26e7e17a1 Simplify use of pie 2024-11-04 15:39:51 +03:00
0dminnimda
35f1b0f11e Add support for linking as pie 2024-11-04 02:35:49 +03:00
Laytan Laats
bcf2b93c6e quote the dsymutil argument
Fixes #4417
2024-10-25 15:34:59 +02:00
Laytan Laats
6778598bc6 support the rpath changes on macos 2024-09-05 00:12:16 +02:00
Laytan
0aa971207b add -no-rpath 2024-09-04 22:38:19 +02:00
Laytan
1a7c1d107a set -rpath to \$ORIGIN and expect libraries next to executable just like Windows 2024-09-04 22:19:46 +02:00
Laytan
ca6ef95b03 add support for linux_riscv64 and freestanding_riscv64 2024-08-20 14:06:40 +02:00
Jeroen van Rijn
cc73e06a46 Allow precompiled resources with -resource:foo.res
And add them to the magic new feature.
2024-07-10 15:09:13 +02:00
Jeroen van Rijn
8dc4eca4d2 Allow using precompiled .res file. 2024-07-10 14:25:18 +02:00
gingerBill
b83822fd35 #3892 - Use temporary directory for asm file generation 2024-07-09 15:41:05 +01:00
Laytan Laats
6f1cc8071c wasm: add foreign import and linking of wasm object files 2024-07-02 15:28:08 +02:00
gingerBill
0c8a81d298 Fix #3819 2024-06-28 08:57:31 +01:00
Jeroen van Rijn
58cd75350b Allow ODIN_CLANG_PATH=clang-path overrides
Link using `clang`, unless overridden by `ODIN_CLANG_PATH` environment variable.

Fixes #3783
2024-06-27 23:21:58 +02:00
Jeroen van Rijn
eebc0dd026 Fix rc.exe bug with double-quoted .res path. 2024-06-16 19:11:54 +02:00
laytan
08382cb05d orca windows 2024-06-05 19:28:40 +02:00
Laytan Laats
8455e159f5 improve orca target 2024-06-05 20:57:39 +02:00
gingerBill
e737122ce8 Add experimental target orca_wasm32 2024-05-30 21:58:27 +01:00
gingerBill
e71cd871c4 Reimplement -build-mode:static/-build-mode:lib 2024-05-16 14:27:05 +01:00
gingerBill
595726e6c5 Merge pull request #3369 from joakin/fix-dynamic-library-from-vendor-on-linux
Fix vendor dynamic libraries not working on Linux
2024-05-03 17:14:32 +01:00
gingerBill
94e0707456 Fix minor bug 2024-04-26 13:12:15 +01:00
joakin
60ef4fda4d Recognize dynamic library names like libraylib.so.5.0.0 2024-04-19 13:35:53 +02:00