zig.paketlendi
This commit is contained in:
parent
1ecb8cb717
commit
1eb4fca06e
6 changed files with 156 additions and 101 deletions
|
@ -0,0 +1,78 @@
|
||||||
|
From 548cd5eb4f45de4ec71b3421a98c9462aed75c91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Fiselier <eric@efcs.ca>
|
||||||
|
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
|
||||||
|
|
24
talimatname/genel/lld/talimat
Normal file
24
talimatname/genel/lld/talimat
Normal file
|
@ -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
|
||||||
|
}
|
|
@ -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
|
|
|
@ -1,40 +1,38 @@
|
||||||
# Description: LLVM derleyici arka uç
|
# Description: LLVM derleyicisi
|
||||||
# URL: http://llvm.org/
|
# URL: http://llvm.org/
|
||||||
# Packager: milisarge
|
# Packager: milisarge
|
||||||
# Depends on: python
|
# Depends on: python cmake
|
||||||
|
|
||||||
name=llvm
|
name=llvm
|
||||||
version=3.7.0
|
version=4.0.0
|
||||||
release=1
|
release=1
|
||||||
source=(http://llvm.org/releases/$version/$name-$version.src.tar.xz \
|
source=(http://llvm.org/releases/$version/$name-$version.src.tar.xz \
|
||||||
config.h llvm-config.h)
|
llvm-config.h)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
export CC=gcc
|
||||||
|
export CXX=g++
|
||||||
|
|
||||||
cd $name-$version.src
|
cd $name-$version.src
|
||||||
|
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
../configure --prefix=/usr \
|
cmake -DLLVM_ENABLE_CXX1Y=1 \
|
||||||
--without-oprofile \
|
-DLLVM_INCLUDE_EXAMPLES=0 \
|
||||||
--enable-cxx11 \
|
-DLLVM_INCLUDE_TESTS=0 \
|
||||||
--enable-targets=x86,x86_64,r600 \
|
-DLLVM_ENABLE_OCAMLDOC=0 \
|
||||||
--enable-shared \
|
-DLLVM_TARGETS_TO_BUILD='X86;AMDGPU;BPF' \
|
||||||
--mandir=/usr/man
|
-DLLVM_BUILD_LLVM_DYLIB=1 \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr ..
|
||||||
|
|
||||||
make DISABLE_ASSERTIONS=1 $MAKEFLAGS
|
MAKEFLAGS="$MAKEFLAGS" make
|
||||||
make DISABLE_ASSERTIONS=1 DESTDIR=$PKG install
|
make DESTDIR=$PKG install
|
||||||
|
|
||||||
find $PKG -name .dir -delete
|
# multilib stub
|
||||||
rm -rf $PKG/usr/docs
|
|
||||||
|
|
||||||
# multilib stubs
|
|
||||||
mv $PKG/usr/include/llvm/Config/config{,-64}.h
|
|
||||||
mv $PKG/usr/include/llvm/Config/llvm-config{,-64}.h
|
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/
|
install -m 0644 $SRC/llvm-config.h $PKG/usr/include/llvm/Config/
|
||||||
|
|
||||||
# remove example hello transform
|
|
||||||
rm $PKG/usr/lib/LLVMHello.so
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
# Description: Low Level Virtual Machine, collection of modular and reusable compiler and toolchain.
|
|
||||||
# URL: http://llvm.org/
|
|
||||||
# Maintainers: Chris Lattner <sabre at nondot dot org>
|
|
||||||
# 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/
|
|
||||||
|
|
||||||
}
|
|
35
talimatname/genel/zig/talimat
Normal file
35
talimatname/genel/zig/talimat
Normal file
|
@ -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
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue