diff --git a/vlib/sync/stdatomic/1.declarations.c.v b/vlib/sync/stdatomic/1.declarations.c.v index 24d19970bc974a..af3e97191bc3a6 100644 --- a/vlib/sync/stdatomic/1.declarations.c.v +++ b/vlib/sync/stdatomic/1.declarations.c.v @@ -14,58 +14,17 @@ $if windows { $if linux { $if tinyc { $if amd64 { - // most Linux distributions have /usr/lib/libatomic.so, - // but Ubuntu uses gcc version specific dir - #flag -L/usr/lib/gcc/x86_64-linux-gnu/6 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/7 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/8 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/9 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/10 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/11 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/12 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/13 - #flag -L/usr/lib/gcc/x86_64-linux-gnu/14 + #flag $when_first_existing('/usr/lib/gcc/x86_64-linux-gnu/6/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/7/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/8/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/9/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/10/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/11/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/12/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/13/libatomic.a','/usr/lib/gcc/x86_64-linux-gnu/14/libatomic.a') // Redhat/CentOS paths: - #flag -L/usr/lib/gcc/x86_64-redhat-linux/6 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/7 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/8 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/9 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/10 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/11 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/12 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/13 - #flag -L/usr/lib/gcc/x86_64-redhat-linux/14 + #flag $when_first_existing('/usr/lib/gcc/x86_64-redhat-linux/6/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/7/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/8/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/9/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/10/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/11/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/12/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/13/libatomic.a','/usr/lib/gcc/x86_64-redhat-linux/14/libatomic.a') // Gentoo paths: - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/6 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/7 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/8 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/9 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/10 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/11 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/12 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/13 - #flag -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 + #flag $when_first_existing('/usr/lib/gcc/x86_64-pc-linux-gnu/6/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/7/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/8/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/9/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/10/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/11/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/12/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/13/libatomic.a','/usr/lib/gcc/x86_64-pc-linux-gnu/14/libatomic.a') // OpenSUSE paths: - #flag -L/usr/lib64/gcc/x86_64-suse-linux/6 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/7 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/8 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/9 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/10 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/11 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/12 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/13 - #flag -L/usr/lib64/gcc/x86_64-suse-linux/14 + #flag $when_first_existing('/usr/lib64/gcc/x86_64-suse-linux/6/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/7/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/8/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/9/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/10/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/11/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/12/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/13/libatomic.a','/usr/lib64/gcc/x86_64-suse-linux/14/libatomic.a') // ALT Linux paths: - #flag -L/usr/lib64/gcc/x86_64-alt-linux/6 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/7 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/8 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/9 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/10 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/11 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/12 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/13 - #flag -L/usr/lib64/gcc/x86_64-alt-linux/14 + #flag $when_first_existing('/usr/lib64/gcc/x86_64-alt-linux/6/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/7/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/8/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/9/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/10/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/11/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/12/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/13/libatomic.a','/usr/lib64/gcc/x86_64-alt-linux/14/libatomic.a') $if musl ? { + // TODO: convert this as well #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/6 #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/7 #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/8 @@ -75,49 +34,32 @@ $if linux { #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/12 #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/13 #flag -L/usr/lib/gcc/x86_64-pc-linux-musl/14 + #flag -latomic } } $else $if arm64 { - #flag -L/usr/lib/gcc/aarch64-linux-gnu/6 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/7 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/8 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/9 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/10 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/11 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/12 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/13 - #flag -L/usr/lib/gcc/aarch64-linux-gnu/14 + #flag $when_first_existing('/usr/lib/gcc/aarch64-linux-gnu/6/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/7/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/8/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/9/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/10/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/11/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/12/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/13/libatomic.a','/usr/lib/gcc/aarch64-linux-gnu/14/libatomic.a') // Redhat/CentOS paths: - #flag -L/usr/lib/gcc/aarch64-redhat-linux/6 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/7 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/8 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/9 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/10 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/11 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/12 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/13 - #flag -L/usr/lib/gcc/aarch64-redhat-linux/14 + #flag $when_first_existing('/usr/lib/gcc/aarch64-redhat-linux/6/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/7/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/8/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/9/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/10/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/11/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/12/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/13/libatomic.a','/usr/lib/gcc/aarch64-redhat-linux/14/libatomic.a') // Gentoo paths: - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/6 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/7 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/8 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/9 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/10 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/11 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/12 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/13 - #flag -L/usr/lib/gcc/aarch64-pc-linux-gnu/14 + #flag $when_first_existing('/usr/lib/gcc/aarch64-pc-linux-gnu/6/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/7/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/8/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/9/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/10/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/11/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/12/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/13/libatomic.a','/usr/lib/gcc/aarch64-pc-linux-gnu/14/libatomic.a') // OpenSUSE paths: - #flag -L/usr/lib64/gcc/aarch64-suse-linux/6 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/7 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/8 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/9 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/10 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/11 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/12 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/13 - #flag -L/usr/lib64/gcc/aarch64-suse-linux/14 + #flag $when_first_existing('/usr/lib64/gcc/aarch64-suse-linux/6/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/7/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/8/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/9/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/10/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/11/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/12/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/13/libatomic.a','/usr/lib64/gcc/aarch64-suse-linux/14/libatomic.a') + // ALT Linux paths: + #flag $when_first_existing('/usr/lib64/gcc/aarch64-alt-linux/6/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/7/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/8/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/9/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/10/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/11/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/12/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/13/libatomic.a','/usr/lib64/gcc/aarch64-alt-linux/14/libatomic.a') + $if musl ? { + // TODO: convert this as well + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/6 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/7 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/8 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/9 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/10 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/11 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/12 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/13 + #flag -L/usr/lib/gcc/aarch64-pc-linux-musl/14 + #flag -latomic + } } - #flag -latomic } }