diff --git a/talimatname/genel/lld/0003-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch b/talimatname/genel/lld/0003-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch new file mode 100644 index 000000000..58581b2a8 --- /dev/null +++ b/talimatname/genel/lld/0003-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch @@ -0,0 +1,78 @@ +From 548cd5eb4f45de4ec71b3421a98c9462aed75c91 Mon Sep 17 00:00:00 2001 +From: Eric Fiselier +Date: Fri, 10 Feb 2017 01:59:20 +0000 +Subject: [PATCH] [CMake] Fix pthread handling for out-of-tree builds + +LLVM defines `PTHREAD_LIB` which is used by AddLLVM.cmake and various projects +to correctly link the threading library when needed. Unfortunately +`PTHREAD_LIB` is defined by LLVM's `config-ix.cmake` file which isn't installed +and therefore can't be used when configuring out-of-tree builds. This causes +such builds to fail since `pthread` isn't being correctly linked. + +This patch attempts to fix that problem by renaming and exporting +`LLVM_PTHREAD_LIB` as part of`LLVMConfig.cmake`. I renamed `PTHREAD_LIB` +because It seemed likely to cause collisions with downstream users of +`LLVMConfig.cmake`. + + +git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@294690 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + COFF/CMakeLists.txt | 2 +- + ELF/CMakeLists.txt | 2 +- + lib/ReaderWriter/MachO/CMakeLists.txt | 2 +- + unittests/CoreTests/CMakeLists.txt | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/COFF/CMakeLists.txt b/COFF/CMakeLists.txt +index 0eebe9348..8f24e36c0 100644 +--- a/COFF/CMakeLists.txt ++++ b/COFF/CMakeLists.txt +@@ -43,7 +43,7 @@ add_lld_library(lldCOFF + + LINK_LIBS + lldCore +- ${PTHREAD_LIB} ++ ${LLVM_PTHREAD_LIB} + + DEPENDS + COFFOptionsTableGen +diff --git a/ELF/CMakeLists.txt b/ELF/CMakeLists.txt +index 5652b9351..0d1e5b214 100644 +--- a/ELF/CMakeLists.txt ++++ b/ELF/CMakeLists.txt +@@ -54,7 +54,7 @@ add_lld_library(lldELF + LINK_LIBS + lldConfig + lldCore +- ${PTHREAD_LIB} ++ ${LLVM_PTHREAD_LIB} + + DEPENDS + ELFOptionsTableGen +diff --git a/lib/ReaderWriter/MachO/CMakeLists.txt b/lib/ReaderWriter/MachO/CMakeLists.txt +index 3b0698525..5a96d87f1 100644 +--- a/lib/ReaderWriter/MachO/CMakeLists.txt ++++ b/lib/ReaderWriter/MachO/CMakeLists.txt +@@ -28,7 +28,7 @@ add_lld_library(lldMachO + LINK_LIBS + lldCore + lldYAML +- ${PTHREAD_LIB} ++ ${LLVM_PTHREAD_LIB} + ) + + include_directories(.) +diff --git a/unittests/CoreTests/CMakeLists.txt b/unittests/CoreTests/CMakeLists.txt +index 98405d5c7..72e7c443f 100644 +--- a/unittests/CoreTests/CMakeLists.txt ++++ b/unittests/CoreTests/CMakeLists.txt +@@ -3,5 +3,5 @@ add_lld_unittest(CoreTests + ) + + target_link_libraries(CoreTests +- ${PTHREAD_LIB} ++ ${LLVM_PTHREAD_LIB} + ) +-- +2.12.2 + diff --git a/talimatname/genel/lld/talimat b/talimatname/genel/lld/talimat new file mode 100644 index 000000000..d32559b74 --- /dev/null +++ b/talimatname/genel/lld/talimat @@ -0,0 +1,24 @@ +# Description: LLVM linker +# URL: http://llvm.org/ +# Packager: milisarge +# Depends on: llvm cmake + +name=lld +version=4.0.0 +release=1 +source=(http://releases.llvm.org/$version/lld-$version.src.tar.xz) + +build() { + + cd $name-$version.src + mkdir build + cd build + cmake ../ + make -C tools/lld DESTDIR=$PKG install + cd lib + install -d $PKG/usr/lib/ + cp *.a $PKG/usr/lib/ + cp -r $SRC/$name-$version.src/include $PKG/usr/ + mv $PKG/usr/local/* $PKG/usr/ + rm -r $PKG/usr/local +} diff --git a/talimatname/genel/llvm/config.h b/talimatname/genel/llvm/config.h deleted file mode 100644 index b4b7f5df1..000000000 --- a/talimatname/genel/llvm/config.h +++ /dev/null @@ -1,12 +0,0 @@ -/* config.h stub */ - -#ifndef __STUB__CONFIG_H__ -#define __STUB__CONFIG_H__ - -#if defined(__x86_64__) -#include "config-64.h" -#else -#include "config-32.h" -#endif - -#endif diff --git a/talimatname/genel/llvm/talimat b/talimatname/genel/llvm/talimat index 871e05eaa..b2f874094 100644 --- a/talimatname/genel/llvm/talimat +++ b/talimatname/genel/llvm/talimat @@ -1,40 +1,38 @@ -# Description: LLVM derleyici arka uç +# Description: LLVM derleyicisi # URL: http://llvm.org/ # Packager: milisarge -# Depends on: python +# Depends on: python cmake name=llvm -version=3.7.0 +version=4.0.0 release=1 source=(http://llvm.org/releases/$version/$name-$version.src.tar.xz \ - config.h llvm-config.h) + llvm-config.h) build() { + export CC=gcc + export CXX=g++ + cd $name-$version.src mkdir build cd build - ../configure --prefix=/usr \ - --without-oprofile \ - --enable-cxx11 \ - --enable-targets=x86,x86_64,r600 \ - --enable-shared \ - --mandir=/usr/man + cmake -DLLVM_ENABLE_CXX1Y=1 \ + -DLLVM_INCLUDE_EXAMPLES=0 \ + -DLLVM_INCLUDE_TESTS=0 \ + -DLLVM_ENABLE_OCAMLDOC=0 \ + -DLLVM_TARGETS_TO_BUILD='X86;AMDGPU;BPF' \ + -DLLVM_BUILD_LLVM_DYLIB=1 \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr .. - make DISABLE_ASSERTIONS=1 $MAKEFLAGS - make DISABLE_ASSERTIONS=1 DESTDIR=$PKG install + MAKEFLAGS="$MAKEFLAGS" make + make DESTDIR=$PKG install - find $PKG -name .dir -delete - rm -rf $PKG/usr/docs - - # multilib stubs - mv $PKG/usr/include/llvm/Config/config{,-64}.h + # multilib stub mv $PKG/usr/include/llvm/Config/llvm-config{,-64}.h - install -m 0644 $SRC/config.h $PKG/usr/include/llvm/Config/ + install -m 0644 $SRC/llvm-config.h $PKG/usr/include/llvm/Config/ - # remove example hello transform - rm $PKG/usr/lib/LLVMHello.so - } diff --git a/talimatname/genel/llvm/talimat.eski b/talimatname/genel/llvm/talimat.eski deleted file mode 100644 index 396e33b57..000000000 --- a/talimatname/genel/llvm/talimat.eski +++ /dev/null @@ -1,68 +0,0 @@ -# Description: Low Level Virtual Machine, collection of modular and reusable compiler and toolchain. -# URL: http://llvm.org/ -# Maintainers: Chris Lattner -# Packager: pierre at nutyx dot org, tnut at nutyx dot org -# Depends on: python - -name=llvm -version=3.7.1 -release=1 - -source=(http://llvm.org/releases/$version/$name-$version.src.tar.xz - http://llvm.org/releases/$version/cfe-$version.src.tar.xz - http://llvm.org/releases/$version/compiler-rt-$version.src.tar.xz) - -build() { -cd $name-$version.src - -mv ../compiler-rt-${version}.src projects/compiler-rt -mv ../cfe-$version.src tools/clang - -sed -r "/ifeq.*CompilerTargetArch/s#i386#i686#g" \ - -i projects/compiler-rt/make/platform/clang_linux.mk - -case `uname -m` in - x86_64) - enable_pic="yes";; - i?86) - enable_pic="no";; -esac -sed -e 's:/docs/llvm:/share/doc/llvm-$version:' \ - -i Makefile.config.in - -mkdir -v build -cd build -CC=gcc CXX=g++ \ -../configure --prefix=/usr \ - --datarootdir=/usr/share \ - --sysconfdir=/etc \ - --enable-libffi \ - --enable-optimized \ - --enable-shared \ - --enable-targets=host,r600 \ - --disable-assertions \ - --docdir=/usr/share/doc/$name-$version -make || make -j1 -make DESTDIR=$PKG install || make -j1 DESTDIR=$PKG install -for file in '$PKG/usr/lib/lib{clang,LLVM,LTO}*.a' -do - test -f $file && chmod -v 644 $file -done - -install -v -dm755 $PKG/usr/lib/clang-analyzer - -for prog in scan-build scan-view -do - cp -rfv ../tools/clang/tools/$prog $PKG/usr/lib/clang-analyzer/ - ln -sfv ../lib/clang-analyzer/$prog/$prog $PKG/usr/bin/ -done - -install -d $PKG/etc/ld.so.conf.d -echo /usr/lib/llvm > $PKG/etc/ld.so.conf.d/llvm.conf - -ln -sfv /usr/bin/clang $PKG/usr/lib/clang-analyzer/scan-build/ -mkdir -p $PKG/usr/share/man/man1 - -mv -v $PKG/usr/lib/clang-analyzer/scan-build/scan-build.1 $PKG/usr/share/man/man1/ - -} diff --git a/talimatname/genel/zig/talimat b/talimatname/genel/zig/talimat new file mode 100644 index 000000000..989b2062c --- /dev/null +++ b/talimatname/genel/zig/talimat @@ -0,0 +1,35 @@ +# Description: sağlamlık, optimallik ve netlik öncelik veren bir programlama dili +# URL: http://ziglang.org +# Packager: milisarge +# Depends on: cmake llvm clang + +name=zig +hesap=ziglang +version=0.1 +release=1 +source=() + +build() { + + if [ ! -d $DERLEME_KAYNAKDIZIN/$name ];then + git clone https://github.com/$hesap/$name $DERLEME_KAYNAKDIZIN/$name + else + cd $DERLEME_KAYNAKDIZIN/$name + git pull + cd - + fi + cp -r $DERLEME_KAYNAKDIZIN/$name $SRC/ + cd $SRC/$name + + mkdir -p build + cd build + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DZIG_LIBC_LIB_DIR=$(dirname $(cc -print-file-name=crt1.o)) \ + -DZIG_LIBC_INCLUDE_DIR=$(echo -n | cc -E -x c - -v 2>&1 | grep -B1 "End of search list." | head -n1 | cut -c 2- | sed "s/ .*//") \ + -DZIG_LIBC_STATIC_LIB_DIR=$(dirname $(cc -print-file-name=crtbegin.o)) + + make + make DESTDIR="$PKG" install +}