Commit Graph

87 Commits

Author SHA1 Message Date
Jeroen van Rijn
25c935c305 Re-enable demo on *nix 2025-05-13 18:46:55 +02:00
Jeroen van Rijn
ed56a7ca10 Parse odin version date out of HEAD commit if available 2025-05-13 18:09:30 +02:00
Laytan
b0316b7076 ci: update to LLVM 20 on MacOS and Linux CI and releases 2025-04-02 21:13:10 +02:00
Laytan Laats
f80e73e036 few llvm 20 changes 2025-03-19 21:22:55 +01:00
Laytan Laats
f957542cd3 fix duplicate linker warning on macos
Fixes #4747
2025-01-25 00:50:57 +01:00
avanspector
be7799459b Merge branch 'odin-lang:master' into master 2025-01-06 16:42:29 +04:00
Despereaux Polacre
0b0ae52be5 add default -I and -L paths for OpenBSD 2025-01-02 21:31:34 +01:00
avanspector
5376d2a20b fix haiku 2024-12-20 17:19:04 +01:00
gingerBill
44124cb639 Merge pull request #4440 from 0dminnimda/support_llvm19
Add support for llvm version 19
2024-11-27 21:15:59 +00:00
Satoshi Soma
26c3c2a97d Fix: build_odin.sh always runs demo regardless of argument
Instead, it should run demo only if the argument was 'debug' or empty
2024-11-05 17:48:37 +09:00
0dminnimda
d06fcbfdd3 Update version in more places 2024-11-02 00:53:13 +03:00
0dminnimda
d52e80502b Fix a mistake in build_odin.sh 2024-10-31 15:59:32 +03:00
0dminnimda
dbed2c92b4 Add support for llvm version 19 2024-10-31 15:56:23 +03:00
Moritz
249242687c Fix build for linux aarch64 architectures
Build failed to compile on Raspberry Pi 4, with

clang: error: the clang compiler does not support '-march=native'

The build script checks $OS_ARCH for `arm64` to distinghuish between ARM
and X64 architecture. However on Raspberry Pi, the `uname -m` command
reports `aarch64` rather than `arm64`.

This change updates the EXTRAFLAGS of the `release-native` target to
check for both - `arm64` and `aarch64`.
2024-10-05 12:09:39 +01:00
Laytan Laats
ea7e8f075d query brew for llvm-config location if possible 2024-08-19 00:02:14 +02:00
Laytan Laats
d98f848247 fix debug compiler build message not ending output with a newline 2024-08-10 19:07:30 +02:00
Jeroen van Rijn
bc6deab175 echo -> printf for build_odin.sh message 2024-08-09 09:46:45 +02:00
Laytan Laats
8b98fff98e add debug build message and align more with build.bat
1. if ran without choosing a build type (just `make` or
   `build_odin.sh`), print out a message about it being a debug build
2. Add `make release-native` alongside `make release_native` to align
   with `build_odin.sh release-native`
3. Only run the demo if it is a debug build (just like `build.bat`)
2024-08-08 15:33:40 +02:00
Jeroen van Rijn
69a15ca5b6 Don't copy LLVM shared object on Linux
We copy the LLVM shared object when building Odin on Linux. Contrary the comment in `build_odin.sh`,
this is unnecessary, and Odin can be compiled and itself compile things just fine without this step.

This is then packaged up at release and leads to #4019 and #4033. The Linux release builds are built
on Ubuntu and not strictly supported on other Linux distributions. Building from source is preferred.
2024-08-07 14:50:45 +02:00
Jeroen van Rijn
b02291b20a Compile demo with -vet -strict-style. 2024-07-10 19:26:35 +02:00
Laytan Laats
eeb057b76d darwin: fix sysroot retrieval for some systems
Got a report on Discord that the current way didn't work for a user,
this change did work and I confirmed with @harold-b (who initially added
this) that it also works for them and is actually a better way.
2024-05-30 01:53:38 +02:00
Laytan Laats
5027cfb618 revert $(llvm-config --bindir)/clang++ to get the cpp compiler
A few reports of either people not having this clang++ or having it but
it not finding system headers. On top of that, the reason we added this
in the first place was a bug that surfaced on clang-18 which we've since
fixed.

