mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
* llvm18: initial builds Signed-off-by: Satadru Pramanik <satadru@gmail.com> * sync with master Signed-off-by: Satadru Pramanik <satadru@gmail.com> * updste to llvm 18.1-rc4 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update packages to llvm18 versions Signed-off-by: Satadru Pramanik <satadru@gmail.com> * make more llvm17=>llvm18 changes Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add non-x86_64 binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * more llvm17 => llvm18 changes Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add spirv_llvm_translator update Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update openmp Signed-off-by: Satadru Pramanik <satadru@gmail.com> * lint Signed-off-by: Satadru Pramanik <satadru@gmail.com> * rebuild llvm part 1 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * llvm rebuilds Signed-off-by: Satadru Pramanik <satadru@gmail.com> * test dep additions Signed-off-by: Satadru Pramanik <satadru@gmail.com> * adjust compatibility for vkd3d Signed-off-by: Satadru Pramanik <satadru@gmail.com> * libvdpau => 1.5 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * revert glslang change Signed-off-by: Satadru Pramanik <satadru@gmail.com> * rebuild llvm for x86 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * finish llvm18 rebuilds Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add more llvm patches Signed-off-by: Satadru Pramanik <satadru@gmail.com> * rebuild flex Signed-off-by: Satadru Pramanik <satadru@gmail.com> * rebuild arm w/o rc suffix Signed-off-by: Satadru Pramanik <satadru@gmail.com> * upload arm sub-packages Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add new x86_64 binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update more binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fix flex license Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update spirv_llvm_translator binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add x86_64 binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add more rebuild binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * build vkd3d Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add i686 llvm binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * adjust deps, add i686 packages Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update remaining i686 binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> --------- Signed-off-by: Satadru Pramanik <satadru@gmail.com>
101 lines
2.4 KiB
Ruby
101 lines
2.4 KiB
Ruby
require 'package'
|
|
|
|
class Ld_default < Package
|
|
description "Select the default ld executable and check for libraries in #{CREW_LIB_PREFIX} first"
|
|
homepage 'https://github.com/chromebrew/chromebrew/wiki/FAQ'
|
|
version '1.3'
|
|
license 'GPL-3+'
|
|
compatibility 'all'
|
|
source_url 'SKIP'
|
|
|
|
depends_on 'llvm18_dev'
|
|
|
|
def self.build
|
|
system "cat << 'EOF' > ld_default
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
mktmp=\$(mktemp -d)
|
|
|
|
cd #{CREW_PREFIX}/bin
|
|
|
|
type=\$(file ld | cut -d' ' -f2 | tr -d '\\n')
|
|
|
|
if [[ \"\${type}\" == \"ELF\" ]]; then
|
|
current=\$(basename $(find . -inum \$(ls -i ld | cut -d' ' -f1) | fgrep 'ld.'))
|
|
elif [[ \"${type}\" == \"symbolic\" ]]; then
|
|
current=\$(basename \$(readlink ld))
|
|
elif [[ \"${type}\" == \"Bourne-Again\" ]]; then
|
|
current=\$(basename \$(tail -1 ld | cut -d' ' -f1))
|
|
else # Fall back to \"Unknown\" if linker was not identified
|
|
current=\"Unknown\"
|
|
fi
|
|
|
|
if [[ -z \"\${1}\" ]]; then
|
|
echo
|
|
echo \" Current default linker: \${current}\"
|
|
echo
|
|
echo ' Enter the new default linker:'
|
|
echo
|
|
echo ' b = ld.bfd'
|
|
echo ' g = ld.gold'
|
|
echo ' l = ld.lld'
|
|
echo ' 0 = Cancel'
|
|
echo
|
|
else
|
|
echo \"\${current}\" | cut -d'.' -f2 | cut -c1
|
|
fi
|
|
|
|
while true; do
|
|
if [[ -z \"\${1}\" ]]; then
|
|
read default
|
|
else
|
|
default=\"\${1}\"
|
|
if [[ \"\${default}\" != 'b' ]] && [[ \"\${default}\" != 'g' ]] && [[ \"\${default}\" != 'l' ]]; then
|
|
echo \"Invalid linker configuration: \${default}\"
|
|
exit 1
|
|
fi
|
|
fi
|
|
case \"\${default}\" in
|
|
b)
|
|
new='ld.bfd'
|
|
break;;
|
|
g)
|
|
new='ld.gold'
|
|
break;;
|
|
l)
|
|
new='ld.lld'
|
|
break;;
|
|
0)
|
|
exit;;
|
|
*)
|
|
echo 'Please select from one of the options or enter 0 to cancel.'
|
|
echo
|
|
esac
|
|
done
|
|
|
|
echo '#!/bin/bash' > \${mktmp}/ld
|
|
echo \"\${new}\"' --library-path #{CREW_LIB_PREFIX} -rpath #{CREW_LIB_PREFIX} \"\$@\"' >> \${mktmp}/ld
|
|
|
|
install -Dm755 \${mktmp}/ld #{CREW_PREFIX}/bin/ld
|
|
|
|
rm -rf \${mktmp}
|
|
EOF"
|
|
end
|
|
|
|
def self.install
|
|
system "install -Dm755 ld_default #{CREW_DEST_PREFIX}/bin/ld_default"
|
|
end
|
|
|
|
def self.postinstall
|
|
puts
|
|
puts 'To change the default linker, execute `ld_default`.'.lightblue
|
|
puts
|
|
puts 'To change the default linker without any user interaction,'.lightblue
|
|
puts "execute `ld_default <letter>` where '<letter>' is b, g, or l".lightblue
|
|
puts 'for BFD, Gold, or LLD, respectively.'.lightblue
|
|
puts
|
|
end
|
|
end
|