zig.paketlendi

This commit is contained in:
milisarge 2017-06-19 08:58:44 +03:00
parent 1ecb8cb717
commit 1eb4fca06e
6 changed files with 156 additions and 101 deletions

View file

@ -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

View 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
}

View file

@ -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

View file

@ -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
}

View file

@ -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/
}

View 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
}