Order will now be clang++ from path, then the llvm bindir clang++, then an
error.

This can all still be overwritten with `CXX=blah make` like before.
2024-05-26 20:11:07 +02:00
Harold Brenes
f1b291ed62 Attempt to automatically resolve the sysroot on build_odin.sh on macOS 2024-05-16 17:53:41 -04:00
Andreas T Jonsson
b72c2edabb Merge branch 'master' into netbsd 2024-05-10 09:04:52 +02:00
Laytan Laats
ecddf3b7f1 llvm-18: cleanup 2024-05-07 16:52:46 +02:00
Laytan Laats
f64e8ffd64 llvm-18: fix linking the compiler with clang-18 2024-05-07 16:52:46 +02:00
Laytan Laats
bb58926b7a llvm 18: general unix and darwin specifics 2024-05-07 16:52:46 +02:00
Su3h7aM
30ff15e538 build: uses correct clang++ binary for non-standard versions 2024-05-03 13:20:51 -03:00
Andreas T Jonsson
7feff1c113 Merged with master 2024-05-02 09:27:46 +02:00
Feoramund
92402a75f6 Fix wrong llvm-config in build script for FreeBSD 2024-04-26 18:40:59 -04:00
Andreas T Jonsson
4558f3992a Initial commit of NetBSD port 2024-04-16 14:27:29 +02:00
Muhammad
f20d0202fa Use a POSIX-compliant equality operator. 2024-03-11 06:05:42 +00:00
gingerBill
53ce945034 Merge pull request #3230 from avanspector/haiku
Add Haiku OS support
2024-03-08 11:15:13 +00:00
Laytan Laats
23cd64ec35 reduce dynamic library dependencies for macos release 2024-02-29 23:39:18 +01:00
Slendi
c178f7199d Get Odin to compile on Haiku
This patch makes Odin to compile on Haiku which is a good first step.
Now, all that's needed to do is to figure out how to do futexes, which
I am blaming for the program crashing.
2024-02-15 15:51:28 +02:00
Jeroen van Rijn
4aa8834d39 Add os.args to demo. 2023-11-27 21:01:27 +01:00
evertonse
3e7b5670fb Check for llvm-config14 on unix 2023-11-21 18:48:47 -03:00
jcmdln
21f9e7f5e5 Fix Linux release pipeline which expects to bundle libLLVM*.so 2023-10-16 16:33:26 -04:00
jcmdln
51248270e1 Remove [[ for POSIX shell support 2023-10-15 12:18:51 -04:00
jcmdln
d0037fcf6b Allow running in POSIX shells 2023-10-14 22:01:38 -04:00
jcmdln
b25fba6175 Fix typo in GIT_SHA collection 2023-10-14 18:10:42 -04:00
jcmdln
afcdbf1ba6 Don't implicitly try 'llvm-config-14', try fallback or set LLVM_CONFIG; Restore FreeBSD llvm-config discovery 2023-10-14 18:07:20 -04:00
jcmdln
8eff75a484 Hoist GIT_SHA discovery 2023-10-14 17:51:28 -04:00
jcmdln
e232cabfab Remove extra newlines 2023-10-14 17:46:34 -04:00
jcmdln
e5ed388191 Ensure user defined LLVM_CONFIG is respected 2023-10-14 17:45:27 -04:00
jcmdln
c0ac3de272 Hunt for supported 'llvm-config' executable 2023-10-14 17:41:19 -04:00
jcmdln
abde9a99c3 Fix typos in references to OS_ARCH, OS_NAME 2023-10-14 17:32:41 -04:00
jcmdln
bdc74a03c0 Refactor to improve handling of LLVM_VERSION checks 2023-10-14 16:58:34 -04:00
jcmdln
fa2b68dac6 Fix MAX_LLVM_VERSION panic messages 2023-10-12 01:47:51 -04:00
jcmdln
bd86cb22e0 Support LLVM >=17.0.1 on Darwin and Linux 2023-10-11 21:06:42 -04:00